среда, 2 марта 2011 г.

Хабрахабр

КупиКупон - скидки от 50% до 90%

Хабрахабр:

Привет хабр, вот тебе пост на первый день весны. Стремительно приближается красный день календаря8 марта, им его и посвятим. Купил я жене новый ноутбук, а в старом жила у неё программа для учёта месячных. ?Очень нужная штука? ? сказала мне жена, ? ?не хочу с ней расставаться?. Нормальный мужик возьми бы, да и поставь её на новый компьютер и забудь, но это не про меня. Решил я разобраться, до чего дошёл прогресс в этой области программирования, и выбрать самое лучшее. Оказалось, что пригодных русскоязычных программ не так уж и много, а точнее, всего 5. Вот и расскажу о них по порядку, авось кому пригодится такой обзор. Очень надеюсь, что столь интимная тема здесь никого не смутит. Такова уж физиология Homo Sapiens. Итак, список претендентов на поселение в новом супружеском ноуте выглядел так: · 4WomenOnly (Версия 7) · Женский Календарь © FeminaSoft (Версия 2.7/3.0) ?Total Ovulation Control? · Овуляшки (Версия 1.6.5) ? в девичестве Woman calendar © Слесарева Э.В. (Версия 1.1b) · WoCa (Женский календарь) © Alyamkin Ilya (Версия 1.3.2) · BlooDays (Версии 3.01 или 3.2.1 ? разницы, как оказалось, никакой) Я сразу расположил их по степени навороченности и в этом же порядке опишу основные фишки. Читать дальше →




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


Представляю вам вольный перевод статьи "Round Up: Great Android Music Players" Давайте посмотрим правде в глаза. Думаю, большинство обладателей телефонов с операционной системой Android согласятся с тем мнением, что плеер, поставляемый в комплекте с операционной системой является сухим и безжизненным на фоне плееров iPhone или iPad. Одно из величайших особенностей платформы с открытым кодом является написание новых приложений. Открытость платформы создает конкуренцию, а конкуренция является важным фактором для конечного пользователя, т.к. она заставляет производителей приложений снижать их стоимость (если они платные) и повышать качество продукции. К счастью, появилась конкуренция и среди плееров для Android. Сегодня мы рассмотрим лучшие плееры для Android и скажем, что их выделяет на фоне других плееров. Под катом обзор плееров, их скриншоты и QR-коды



Разработчик игр Раф Костер (Raph Koster) составил всеобъемлющий список базовых правил, на которых основаны социальные отношения в играх (мультиплеер, параллельная игра и т.д.). Эти правила для разработчиков игры заменяют азбуку. Во многом они пересекаются с принципами игровой механики, которые уже обсуждались на Хабре. Раф Костер приобрёл известность как создатель дизайна Ultima Online и креативный директор проекта Star Wars Galaxies, после чего основал собственную студию. Читать дальше →


Итак, что же это значит, когда кто-либо говорит, что foo выглядит как pythonic? Что значит, когда кто-либо смотрит в наш код и говорит, что он unpythonic? Давайте попробуем разобраться. В Python-сообществе существует неологизм pythonic, который можно трактовать по разному, но в общем случае он характеризует стиль кода. Поэтому утверждение, что какой-либо код является pythonic, равносильно утверждению, что он написан в соответствии с идиома Python?a. Аналогично, такое утверждение в отношении интерфейса, или какой-либо функциональности, означает, что он (она) согласуется с идиомами Python?a и хорошо вписывается в экосистему. Напротив, метка unpythonic означает, что код представляет собой грубую попытку записать код какого-либо другого языка программирования в синтаксисе Python, а не идиоматическую трансформацию. Понятие Pythonicity плотно связано с минималистической концепцией Python?a и уходом от принципа ?существует много способов сделать это?. Нечитабельный код, или непонятные идиомы ? все это unpythonic. При переходе от одного языка к другому, некоторые вещи должны быть ?разучены?. Что мы знаем из других языков программирования, что не будет к месту в Python?e? Читать дальше →


