Как стать автором
Обновить
42
0

Инженер

Отправить сообщение

Избирательное юнит-тестирование или ещё раз о тонких контроллерах

Время на прочтение6 мин
Количество просмотров3.2K
В дополнение к недавно упомянутой на Хабре статье о том, что полное 100%-е покрытие кода юнит-тестами почти всегда не является экономически выгодным, поскольку просто лень писать всю эту.… это требует неоправданных затрат рабочего времени и увеличивает расходы на поддержку кода, сегодня хотелось бы представить на суд общественности размышления по этому поводу Стива Сандерсона (Steve Sanderson), автора книг Pro ASP.NET MVC и Pro ASP.NET MVC V2.
Читать дальше →
Всего голосов 46: ↑29 и ↓17+12
Комментарии11

The Passenger: 7 минут за 8 лет

Время на прочтение1 мин
Количество просмотров3.8K
image

Продакшен этого великолепного 7-ми минутного мульта, шел на протяжении 8-ми лет.
Делал его всего один человек, в свободное от работы время как хобби. Работа над проектом начиналась в Lightwave3D 5, а в качестве рабочей станции использовался Pentium 133. Полноценный мультфильм, а также и Making Of смотрите под катом.
Читать дальше →
Всего голосов 169: ↑157 и ↓12+145
Комментарии124

KDE умер, да здравствует KDE

Время на прочтение2 мин
Количество просмотров3.9K
Да именно так. Умер K Desktop Environment, теперь KDE не расшифровывается никак и означает не десктопное окружение, а сообщество людей.
Эта новость почему-то прошла мимо (хотя ей уже пара дней).
Скандалы, интриги, расследования
Всего голосов 64: ↑50 и ↓14+36
Комментарии140

Создаем робота в домашних условиях

Время на прочтение8 мин
Количество просмотров203K

Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.

Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии125

Google дискриминирует Opera?

Время на прочтение1 мин
Количество просмотров7K
Одним из моих любимых браузеров была и есть Opera недавно обновившаяся до версии 10.10
Opera 10 легко проходит тест ACID 3 и является представителем современных браузеров поддерживающих новые технологии, но как выяснилось в компании Google думают иначе.
Читать дальше →
Всего голосов 278: ↑200 и ↓78+122
Комментарии578

Распараллеливание длительных операций

Время на прочтение2 мин
Количество просмотров11K
Мне часто приходится сталкиваться с задачами, требующими от базы данных очень большой производительности при обработке больших массивов данных. Сегодня я расскажу об очень простом, но действенном приеме, который может вас выручить, если база уже не поспевает за тем количеством данных, которые скапливаются и должны быть обработаны. Метод не зависит от базы данных, но по привычке публикую в блог PostgreSQL, и пример будет именно на ней. Давайте сразу перейдем к примеру.
Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии65

Бакалавриат США: Общая информация

Время на прочтение3 мин
Количество просмотров23K
Здравствуйте, хабралюди.

Прочитал несколько статей в блоге Образование 2.0 и заметил, что люди на сайте проявляют интерес к образованию за рубежом. В блоге размещено немалое количество статей об образовании на западе, но ни одна из них не централизована на обучении в США на степень бакалавра. Я подумал, что эта тема вполне может быть интересна многим читателям и решил начать небольшой цикл статей в которых я постараюсь осветить этот топик.

Обо мне


Сам я обучаюсь на степень бакалавра по специальности Информационные Науки (Information Sciences) в Университете Питсбурга, США. За свою студенческую жизнь, я успел поменять 3 университета и как следствие знаком с немалым количеством всякого рода административных процедур связанных с переводом, поступлением, адаптацией и жизнью на кампусе. В этом цикле статей я хотел бы осветить именно эти темы.

Начать я хотел бы с небольшого введение в котором постараюсь быстро и сжато описать, что представляет из себя степень бакалавра в Американских университетах.

читать дальше
Всего голосов 143: ↑132 и ↓11+121
Комментарии113

Книга Application Architecture Guide, Second Edition

