Сообщения

Тестирование метода поиска факториала числа в Ruby

Порой требуется найти факториал числа в ruby. Встроенного метода нет, поэтому добавим в класс Integer свой. Вот реализации поиска факториала найденные в сети, какой из них лучше? После проведения теста в ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-darwin12.2.0] оказалось что третий ( обозначен как inject_factorial) в ruby 1.9.2 результат примерно такой же. require "benchmark" class Integer   def factorial_recursive     self <= 1 ? 1 : self * (self - 1).factorial   end   def factorial_iterative     f = 1; for i in 1..self; f *= i; end; f   end   def inject_factorial     self.downto(1).inject(:*)   end   alias :factorial :inject_factorial end Benchmark.bm(70) do |x|   x.report("factorial_recursive:")   { (1..120).each { |i| i.factorial_recursive } }   x.report("factorial_iterative:") { (1..120).each { |i| i.factorial_iterative }}   x.report("inject_factor...

Решение задачи коммивояжера (TSP Traveling Salesman Problem)

Вполне возможно вам известна задача коммивояжера,  Подробнее на русском тут   или на английском тут На данный момент, из известных мне реализаций алгоритмов для решения этой NP трудной задачи, является конкорд , не смотря на то, что последняя модификация от 2003 года, он отлично решает эти задачи, и вероятно по прежнему лучше всех. Задача на нескольких тысячах точек, может решаться часами, именно поэтому требуется быстрое и эффективное решение вроде конкорда. Возможно, вы захотите установить его под Mac Os, и вероятно не получится с первого раза откомпилировать код, в таком случае по совету Cartera рекомендую скачать небольшой скрипт который автоматически скачает версию конкорда и необходимые библиотеки qsort и откомпилировав установит. Скачать его можно тут http://code.google.com/p/eggbotcode/downloads/detail?name=build-concorde-osx-0_2.sh

О социальном тренде

Изображение
Социальный тренд  - основной тренд десятилетия в построении web проектов. И спорить с этим бессмысленно, взгляните на оценки горячих социальных историй, от linkedIn до facebook. Теперь появилась новая генерация сервисов, основная сила которых в том, что они стоят на плечах новых гигантов - Facebook, vkontakte и прочих. Например: pinterest.com Но сегодня речь пойдет о других сервисах, чем-то напоминающих социальные закладки, социальные сети, и тематические комьюнити (помните это слово? столь популярное с 2003 по 2007 годы). Встречайте http://www.scoop.it/ Scoop.it  и http://categoriya.com/ Categoria.com . Причем два проекта разрабатываются независимо друг от друга, первый иностранный, хорошо профинансированный, второй - российский стартап из города Ростов - На - Дону. Относительно первого можно сказать - well done. Вы только посмотрите на его уверенный рост в рейтинге Алексы! График говорит сам за себя. Этот проект был мной найден через сервис Arti...

Как пройти собеседование на визу в США, или если вам предстоит собеседование.

Изображение
С приходом нового посла США Майкла Макфолла, явно упростилось получение визы, но еще до конца не отменена эта унизительная процедура. Очевидно, что она не может быть отменена в одностороннем порядке только одной из сторон, поэтому когда это будет сделано неизвестно, и скорее всего не будет сделано никогда, если 6 ноября к власти придет господин Ромни. Если вы торопитесь, то перелистайте до заголовка Собеседование . Дальше я просто хотел поделиться своим мнением о визах. Наследие холодной войны, проблемы с незаконными иммигрантами, геополитическое противостояние - заставляет порядочных граждан обеих стран, доказывать их неиммиграционные намерения, как будто презумпция невиновности отсутствует как общая ценность между нашими великими народами. Не всегда и не всем это удается сделать, я принадлежу к тем людям, которые и получали когда-то отказ в визе, и получали визу. Я отчетливо понимаю, что именно незаконные мигранты, являются причиной этой ситуации. Но это похоже на случай, к...

Economaizer.com начинает работу в полном режиме

Изображение
Друзья,заработал в полном режиме проект Economaizer.com! Напомню, что было модернизировано с момента изначального ланча: - обновлена база магазинов (убраны старые, обновлены текущие). - переработана схема данных - основа теперь no sql база данных hbase . - алгоритмы переписаны в парадигме map-reduce для паралелльных вычислений. - объем данных теперь неограничен - размер вычислительного кластера (в данный момент 5 машин) - не ограничен. - движок и алгоритм изменен с режима online на batch processing, на основе моего проекта TrueMatch осуществляющего сравнение товарных предложений. Таким образом, теперь имеется возможность сравнивать десятки миллионов товарных предложений, за разумное время. А это уже хорошо, и следующим этапом будет полноценный web-site.

Отзыв на книгу:Как все начиналось (Apple, PayPal, Yahoo)

Изображение
и еще 20 история известных стартапов глазами их основателей. Автор: Джессика Ливингстон. OZON.ru - Книги | Как все начиналось. Apple, PayPal, Yahoo! и еще 20 историй известных стартапов глазами их основателей | Джессика Ливингстон | Founders at Work: Stories of Startups' Early Days | Бизнес. Стартапы | Купить книги: интернет-магазин / ISBN 978-5-699-50371-1 Что понравилось:  - практически 500 страниц интереснейших историй стартапов, незаменимо к прочтению, когда вы уже готовы сложить руки перед трудностями стартапов. - нет готовых наставлений - основатели лишь делятся своими мыслями, и почерпнутыми выводами. Окончательное решение за вами. - кругозор: книга описывает истории таких древних компаний, вроде microsoft, hotmail и прочих. От стартапов в области электроники (apple, tivo) до стартапов в области веб - сервисов. - честно рассказано о финансировании венчурным капиталом, несколько реальных отзывов об известных венчурных компаниях заставляют задуматься - нужно ли...

Отзыв на книгу: Морская звезда и паук

Изображение
Отзыв на книгу   Ори Брафман, Род А. Бекстрем МОРСКАЯ ЗВЕЗДА И ПАУК Неудержимая сила организаций без лидеров (Ori Brafman and A. Beckstrom, The Starfish and the Spider) Есть такие книги, где одна в принципе интересная мысль, которая могла бы уместиться вместе с примерами на одном развороте книги, размазывается по всей книге, страниц эдак на 200. Вот это именно такая книга и есть.  Авторы размышляют о том, чем централизованные организации отличаются от децентрализованных, и в чем силы и слабости каждой из систем. При этом делается это на все лады, в каждой главе практически одни и те же примеры. Практически книга не содержит цифр, графиков, анализа. Пустой разговор. Немного жалко потраченного времени, книга того не стоит.  Даже описывать содержание не хочется, настолько неприятна мысль, что из одного предложения сделали целую книгу. Купил потому, что отрывок показался любопытным, но если бы знал что этот отрывок переписан по всей книге, покупать бы...

Быстрорастущий сайт от ArtificialCasting.com

Изображение
Давно не писал в блог, но не потому, что не было что сказать, а по причине занятости. Впрочем у меня для вас есть кое-что сногсшибательное. Это будет следующая боОООльшая вещь (Next Big Thing)! По крайней мере, закрытый для приватного использования ArtificialCasting.com об этом информирует. Итак о чем речь? О сайте созданном для одной цели, делать прекрасные, отличные, красивые, нет - нет суперкрасивые странички - быстро, даже нет-нет, ооочень быстро! Например, вам требуется сообщить о некотором событии, скажем свадьбе, или отчет о событии, например юбилее, или сделать информационную страницу  о приезде в ваш город известного писателя или музыканта. При этом, у вас есть 10 минут, вам потребуется аналитика, и возможность смотреть страничку с мобильных устройств, а также постить в социальные сети это добро. Встречайте! Smore.com  Видеоролик о сервисе: Мое мнение: это новый пласт сервисов, с великим будущим (Не путать с микроблоггингом!). Плюсы - скорость...
Изображение
Продолжаю делиться интересными находками с монитора набирающих популярность сайтов. Заодно пиарить его :) Предварительно вкратце о том, что нового в ArtificialCasting.com Изменилась генерация отчетов, ранее были в перемешке качественные сайты и не очень, теперь выдача более равномерная. Введены лиги для сайтов, теперь я их делю на три категории Высшая лига, Премьер и Новички. Соответственно более зрелые и заслуживающие внимания сайты находятся в Высшей лиге. А теперь сайты: Очень красивый и быстро растущий http://pictify.com / Сайт предназначен для любования искусством, и тем чтобы обсуждать его и делиться с друзьями. Непременно найдите минутку его посетить.

