-
Новая Зеландия приняла новый Закон о патентах, который полностью запрещает патентовать программное обеспечение, фрагменты исходного кода и алгоритмы. Запрет принят после пяти лет споров и задержек и активных попыток лоббирования со стороны транснациональных корпораций. По мнению сторонников отмены софтверных патентов,…
-
[NES] Пишем редактор уровней для Prince of Persia. Глава первая. Знакомство
Disclaimer В детстве, как и у многих, родившихся в 80-х, у меня была приставка Dendy. Клон японской FamiCon, подаренный нам добрыми китайцами, и распространяемый небезызвестной Steepler, раскрасил в яркие цвета детство многих из поколения 80-х. Раз за разом, проходя полюбившиеся…
-
IMAP на boost::asio
Изначально в нашем IMAP-сервере использовался epoll-реактор собственной разработки. Как всегда, в процессе эксплуатации и роста нагрузки потихоньку набегают замечания, в результате чего со временем начинает накапливаться технический долг и замедляться разработка. В нашем случае были также изначальные архитектурные замечания. Поток,…
-
Они прилетели!
Итак, первый серьёзный (по нашим меркам) тираж железок успешно прошёл приёмку нами на заводе и официальную растаможку в России. Процент брака основных плат зашкалил за нуль и составил 0.5%. Очень неплохо, мы рассчитывали в худшем на 5-6 процентов брака. К…
-
Различные методы загрузки ассоциаций в Ruby on Rails
Rails предоставляют нам 4 различных способа загрузки ассоциаций: preload, eager_load, includes и joins. Рассмотрим каждый из них: Preload Этот метод загружает ассоциации в отдельном запросе: User.preload(:posts).to_a # => SELECT "users".* FROM "users" SELECT "posts".* FROM "posts" WHERE "posts"."user_id" IN (1)…
-
Самые смешные комментарии в коде проектов Open Source
На StackOverflow был отличный пост точно на эту тему, но какой-то сверхусердный модератор, который должен остаться неназванным, удалил его (судя по всему, сейчас восстановлено — прим. пер.). К счастью, у меня сохранилась возможность просмотреть все удаленные комментарии. Вот некоторые из…
-
LINQ против LSP
В качестве реакции на мой предыдущий пост о защитном программировании, один из моих читателей прислал мне такой вопрос: [Один] очень известный сценарий защитного программирования встречается, когда входным параметром является IEnumerablepublic class Publisher { public Publisher(IEnumerable<Subscriber> subscribers) { // defensive copy…
-
Установка и использование Archipel для управления виртуальными машинами
Хочу поделиться удобным способом создания и управления виртуальными машинами в графическом режиме для OS Linux. Archipel – это маштабируемое решение для управления виртуальными машинами и гипервизорами с помощью графического интерфейса. Archipel позволяет удобно управлять как несколькими виртуальными машинами на одном…
-
Регистрация в Windows Phone Store теперь стоит $19
Ещё только вчера, я приглашал скорее зарегистрироваться за $19 тем, кто хочет начать публиковать свои приложения в Windows Phone Store, но цена регистрации в $99 ему кажется слишком большой. И сегодня Todd Brix порадовал нас хорошей новостью И если перейти…
-
Собеседование на должность PHP Backend Developer в Германии
Коротко обо мне: программирую c 2003 года. По образованию IT specialist и Application Developer. В последние годы основным направлением деятельности была разработка интернет-магазинов аля Hugo Boss и Tommy Hilfiger. Проснувшись утром в один прекрасный день, пришло осознание, что пора в…