Google обещает пользователям Gmail, которые вчера обнаружили свои почтовые ящики пустыми, что все их данные будут восстановлены. В официальном блоге Google Бен Трейнор рассказал о причинах возникшей проблемы: Я знаю, что некоторые из вас думают: как это могло произойти, если у нас есть несколько копий данных в нескольких дата-центрах? Ну, в некоторых редких случаях ошибки в программном обеспечении могут затронуть несколько копий данных. Это и произошло. Некоторые копии писем были удалены, и мы усердно работали в течение последних 30 часов (Трейнор опубликовал свой комментарий в 5:30 по московскому времени — примечание aleksandrit), чтобы вернуть их пострадавшим пользователям. Читать дальше →


Австралийская компания Tag Systems разработала уникальный симулятор, который переносит водителя на его собственной машине в виртуальный мир. Сенсоры снимают с автомобиля данные в реальном времени, так что нажатие на акселератор и педаль тормоза, переключение передач и повороты руля полностью отражаются на экране. На собственной машине любитель гонок может прокатиться по настоящим трассам ?Формулы-1? или по улицам американских городов, участвовать в гонках на выживание или в ралли по пересечённой местности, не опасаясь получить травму. Читать дальше →


Для создания экранов настроек Android предоставляет очень удобный набор виджетов, таких как CheckBoxPreference, EditTextPreference, ListPreference. В случае, если существующие виджеты по каким-либо причинам не соответствуют требованиям, можно создать свой собственный на базе существующих. Довольно часто встречается ситуация, когда та или иная целочисленная настройка имеет разумные пределы: яркость, громкость и т.д. В этом случае имеет смысл создать собственный виджет, чтобы многократно использовать его в приложении. Читать дальше →



Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate) Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься. Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new/ Обязательная вступительная басня Мне очень нравятся суши. Это вкусно и удобно. Мне нравится, что можно с бухты-барахты, не тратя целый обеденный час, зайти в суши-ресторан с конвейером, занять место и взять что-то свежее и вкусное с ленты. Но при всём при этом, чего мне реально не хотелось бы, так это быть официантом в суши-ресторане, особенно если бы моей обязанностью было бы рассаживать посетителей по местам. Сейчас объясню, почему...


Приветствую! Хочу познакомить вас с идеей, реализации которой наша команда посвятила последние полтора года. Наиболее лаконичное и ёмкое определение того, чем мы занимаемся ? социальный шопинг. В данной статье я предлагаю проанализировать сложившиеся способы интернет-торговли и коротко рассказать о наших наработках в этой области. Человечество увидело World Wide Web в 1991 году, когда сэр Тимоти Джон Бернерс-Ли представил общественности Web-сервер и Web-браузер. Спустя 3 года в Сети открылся первый магазин ? Pizza Hut. Далее, с разницей в год, были запущены проекты Amazon (1995) и eBay (1996). Электронная коммерция была пионером Интернета? Читать дальше →


Сам я маковод и по роду онлайн деятельности приходится очень часто и много делать скриншотов, которые вставляются в технические задания или в чаты с разработчиками, частенько нужно что-то объяснить или поделиться и самым простым способом является скриншот (смотри, здесь верстка разъехалась! где? да вот же pix.am/bvEz.png). Мы взяли и реализовали маленькое приложение, которое умеет делать совсем немного, но зато очень быстро и удобно. Итак, PixAM может снимать скриншот всего рабочего стола, выбранного активного окна или области. Для постобработки скриншота имеется минимальный функционал ? рисование, написание текста, размытие приватных данных и заливка на pix.am с последующим помещением адреса скриншота в буфер. Читать дальше →


Я не любитель начинать войны, но то как со мной поступили просто вынуждает меня рассказать обо всем публично. Давным-давно, когда трава была зеленее, люди добрее и происходили другие невероятные вещи широко известная социальная сеть ВКонтакте дала людям возможность за деньги покупать домены третьего уровня для собственных нужд. Цену нельзя назвать символической: 5000 голосов или 35000 в родных деревянных рублях. В это время у меня и моих партнеров как раз зарождалось желание сделать какую-нибудь социальную игру, они тогда были на заре развития в данной социальной сети. Мы отсортировали свои идеи и решили зарегистрировать один домен для самой перспективной: club.vkontakte.ru Читать дальше →


