Search
Write a publication
Pull to refresh
52
0
Андрей Кравчук @prefrontalCortex

Software Engineer

Send message

Тетрис для DCPU-16

Reading time7 min
Views6.7K
Как уже писали на Хабре, разработчик широко известного в узких кругах MinecraftМаркус «Notch» Перссон в данный момент занят разработкой новой игры, действие которой будет происходить в космосе в 281 474 976 712 644 году.

Как и Майнкрафт, игра будет нестандартной: главная «фишка» — полностью эмулируемый процессор, под управлением которого космические корабли и будут бороздить просторы Большого… э, Вселенной. Поскольку персонажи игры в год 0x10C (игра, собственно, так и называется) попали прямиком из 1980 года, то и процессор DCPU-16 по своим характеристикам примерно соответствует той эпохе: 128 килобайт оперативной памяти, 100 килогерц, нехитрый набор команд.

Несмотря на то, что игра находится еще в очень ранней стадии разработки, спецификация процессора уже доступна для ознакомления — и уже формируются сообщества, участники которых разрабатывают множество всяких интересных штук под несуществующую платформу. Ваш покорный слуга — в числе этих людей, и в этом посте я хочу рассказать об одной из таких вещей: реализации Тетриса для DCPU-16.

(и сразу дисклеймер: музыка в ролике наложена отдельно для художественной, так сказать, выразительности; DCPU пока выводить звук, увы, не позволяет)

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

Fake S3 для офлайновой разработки и экономии денег

Reading time1 min
Views3.7K
Кёртис Спенсер (Curtis Spencer) с коллегами из компании Spool разработали легковесный сервер Fake S3, который ведёт себя как настоящий Amazon S3 и помогает тестировать проекты, не гоняя данные в облако и не тратя деньги на трафик. К тому же, для тестирования Fake S3 надёжнее, потому что работает локально. Спенсер говорит, что благодаря Fake S3 они сэкономили около $1000 за последний месяц на одной только оплате трафика.

Установка

gem install fakes3

Для запуска сервера нужно указать хост и порт

fakes3 -r /mnt/fakes3_root -p 4567

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

Самый правильный безопасный printf

Reading time8 min
Views12K
Под катом Вас ждет увлекательная история о том, как я сильно расстроился, познакомившись поближе с пользовательскими литералами (с нового стандарта), но при этом в последствии все же реализовал вышеупомянутую функцию, а также разобрался с constexpr, а позже еще и реабилитировал те самые литералы.
Читать дальше →

Путь независимых разработчиков на примере игры, которую они не пиарят в статье со сложным и отвлечённым названием про путь независимых…

Reading time2 min
Views5.1K
Мы вместе с моим другом сделали игру. По сути, мы прошли путём независимых разработчиков, и об этом опыте я хочу рассказать. Ниже я пишу о базовых принципах, на которых мы строили игру, о фрилансе и об издателях. Большая просьба рассматривать статью в жанре «с чего начать».

Базовые принципы


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

RPG для разработчиков. Два года спустя

Reading time8 min
Views12K
Чуть более двух лет назад я опубликовал статью Другое видение скучных GTD планировщиков через призму RPG игр, в которой описал свою старую идею про совмещение работы над software проектами и элементов RPG игр.

Все вы знаете, что такое GTD. Проекты, таски, майлстоуны и дедлайны. Множество контор и команд разработчиков используют ту или иную систему на базе (или не на базе) GTD для контроля задач в проектах в своей повседневной работе. Я предлагаю заменить основные понятия этой методологии на термины многопользовательских RPG, добавить плюшек, статистику, достижения, красивости и фан. Получим тот же планировщик, но не такой скучный и с дополнительной мотивацией.

Топик тогда собрал 100500 комментов (в основном «супер! хочу!»), а особо заразительные собрались в команды и стали воплощать идею в жизнь. Так что же было сделано за эти два года?


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

Функциональное программирование для всех

Reading time33 min
Views354K

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →

Используем Git в качестве инструмента для деплоя веб приложения

Reading time1 min
Views12K
Привет, Хабросообщество!

Продолжая тему использования git хуков, хочу вам рассказать о post-merge и post-checkout

Что имеем


У нас есть веб приложение, которое мы разрабатываем. Нам нужно быстро и легко добавлять изменения на продакшн

Что предлагает нам Git


post-merge — Этот хук вызывается 'git-merge', после того, как мы выполнили 'git-pull' или 'git-merge' на локальном репозитории. Хук не выполнится, если у нас будут конфликты при мердже.
post-checkout — Этот хук вызывается 'git-checkout', после того, как мы выполним 'git-clone' или 'git-checkout'.
Читать дальше →

Новая программа Facebook Preferred Marketing Developer