Броадкаст своей трансляции по сети для друзей и прочего

Изображение
Интересный сайт - позволяет организовать свой канал и броадкастить свой поток в Web http://www.launchlive.tv/ Также найден с помощью ArtificialCasting.com :)

Обзор набирающих популярность сайтов с ArtificialCasting.com

Изображение
Добрый день, на artificialcasting.com посвященном искусственному ежедневному отбору набирающих популярность сайтов произошли некоторые изменения, а именно: - переработаны отчеты, теперь они лучше отражают тренды происходящие в Интернет. - добавлены отчеты за месяц (пока пуст - поскольку мало статистики) и за две недели. Благодаря новому алгоритму подготовки отчетов - обнаружились интересные сайты, в том числе на русском языке. Например: Автокупон.ру Если вы слышали о скидочных сайтах - то это он и есть, заточенный под автолюбителей. Поздравляю создателей с началом успеха, и желаю всех благ. Особенно добавить к проекту нечего не могу, тема купонов спета на все лады в Интернете.  Далее, сайт конструктор позволяющий только кликами мышки создать интернет-магазин. Сильный тренд за этим сайтом, обозначает спрос на создание магазинов без знания программирования вообще. Создатели убирают программистов (и верстальщиков) из процесса созания новых сайтов e-commer...
Изображение
Обнаружил рррррезко набирающий популярность сайт: whytelist .com Сайт отнесу к категории С-2-С (customer-to-customer) по продаже всякой всячины (б/у и новой) пользователями друг другу. Вы скажете ebay? Ebay остается в прошлом, они с каждым годом берут с юзеров все больше и больше денег - новые площадки с минимальной ценой транзакции - вот что в будущем. У данного сайта отличный интерфейс - разительно его отличающий от всяких досок объявлений. Рекомендую посмотреть его через translate.google.ru P.s: по прежнему приглашаю людей владеющих web технологиями (css, html, ruby) к реализации амбициозных идей, коих благодаря artificialcasting.com теперь множество :)

