Pull to refresh
134
0
Стас Фомин @belonesox

Пользователь

Send message

Continuous integration and code metrics

Reading time7 min
Views8K
В этой статье рассматривается настройка continuous integration процесса с метриками кода. Предполагается работа с java кодом и библиотеками: junit, cobertura, findbugs. В качестве системы сборки используем ant, а сам процесс будет управляться из cruise control. В качестве scm будет немного git'а.

Что мы получим в итоге? Ява проект с ant'овским сценарием сборки. Итогом сборки будет откомпилированный проект и набор метрик: отчеты по junit тестам, процент покрытия кода тестами и отчет о потенциальных ошибках. В дополнение, весь процесс сборки будет проходить ежедневно в автоматическом режиме и вся история метрик сохраняется для групповых отчетов.
image
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments8

Задача про кроликов и яд.

Reading time1 min
Views6.6K
Есть 10 кроликов и 1000 бутылок с одинаковой на цвет и запах жидкостью. Но в одной из бутылок яд.
Яд действует достаточно долго, но не дольше, чем 20 дней.
Требуется на 21-й день сказать, в какой из бутылок яд.

Upd. Спасибо неизвестным дарителям кармы, перенёс в занимательные задачи.
Total votes 22: ↑17 and ↓5+12
Comments29

Стенсилы для проектирования интерфейсов

Reading time2 min
Views19K
Продолжая выкладывать на блоге Amazing Development всё, что может понадобиться компаниям или специалистам начать заниматься проектированием и работами над повышением юзабилити своих продуктов и проектов, опубликовал коллекцию стенсилов. Стенсилы – примитивы используемые для графического представления чего-либо. Ниже представлены стенсилы для программ Microsoft Visio, Adobe InDesign и OmniGraffle. Если Вы знаете ссылки на другие стенсилы, которые можно использовать в проектировании, то сообщите о них в комментариях.

Microsoft Visio


Стенсилы Nick Finck


Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments30

Как забыть про ярлыки на рабочем столе?

Reading time3 min
Views9.4K

Введение



image Раньше у меня довольно часто возникала проблема захламления рабочего стола огромным количеством ярлыков, и я начинал теряться в них, соответственно терять время при поиске необходимых мне приложений. В дальнейшем я научился пользоваться сочетанием клавиш win+r, создавая ярлыки с короткими именами в system32.С приходом Windows Vista (7) теперь только кнопки win, однако гибкость и настройка данных методов весьма ограниченна. Имеется так же огромное количество hotkey-менеджеров, однако не с одним из них я так и не сдружился.
Читать дальше →
Total votes 75: ↑45 and ↓30+15
Comments87

Тест на знание HCD (Human-centred Design)

Reading time2 min
Views9.1K
В начале этого лета мы делились материалами нашей лекции на Microsoft .NET Architecture Day. Мы рассказывали о новом стандарте ISO «Human-centred Design».

За лето мы разработали в продолжение этой лекции целую сертификационную программу CUP (Certified Usability Professional) [анонсы программы можно найти тут и тут].

Сегодня в День Знаний мы предлагаем каждому проверить свои знания HCD. Этот тест разработан в качестве отборочного испытания для участников программы CUP.

Как вы помните HCD описывает процесс и принципы, а не кнопочки и формочки.

В качестве апробации тест проходили сотрудники UsabilityLab. Самый высокий балл получил наш директор по проектам Андрей Пономарев36 из 40!

Мы решили учредить приз тому, кто побьёт рекорд Андрея: первый, кто наберёт больше 36 баллов по тесту, получит возможность пройти обучение по программе CUP бесплатно!

P.S. Совет — посмотрите видео (первая ссылка). Все вопросы теста раскрываются в этой лекции.

UPD 1. 03:14 02.09.09 К трём часам ночи тест прошли 49 человек. Рекорд Пономарёва пока не побит.
Утром обновим данные, сделаем рассылку тем, кто оставил контакты, с информацией о том, какой у них получился результат.

UPD 2. 11:40 02.09.09 Тест прошли 119 человек. Рекорд Пономарёва пока не побит.

