Search
Write a publication
Pull to refresh
0
0
Эйтор @ilder

User

Send message

Будьте готовы к худшему, потому что оно все равно случится

Reading time3 min
Views1.1K
Через это должны пройти всеЭтот пост появился случайно из комментария к статье из песочницы «Стартап? Завязывайте!». Комментарий писался-писался и написался на целый пост. Извините за это бестолковое вступление – я думаю, не у меня одного так иногда бывает.

Статья действительно хорошая. Не в пример другим статьям про стартапы, от которых, как справедливо замечает автор, многих уже тошнит. И все там вроде бы по делу и вполне логично. Вот только один момент в позиции автора мне показался спорным: «Занимайтесь тем, что вам нравится, не получается – бросайте, это не ваше». С этим я согласиться не могу. Каким бы не было ваше увлечение или специальность, за что бы вы ни взялись, — при достижении некоторого уровня (бизнес/стартап/оклад/фриланс) рано или поздно вам придется столкнуться кое с чем, о чем говорить не принято, но с чем рано или поздно сталкивается любой. Все прикольное и забавное, чем вы увлекались, и что вас вдохновляло, станет всего лишь Вашей работой (или бизнесом, в данном контексте – это неважно). Только тогда наступает настоящее испытание на прочность.
Читать дальше →

Умри, агент, умри!

Reading time7 min
Views5.3K
Каждый год тысячи людей впервые в жизни сталкиваются с необходимостью снять квартиру. Честно говоря, бизнес риелторских услуг по сдачи квартир внаем — то еще дерьмо, особенно в таком крупном городе как Москва. Именно по этой причине, каждый год появляется очередной юноша с «горящими глазами», который выдает очередной высер суперпроект помощи в поиске аренды.

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

Читать дальше →

Простая минималистская реализация сложных JavaScript приложений

Reading time12 min
Views8.8K
Я хочу описать простой минималистский подход к разработке сложных JavaScript приложений. Из внешних библиотек будут использоваться только jQuery и мой js-шаблонизатор, причём из jQuery используются только $.ready(), $.ajax() и $.proxy() — т.е. суть не в библиотеках (их тривиально заменить на предпочитаемые вами), а в самом подходе.

В основе подхода лежат две идеи:
  1. JavaScript виджеты — небольшие модули, каждый из которых «владеет» определённой частью веб-странички (т.е. всё управление этой частью странички происходит исключительно через методы этого модуля, а не через прямую модификацию DOM — инкапсуляция). Виджет отвечает исключительно за функциональность, но не за внешний вид; поэтому прямая модификация части DOM, которым «владеет» виджет, снаружи виджета допускается — но только для чисто дизайнерских задач (для архитектуры и общей сложности приложения нет принципиальной разницы между коррекцией внешнего вида через CSS или jQuery).
  2. Глобальный диспетчер событий. Взаимодействие между виджетами осуществляется путём посылки сообщений глобальному диспетчеру (слабая связанность, паттерн Mediator/Посредник), а уже он принимает решение что с этим сообщением делать — создать/удалить виджеты, дёрнуть методы других виджетов, выполнить дизайнерский код, etc. В отличие от динамического подхода к обработке событий (когда обработчики конкретного события добавляются/удаляются в процессе работы) статический диспетчер сильно упрощает понимание и отладку кода. Безусловно, есть задачи, для которых нужны именно динамические обработчики событий, но в большинстве случаев это избыточное усложнение, поэтому всё, что можно, делается статическими обработчиками.

Читать дальше →

Читайте код, с остальным справится компилятор

Reading time3 min
Views3.1K

Введение


Уже не в первый раз мне задают связанные вопросы:
«Зачем ты делаешь так много функций?»;
«Зачем ты выносишь, однократно используемый, код в функции?»;
«Остальные не знакомы с твоими правилами именования функций. Как они будут с этим работать?». Поэтому опишу свое видение проблемы. Ну а сообщество подскажет, к чему же стоит стремиться.
Читать дальше →

История о том, как я перешел на свои хлеба (делюсь опытом для начинающих и прошу совета бывалых)

Reading time13 min
Views24K

Мотив написания статьи


Читая хабр, извлек для себя много полезного: некоторые статьи заставляли много думать, некоторые вдохновляли на определенные действия, какие-то, возможно, предотвратят мои дальнейшие ошибки. И хотя на себя я работаю всего лишь год, за это время в моей жизни произошел ряд существенных изменений. Я получил для себя ответ на вопрос «быть или не быть», которым я задавался, работая «на дядю» и теперь хочу вдохновить тех, кто подумывает о том, чтобы вырваться из рабства вашего начальства и основать собственное дельце, но, вместе с тем, я не достиг особых высот, и нуждаюсь в совете тех, кто, собственно, преуспел.
Читать дальше →

Обратная разработка коммерческой программы: кейген для Zuma Deluxe

Reading time11 min
Views35K



Вступление