Citibank и citiphone

В тему блога надо добавить "Сервис в России", поскольку его идиотизму нет границ, а возможности для бизнеса тут колоссальные. Просто удивительно как работает СитиБанк, во-первых их банкомат забрал карточку и сообщил - извините ваша карта не подлежит возврату, хотя с ней все было прекрасно и пин-код верный. Во-вторых, написали телефонный код службы Ситифон - куда якобы следует обратиться. Обратился, меню идиотское, послушайте -  - если вы клиент нажмите 1, если вы хотите узнать по кред .. и так далее  - нажимаем 1 Далее - для операции с вашими счетами нажмите 1 - для блокировки карты - 2 - для активирования - 3 - по вопросам ситибанк онлайн - 4 - узнать адреса отделений - 5 - для повтора меню # И что мне нажимать? Допустим 1? Далее: - "Пожалуйста введите 16-ти значный номер вашей карты."  - Эй! Постойте, номер же на карте, а вы ее у меня уже забрали? Или я должен его помнить наизусть? 16 цифр - ну да, я такой примитивный поленился забить 16 байт сво...

Монитор набирающих популярность сайтов

Изображение
Продолжаю пиарить свой монитор набирающих популярность сайтов. Для этого буду рассказывать время от времени о некоторых проектах которые выделяются. Сегодня это сайт http://boobstagram.fr/ Вы наверное уже знаете про покупку instagram компанией Facebook. Так вот, эта версия служит только для показывания определенных мест - а именно женской груди. Пользователи загружают свои изображения. Сайт имеет ажиотажный интерес у пользователей. Сам сайт пропагандирует борьбу с раком. (Видимо груди) И призывает к раннему диагностированию.

Книга Broadbandits

