• Disruptor — новая парадигма многопоточного программирования

      На прошлой неделе компания LMAX, где я работаю, получила приз Java Duke's Choice Award 2011 за фреймворк Disruptor. Ранее об этой технологии писал Martin Fowler, известный многим читателям публикациями об объектном программировании.

      В этой статье я хотела бы вкратце рассказать об этой технологии, а так же о конкретной проблеме, которую эта технология решает в компании LMAX.

      Читать дальше →
    • Вы разработчик? Так почему вы до сих пор на кого-то работаете?

      • Перевод
      Как разработчик, вы сидите на золотой жиле. Вы осознаете это?

      Нет, серьезно, на @#$% золотой жиле! Никогда в истории не существовало возможностей так легко создать что-то с нуля, с маленьким или отсутствующим начальным капиталом и маркетинговой моделью, ограниченной только вашим воображением.

      Подумайте о крупнейших сайтах, которые вы постоянно посещаете: Facebook, Twitter, Flickr, Foursquare, или даже Google — все они были созданы разработчиками, у которых была лишь идея. Было ли это легко? Черт, нет. Но это могло быть сделано только в наше время. Так, черт побери, почему вы просиживаете день за днем, работая на кого-то?
      Читать дальше →
    • Индустриальная революция. Часть 5. Зачем нужны компании?

        imageЗавершающая часть увлекательной статьи журнала Wired «In the next Industrial Revolution, Atoms are the New Bits». Ранее вы могли прочитать о Rally Fightere, виртуальных мини-фабриках, 3D принтере за 1000$, а также узнать, как построить свою мечту.

        В середине 30-х годов прошлого столетия Рональд Куз, на то время выпускник Лондонской Школы Экономики, задался вопросом, который, на первый взгляд, может показаться глупым: «Зачем нужны компании?» Зачем нам заявлять о верности какому-то учреждению и собираться под одной крышей для того, чтобы создать что-то ценное? Его ответ: для минимизации операционных затрат. Когда у людей есть единая цель, установлены роли, ответственности и средства общения, очень просто создать что-то ценное. Вы просто подходите к человеку из соседней комнаты чтобы попросить его сделать свою работу.

        Но несколько лет тому назад Билл Джой, один из основателей Sun Microsystems, обнаружил ошибку в модели Куза. «Не важно кто вы, большинство умных людей работает на кого-то другого», — отметил Джой. Конечно, это всегда было правдой, но раньше очень большое значение имело то, что Вы были в Детройте, а тот, кто умнее Вас, находился в Дакаре. Вы были здесь, а он был там и точка! Однако, по мнению Джоя, теперь все меняется. С появлением Интернета, Вам не нужно больше располагаться в соседней комнате. Вы можете нанять лучшего человека прямо из Дакара!
        Читать дальше →
      • О, эти планы запросов



          История стара как мир. Две таблицы:
          • Cities – 100 уникальных городов.
          • People – 10 млн. людей. У некоторых людей город может быть не указан.

          Распределение людей по городам – равномерное.
          Индексы на поля Cites.Id, Cites.Name, People .CityId – в наличии.

          Нужно выбрать первых 100 записей People, отсортированных по Cites.

          Читать дальше →
        • Emacs Starter Kit

            Emacs. Большая и сложная программа. Ему как ничему другому подходит это определение. Эмакс был создан очень давно в лаборатории искуственного интллекта MIT, он несет в себе гены очень своеобразной культуры лисп-хакеров былых времен. С тех пор он не раз переписывался, улучшался, дополнялся и обрастал тысячами расширений в течение десятков лет. Эмакс, если и был когда-то мощным текстовым редактором, сейчас стал некоей универсальной программой, в нём можно делать абсолютно всё что угодно, если это хотя бы немного затрагивает собой задачу отображения или редактирования текста, и даже больше. Людям знающим универсальность играет на руку, ведь одной программой можно делать тысячу разных дел, при этом не прилагая усилий для переучивания к разным интерфейсам. Людей, впервые запустивших эмакс подобная универсальность и непривычный интерфейс поначалу пугает. Научиться пользоваться эмаксом, понять его идею и проникнуться ею задача непростая, трудоемкая и долгая (как говорится, пологая кривая обучаемости).
            Читать дальше →
          • Задача о рюкзаке: а что же внутри?

              Достопочтенный SergeyACTIVITI в своём посте поведал нам про такую полезную вещь, как задача о рюкзаке, решение которой с успехом реализовано в решателях COIN-OR или GLPK. А что же внутри?

              Итак, пусть у нас есть рюкзак объёма W, и список из n вещей, у каждой из которых есть объём v[i] и стоимость c[i], и каждую из которых можно брать сколько угодно раз. При этом все объёмы и все стоимости будут положительными и целыми. Как же работает алгоритм?

              Читать дальше →
            • Классика оптимизации: задача рюкзака (knapsack problem)

                Рассмотрим следующую ситуацию. Допустим вы хотите поехать за границу, но валюту вам не меняют — вы можете перевезти с собой лишь товары для реализации на свободном рынке «там». С собой в самолет разрешено взять не более 20 кг. Возникает вопрос – какие товары взять, чтобы перевезти максимальную ценность, учитывая ограничение по весу? Водку (17$ / 1,5 кг), большую матрешку (30$ / 2,5 кг), балалайки (75$ / 6 кг) или еще что-то и в каких количествах?
                Подробности решения задачи далее...
              • Может поставим эксперимент?

                  Написал сегодня небольшой пост, он попал на главную. Все бы хорошо, но есть одно большое НО. Большая часть комментов является абсолютным оффтопиком. И тут мою голову посетила абсолютно идиотская мысль.
                  Что, если сейчас заменить исходный текст поста фейком, подогнав под имеющиеся комментарии? Как отреагирует хабрасообщество, проснувшись с утра и увидев текст абсолютно бредовой новости, но с вполне себе серьезными комментариями?
                  Естественно, решиться на подобный шаг без вашего одобрения я сам не смогу.

                  Спустя несколько часов, заручившись поддержкой пользователей Хабрахабра, вышеуказанный эксперимент был произведен.
                  Под катом тот пост, что провисел два часа на главной Хабрахабра, и небольшие выводы. Заранее хочу попросить прощения у тех, кто все это принял за чистую монету и на полном серьезе комментировал сообщение.
                  Читать дальше →
                • Сравнение кодеков libtheora и x264

                    После того, как Youtube и Vimeo представили свои тестовые страницы в HTML5, вновь пошла волна разговоров, о том, что же лучше: H.264 или Ogg Theora.

                    Я, конечно, за свободный веб. Но выводы о том, что Theora превосходит H.264 по качеству, сделанные многими людьми по результатам двух сомнительных сравнений (раз и два) весьма поспешны.
                    Медведю плохо

                    В первом сравнении вообще не представлено ни тестового видео, ни каких-либо настроек кодеков. Во втором сказано, что для H.264-кодека взят заведомо отстойный пресет с Youtube, а настройки Теоры умалчиваются.

                    Так я решил сам проверить, что есть Ogg Theora и на что этот кодек способен.
                    Графики, скриншоты, трафик
                  • ProFORMA: Объекты в 3D через Веб-камеру

                      ProFORMA: Probabilistic Feature-based On-line Rapid Model Acquisition
                      Пан Ки(Pan Qi), аспирант Университета Кембриджа, разработал интересный метод моделирования объектов с помощью веб-камеры.
                      image
                      Слева направо: (A) Вращаем объект рукой перед камерой. (B) Образование облака точек полученного из структуры оценки движения. (С) Триангуляция Делоне из облака точек, образование выпуклого объёма из тетраэдров. (D) Сетка покрытия получаемая из возможной рекурсии тетраидальной разметки. (E) Текстурирование отображенной поверхности сетки.
                      Читать дальше →