Здравствуйте, Хабралюди.
Судя по последним статьям в блоге Assembler, тема кейгенов становится здесь весьма популярной. Что ж, внесу и я свои пять копеек.
Наш сегодняшний подопытный — игра Zuma Deluxe, на которую я никак не мог отгуглить себе кейген (не подумайте, что я игроман: на всё данное исследование меня вдохновил тов. k_d с его самоиграйкой для Zuma). И сразу дисклеймер: данный взлом от начала и до конца проделан в образовательных целях и не имеет целью нести убытки компании PopCap Games.
Читать дальше →

Играем в Крестики-Нолики с Python и GTK

Reading time2 min
Views25K

Предисловие


Новый блог GTK+ порадовал статьёй для начинающих и я решил попробовать что-то более простое, чем C++/C. Python оказался как нельзя кстати. Объём кода на Python для работы с GTK значительно меньше чем на C++, что не может не радовать.

PyGTK


PyGTK — биндинг библиотеки GTK для языка Python, PyGTK используется во многих открытых программах (например IM Gajim). Библиотека может быть очень интересна для Python программистов, поскольку проста в обращении и полностью скрывает реализацию GTK.

Под катом пример приложения.
Читать дальше →

Заказчик и фрилансер. Взаимодействие. Ч. 2

Reading time4 min
Views6.3K
В первой части я постарался дать понимание относительно того, как выбрать заказчика/исполнителя для проекта. Естественно, в одной статье нет возможности перечислить все, с чем приходится сталкиваться, но основы я постарался описать.

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

Ну, от слов к делу

Читать дальше →

Визуализация модели данных

Reading time1 min
Views4K
Для django есть хорошая утилитка, которая анализирует описание модели данных и рисует её графическое представление в dot-формате graphviz.
Сегодня переписал эту утилитку под appengine.

image

Утилита распознаёт Expando (добавляет многоточие в список атрибутов),
наследование от PolyModel (рисует стрелки наследования),
а также ссылочные свойства (в том числе самодельные, типа ManyToManyProperty).

Как пользоваться:
  1. засунуть скрипт в каталог с sdk
  2. запустить её из корневого каталога приложения, указав аргументами список модулей для анализа (в формате имён дя import):
    python path/to/modelviz.py models.foo models.bar > models.dot
  3. сконвертить полученный dot-файл во что-нибудь более удобное, например, в png:
    dot models.dot -Tpng > models.png
  4. наслаждаться неземной красотой

DISLIN — высокоуровневая библиотека визуализации пользовательских данных

Reading time3 min
Views21K
dislin logo
Думаю каждый сталкивался с проблемой визуализации данных внутри своей программы. Особенно, если программа консольная. В топике я хочу рассказать о бесплатной (для некоммерческого использования) кроссплатформенной библиотеке DISLIN, которая разработана институтом исследований Солнечной системы имени М. Планка (Германия). DISLIN может как просто отображать графики, так и сразу их сохранять в файлы. Разработчики заявляют возможность использования в fortran, c/c++, Perl, Python, Java, .NET.
Читать дальше →

Библиотеки для визуализации данных в вебе

Reading time1 min
Views7.7K
Тема визуализации данных в интернете для меня достаточно актуальная, поэтому периодически мне приходится искать различные библиотеки для отображение тех или иных данных в вебе.



К таким библиотекам я отношу визуализацию графиков, чартов, графов, таблиц, отчетов, инфографик и т.д.

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

Но с тех пор появилось много новых инструментов, мы получили HTML5 и т.д., поэтому вопрос опять стоит достаточно остро. Я решил собрать информацию о всех JavaScript инструментах, с помощью которых можно визуализировать данные в вебе (в первую очередь для себя, но потом решил, что, возможно, будет интересно это и другим). Я уже начал собирать информацию в виде списка инструментов с примерами в одном месте для того, чтобы не бегать по разным сайтам в поисках демок и описания функционала. Есть уже около 10 библиотек.
Читать дальше →

Как мы учимся

Reading time5 min
Views6.8K
Я хочу поговорить от трех аспектах наших знаний: широта охвата дисциплин, глубина знания дисциплин и связи между дисциплинами. У меня родилась неплохая метафора, которая сводит их воедино. Вообще я не особо люблю метафоры, потому что они частенько ведут не в ту сторону. Но в данном случае метафора мне кажется весьма удачной.

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

Для меня обучение очень похоже на геологоразведку. Представьте себе новый континент. Вы не знаете о нем ничего. Да, вы видите горы, леса, реки, но не имеете особого понятия что там внутри. Вы не знаете, что там за горизонтом, есть ли тут моря, насколько холодно на севере и какая температура на юге.

Карта


Вы начинаете с составления карты. Вы посылаете эскпедиции во все стороны и рисуете карту местности. Потом вы начинаете бурить пробные скважины и выяснять состав грунта. Потом вы находите нефть, золото, алмазы и начинаете добычу.



Читать дальше →

Multiboot-флешка на GRUB2 с несколькими разделами под Ubuntu