Время на прочтение1 мин
Количество просмотров9K
Доступен для бесплатного скачивания финальный вариант книги Application Architecture Guide во второй редакции. Книга содержит 560 страниц разбитых на 28 больших глав. Application Architecture Guide посвящена архитектуре и дизайну ПО, как то: дизайну и разработке различных типов ПО (мобильные, web, клиентские, RIA, сервисы и облачные сервисы), организации и разработке уровней ПО (представления, бизнеслогики, данных, сервисов), созданию компонентов.

Получить книгу можно несколькими путями:
* скачать pdf (7.5 Mb);
* читать online;
* купить на Amazon;
* скачать дополнительную информацию на App Arch Guide 2.0 Knowledge Base.

Официальный анонс одного из авторов в его блоге J.D. Meier's Blog.
Всего голосов 57: ↑42 и ↓15+27
Комментарии26

Шифр Аль-Кайды взломали

Время на прочтение2 мин
Количество просмотров2.2K
Британская спецслужба МИ5 инициировала утечку в прессе информации об успешном взломе секретного шифра террористической организации Аль-Кайда. Для работы над этой задачей в штаб-квартире в Менвит-Хилл (Menwith Hill) на севере Англии была организована специальная команда взломщиков из специалистов МИ5 и АНБ. Расшифровка заняла шесть месяцев.

С помощью этого кода арестованные в Великобритании лидеры Аль-Кайды обменивались сообщениями друг с другом, а также управляли сетью агентов.

Шифр был основан на замене букв по таблице, известной авторам. Как сообщатся, в качестве таблицы террористы использовали известные им наизусть религиозные трактаты, а в посланиях использовали слова на как минимум на двадцати различных диалектах Афганистана, Ирана, Пакистана, Йемена и Судана.
Читать дальше →
Всего голосов 72: ↑54 и ↓18+36
Комментарии79

Десять смертных грехов в оценке трудоёмкости разработки программного обеспечения

Время на прочтение6 мин
Количество просмотров52K

Введение


В этом топике я хочу представить вам, дорогие читатели, пересказ вебинара от человека, чьё имя не нуждается в представлении. Для того, чтобы изложить часовой вебинар в виде небольшого топика, мне пришлось значительно ужать комментарии автора, поэтому я сознательно не помечаю топик как «перевод». В этот раз Стив МакКоннелл решил поделиться с нами своим опытом в виде коротких тезисов, в которых он отражает самые страшные ошибки при оценке трудоёмкости разработки программного обеспечения. В 1998 году читатели журнала Software Development назвали Стива одним из самых влиятельных людей в индустрии разработки программного обеспечения на равне с Биллом Гейтсом и Линусом Торвальдсом. Стив — автор книги «Software Estimation. Demystifying The Black Art» — одной из самых популярных книг в области оценки трудоёмкости разработки ПО. Надо признаться, что вебинар был проведён относительно давно (июнь 2009 года), но информация, представленная там, совсем не устарела. Сам топик будет построен следующим образом. Заголовки будут достаточно точно переведены из презентации, которую показывал Стив, а в остальном я постараюсь отразить только основные мысли, чтобы не перегружать топик. Если кто-то посчитает, что ту или иную мысль я излагаю неправильно — милости прошу в комментарии, можно будет меня поправить.

Итак, поехали...
Всего голосов 116: ↑106 и ↓10+96
Комментарии27

Scheme и классы

Время на прочтение1 мин
Количество просмотров1.8K
Представлю вам последнее видео, посвященное языку программирования Scheme. Дальше мы переходим на Пролог, а напоследок постараемся реализовать классы в функциональном языке.


Если не доступен режим HD, то перейдите, пожалуйста, на vimeo.

Полное решение третьего задание по курсу Programming Paradigms, включающее набранный в видео код.

Видео доступно:
Всего голосов 21: ↑18 и ↓3+15
Комментарии8

Python и скорость: Unladen Swallow, PyPy, Cython

Время на прочтение4 мин
Количество просмотров7.7K
Краткий перевод обсуждения Recommendation against Python?:

kng
Я слышал, что сотрудникам Google не рекомендуют использовать Python для новых проектов, что мне кажется глупым, учитывая как много питоновского кода и поддержки самого языка Python исходит из Google. Я начал поиски информации, но ничего не нашел. Вы знаете что-то об этом или это просто слухи?