UPD 3. 15:40 02.09.09 Тест прошли 173 человека. Распределение суммарного балла (количества правильных ответов) можно наблюдать на обновленной диаграмме ниже. Рекорд Пономарёва пока не побит.

UPD 4. 20:14 03.09.09 (последний) Огромное спасибо всем, кто прошел тестирование. Мы получили за два дня более 200 заполненных тестов. Количество анонимных анкет всего 32.

Учитывая, что пока никто из принявших участие в тесте, не набрал больше 36 баллов, мы решили смягчить правила конкурса, и предоставить троим людям, набравшим наивысший балл, возможность пройти бесплатное обучение по сертификационной программе CUP.

Ими стали:
— Евгений Овчаренко (г. Томск),
— Андрей Петруша (г. Киев),
— Александр Силин (г. Москва).

Они набрали более 30 баллов.

Всем остальным мы подарили скидки на обучение и те мероприятия, которые мы проводим.

Мы получили много благодарностей в ответ на рассылку. Приятно работать с приятными людьми.

Сегодня мы провели 40ой вебинар UX Russia, на котором обсуждали результаты апробации теста:


Тест продолжает работать, если хотите проверить или перепроверить свои знания HCD: Добро пожаловать! Наше обещание учить бесплатно первого, кто получит больше 36 баллов, в силе! Всем хороших интерфейсов!

UPD 5. 00:17 04.09.09 (непоследний) Только что появился преследователь Пономарёва: это Светлана Олишевская (г. Киев), она набрала 35 баллов! Свету включаем в число призеров (однозначно!).

UPD 6. 01:53 07.09.09 (победа!) Рекорд Пономарева побит! Гульфия Курмангалеева (студентка из Орска) в 17:36 набрала 38 баллов.
Total votes 37: ↑21 and ↓16+5
Comments42

Tornado Web Server

Reading time1 min
Views16K


Команда friendfeed.com, недавно присоединившаяся к Facebook, выложила в открытый доступ собственный неблокирующий веб-сервер на Python. Из-за своей неблокирующей природы (используется epoll) сервер легко выдерживает тысячи одновременных подключений. У Tornado есть все шансы стать лучшим выбором для реализации технологии Comet средствами языка Python.

Производительность впечатляет:


Документация (на англ.) — www.tornadoweb.org/documentation
Total votes 62: ↑59 and ↓3+56
Comments38

Тенденции мировой типографики

Reading time9 min
Views40K
Даже относительно ограниченный набор возможностей CSS дает нам много возможностей в типографике, которые можно реализовать, используя каскадные таблицы стилей. Антиква или гротеск? Большой или маленький шрифт? Интерлиньяж, апрош, размер шрифта и всевозможные отступы… Список можно продолжать до бесконечности.

Мы провели обширное исследование на 50 популярных сайтах, для которых типографика важна больше обычного, для того, чтобы выделить некие общие решения и найти ответы на известные проблемы в оформлении текстов. Для изучения были выбраны популярные газеты, журналы, блоги и другие ресурсы, так или иначе связанные с типографией. Мы тщательно проанализировали их типографику и таблицы стилей в поисках сходств и отличий. Также, мы построили сравнительную таблицу, в которой отображены различные параметры веб-сайтов (например, соотношение между интерлиньяжем и длиной строки).

В конечном счете, мы выделили 13 общих проблем и вопросов, имеющих отношение к типографическим проектам, и попробовали найти ответы на них в нашем исследовании:
  1. Насколько популярны шрифты с засечками и без засечек в заголовках и основном тексте?
  2. Какие шрифты используются наиболее часто?
  3. Каков средний кегль для шрифта?
  4. Каково, в среднем, соотношение между размером шрифта в заголовке и в основном тексте?
  5. Чему равно среднее значение интерлиньяжа для основного текста?
  6. Каково усредненное соотношение между значением интерлиньяжа и размером шрифта для основного текста?
  7. Чему равно среднее значение соотношения между интерлиньяжем и длиной строки?
  8. Каковы, в среднем, отступы между абзацами?
  9. Каково усредненное соотношение значений отступа между абзацами и интерлиньяжем?
  10. Как выделяются стилистически ссылки?
  11. Сколько символов обычно используется в строке?
  12. Как часто ссылки выделяются подчеркиванием?
  13. Как часто используется замещение шрифтов (sIFR и прочие)?