Reading time4 min
Views65K
Каждый знает о загрузочных флешках, и многие имеют карточку с несколькими системами. Но при их использовании возникает множество неудобств, например:

  • Медленная загрузка с iso-образов
  • Путаница в файлах нескольких систем(попробуйте разделить Ubuntu и BackTrack без костылей!)
  • Невозможность поставить несколько однотипных систем(опять же, не используя костыли)
  • И конечно, весь этот балаган мешается под рукой, когда нужно просто перекинуть несколько файлов.


Сегодня я вам расскажу, как избежать все эти минусы удобно и относительно быстро.

Читать дальше →

А ваша система мониторинга орёт, когда меняется маршрутизация?

Reading time4 min
Views4.9K
Допустим вы интернет провайдер или у вас своя сеть с динамической маршрутизацией, тогда собственно сабж…
Резонный вопрос, а зачем? Причин вести логи изменения много, а орать система мониторинга должна по той простой причине, что никто не застрахован от ошибки. Об ошибке под катом, а пока, если вы знаете, как работает маршрутизация, внимательно проанализируйте и ответьте себе на вопрос на рисунке.

Читать дальше →

Алгоритм роя частиц

Reading time8 min
Views65K

Введение


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


Читать дальше →

Пишем свой блог с фреймворком Fat-Free Framework

Reading time8 min
Views24K
На всякий случай — это перевод (многие не замечают этого в интерефейсе ХабраХабра).
«Fat-Free» можно перевести с английского как «Обезжиренный» — фреймворк и в самом деле поражает своим размером (55 КБ) и скоростью работы.


Я наконец-то нашёл лёгкий и быстрый фреймворк. Он умещается в файл размером всего 55Кб и имеет множество возможностей, о которых вы можете узнать на его официальном сайте, поэтому не буду повторяться. Вместо этого я решил сделать небольшой учебник, из которого вы узнаете как сделать свой блог на этом фреймворке.
Вам понадобится PHP 5.3 на сервере. Я использовал Ubuntu 11.04 для написания этого учебника, на которую легко устанавливается эта версия. Если вы работаете на RHEL или Centos то я предлагаю заглянуть вам на IUS Community Project для получения последней версии PHP.
Читать дальше →

Уязвимость в протоколе Wi-Fi Protected Setup

Reading time2 min
Views14K
Организация US Computer Emergency Readiness Team опубликовала бюллетень безопасности, описывающий уязвимость в протоколе WPS (Wi-Fi Protected Setup), предназначенном для значительно облегченной настройки безопасности беспроводных роутеров и сетей. Сам протокол — его оригинальное название Wi-Fi Simple Config — был разработан в 2009 году специалистами ассоциации Wi-Fi Alliance целью дать возможность с некоторой долей безопасности пользоваться Wi-Fi лицам, мало сведущим в протоколах и стойких методах шифрования.

Типичная схема работы WPS выглядит следующим образом: традиционно при создании новых WLAN необходимо было выбрать сетевое имя и кодовую фразу для точки доступа, а позднее то же самое — для каждого нового устройства, добавляемого к сети. WPS возлагает функцию генерации сетевого имени на саму точку доступа. Для добавления нового клиентского устройства к защищенной сети достаточно будет ввести PIN-код из 4 или 8 цифр или нажать на специальные клавиши, имеющиеся на роутере и добавляемом устройстве.
Узнать подробности

Fog computing

Reading time3 min
Views14K
image
Если вам кажется, что на картинке ничего не видно, то я отвечу, на картинке отчетливейшим образом изображен туман! ;) В связи с выходом из вынужденного захабренного молчания публикую свой небольшой футурологический очерк.

Ура! То, о чем так давно боялись спросить большевики, случилось! В след за облачными вычислениями сегодня мы открываем эпоху туманных (fog) вычислений!

Туманные вычисления — и звучит как-то туманно. Попробую в двух словах донести эту парадигму до читателя, невооруженного википедией и гуглом. Для вооруженных же придется сказать, что сие словосочетание уже было испохаблено одним из видов облачных вычислений, которые принципиально ни чем от них не отличаются.

Читать дальше →

Почему на Хабре так плохо?

Reading time5 min
Views2.1K
Голая баба. Шутка...Мы все прекрасно знаем, что последний год для проекта Хабрахабр был тяжёлый. Что-то идёт не так и это очень волнует хабросообщество.
Это топик был написан мною в противовес двум предыдущим (раз и два). В топике альтернативный взгляд на ситуацию сложившуюся на Хабре.
Читать дальше →

Женщины и игры. Ключевые моменты

Reading time6 min
Views17K
Голая баба. Шутка :)Основной характеристикой игрового продукта является охват аудитории, чем он больше, тем больше потенциальная возможность получить высокие прибыли. Долгое время игровой аудиторией были мужчины, но время идёт и теперь взоры разработчиков игр направлены на перспективную женскую аудиторию.

В этой статье я расскажу о своих наблюдениях и исследованиях женской психологии применительно к играм, будут выделены ключевые моменты и опровергнуты некоторые предубеждения.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity