Архив за 16 июля 2012 - 3

Подававший надежды в 2008 году проект открытого смартфона Openmoko окончательно почил в бозе. В связи с тем, что в планы администрации разработка новых устройств теперь не входит, они решили раздать пары VID/PID (Vendor ID и Product ID) всем, кто их об этом попросит и пришлёт ссылку на свой открытый проект.
Закрывшийся Openmoko бесплатно раздаёт VID/PID открытым проектамНаверное, стоит напомнить, что использование пары VID/PID в дескрипторе устройства предписывается спецификацией USB, согласно которой эта пара должны быть уникальна для каждого устройства. Раньше, если у вас не было денег на полноценный VID-пул (2000-4000 USD), такую пару можно было купить у компании-посредника, владеющей собственным Vendor ID. С 2010 года консорциум ужесточил регламент для таких суб-продаж и как обстоят дела сегодня мне не известно.

На самом деле это не свежая новость, но сегодня, взглянув на список, заметил, что за пару месяцев ребята раздали меньше десятка пар и я решил «рассказать мужикам» — наверняка кому-то пригодится.
Читать полностью »

Компания Facebook опубликовала официальный отзыв в связи со сбором мнений о внедрении стандарта HTTP/2.0 и протокола SPDY как потенциальной основы для будущего стандарта. Такой опрос сейчас проводит среди всех заинтересованных лиц рабочая группа IETF HTTPbis.

Представители одного из крупнейших сайтов выразили горячее желание участвовать в разработке HTTP/2.0 и сообщили, что в данный момент «начали внедрение SPDY/v2, по причине того, что он поддерживается браузерами и обещает принести прямую выгоду после внедрения». Хотя в данный момент SPDY ещё не начали использовать на реальных серверах в продакшне, но «система уже почти завершена» и вскоре планируется её широкомасштабное внедрение.
Читать полностью »

image

Рад сообщить о выходе QuickTextTranslator версии 0.2 — переводчике-клиенте для интернет сервиса Google Translate.

В прошлом моем посте была освещена небольшая программа, написанная мной just for fun. Это был небольшой переводчик, основными фишками которого должны были быть кроссплатформенность и «быстрый перевод».

В этом посте я расскажу о некоторых изменениях и дополнениях новой версии. Стоит поблагодарить пользователей этой утилиты, которые скачали, попробовали и указали на недостатки приложения и благодаря которым стал возможным выход новой версии.Читать полностью »

… и функциональное программирование тоже.

Так получилось, что, несмотря на знакомство со множеством парадигм и техник программирования, я не придерживаюсь строго ни одной из них. Впрочем, и ни одну из них не считаю отстоем. Почему?

Потому что программирование — это искусство оперирования абстрактной информацией. Это очень сложное искусство — поскольку человеческий мозг вообще не приспособлен для оперирования абстракциями.

Почему я люблю ООП и применяю его в своих проектах? Потому что концепция классов и объектов облегчает мне оперирование абстрактными сущностями, которые я удерживаю у себя в голове. Многие из них (этих сущностей) действительно похожи на сходящие с конвейера штампованные изделия, состоящие из n рычагов, выполняющие m функций и имеющие какое-то внутреннее, скрытое от пользователя состояние.

Почему я люблю функциональное программирование? Потому что оно позволяет мне держать в голове workflow моих объектов в виде конвейера, где на каждом шаге применяется новая операция.

Почему я люблю MVC-подход или прототипы, например? Да потому же. Каждая парадигма, техника, паттерн и технология, в конечном счёте, нужны для того, чтобы сделать модель приложения в моей голове более ясной и удобной — а значит, для того, чтобы я мог написать более элегантный код с меньшим количеством ошибок. И ещё для того, чтобы человеку, который будет этот код поддерживать, тоже было легко составить в своей голове картину того, как это всё работает.

Читать полностью »

В те времена, когда я следил за группой comp.lang.forth в Usenet, я был не единственным, кого неприятно удивляло отсутствие людей, способных выделывать интересные штуки с Фортом. Элизабет Ратер, сооснователь Forth, Inc., предложила такое объяснение: есть люди, занимающиеся реальными проблемами языка, но в ньюсгруппе они не сидят. Она это знала наверняка: её компания была создана для поддержки создания коммерческих проектов на Форте.

В 1996 году я работал над портированием игры The Need for Speed на Sega Saturn. (Эта игровая приставка вам кажется необычной для того, чтобы с ней связываться? А я занимался разработкой под 3DO и посетил конференцию Jaguar в головном отделе Atari.) Уже в 90-х было некоторое количество известных разработчиков, но ведущие специалисты, занимавшиеся оригинальной версией выпущенной в 1994 году The Need for Speed, были никому неизвестными людьми. И это несмотря на то, что они написали игру, основанную на физике твердых тел, до того, как большинство других узнали, что эти слова вообще относятся к разработке 3D-видеоигр. И сделали они это без математического сопроцессора: весь движок использовал арифметику с фиксированной запятой.Читать полностью »