Collin Winder
Даже простой здравый смысл ограничивает применимость Python, когда речь идет о масшабах Google — он не так быстр как Java или C++, работа с тредами хромает, расходуется больше памяти и т.д. Одно из требований, с которым мы сталкиваемся при проектировании новых систем, это «Что мы будем делать, если нагрузка возрастет в 10 или в 100 раз? Что мы будем делать, если целая планета решит что наш новых сервис офигителен?» Любая технология, которая усложняет соблюдение этого требования — и я считаю, что Python попадает в эту категорию — должна быть отвергнута и даже прочие её полезности не играют важной роли в этом случае. Приходится балансировать слабые и сильные стороны Python — ваши разработчики могут быть более продуктивными, используя Python, но если им придется крепко поработать над масштабированием под большую нагрузку, то удастся ли вам вырваться с Python вперед? И т.д.

Unladen Swallow планирует сместить этот баланс — чтобы сделать возможным использовать Python в большем числе проектов, где сейчас его использовать еще нерационально. Но панацеей это не будет. Python все еще будет медленнее, чем C или Java, будет использовать больше памяти и ужасно работать с тредами, пока кто-нибудь не решит инвестировать ресурсы в Python в объеме, сравнимом с ресурсами, которые Sun инвестировала в JVM. Я надеюсь, что внимание к производительности Python со стороны разработчиков будет носить лавинообразный характер — чем больше компаний будет заинтересовано в этом, тем больше ресурсов будет инвестировано, тем больше аспирантов будут работать над Python (и выкладывать результаты своей работы) и т.д.
Читать дальше →
Всего голосов 60: ↑56 и ↓4+52
Комментарии43

Линусу — Нобеля!

Время на прочтение1 мин
Количество просмотров724
Визит вице-президента США Альберта Гора в Портланд дал пищу разговорам о том, что Линуса Торвальдса (если кто не знает это создатель ядра Линукс) могут через пару лет выдвинуть на Нобелевскую премию мира.
Зачинщик, Keith Lofstrom, утверждает, что Линус вполне заслуживает этой награды так как является создателем одного из крупнейших международных коллективных проектов. Отрывок из письма:
It inspired Ubuntu, One Laptop Per Child, and many other global projects. Linux conquered the supercomputer space, the server space, the embedded computer space – by peaceful means!

Если выдвижение таки состоится, то его могут приурочить к 20-летию «рождения» ядра Линукс, которое наступит в 2011, либо к 50-летию награды Линуса Паулинга, лауреата Нобелевской премии, в честь которого назвали создателя Линукс.
Всего голосов 197: ↑170 и ↓27+143
Комментарии188

Gource — визуализируем историю работы над проектом

Время на прочтение1 мин
Количество просмотров22K
Спешу рассказать хабрасообществу о, относительно новом, дьявольски завораживающем проекте Gource которое еще не упоминалось. Это приложение позволяет визуализировать историю изменений в системе контроля версии. Отрисовывает невероятно красиво при помощи OpenGL.


Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии51

Почему не надо связываться с общественностью, или Ода Алексею Рогачкову

Время на прочтение4 мин
Количество просмотров13K
Доброго времени суток!

Меня зовут Сергей Вильянов, и это мой первый пост на Хабре.

Возможно, многие из читателей, обращавшихся в локальную техподдержку известных брендов, сталкивались с забавной ситуацией, когда непонятно — кто кого консультирует? Не секрет, что значительная часть интернетчиков и — особенно — поклонников этого ресурса — разбирается в компьютерах и вообще технологиях немного лучше оффлайновых граждан. Если уж у нас доходит до звонка по телефону горячей линии или послания по специальному адресу электронной почты, значит действительно прижало, и все очевидные способы устранения проблемы уже испробованы. И мы ждем, не побоюсь этого слова, экспертного мнения и совета.

А на том конце сидят девочка или мальчик, которых немного подрессировали на недельных курсах, дали книжку, где якобы содержатся ответы на все типовые вопросы, и бросили на амбразуру. Они не только не разбираются в предмете достаточно глубоко, но и (внимание, это важно) не интересуются им. И в свободное от работы время готовы изучать что угодно, но не устройство ноутбуков новой линейки бренда Х или различия в прошивках роутеров Y. И работают они с 10 до 18, тогда как большинство настоящих проблем почему-то возникает после 22-х.