Изображение
Рекомендую к прочтению книгу Broadbandits. Автор OM Malik. 2003 год издания. Несмотря на год издания, рекомендую. Дает очень подробное и сочное объяснение безумия творившегося в конце 90-х и начале 2000-х годов. Из нее становится понятно, что дот-комы это отчасти последствия бума в телекоме. Который возник после Telecom act подписанного Клинтоном в 1996 году, который предписал монополии AT&T поделиться доступом к "последней миле" для альтернативных поставщиков услуг. Создается устойчивое понимание игры с рынком. Вы узнаете о самом "быстром миллиардере"  того времени, который создал компанию Global Crossing - прокладывающую оптические линии между континентами. И о том, как это все безумие закончилось.  Начинается книга с описания компании WorldCom и творившихся там порядков. О том, как они показывали эфемерную прибыль. Как купленные аналитики - постоянно приводили рекомендации "покупать" акции - которые были пустышками. Постоянно ловишь себя ...
Апдейт 14 апреля. На сервисе artificialCasting.com отображающем быстрорастущие сайты интернета, добавлены перемещения по страницам, а также скриншоты страниц.
Pre-Релиз ArtificialCasting.com Этот сайт мой первый рабочий эксперимент по работе с более-менее большими данными на hadoop. (Помимо конечно Экономайзера - с которым сейчас временные R&D трудности) Зачем эта статистика и кому она нужна? Предприниматели и инвесторы оценят эти отчеты - они позволяют вычислять следующие google.com, facebook.com и прочие killer application на "подлете", когда они еще не набрали популярность и критическую массу. То есть когда вы еще сможете их детектировать и "догнать". Если вы не поняли о чем это я толкую и какова ценность этой информации, то ничего страшного. Предварительную бета версию монитора набирающих популярность сайтов запустил вот только что по адресу artificialcasting.com (искусственный отбор.ком) Это моя старая мечта наконец-то реализовалась. Ранее у меня не было технической возможности в приемлемое время рассчитывать показатели по более чем 20 миллионам сайтов за длительный период времени. А алгоритм был. Теперь это воз...
Не мог об этом не написать Facebook минут 10 назад объявил что покупает Инстаграмм за 1 миллиард долларов. Revenue-starved Instagram took just 551 days from launch to $1 billion #Facebook purchase. That equals $1.8m of wealth created each day. Потребовалось 551 день с запуска, для оценки в 1 миллиард долларов. Это эквивалентно 1.8 млн долларов создаваемых ежедневно. Вау! Круть! Facebook повышает свою капитализацию перед IPO. Это мне напоминает продажи своих программ своим же инвесторам во время доткомов 2000-х годов. Что делалось чтобы показать нереальную выручку молодого стартапа идущего на IPO. Только в данном случае это покупка стартапа. Мое мнение - накрутка веса только начинается и последуют еще множество M&A перед IPO Facebook, а скорее сразу после него.
О будущем. Смена парадигмы. Всем привет, судя по статистике в неделю число просмотров моего блога не падает ниже 9500 уже несколько месяцев, но комментариев к постам мало. Мне представляется, что нет в моем изложении последовательности и некоторой регулярности. Всячески буду пытаться это исправить, и надеюсь на комментарии. После непродолжительного отдыха в Тайланде, у меня окончательно утвердилась новая парадигма для развития. Во-первых, мне было крайне необходимо окончательно признать, что общество находится в постиндустриальной стадии развития, и заниматься нужно только постиндустриальными проектами. Расчеты на стратегию роста путем слияния и поглощений, следования за лидером, и прочих - откладываются до лучших времен. Ранее, я предполагал что эти проекты (венчурные) в виду особенных рисков присущих им, слишком рискованны для долгосрочных стратегий. Ведь, не каждый день появляется нечто вроде Google. А поскольку мы мало знаем о статистике неудачных проектов, может возникнуть искаже...
Выигрыш от использования именованных пайпов (named pipes) В работе, порой приходится организовывать конвейерное взаимодействие различных программ с помощью операторов | и > и прочих. Решил проверить каков прирост производительности, условно говоря на 1 тысяче операций по вызову конвейерной обработки. Первый алгоритм работал через запись в файл способами ОС - оператор echo в bash Второй алгоритм работал аналогично, только запись шла в именованный пайп, а после конвеерной обработки попадал на вход другой программе которая читала из пайпа. Результаты первого: 1 000 итераций с различными данными, 2 минуты 26 секунд Результаты второго: 1 000 итераций с теми же данными, 2 минуты 18 секунд. Запуск делался несколько раз - различия были в 1 секунду. Прирост по времени составил 8 секунд. Казалось бы незначительно, но на больших объемах данных это существенный прирост. Совет: используйте именованные пайпы (named pipes) в linux.