В конце исследования мы собрали большое количество данных, которые мы оценили и подготовили для этой статьи. Основываясь на статистике, мы выделили несколько приблизительных рекомендаций для работы с набором. Пожалуйста, отметьте, что полученные правила хоть и часто, но далеко не всегда могут быть восприняты как непреложный закон.
Отвечаем на вопросы
Total votes 74: ↑67 and ↓7+60
Comments43

olap для маленькой компании

Reading time4 min
Views50K
В посте Многомерные кубы, OLAP и MDX Vitko написал: «тема очень интересная и с каждым днем становится все более актуальной». К сожалению, это заклинание произносится уже очень давно (по крайней мере я его слышу с 2004 года ), но olap проектов до сих пор очень мало. Возможно, потому что традиционно считается, что всё, что связанно с olap нужно только для крупных компаний с большими объемами накопленных данных и стоит очень дорого. Но это не совсем так. Я хочу рассказать о проекте, который внедрен в одной относительно небольшой компании.
Читать дальше →
Total votes 71: ↑69 and ↓2+67
Comments60

Случайные числа из звуковой карты

Reading time15 min
Views13K
Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.

При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.

В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.

UPD Исправил пропавшие в коде нули, которые съело НЛО.
Читать дальше →
Total votes 143: ↑137 and ↓6+131
Comments72

Mantis :: Автоматизация скриншотов

Reading time2 min
Views3.4K
imageЗадался вопросом о том, как себе облегчить жизнь при работе с Mantis. Так повелось, что исторически работа проходит именно с ним, поэтому далее рецепт для коллег по цеху.

Процесс установки займет около получаса при внимательном выполнении действий.

Установка проходила на:

Mantis 1.1.6
Windows XP

Для тех кто не знаком с продуктом поясню: сам Mantis работает в стреде *nix, а кропалка работает в среде windows. В статье объясняется, как связать два полезных инструмента воедино для продуктивной работы.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments13

Python в Latex