Reading time2 min
Views3.1K
На протяжении последних трех лет наши две программы, Preferred Developer Consultant (PDC) (Признанные специалисты по разработке приложений) и Marketing API Program (MAP) (Программа маркетинговых API), помогали компаниям находить разработчиков для создания приложений под платформу Facebook, оптимизировать социальные плагины, управлять рекламными кампаниями и разрабатывать стратегии общения с аудиторией посредством Страниц Facebook. Сегодня мы хотим сообщить вам о слиянии двух вышеуказанных программ в одну, которая будет называться Preferred Marketing Developer (PMD) (Признанный специалист по разработке маркетинговых решений). Программа PMD поможет разработчикам находить себе клиентов, а компаниям привлекать консультантов для реализации рекламных кампаний и эффективного представления своего бренда в Facebook.

image

В этом году мы зафиксировали рекордное число желающих принять участие в наших программах. Список новых членов программы PMD, ранее не участвовавших в PDC или MAP, включает в себя 141 компанию из 20 стран мира. Всего же в программе PMD зарегистрированы 232 компании из 35 стран мира.
Новая программа PMD поможет разработчикам:
  • Находить нужную информацию при помощи новых инструментов поиска, которые придут на смену справочникам PDC и рекламных API. Клиенты смогут искать разработчиков по критериям месторасположения и опыта работы, а также видеть их реализованные проекты и отзывы заказчиков.
  • Отображать на своей странице имеющийся опыт работы с приложениями и сервисами Pages, Ads и Insights. Указанная информация будет использоваться механизмами поиска PMD, благодаря чему потенциальные клиенты смогут быстрее находить подходящих специалистов.
  • Получать более подробную информацию о целях и внутреннем устройстве программы при помощи обновлённого сайта для разработчиков
  • Экономить время при регистрации, благодаря применению новой унифицированной формы заявки. Теперь разработчики могут подавать заявку на вступление в любой удобный момент, а не ждать наступления периодов приёма.

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

Возьми от Firefox все для веб-разработки

Reading time4 min
Views37K
=========

Обновление от 24.03.13
Neatbeans 5.3 бесплатная IDE подходящая для верстки умеет на лету отображать набранный html в хроме через свой плагин.
Тоже самое умеет webstorm.
Куча костылей описанных ниже уже не нужны!

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

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

Со многими вы знакомы, а что есть еще, или вы твердо убеждены, что у вас всего пара рук?

Начнем с самого известного:

1.

Говорят, если бы капитан мочевидность был веб-разработчиком, он бы всем советовал ставить Firebug. Это Джастин Бибер в мире попсы, это почти половина самого firefox.
В представлениях не нуждается, самая дописанная и навороченная панель разработчика FireBug есть только в Firefox.


Ошалеть от увиденного...

Полная версия интервью Билла Гейтса каналу «Yahoo! News» (русский перевод)

Reading time1 min
Views44K
image

Мы уже публиковали кусочек этого интервью с Биллом Гейтсом, где он говорил о Стиве Джобсе. Сегодня канал GTV представляет полную версию интервью с русским переводом (январь 2012 года).
Читать дальше →

Болee 40 онлайн-курсов от Coursera и Udacity

Reading time4 min
Views35K
Сегодня проект Coursera, о котором на хабре уже неоднократно писали, наконец перешел из статуса беты в полностью рабочий. И переход этот можно назвать, мягко говоря, успешным — к уже заявленным и частично идущим 16 курсам от Stanford и Berkley и 1 курсу от Michigan добавились 12 курсов от Penn (Философия, Литература, Экономика, Медицина), 6 от Michigan (Литература, Экономика, Право) и 8 от Princeton (История, Математика, Computer Science).

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



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

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

TodoMVC — «Hello, world» на стероидах

Reading time1 min
Views18K
Cуществует уже несколько десятков JavaScript-фреймворков для построения сложных приложений в браузере. Чтобы сравнить их между собой и выбрать наиболее подходящий, примитивного примера вроде классического «Hello, world» явно недостаточно. Более сложные и реалистичные примеры программ в книгах и документации каждого фреймворка могут сильно отличаться, и сравнивать их между собой затруднительно. Проект TodoMVC решает именно эту проблему. Это набор примеров реализации одного и того же простого, но вполне законченного веб-приложения с использованием разных фреймворков + эталонный пример на чистом JavaScript.

Приложение TodoMVC — это список дел. Дела можно добавлять, помечать как выполненные и удалять. Список должен сохраняться в локальном хранилище браузера. Приложение должно по возможности использовать стандартный шаблон HTML и CSS. Вот подробная спецификация приложения.
Читать дальше →

Сжатие информации без потерь. Часть первая

Reading time9 min
Views80K
Доброго времени суток.
Сегодня я хочу коснуться темы сжатия данных без потерь. Несмотря на то, что на хабре уже были статьи, посвященные некоторым алгоритмам, мне захотелось рассказать об этом чуть более подробно.
Я постараюсь давать как математическое описание, так и описание в обычном виде, для того, чтобы каждый мог найти для себя что-то интересное.

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

Goblog: Самодельный статический движок для блога на Go

Reading time11 min
Views10K
Я люблю писать тексты, люблю отлаживать примеры, пробовать, анализировать. Чего я не люблю, так это возиться с форматированием, закачиванием картинок, проверкой верстки и т.д.

