Наверняка многие хабражители уже давно распробовали на вкус замечательный музыкальный сервис, под названием Pandora.com. Наверняка многие из них, проживающие за пределами США, ни раз видели сообщение о «неверном» IP, забыв вовремя заплатить за VPN. Сегодня я попытаюсь рассказать, как избежать таких ситуаций раз и навсегда.
ctacka @ctacka
Пользователь
Ба! Знакомые все лица! (Lightroom 3 и распознавание лиц)
2 min
6.5KСравнительно недавно, «по совету друзей», открыл для себя программу Google Picasa. Больше всего понравилась мне возможность распознавания лиц и автоматической простанавки тегов на их основе. Несколько дней я провел над подписыванием лиц в своей немаленькой фотоколлекции… Когда же работа была завершена, то встал вопрос — что же делать дальше? Ибо в качестве каталогизатора и редактора Picasa серьезно уступает специализированным инструментам. Постепенно вопрос трансформировался в такой: как перенести (а лучше регулярно синхронизировать) информацию о контактах из Picasa в предпочитаемый мною Lightroom?
+35
Что нам стоит док настроить
2 min
5.4KСуществует много программ позволяющих настроить док, добавить или изменить его функциональность и т.д и т.п. Лично меня из всего предлагаемого разнообразия интересовало всего несколько конкретных вещей:
Для всех этих операций есть родные команды терминала. Ну а для большего удобства, чтоб не набирать код каждый раз вручную, можно создать в Automator небольшие программки.
- Запрет на изменение расположения иконок в доке (ну а когда надо, быстрая отмена такого запрета).
- Запрет на изменение размера дока (подобрать оптимальный и зафиксировать).
- Добавление в док разделителей для визуального выделения приложений в группы.
Для всех этих операций есть родные команды терминала. Ну а для большего удобства, чтоб не набирать код каждый раз вручную, можно создать в Automator небольшие программки.
+11
Красивые трейсбеки в Python
1 min
21KКак часто вам присылают подобные отчеты об ошибке?
Ох, если бы только узнать значение lst и index на тот момент...
python-catcher — автоматическая генерация HTML-трейсбеков с локальными переменными и исходниками, + загрузка в интернет — пользуйтесь на здоровье.
Traceback (most recent call last):
...
File "...", line ..., in ...
process(lst[index])
IndexError: list index out of range
Ох, если бы только узнать значение lst и index на тот момент...
python-catcher — автоматическая генерация HTML-трейсбеков с локальными переменными и исходниками, + загрузка в интернет — пользуйтесь на здоровье.
+84
Полезные сниппеты на HTML5
4 min
84KTranslation
Эта подборка полезных сниппетов, использующих HTML5, может помочь вам улучшить ваш сайт.
Используя HTML5-элемент
Автозаполнение в текстовых полях
Используя HTML5-элемент
datalist
вы можете создать текстовое поле с автозаполнением. Очень удобно!<input name="frameworks" list="frameworks" />
<datalist id="frameworks">
<option value="MooTools">
<option value="Moobile">
<option value="Dojo Toolkit">
<option value="jQuery">
<option value="YUI">
</datalist>
+45
Времена меняются для веб-разработчиков — 6 советов чтобы выжить
4 min
16KRecovery Mode
Контекст данного поста об изменениях для веб-разработчиков, я вижу многих разработчиков которые «застряли», особенно в .NET.
Если вы еще не начали совершенствоваться в Вашем искусстве и адаптироваться к изменяющимся трендам, вы должны начать это делать сегодня.
Подумайте о разработке веб-приложений должным образом. Используйте здравый смысл чтобы смешивать и сочетать основываясь на данных советах.
А теперь 6 советов для веб-разработчиков, чтобы оставаться на пике того что вы делаете.
+4
Yet Another Rating System
8 min
24KИтак, тема рейтинговых систем продолжает будоражить умы хабрапользователей. Появляются всё новые и новые схемы, формулы, тесты. И каждый раз всё сводится к одному и тому же вопросу: как совместить среднюю оценку пользователей с нашей уверенностью в этой оценке. Например, если один фильм получил 80 положительных и 20 отрицательных голосов, а другой — 9 положительных и 1 отрицательный, то какой из фильмов лучше? Не претендуя на создание новой универсальной рейтинговой системы, я всё же предложу один из возможных подходов к решению именно этого вопроса.
+65
Простая и аккуратная коробка для проводов
2 min
104KДолгое время у меня за монитором на столе была свалена груда проводов — блоки питания от монитора и ноутбука, зарядки и тому подобное. Не то чтобы они мне очень сильно мешали, но убрать пыль из-за этого клубка было практически невозможно, отчего по моему столу периодически перекатывались гонимые ветром комки пыли пополам с кошачьей шерстью. Однако недавно я решил эту проблему, собрав из подручного барахла аккуратную коробку для проводов. Очень простая конструкция, минимум затраченного времени и денег — надеюсь, что кому-нибудь моя инструкция пригодится.
+28
85 заблуждений и препятствий внедрения гибкой разработки
6 min
26KТермин «скрам-бат» (от «scrum, but..») впервые начал использовать Кен Шуэйбер что бы описать неверную трактовку или умышленную модификацию правил скрам, что бы уйти от болезненной правды о процессе, которую он помогает открыть.
Типичная формулировка скрам-бата выглядит так:
У нас скрам, но <Причина>, <ОбходнойПуть>
Где Причина — это описание дискомфорта, неприятного открытия с которым команда в силу тех, или иных причин не может справиться. А Обходной путь — это способ закрыть глаза на проблему, или устранить «симптомы», не разобравшись с причинами «организационного заболевания».
Типичные примеры скрам-батов, соответственно, выглядят так:
- У нас скрам, но мы не всегда успеваем закончить всю взятую работу, поэтому меняем длину итерации.
- У нас скрам, но все проблемы, которые мы могли устранить мы уже устранили, поэтому мы не проводим ретроспективы .
Мы стараемся термином «скрамбат» не злоупотреблять, поскольку некоторые типы отклонений свойственны началу внедрения аджайл и являются частью эволюции процесса. Например, если у вас скрам, но вы не делаете TDD, у вас нет парного программирования и слабо выраженное коллективное владение кодом — возможно, вы просто в начале пути. Причины могут быть разными — от неумения «продать» ценность инженерных практик менеджменту до неумения их «готовить». И то и другое можно научиться делать, но это занимает определенное время, верно?
Однако, каждый раз, когда я слышу «у нас скрам, но» в зрелых командах, я пытаюсь услышать нечто большее большее о причинах, которые такую модификацию обуславливают. И знаете, что? Веских причин на самом деле очень мало. Скорее, это непонимание ценностей гибкой разработки, недостаток смелости и силы что бы им следовать, которые вместе образуют процессное «скрамно».
Работая с командами, мы собрали список из 85 заблуждений и препятствий успешного внедрения гибкой разработки. Многие выходят за рамки правил карсасса скрам. В зависимости от контекста проекта, некоторые пункты могут иметь большее или меньшее влияние, и иметь оправдания обстоятельствами. Однако мы верим, что каждый элемент этого списка провоцирует искаженение ценностей и принципов Agile.
+2
Статистика отказов в серверной памяти
5 min
47KВ 2009 году, на ежегодной научной конференции SIGMETRICS, группа исследователей, работавших в Университете Торонто с данными, собранными и предоставленными для изучения компанией Google, опубликовала крайне интересный документ "DRAM Errors in the Wild: A Large-Scale Field Study" посвященный статистике отказов в серверной оперативной памяти (DRAM). Хотя подобные исследования и проводились ранее (например исследование 2007 года, наблюдавшее парк в 300 компьютеров), это было первое исследование, охватившее такой значительный парк серверов, исчисляемый тысячами единиц, на протяжении свыше двух лет, и давшее столь всеобъемлющие статистические сведения.
Отмечу также, что та же группа исследователей, во главе с аспирантом, а ныне профессором Университета Торонто, Бианкой Шрёдер (Bianca Shroeder) ранее, в 2007 году публиковала не менее интересное исследование, посвященное статистике отказов жестких дисков в датацентрах Google (краткую популярную выжимку из работы Failure Trends in a Large Disk Drive Population (pdf 242 KB), если вам скучно читать весь отчет, можно найти здесь: http://blog.aboutnetapp.ru/archives/tag/google). Кроме того, их перу принадлежит еще несколько работ, в частности об влиянии температуры и охлаждении, и о статистике отказов в оперативной памяти, вызываемой, предположительно, космическими лучами высоких энергий. Ссылки на публикации можно найти на домашней странице Шрёдер, на сервере университета.
+62
GSA: Препарируем Google Search Appliance в виртуальной машине
5 min
15KПоследние годы, с интересом почитывая о персональных поисковых системах в веселых желтых коробках имени Google, я периодически гуглил по словам GSA, Google Search Appliance, reverse engineering и, чего греха таить, hack, DIY, disk dump и т.п. Но ничего, кроме официальных пресс-релизов и переписки счастливых (?) обладателей с группой поддержки, я не встречал.
Иногда звучали на форумах робкие вопросы вроде «а как бы рута мне получить» или «попасть в GSA по ssh», но на все подобные вопросы ответ был один — только группа поддержки Google знает пароли. И никому не скажет. Удивительно, но я не встречал в интернете никаких попыток собрать «хакинтош» на движке Гугла, или по живому коду разобраться в алгоритме ранжирования страниц.
Ситуация слегка изменилась в 2008 году, когда на волне эйфории от виртуализации, Google выкатил VGSA – бесплатную виртуальную машину для Vmware с ограниченной до 50 тысяч документов лицензией. Впрочем, особого энтузиазма это в интернете не вызвало, в 2009 году проект был свернут и большинство ссылок в Гугле на VGSA стали возвращать 404 (заметьте – самим же Гуглом). Ссылку на релиз от 2008 года можно найти довольно легко. Ссылка на версию 2009 сохранилась лишь на паре китайских сайтов.
О том, как я поставил vgsa_20090210 на ESX 5.1 и увидел много чего интересного, можно прочитать ниже.
+104
Как можно защитить диссертацию по QA в России?
5 min
14KКакое-то время назад ко мне в Skype и «Мой круг» постучалось несколько человек с одним и тем же вопросом: «Как и где можно защитить диссертацию по QA?». Вопросы удивили. Давно не слышал о том, что кто-то хочет писать научные труды, особенно по QA. Вместе с тем, в последнее время я начал замечать, что ко мне все чаще стали приходить на собеседования люди, которые или уже пишут научную работу, или планируют заняться научной деятельностью.
После этого я решил узнать, а много ли существует случаев, когда человек защитил диссертацию по QA. Примеров оказалось немало, вот только некоторые из них:
Однако все это были уже готовые и законченные работы, так сказать, финал. Мне же была интересна «предыстория». Личный успешный опыт защиты диссертации (правда, по экспериментальной физике) на тот момент позволял видеть лишь общую картину, без какой-либо конкретики. Поэтому я собрал некоторую информацию, добавил мысли из личного опыта и решил поделиться всем этим.
После этого я решил узнать, а много ли существует случаев, когда человек защитил диссертацию по QA. Примеров оказалось немало, вот только некоторые из них:
- «Тестирование на основе формальных спецификаций в процессах разработки программных комплексов» (Петренко Александр Константинович, д.ф.-м.н),
- «Методы и программные средства управления конфигурациями проектов разработки встроенных систем» (Налютин Никита Юрьевич, к.т.н.),
- «Методы реализации регрессионного тестирования по расширенным тестовым наборам» (Епифанов Николай Анатольевич, к.т.н),
- «Разработка метода построения комплекса нагрузочного тестирования распределенной информационной системы» (Ермыкин Алексей Александрович, к.т.н).
Однако все это были уже готовые и законченные работы, так сказать, финал. Мне же была интересна «предыстория». Личный успешный опыт защиты диссертации (правда, по экспериментальной физике) на тот момент позволял видеть лишь общую картину, без какой-либо конкретики. Поэтому я собрал некоторую информацию, добавил мысли из личного опыта и решил поделиться всем этим.
+14
AIDA. Автоматизация работы с Git, JIRA и TeamCity
5 min
38K При разработке и тестировании какого-либо продукта появляется много рутинной работы. Чтобы избежать ошибок, связанных с человеческим фактором, мы используем AIDA.
AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.
В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.
В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
+47
Подборка полезного для любителей Twitter Bootstrap
2 min
250KВ подборке сервисы, плагины, темы и другие полезности, облегчающие работу с Twitter Bootstrap.
BootSwatchr — быстрая стилизация Twitter Bootstrap.
Стилизация
BootSwatchr — быстрая стилизация Twitter Bootstrap.
+238
RabbitMQ tutorial 2 — Очередь задач
7 min
220KTutorial
Translation
В продолжение первого урока по изучению азов RabbitMQ публикую перевод второго урока с официального сайта. Все примеры, как и ранее, на python, но по-прежнему их можно реализовать на большинстве популярных ЯП.
+21
RabbitMQ tutorial 1 — Hello World
6 min
539KTutorial
RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
+45
Использование RabbitMQ в django проектах без Celery, и что нового в Celery 3.0
8 min
32KДумаю что большинство python программистов уже в какой-то степени знакомы с возможностями Celery. В 1-ой части я расскажу, как можно использовать RabbitMQ без celery, а во второй части — краткий обзор новых возможностей celery 3.0.
Об установке связки Django-Celery-RabbitMQ можно почитать тут.
Про использование RabbitMQ хорошо написано тут, и тут, ну и на сайте RabbitMQ.
Об установке связки Django-Celery-RabbitMQ можно почитать тут.
Про использование RabbitMQ хорошо написано тут, и тут, ну и на сайте RabbitMQ.
+18
Развертывание Django-проекта под nginx
3 min
17KПреамбула
Из нескольких способов развертывания Django я сразу отмёл mod_python, потому что мне не хотелось поднимать тяжеловесный Apache. Решил развернуть на легком веб-сервере. На данный момент основных легковесных альтернатив Апачу две — lighttpd и nginx. Первоначально я выбрал первый, но столкнулся с проблемами, связанными с URL. Я подумал, что, может, nginx будет работать получше, и развернул приложение на нём. В этом деле мне очень сильно помог один скринкаст, уже не помню точно чьего авторства.
Всё было отлично, но когда я захотел использовать админку Django(удобная вещь, кстати), меня постигло разочарование — форма логина показывалась, но при попытке войти меня выбрасывало на admin. После получаса гугления, я нашёл топик на небезызвестном форуме Ивана Салагаева, в котором описывалось решение проблемы. После того, как я последовал описанным советам, все заработало на-ура. Представляю вашему вниманию необходимую конфигурацию сервера и Django.
+29
Тестирование в Mail.Ru Group
12 min
41KЭта статья написана по мотивам одноименного доклада на Highload++'2012. Предназначена она для руководителей, которые смогут, взглянув на наше тестирование, сравнить его с тестированием в своем проекте, для программистов и системных администраторов, которым представится возможность посмотреть на тестирование как на очень интересную работу, и, конечно, для тестировщиков.
В статье я расскажу, о том, каким на самом деле может быть тестирование, как мы сделали тестирование продуктивной и интересной работой, какие задачи мы решаем, и почему работать у нас хорошо.
В статье я расскажу, о том, каким на самом деле может быть тестирование, как мы сделали тестирование продуктивной и интересной работой, какие задачи мы решаем, и почему работать у нас хорошо.
+40
Оптимизация Windows для использования SSD диска: мифы и реальность
6 min
851KКогда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.
Кто заинтересовался, прошу под кат.
+33
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity
Specialization
DevOps
Lead