Reading time3 min
Views18K
Использовать Python в LaTeX было бы очень удобно. Сразу предупреждаю, что предложенные методы считаются небезопасными, потому-что Python умеет гадить, если написать соответствующий код, так что проверяйте его (=

Существует готовый метод в виде файла стилей, используется так:
\usepackage{python}
\begin{python}
from math import sin
a = sin(5)
c = sin(9)
b =  max(a,c)
print b
\end{python}


Этот пакет, фактически, создает jobname.py, пишет вывод в jobname.py.out, jobname.py.err, и читает его.
Метод плох тем, что переменные не сохраняются от кода к коду, и для этого приходится использовать pickle, приходиться каждый раз заново всё import`ить и т.п., а еще мне кажется, что удобно иметь все расчеты в одном месте в отдельном файле, поэтому я построил свой лунапарк…
Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments5

Зачем платить $350 000, если есть OpenMCU?

Reading time1 min
Views22K
Чтобы соединить несколько участников в видеоконференцию, можно купить небольшой MCU (Multipoint Control Unit) от Тандберга за $349 990. А можно научиться использовать и сочетать решения с открытым исходным кодом, что успешно проделал мой коллега. Я уговорила его рассказать о его находке на Хабре, и rchik  получил свой инвайт. Спасибо!



Читать дальше →
Total votes 72: ↑68 and ↓4+64
Comments70

Переходим с «палёного» софта на бесплатный

Reading time5 min
Views44K
Заметка была написана довольно давно, в октябре-ноябре прошлого года, так и висела неопубликованной. Прошу прощения за несколько «ненаучный» стиль.

Как-то так получилось, что иногда я пользуюсь Windows XP дома (2 лицензионных копии на двух ноутах) и Windows 2000 на работе. Кстати, на работе у нас весь софт лицензионный. Вот моему начальнику понадобился сегодня Microsoft Visio, а злые админы отказались ставить, мол, 800 баксов стоит… Это навело меня на мысли написать данный пост. Поскольку сам я программист и иногда даже пишу программы, то стараюсь всячески выступать против «палёного» ПО, заменяя его бесплатными аналогами. Специалисты и так в курсе, чем может грозить использование левого софта, а рядовому пользователю пофиг на все эти тонкости, лишь бы работало. Проблема усугубляется ещё и тем, что 99% пользователей Windows настолько привыкли использовать свои любимые Excel, Word, Photoshop, Total Commander, что это начинает походить на неизлечимую зависимость. Не всегда у всех получается от неё избавиться, но, тем не менее, прогресс есть. И вот решил я поделиться своим опытом отказа нелицензионных взломанных программ в пользу бесплатных аналогов. Здесь мы убьём сразу 2-3 зайцев: сэкономим деньги (причём много раз: не купим платный софт, не потратим кучу денег за поддержку и обновления и не заплатим возможный штраф за «левак»), уменьшим вероятность подцепить вирусы и прочую нечисть, не нарушим закон, поддержим технический прогресс (к примеру, за счёт использования более удачных альтернативных решений, улучшив тем самым конкуренцию, и в конечном итоге, качество ПО). Итак, поехали.
Читать дальше →
Total votes 128: ↑90 and ↓38+52
Comments456

Начало научной карьеры (часть 1)

Reading time4 min
Views17K
Всем доброго времени суток!

Замечаю, что темы, связанные с образованием и наукой на Хабре достаточно популярны. Я тоже решил внести свой небольшой вклад в развитие этого направления. На сей раз речь пойдёт о том, как в принципе выглядит университетская карьера, какие в ней имеются особенности, сложности и подводные камни.
Читать дальше →
Total votes 117: ↑111 and ↓6+105
Comments157

Генерация мнемонических сильных паролей

Reading time4 min
Views16K
Эта статья написана хабрапользователем stboris в рамках идеи "Green card".

В своей жизни я часто сталкиваюсь с необходимостью придумать пароль для своего (а также и не своего) нового аккаунта/логина.

Пароли должны быть достаточно сложны, иначе они могут быть легко подобраны (привет счастливым обладателям паролей god, sex, love). Также они должны по возможности быть разными, т.к. если вы даже и придумали очень сложный пароль, но пользуетесь им везде, то это легко может привести к компрометации.
Запомнить несколько десятков паролей, состоящих из случайного набора букв разных регистров, цифр, спецсимволов не такая уж тривиальная задача.

Моя память работает по какому-то своему особому принципу, что-то вроде «тут помню, тут не помню». С девушкой одного моего друга я знакомился 4 раза, не мог ее запомнить и все тут. Но есть у моей памяти и бонус — она очень хорошо работает с ассоциациями.
А еще, раньше я весьма много играл в разные игрушки: Кваку, Линягу, ВоВ и много еще чего сетевого и не очень и давно заметил, что для записи ников часто используют не только буквы, но и цифры и специальные символы.

И вот, однажды, сопоставив это все, я и придумал свой метод генерации паролей (возможно, его кто-то придумал до меня, но я пока не видел). Я уже достаточно давно им пользуюсь, но до сих пор не сделал четких правил для него. Так что решил написать эту статью и с ее помощью довести метод до ума и заодно поделиться им с людьми.
Читать дальше →
Total votes 101: ↑84 and ↓17+67
Comments146

Как быстро начать и эффективно продолжить писать расширение для лисы

Reading time1 min
Views1.1K

Обычно цикл разработки таков:


1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.

Стало страшно? Тогда…
дальше про то как userChrome.js позволяет обойтись без перезагрузки и сократить количество шагов до двух
Total votes 48: ↑43 and ↓5+38
Comments17

Консольные хитрости Питон: история команд + автодополнение

Reading time3 min
Views19K
Если вы разрабатываете программы на Питоне, то, уверен, вы хорошо знакомы с работой с ним в интерактивном режиме. Это самый простой и удобный способ проверить пришедшую в голову идею, запустить библиотечную функцию, пошагово прогнать какой-то алгоритм и т.п. без создания лишних мусорных файлов. Вобщем питоновская консоль — очень мощная и удобная вещь. У меня постоянно напрашивается сравнение с юникс-шеллом в языке. Если бы не две ложки дегтя в этой бочке меда: команду каждый раз приходится набирать заново, вместо того, чтобы просто нажать стрелку вверх и подправить команду, а также приходится писать много лишнего, что только добавляет опечаток и необходимости повторного набора. Вобщем я хочу как в баше: история + автодополнение.
Я удивлен почему это еще не сделано по умолчанию. Кстати, очень может быть, что это уже реализовано в вашей системе, и вам это совершенно неактуально — тогда можете совершенно смело пропустить эту статью. Возможно это пригодится кому-то другому. На попавшихся мне Macos, Freebsd, Debian и Fedora этого не было.

К счастью, это легко исправить.
Total votes 50: ↑46 and ↓4+42
Comments34

Если вы умеете печатать — вы умеете делать мультфильмы.

Reading time1 min
Views925
Именно это утверждение вынесено в шапку забавного проекта от Xtranormal Inc. Любому посетителю (для того, чтобы попробовать, не нужно даже регистрироваться) предлагается почувствовать себя в роли режиссера анимационного проекта.

Набор актеров и средств формирования сцен невелик — но, процесс создания своего будущего анимационного шедевра, призванного затмить успех последнего Шрека и Валли, даст вам почувствовать каково это — «делать мультфильмы»

Если серьезно, штука, в самом деле, забавная. Актеры, повинуясь воли сценария, разговаривают синтезированными голосами, проговаривая ваши реплики (качество не фонтан, но терпимо для развлечения). Камеры послушно показывают нужные ракурсы, присутствует набор действий и эмоций.

И, что самое, пожалуй, главное — похоже) Судя по работам, выложенным пользователями на вселенский суд, некоторые маньяки творят свои мульты целыми сериями. И… смотрят) Комментируют)

Рекомендую тем, кто так или иначе связан с анимацией или режиссурой, рекомендую всем (как это...«широкому кругу лиц») — улыбнуться. Проект, не смотря на игрушечность, добрый и занятный.

www.xtranormal.com — ссылка на головную страницу проекта.
Total votes 34: ↑34 and ↓0+34
Comments10

Разработка на PC и производительность — Memory Latency

Reading time7 min
Views11K
Herb Sutter (автор Exceptional C++, бывший глава ISO C++ standards committee, мистер Free Lunch Is Over и прочая, и прочая) работает в Microsoft и иногда по средам читает атомные лекции.

Я наконец-то на одну такую попал, и очень радовался. На умных мужиков всегда радостно поглядеть и послушать.
Для отчета — кроме Херба, видел живого Олександреску и живого Walter Bright (который "D").

Лекция называлась «Machine Architecture: Things Your Programming Language Never Told You» (здесь можно скачать презентацию и видео) и была про конкретную часть abstraction penalty — Memory Latency.

Я попытаюсь коротко рассказать о ключевой мысли лекции. Она простая, очевидная и тысячу раз сказанная. Думаю, еще раз повторить азбуку — никогда не повредит.
Читать дальше →
Total votes 142: ↑135 and ↓7+128
Comments70

Патч через семь с половиной лет

Reading time1 min
Views914
Семь с половиной лет потребовалось программистам Microsoft, чтобы выпустить патч, закрывающий дыру в протоколе SMB (Server Message Block). Впервые информация об этой уязвимости была обнародована на конференции Defcon аж 2000 года. Эксплойт официально появился в марте 2001 года. За прошедшие годы эксплойт приобрел широкое распространение и использовался очень активно. Например, он был встроен в популярную хакерскую программу Metasploit.

Данная уязвимость позволяет очень легко завладеть управлением на удалённом компьютере, если он не защищён файрволом. По классификации Microsoft уязвимость считается «важной» для Windows XP, 2000 и Server 2003, а также имеет статус «умеренной» для Vista и Server 2008. Однако независимые эксперты однозначно называют эту уязвимость критической.

Эксперты также отмечают, что семь с половиной лет — это очень долгий срок для создания патча, необычно долгий даже для Microsoft. Непонятно, чем объясняется такая задержка.
Total votes 85: ↑75 and ↓10+65
Comments39
12 ...
9

Information

Rating
5,426-th
Location
Россия
Date of birth
Registered
Activity