Программист зверь ленивый, поэтому всё, что будет делаться больше одного раза надо непременно заскриптовать. Я уже некоторое время ковыряю TDD и задача постоянного контроля качества для меня становится всё актуальней. Особенно при пополнении команды новыми разработчиками. Сначала я запускал тесты руками: save, switch, $ nosetests. Потом к тестам добавились проверялки качества кода и пришлось всё засунуть в скрипт: pyflakes *.py pep8 *.py pylint *.py nosetests Скрипт запускать каждый раз ужасно лениво, поэтому небольшая оболочка на inotifywait стала запускать тесты и проверки после каждого сохранения: while true; do inotifywait -e modify project/*.py -qq; clear ./do_tests done Тут я стал более-менее доволен происходящим и даже на некоторое время расслабился. Но ведь программист кроме того, что ленив ещё и горд, поэтому результаты хочется кому-нибудь показать. Чтобы вести историю происходящего (которая очень помогает когда заходит начальник начальника и спрашивает: ?ну-с, чем вы занимались последний месяц??) уже есть система контроля версий. Но она показывает только, что сделано и не даёт обзора успешности каждой ревизии. Получается что код лежит, но непонятно в каком он состоянии и что где ещё надо сделать. Кроме того довольно тяжело следить за коллегами, которые тоже могут что-то сделать и забыть прогнать тесты, в результате в репозитории лежит битый код, не прошедший code review и при очередном pull может внезапно начаться clusterfuck. И тут очень вовремя kmmbvnr@lj выпустил скринкаст, в котором он демонстрировал интеграцию тестирования для django-проектов с сабжем Jenkins (бывш. Hudson). Посмотрел я на все эти красоты, графики и отчёты и тоже захотел чтобы всё само пело и играло. Но у него django-jenkins, как и следует из названия, встраивается в джангу и генерит отчёты используя хитрую систему. Мой проект до джанги не дорос и скорее всего не дорастёт ? это достаточно тривиальное WSGI-приложение, которое правда стремительно разрастается. Пришлось поднимать всё с нуля. Воскресенье я на это убил, но в целом всё довольно прямолинейно и теперь у меня есть симпатичные отчёты: Что внутри? Читать дальше →


Большинство разработчиков знакома с таким продуктом, как визуализатор code_swarm (на google code). Как минимум каждый третий наверняка выгружал для него лог и создавал видео, которое визуализирует процесс разработки приложения, в котором видно активность программистов. Ну и конечно каждый второй видел видео подобного рода. Практически все эти видео делались на срезе отношения программист?файл. В этой статье будет описан процесс формирования лога в срезе отношения файл?строка, то есть с генерированное видео будет демонстрировать активность работы над файлом. Кому это интересно под прошу под кат. В статье будет использованы: Git ? VCS code_swarm ? визуализатор истории репозиториев. gource ? визуализатор истории репозиториев. Эмулятор среды linux в Windows или UNIX OS (с git уже идет для win эмулятор msysgit) MEncoder ? свободный кодировщик видео ffmpeg ? программа для конвертации видео с использованием различных кодеков. Далее...


Просматривая очередную серию мультов Фримена заметил мелькание чего-то похожего на QR код, заинтересовался, нашел этот кадр: Оказалось действительно код. Нашел онлайн декодер от гугла, который и помог восстаонвить исходное сообщение: Сакральный смысл парадокса с котом Шредингера состоит в обратном. Обычно речь идет о том, что в отсутствие наблюдателя кот находится в суперпозиции, в которой он одновременно наполовину жив, а наполовину мертв. Такая вот вирусная реклама для it'шников. Кому интересно можете найти сами, на видео, отмотав к 01:59. P.S. Это статья не про Фримена и поиск смысла в его мультиках. А просто про интересный ход, про скрытие информации в видеопотоке, что используется почти в каждой его серии.


Многие наверняка сталкивались с тем, что любимый браузер не умеет делать что-то очень простое, но насущно необходимое. Я хочу рассказать, как на коленке за час можно обучить FF4 хорошему. Написание расширений ? процесс очень простой и даже временами приятный, но, к сожалению, документация не всегда легко находится, how-to разбросаны по разным углам сайта MDN, внятных рекомендаций мне найти тоже не удалось? Все это порождает (по крайней мере, в моей голове ? породило) миф о том, что это трудоемкий процесс, доступный только гуру. Вот этот миф и призвана развеять данная статья. Мы напишем расширение, которое будет править типографику в полях ввода, обращаясь за помощью к сервису ?Типограф?. Поехали!


Отписаться от этой рассылки

Комментариев нет:

Отправить комментарий