Pull to refresh
  • by relevance
  • by date
  • by rating

Если хочешь что-то улучшить — начни с себя

Lumber room
Как-то на днях зашли мои размышления в степь «почему-же так много начинающих и не только программистов пишут самый откровенный быдлокод и даже не чувствуют этого?». В том числе и я V_v. Собственно, моя небольшая статья посвящена именно этим размышлениям.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Views380
Comments 5

Личные данные участников конференций в полной безопасности

Information Security*
Смотрите картинку слева, или о том, как я поучаствовал в CityCamp, даже не выезжая в Питер.

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

Осторожно, трафик.
Читать дальше →
Total votes 148: ↑126 and ↓22+104
Views972
Comments 93

Генетический алгоритм на примере бота Robocode

DIY


Когда писалась эта статья, хабрапоиск по словосочетанию «Генетический алгоритм» выдавал благородную пустоту. Однако недостаточный уровень *вырезано цензурой* отодвинул дату публикации, и вот только сейчас после позорного нудливого попрошайничества с моей стороны эта статья получила возможность показать себя миру. За этот промежуток времени успели выйти в свет как минимум три (столько мне на глаза попалось) статьи на подобную тему, и, вполне вероятно, что-то из написанного ниже вы прочитаете не впервые. Таким людям я предлагаю не хмурить носики от очередной попытки неопытного юнца научно-популярно объяснить ГА, а проходить к следующему экспонату ко второй части, где описывается создание на основе ГА бота для программистской игры Robocode. Это, по последним сведениям разведки, еще не встречалось на хабре.

Часть первая. Жизнь и творчество генетического алгоритма.


Начнем издалека. Есть некоторый набор задач, которые требуют решения. Наша цель — найти действия, которые смогут преобразовать Дано (начальные условия задач) в Ответ (целевое состояние).

Если ситуация простая, и решение такой задачи можно явно посчитать из условий при помощи этих ваших матанов, то и славно, тут и без наших премудростей все хорошо, нас наебали, все расходимся. Например, при решении квадратного уравнения ответ (значения x1, x2) получаются из начального условия (коэффициентов a, b, c) путем применения формулы, которую мы все учили в школе. А что делать в более печальном случае, когда нужной формулы в учебнике нету? Можно попробовать с помощью мозгового штурма решить одну из задач. Аналитически. Численными методами. Силой отчаянного перебора функций. Через некоторое время послышатся мечтательное студенческое «хоть бы оно само решилось». Ага, тут-то мы и вылезаем из-за занавесок. Итак, цель — написать программу, которая бы находила функцию (программу), получающую на вход исходные данные и возвращающую годные циферки. Сила метапрограммирования, в бой!

пучина невежества
Total votes 115: ↑108 and ↓7+101
Views25K
Comments 28

Разбор Wave файла на JavaScript

Node.JS*
Sandbox
icon
Сделано под вдохновением этого топика.
Обычный JavaScript, к которому все привыкли, не даёт средств работы ни с файловой системой, ни с двоичными данными, поэтому все описанное ниже будет про node.js.
подробности
Total votes 52: ↑50 and ↓2+48
Views5.6K
Comments 25

Реверс-инжиниринг арканоида DX-ball, или Новая жизнь старой игры

Game development*
Поздравить всех хабравчан с неофициальным днем компьютерной графики! В этот день я хочу рассказать вам о том как я сделал онлайн версию старой игры.

Возможно многим знакома игра DX-Ball, Я играл в нее еще в дошкольном возрасте, а уже в школе коротал за ней уроки информатики. Поэтому мне было интересно делать ее на HTML5.


Читать дальше →
Total votes 75: ↑68 and ↓7+61
Views30K
Comments 64

Простенькие часики на MSP430

DIY
Начитавшись огромным количеством статей про Arduino/LaunchPad захотелось приобрести подобную игрушку. Выбор пал на MSP430, так как его цена намного более привлекательна для старта в мир микроконтроллеров.
После томительных 5 дней ожидания, волшебная коробочка оказалась в моих руках. Поиграв минут 10 со светодиодами, захотелось сделать что-нибудь более интересное… Например часики!

Читать дальше →
Total votes 42: ↑36 and ↓6+30
Views36K
Comments 17

Псевдоскоп, или что если поменять глаза местами

DIY

Если вы, увидев эту картинку, поняли, что ваша жизнь больше никогда не будет прежней, то вы меня понимаете. Довольно давно, более двух с половиной лет назад, совершенно случайно я увидел эту картинку на просторах интернета (кажется, на ffffound), и у меня в голове щёлкнул тумблер. Необратимый процесс был запущен.

Привычный ход повседневных событий перестал успокаивать своей завершённостью. Всё, что когда-то наполняло смыслом мою жизнь, стало лишь бледным фоном для опухшей мысли, перманентно отнимающей ресурсы моего мозга; второстепенным мусором перед вопросом, ставшим на тот момент центром моего существования — «Как? Каково это — посмотреть в такую конструкцию? Что увидит человек?» (надеюсь, никто не заметил, что вопроса здесь три). Я определённо захотел собрать эту конструкцию и узнать ответ на вопрос.

графоманское словоблудие с обилием картинок, фотографий и даже схем
Total votes 294: ↑283 and ↓11+272
Views195K
Comments 162

«Мой код никого не интересует» или почему хорошие веб-студии должны это оспаривать

Website development*Programming*Perfect code*
Здравствуйте уважаемые обитатели Хабра. Написать это меня сподвигла статья Программисты не понимают. Это будет крик души одинокого начинающего веб-перфекциониста в уши большинства существующих веб-студий и веб-девелоперов.
Читать дальше →
Total votes 32: ↑16 and ↓160
Views17K
Comments 121

Stack Trace в C++ или велосипедирование, уровень «Быдлокод»

Abnormal programming*C++*
Sandbox
Recovery mode

DISCLAMER


Статья является шуточной, но с долей правды (программирование, же). Данная статья также содержит код, который может смертельно навредить вашему зрению. Читайте на ваш риск.

Вступление


Здравствуйте. Думаю многие сталкивались с неинформативностью большинства критических ошибок, вылетающих в программе. Давайте перечислим, какие ситуации могут приводить к аварийному завершению работы программы:
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Views25K
Comments 19