У меня достаточно много опыта в программировании, накопленного за последние несколько лет. Часть опыта я приобрёл работая в своей команде, что-то при работе с клиентам, а некоторый опыт появился благодаря coding dojo и работе на open source проектах.
Для программистов знающих как использовать парное программирование оно предоставляет возможность улучшить свою производительность. Но при этом не стоит ожидать, что программисты значительно улучшат свою производительность с самого начала работы. Парное программирование требует постоянного обучения, а также осознания самими программистами чёткой разницы между исполнителем (тот кто стучит по клавиатуре), и штурманом. Ниже приведено более детальное описание.
Читать полностью »
Рубрика «ненормальное программирование» - 116
Несколько недоразумений парного программирования
2012-07-16 в 22:13, admin, рубрики: ненормальное программирование, парное программирование, переводы, ПрограммированиеУправление GIT-ом через веб-консоль на PHP
2012-07-16 в 20:52, admin, рубрики: console, Git, php, велосипед, ненормальное программирование, метки: console, Git, PHP, велосипед Я люблю git. Я использую его во всех своих проектах. Поэтому я решил сделать веб-консоль для управления git-ом на PHP.
Читать полностью »
God object. Анализ сложных проектов
2012-07-15 в 12:30, admin, рубрики: .net, dao, legacy, ненормальное программирование, метки: dao, legacyВведение
Ни для кого не секрет, что такой архитектурный антипаттерн как God object препятствует эффективному поддерживанию кода проекта. Однако его все равно можно встретить в Legacy-системах корпоративного сектора. Со временем код становится настолько сложным, что изменить его функциональность, даже при наличии Unit-тестирования, становится большой проблемой. Такие системы никто не хочет поддерживать, все боятся что-либо улучшать, количество проблем в трекере держится постоянным числом, но может и расти. Как правило, у команды упавшее настроение, которое со временем становится чемоданным: все хотят свалить.
Читать полностью »
MHook vs Zuma
2012-07-13 в 7:38, admin, рубрики: Mhook, велосипеды, ненормальное программирование, метки: Mhook, велосипеды Тут не совсем про зуму, и не совсем про mhook. Дело в том, что я сделал небольшую обертку над mhook (чтобы помочь своему труду), хотел бы показать что получилось, как я его использую, и получить немного конструктивной критику. А чтобы не использовать синтетических примеров, пойду по накатанной, и поиздеваюсь над zuma. Рассказывать я буду в такой последовательности: сначала пара слов (действительно мало) о том как перехватывает mhook, потом немного о том как я это использовал, затем опишу что я все-таки сделал, и закончу тем, что вживлю пару электродов в любимую жабку. Так что сами можете решать что вам интересно, и соответственно, с чего начинать читать.
Читать полностью »
Реверс-инжинирим игру Hogs of War, часть 1
2012-07-08 в 9:36, admin, рубрики: windows, лечение, ненормальное программирование, отладка, реверс-инжиниринг, метки: лечение, отладка, реверс-инжиниринг
Мотивация
В связи с испорченным местными властями отпуском приходится занимать свое время чем-нибудь интересным. Например, подлечить старую игрушку, косяки которой не позволяют нормально поиграть на современных ОС, либо поменять несколько байтов для получения разных extra-возможностей just for fun. Подопытным будет игра из далекого 2000 года под названием Hogs of War. Если кто не знает, то это turn-based стратегия, где вам дается команда хрюшек, с помощью которых вы должны ни много ни мало, завоевать мир. В процессе игры в зависимости от результатов можно модифицировать каждую хрюшку, например повысив её в звании. В 2009 Atari объявила о продолжении игры в виде разработки HOW2, но по последним данным проект свернули из-за недостатка финансирования. Ничего приятного.
Цель этой части: исправление бага, при котором блокируется весь рабочий стол, если произошел appcrash по какой-либо причине и подготовка приложения для работы в экранном режиме для упрощения отладки.
Читать полностью »
Бобровый Утёс и другие земли Вестероса в мире Minecraft
2012-07-07 в 8:28, admin, рубрики: game development, game of thrones, minecraft, игра престолов, ненормальное программирование, метки: game of thrones, minecraft, игра престоловРебята с сайта mc.westeroscraft.com/ воссоздают в мире Minecraft земли Семи Королевств (Game of Thrones).
Пока информации как таковой на сайте довольно мало (в основном — видео созданных земель, ну и адрес сервера посмотреть можно, mc.westeroscraft.com), но я считаю, пост имеет смысл, дабы просто показать это. Всегда удивлялся терпению и усидчивости подобных людей.
Под катом — еще видео.
Читать полностью »
Bash: автообнаружение противника для сетевой игры на «Маках»
2012-07-06 в 7:49, admin, рубрики: bash, macosx, ненормальное программирование, метки: bash, macosxВремя от времени мне нравится писать на bash какие-нибудь не слишком тривиальные вещи. Вроде сетевых шахмат, о которых я уже рассказывал на «Хабре».
Недавно я мысленно вернулся к ним и подумал как было бы круто, если игра сама находила бы партнёра для игры в сети. Т.е. будучи запущенной, игрушка должна как-то поискать в сети тех, кто готов к поединку.
Сканировать вообще все адреса невозможно долго. Есть два некрасивых решения «в лоб» — просканировать текущую подсеть или посмотреть в таблицу ARP, подсоединиться к тем, кто там есть. Но, во-первых, такой перебор всё равно будет медленным, а во-вторых, не найдёт всех потенциальных соперников (соперники могут быть в других подсетях, а в таблице ARP вообще далеко не все участники сети).
Вообще, подобная проблема давным-давно решена в операционках — например, когда я настраивал дома сетевой принтер, операционная система нашла его сама, я не указывал IP или что-то ещё. В «Маках» для этого есть технология «Бонжур» (реализация «Зероконфа»).
Нельзя ли использовать эту технологию в «Баше»? Читать полностью »
Пишем эмулятор приставки ч2, или немного о CHIP16
2012-06-25 в 13:25, admin, рубрики: crazy, emulator, ненормальное программирование, Программирование, разработка, метки: crazy, emulatorВ предыдущей своей небольшой заметке я описывал принцип построения эмулятора старой игровой платформы CHIP-8 из далеких 70-х. Здесь же речь пойдет о своего рода наследнице – CHIP16. Итак, что же такое CHIP16?
CHIP16 – “вымышленная” игровая приставка, которой никогда не существовало в “железе”. Всю спецификацию на нее разрабатывали (-ют) энтузиасты с одного англоязычного форума. Смысл в том, чтобы максимально упростить написание эмулятора, иметь хорошую документацию и поддержку комьюнити. Тем самым позволяя даже новичкам в программировании создать полностью рабочий эмулятор с нуля на фактически любом языке программирования. Сразу оговорюсь, что здесь я не буду приводить примеры кода эмулятора, цель – просто рассказать об этой платформе. И да, конечно все Just for fun!
Методы, как first class citizens в C++
2012-06-12 в 12:09, admin, рубрики: c++, c++11, ненормальное программирование, метки: c++, c++11На днях, гуляя по багтрекеру gcc наткнулся на интересный баг, в нем используется сразу несколько возможностей C++11:
- std::function — механизм для создания функторов — объектов функций
- non static member initialisation — механизм для инициализации членов класса вне конструктора
- lambda — тут и так все ясно. Исчерпывающие статьи были здесь.
Анализируя этот баг, я подумал, что теперь можно удобно реализовать методы как first class citizens Читать полностью »
Искусственный разум, интеллект, жизнь… Долго ли их еще ждать?
2012-06-12 в 3:31, admin, рубрики: искуственный интеллект, ненормальное программирование, Софт, метки: искуственный интеллект Боюсь, что уже дождались. По крайней мере, искусственную жизнь — так точно дождались, и даже более того. А как Вам экспансия жизни со скоростью 6 планет в час — впечатляет? Хотите узнать больше — читайте дальше.
Читать полностью »