По причине лени я начал использовать Блогспот. Тут тебе и море шаблонов, виджеты всякие, мгновенная индексация Гуглом, статистика разная, с какого-то времени даже комментарии стали древовидные, и прочие свистелки. Ну все бы хорошо, но, увы, не предназначен редактор Блогспота для создания программистских постов. Когда надо вставлять код или таблицы разные, начинаются мучения. Например, для своего другого блога, не про программирование, Яйца всмятку, сэр!, «возможностей» Блогспота вполне хватает.

Еще мне хочется хранить оригиналы постов в нормальном, не в обгаженном HTML'ем виде. Получалось, что материалы по блогу раскиданы по компьютеру там и сям в нескольких копиях. Сначала ты просто пишешь текст в редакторе, только разбивая на абзацы, без ссылок и картинок, и в конце сохраняешь почти готовый документ. Потом начинается верстка в HTML, в процессе которой, помимо, собственно, HTML'я, делаются поправки в оригинальном тексте. При этом обновлять оригинальный файл уже лень, и по сути, он остается в «сыром» виде. А в «сухом» виде остается только HTML'ная помойка. Но это еще не конец истории. Часто уже после публикации замечаешь опечатку, лезешь в Блогспот и правишь прямо на странице. Опять, самый первый оригинал и его локальная об'HTML'ная версия остаются неисправленными. В итоге: актуальные версии постов находятся только на самом Блогспоте. Конечно, можно делать автоматизированный бэкап всего блога, но опять таки — все будет уже только в HTML'е.

Некоторое время назад я начал использовать ReST. Тут жизнь хоть как-то полегчала. ReST позволяет писать текст в уже более менее предсказуемой разметке (абзацы, ссылки, код), и затем из него генерируется HTML, который вставляется (опять таки вручную) в Блогспот. Попытки автоматизировать предварительный просмотр поста через googlecl фактически провалились. Опять оставалась проблема, когда после исправления опечатки на странице оригинальный документ в ReST устаревал. Кроме того, ReST не решал проблему картинок. Их надо было куда-то заранее выкладывать, чтобы можно было полностью сделать preview.

Не могу объяснить почему, но идея динамических движков типа Wordpress'а меня как-то пугала. Сама идея держать посты в базе данных мне кажется перебором.

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

PHP: фрактал плохого дизайна

Reading time32 min
Views207K

Предисловие


Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
Читать дальше →

Сапер на DCPU-16

Reading time1 min
Views2.3K
В рамках конкурса на лучшее приложение под DCPU-16 был написан сапер. Нет, серьезно, сапер с графическим интерфейсом. Больше 1000 строк кода. По ссылке вы увидите код проекта и эмулятор DCPU-16 позволяющий попробовать это творение.

На всякий случай — gist.github.com/2404741

Исследование, спонсируемое Google, борется с поддельными обзорами

Reading time2 min
Views4.8K
Исследователи из Университета штата Иллинойс в Чикаго занялись проблемой поддельных отзывов, которая, по их словам, может серьезно повредить онлайн-бизнесу. Поддерживаемое Google исследование нацелено на поиск организованных групп комментаторов-мошенников, на автоматизацию процесса их выявления и закрытия.

Поддельные рецензенты могут иметь поистине разрушительное влияние на различные интернет-предприятия, но особое значение проблема поддельных пользовательских комментариев приобрела в социально-ориентированных сервисах, таких как Yelp и TripAdvisor, где позитивные (для поддержки бизнеса) и негативные (для вреда конкурентам) комментарии стали настоящей эпидемией.
Читать дальше →

Почему весёлым быть выгоднее, чем умным: исследования EQ в IT-среде

Reading time4 min
Views51K
Исследователь Дэвид Карузо и пара его коллег – это как раз те парни, из-за которых технические навыки и интеллект при приёме на работу в крупные IT-компании часто оцениваются заметно ниже, чем эмоциональный интеллект. То есть тот факты, что вы умный, означает гораздо меньше, чем то, что вы узнаёте вот этого парня с картинки:


Он пристально наблюдает за постом

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

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

Яндекс.Деньги выходят на улицы!

Reading time1 min
Views37K
Сегодня можно достать из кармана электронный, но при этом абсолютно осязаемый кошелек. И заплатить с его помощью за чашку кофе, джинсы или даже шкаф. Яндекс.Деньги теперь доступны любому пользователю в виде банковской карты MasterCard Gold. Ею можно расплачиваться в любом магазине — хоть в интернете, хоть в путешествии, — а деньги будут списываться прямо со счета в системе.

Есть ли в интернете что-то доступнее Яндекс.Денег? Судите сами: бесплатный выпуск карты, бесплатное обслуживание в течение трех лет, никакой комиссии за платежи с карты. А еще есть доставка почтой по всему миру (внутри России — 99 рублей, за ее пределами — 199 рублей).

Для получения банковской карты Яндекс.Денег не надо ни-че-го. Ни многостраничных договоров, ни походов в банк, ни затяжных проверок. Нравится? Пробуйте сами!

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

Information

Rating
10,461-st
Location
Подгорица, Подгорица, Черногория
Works in
Date of birth
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
From 5,000 €
Lisp
Clojure
Unix
Linux
Docker