Но вот лег спать, взбешенный своим бессилием, с утра набрал заветный номер и в ответ на свой длинный монолог, описывающий проблему и уже использованные способы ее устранения, слышишь смущенное: «Ой, да? А это зачем пробовали? И что, помогает? Стандартный способ? Да? Надо же… Ну, тогда даже не знаю — что сказать. Очень у вас там все странно. Может попробуете еще раз выключить и включить?».
Читать дальше →
Всего голосов 113: ↑88 и ↓25+63
Комментарии84

NVIDIA RealityServer – облачные вычисления в 3D

Время на прочтение2 мин
Количество просмотров1.5K
image

Про Облачные вычисления уже многое сказано в теории. Крупные компании осознают преимущества этой технологии, и настало время переходить от теории к практике. Компания NVIDIA, совместно с производителем решений для рендеринга Mental images представила RealityServer. Это серверная аппаратная платформа с мощным графическим ускорителем и специальной программной средой, благодаря которой фотореалистичное трёхмерное изображение можно получить на любом компьютере, ноутбуке, и даже смартфоне.
Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии20

Trollim: битвы программистов 1 на 1

Время на прочтение1 мин
Количество просмотров1.8K
На недавно прошедшей конференции TechCrunch50 был представлен довольно интересный веб-сервис Trollim. С его помощью программисты в битвах один на один могут выяснить — кто из них круче? Программистов здесь по-дружески называют «троллями», отсюда и название сайта.

Регистрируетесь, указываете свои скиллы (C++, Ruby, PHP и т.д. по шкале от 1 до 5), затем проходите базовый тест на подтверждение скиллов — и вы готовы к битве. Битва заключается в соревновании, кто быстрее найдёт и исправит ошибки в коде наиболее эффективным способом. Вроде бы довольно увлекательное занятие (видео). Говорят, что это похоже на эдакую помесь Facebook, World of Warcraft и Sourceforge.

Обычная битва проводится в формате 1:1, хотя есть и другие форматы. Соперника можно подбирать по месту жительства, полу, возрасту и другим параметрам.

Стартап планирует получать доход за счёт привлечения компаний, которые могут выступать спонсорами битв, предлагать свои задания и призы, а также находить здесь талантливых программистов.
Читать дальше →
Всего голосов 64: ↑57 и ↓7+50
Комментарии56

Linux Mint 8 “Helena” RC1 released

Время на прочтение1 мин
Количество просмотров1.2K
12 ноября состоялся релиз Linux Mint 8 RC1 под названием Helena. Linux Mint 8 выходи с исправлением многочиcленных ошибок и добавлением улучшений. Нужно заметить добавление поддержки OEM, нового менеджера загрузок, добавлены новые возможности в Update Manager, в частности выбор пакета для которого не будут качаться и в последствии устанавливаться обновления, так же были расширены возможности Software Manager.
Дальше
Всего голосов 28: ↑24 и ↓4+20
Комментарии26

Пузырьки, кэши и предсказатели переходов

Время на прочтение6 мин
Количество просмотров10K
Эта заметка написана по мотивам одного любопытного поста, краткий коммент её же автора к которому сподвиг меня разобраться в происходящем поподробнее. Предлагается сравнить две вариации алгоритма сортировки пузырьком. Первая из них – обычный пузырёк, с небольшой оптимизацией — внутренний цикл можно закончить немного раньше, зная, что оставшаяся часть массива уже отсортирована:
for (i=0; i<N; i++)
  for (j=0; j<N - (i+1); j++)
    if (a[j] > a[j+1])
      swap(a[j], a[j+1]);


Во втором варианте внутренний цикл проходит по другой части массива, однако алгоритмически этот вариант эквивалентен первому (подробности ниже):
for (i=0; i<N-1; i++)
    for (j=i; j>=0; j--)
        if (a[j] > a[j+1])
            swap(a[j], a[j+1]);


Запускаем (код), например, для N=100 000 на массиве int'ов, и получаем около 30 секунд в первом случае, и меньше 10 секунд — во втором, то есть отличие в 3 раза! Откуда же тогда берётся такая разница?
Читать дальше →
Всего голосов 157: ↑150 и ↓7+143
Комментарии65
12 ...
18

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность