• Мэннинг, Сноуден, Ассанж, Миранда, The Guardian… С каждым днём мы получаем всё больше и больше подтверждений истине, в которую не хочется верить: идёт война. Необъявленная, тихая, но всё же самая настоящая война. В отличие от обычных войн, в гражданской войне…

  • Доброго времени суток, Хабр! Пару недель назад зачесались руки гика — захотелось мне приобрести довольно нашумевший и всем известный одноплатный мини-компьютер Raspberry Pi. Модель была выбрана самая «крутая» — версия «B» с 512Mb ОЗУ на борту. История о покупке и…

  • Новая Зеландия приняла новый Закон о патентах, который полностью запрещает патентовать программное обеспечение, фрагменты исходного кода и алгоритмы. Запрет принят после пяти лет споров и задержек и активных попыток лоббирования со стороны транснациональных корпораций. По мнению сторонников отмены софтверных патентов,…

  • Disclaimer В детстве, как и у многих, родившихся в 80-х, у меня была приставка Dendy. Клон японской FamiCon, подаренный нам добрыми китайцами, и распространяемый небезызвестной Steepler, раскрасил в яркие цвета детство многих из поколения 80-х. Раз за разом, проходя полюбившиеся…

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

  • Итак, первый серьёзный (по нашим меркам) тираж железок успешно прошёл приёмку нами на заводе и официальную растаможку в России. Процент брака основных плат зашкалил за нуль и составил 0.5%. Очень неплохо, мы рассчитывали в худшем на 5-6 процентов брака. К…

  • 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)…

  • На StackOverflow был отличный пост точно на эту тему, но какой-то сверхусердный модератор, который должен остаться неназванным, удалил его (судя по всему, сейчас восстановлено — прим. пер.). К счастью, у меня сохранилась возможность просмотреть все удаленные комментарии. Вот некоторые из…

  • В качестве реакции на мой предыдущий пост о защитном программировании, один из моих читателей прислал мне такой вопрос: [Один] очень известный сценарий защитного программирования встречается, когда входным параметром является IEnumerablepublic class Publisher { public Publisher(IEnumerable<Subscriber> subscribers) { // defensive copy…

  • Хочу поделиться удобным способом создания и управления виртуальными машинами в графическом режиме для OS Linux. Archipel – это маштабируемое решение для управления виртуальными машинами и гипервизорами с помощью графического интерфейса. Archipel позволяет удобно управлять как несколькими виртуальными машинами на одном…