Улучшаем релевантность поиска в sphinxsearchSphinxsearch является поисковым движком для быстрого fulltextsearch, может получать данные из mysql, oracle и mssql, может выступать сам хранилищем(realtime индексы). Также sphinx имеет режим работы через api и через sphinxql — аналог протокола sql(с некоторыми ограничениями), что позволяет подключить поиск через sphinx на сайте с минимальным изменением кода. Это один из немногих великих, крупных и открытых проектов разработанный в России. На моей жизни я видел как sphinx обрабатывает порядка 100-200 поисковых запросов на 2 миллиона записей из mysql и при этом сервер свободно дышал и его не тошнило, mysql начинает умирать уже на 10 запросах в секунду на аналогичном конфиге.

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

Sphinx содержит две независимые программы indexer и searchd. Первый строит индексы по данным взятым из базы данных, второй производит поиск по построенном индексу. А теперь перейдем к настройкам поиска в sphinx.

morphology

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

Пример нормализации слова стеммингом на русском.
Слова “яблоко”, “яблока”, “яблоку” будут обрезаны в “яблок” и любой поисковый запрос с вариацией слова “яблока” будет тоже нормализован и найдет записи со словами которые были описаны выше.
Читать полностью »

Некоторые художники не выносят вида своих творений когда они закончены. А я свой самый большой поклонник. O.W. Grant (Interstate 60)

Ivideon запустил облачное хранение видео

Команда Ivideon больше года работала над сервисом удаленного хранения архивных видео записей в собственном облаке (как мне не нравится это слово). Почему так долго, технические подробности и как бесплатно получить к нему доступ для читателей Хабра — вы узнаете под катом.Читать полностью »

Наверное, не надо много говорить о том, что подавляющее большинство авторов ещё не воплощенных в жизнь инновационных идей имеют, мягко говоря, финансовое состояние, оставляющее желать лучшего. А ведь, для перехода от «гениальных разработок» к их практической реализации нужны, как оказывается, ещё и деньги. И вот, в жизни «эдисонов» и «кулибиных» начинаются бесконечные мытарства по поиску этих «жалких» сумм. Носители «бесценности» идут в различные инстанции и институции, обивают пороги государственных или частных ведомств, чтобы найти для своего стартапа щедрого инвестора, который «непременно западёт на столь многообещающее предложение», каким оно представляется лично самому «отцу революционной разработки», и выложит-таки круглые цифры.

Однако, как правило, эта огромная масса ходоков повсюду сталкивается с холодным «непониманием» у потенциальных инвесторов. И лишь единицы из этого океана страждущих и ищущих удостаиваются счастья быть осыпанным искомым денежным дождём, пусть, порою и на весьма кабальных условиях, зато, хоть, идея не умирает.

Почему же происходит такое? Является ли это нормальным и как можно переломить эту негативную статистику в другую сторону? Сие и будет темой нашего разговора после ката.Читать полностью »

Разработчики "открытой" платформы Ouya, собравшие около 5 миллиона долларов на Kickstarter (при запрошенном миллионе), на самом деле только начали разогреваться с деньгами и продолжат поиск средств за пределами краудфандинговой площадки, заявляет глава проекта Джули Урман.

Ouya: $5 млн с Kickstarter это только начало

"Это по настоящему большое дело и оно будет дорогим", — сказала она. "Мы ищем дополнительные фонды, но что более важно, ищем их отдельно от Kickstarter".Читать полностью »

Когда я первый раз услышал об объектно-ориентированном программировании — сразу отнёсся к нему скептически. Честно говоря, даже не знаю, почему. Просто оно показалось мне каким-то неправильным. Но ООП очень быстро стало популярным (почему — я объясню ниже) и критика в его адрес превратилась в этакую «ругань в церкви». А объектно-ориентированность стала обязательной составляющей любого уважаемого языка программирования.

С ростом популярности Erlang часто стали задавать вопрос «— А Erlang — объектно-ориентированный?». Правильный ответ был бы «— Да что вы, нет!». Но мы не могли так заявлять в полный голос, поэтому пришлось выкручиваться. Мы придумали несколько достаточно нетривиальных ответов, которые бы представляли Erlang типа-объектно-ориентированным языком (для тех, кто больше всего тянет руку с этим вопросом), но при этом и не объектно-ориентированным для тех, кто на самом деле в теме.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js