Ruby → Пишем SQL на чистом Ruby
Ruby — это гибкий язык, позволяющий создавать на своей основе различные DSL. Появилась идея написать DSL для SQL-запросов (для SELECT'ов), максимально приближенный к оригиналу. Кажется, получилось. Получившаяся штука называется Boroda. Далее следуют примеры кода.
Получим:
Если кто не понял — мы пишем SQL-запросы на чистом Руби. Теперь попробуем что-нибудь посложнее.
require 'boroda' sql = Boroda.build do from :posts, :users select posts.* where (posts.author_id == users.id) & (users.name == 'Vlad Semenov') end
Получим:
SELECT posts.*
FROM posts, users
WHERE (posts.author_id = users.id) AND (users.name = 'Vlad Semenov')
Если кто не понял — мы пишем SQL-запросы на чистом Руби. Теперь попробуем что-нибудь посложнее.
JAVA → Parse it!
Какое-то время назад мне по работе пришлось провести небольшое исследование. Суть его состояла в поиске наилучшего pdf-парсера реализованного на java.
Немного о проекте. В нем реализована система пересылки внутренних сообщений, к которым могут быть прикреплены файлы. Также есть поиск, который должен осуществляться по содержимому аттачментов. Большую часть подобных аттачментов составляют pdf-ки.
Собственно работа механизма довольно проста: при отсылке сообщения данные аттачмента парсятся и по ним стороится индекс.
Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
Немного о проекте. В нем реализована система пересылки внутренних сообщений, к которым могут быть прикреплены файлы. Также есть поиск, который должен осуществляться по содержимому аттачментов. Большую часть подобных аттачментов составляют pdf-ки.
Собственно работа механизма довольно проста: при отсылке сообщения данные аттачмента парсятся и по ним стороится индекс.
Долгое время документы парсились при помощи библиотеки PDFBOX, работа которой не вызвала ни у кого радости: долго и со сбоями.
В итоге были выбраны 4 библиотеки, сравнением которых я занялся: PDFBOX, JPod, iText и Acrobat.
Убунтариум → Ставим Ubuntu 9.04 на Acer Aspire One по сети
На смену погибшему ноутбуку пришёл «малыш» Aspire One, но увы посмотрев на идущее с ним в комплекте нечто, сразу стало понятно, почему возвращают Linux системы. К счастью, не так давно появилась очень интересная разработка — Ubuntu Netbook Remix ставить которую и было решено. Но вот загвоздка — для инсталляция нужна флешка\внешний CD-ROM\карточка, а как на зло ничего из перечисленного в доме не нашлось. Пришлось заняться чтением доков по сетевой загрузке, но в этот момент в поле зрения попало ещё одно решение…
Спам (и антиспам) →
Спам «отправь смс». Сообщи оператору!
Всем надоел спам с предложением отправить СМС. Можно, конечно, сообщить об этом оператору или поддержке СМС-биллинга, но лень звонить или искать сайт с нужным номером…
Так и появилась простая страница для сообщений. Нужно ввести номер (для определения биллинга) и текст, который просят отправить (для определения спамера).
Всем добро пожаловать. Идеи, пожелания, обсуждения приветствуются.
Так и появилась простая страница для сообщений. Нужно ввести номер (для определения биллинга) и текст, который просят отправить (для определения спамера).
Всем добро пожаловать. Идеи, пожелания, обсуждения приветствуются.
Я умный → Как мы делаем контент. Практическая диалектика
Через неделю нашему блогу Хреновина.net исполнится 9 месяцев. За это время мы набрали уже неплохую популярность и регулярно получаем отзывы-благодарности за интересный контент. Что греха таить, то, что мы делаем, нам и самим нравится. И мы были бы рады, если бы подобного рода контента в Сети было побольше. Сегодня мы хотим поделиться некоторыми приёмами изготовления интересных постов.
Разработка →
Разработка через задницу
Индустрия программного обеспечения — это, наверное, крупнейший в мире питомник новых систем управления. Agile, Экстремальное Программирование, Разработка Через Тестирование (Test Driven Development, TDD) — акронимы и фреймворки продолжают плодиться. Почему?
Кто-то скажет: незрелость — производство ПО еще молодая промышленность и все эти изменения — путь к некоторым истинным основам. Другие говорят, это потому, что люди от программирования просто любят выдумывать всякие штуки и сами не могут разобраться. А я скажу так: раз уж мы идем к тому, чтобы иметь дюжины моделей, хотя бы некоторые из них могут быть честными, хотя и циничными, по отношению к тому, что на самом деле происходит большую часть времени.
Кто-то скажет: незрелость — производство ПО еще молодая промышленность и все эти изменения — путь к некоторым истинным основам. Другие говорят, это потому, что люди от программирования просто любят выдумывать всякие штуки и сами не могут разобраться. А я скажу так: раз уж мы идем к тому, чтобы иметь дюжины моделей, хотя бы некоторые из них могут быть честными, хотя и циничными, по отношению к тому, что на самом деле происходит большую часть времени.
Linux для всех → Untangle Gateway, вышел релиз 6.1
В сети появилась новость о выходе новой версии дистрибутива в рамках проекта Untangle Gateway. Это специализированный Linux дистрибутив, основанный на Debian Lenny, для создания межсетевых экранов с разнообразным функционалом.
Решение мне показалось достаточно интересным для обслуживания небольшого офиса, когда администратор зачастую совмещает все функции полноценной службы IT. По крайней мере, подобные решения могли бы помочь ему частично разгрузить свой график.
Решение мне показалось достаточно интересным для обслуживания небольшого офиса, когда администратор зачастую совмещает все функции полноценной службы IT. По крайней мере, подобные решения могли бы помочь ему частично разгрузить свой график.
Убунтариум → Настраиваем сканер отпечатков пальцев (finger print) в Ubuntu 9.04
На написание данного топика меня сподвигла замена ноутбука и переезд на бету Ubuntu 9.04, вследствие этого знаменательного события.
Надо сказать, что пользую сей достойный продукт еще с версии 7.10. За это время сменилось несколько машин, и мне не разу не пришлось сильно сожалеть о своем выборе, поскольку проблем с определением оборудования не наблюдалось, правда может быть больше из за того, что используемая мной техника IBM Thinkpad всегда неплохо поддерживалась в линуксах, как и все что сделано в IBM.
Сейчас для работы, в руки мне попало достойное изделие от HP — ноутбук nc6400. Этот девайс обладает сканером отпечатков пальца, который несколько упрощает жизнь в нашем парольном хаосе. До настоящего времени использование сканера ограничивалось MS Windows и я не предполагал, что сообщество занимается столь малопопулярными устройствами.
Надо сказать, что пользую сей достойный продукт еще с версии 7.10. За это время сменилось несколько машин, и мне не разу не пришлось сильно сожалеть о своем выборе, поскольку проблем с определением оборудования не наблюдалось, правда может быть больше из за того, что используемая мной техника IBM Thinkpad всегда неплохо поддерживалась в линуксах, как и все что сделано в IBM.
Сейчас для работы, в руки мне попало достойное изделие от HP — ноутбук nc6400. Этот девайс обладает сканером отпечатков пальца, который несколько упрощает жизнь в нашем парольном хаосе. До настоящего времени использование сканера ограничивалось MS Windows и я не предполагал, что сообщество занимается столь малопопулярными устройствами.
Стартапы → Автоматическая фотожабилка — мы смогли это сделать)
Все любят фотожабы, но отлично готовить их умеют единицы, умельцы Photoshop.
На смену «деревенской лошадке» пришла автоматическая фотожабилка с молодежного портала tinza.ru – специальный сервис Фотоприколы.
![Боярский перед стартом](https://webcf.waybackmachine.org/web/20090412230325im_/http://www.picamatic.com/show/2009/04/12/04/23/3229984_744x271.jpg)
Сайт сделан для школьников и тинов, и задача стояла сделать сервис максимально простым и понятным, но мы решили, что это может быть прикольно не только детям.
Секрет сервиса прост – загружается фотка в фас, сервер автоматически распознает лицо и делает цветокоррекцию, флеш отображает результат и позволяет сделать легкий тюнинг.
Будем рады услышать ваши замечания и предложения по автофотожабилке – оставляйте их на нашем проекте обратной связи на tinza.reformal.ru
P.S. господа минусующие — это ведь шутка юмора, не будьте такими серьёзными)
На смену «деревенской лошадке» пришла автоматическая фотожабилка с молодежного портала tinza.ru – специальный сервис Фотоприколы.
![Боярский перед стартом](https://webcf.waybackmachine.org/web/20090412230325im_/http://www.picamatic.com/show/2009/04/12/04/23/3229984_744x271.jpg)
Сайт сделан для школьников и тинов, и задача стояла сделать сервис максимально простым и понятным, но мы решили, что это может быть прикольно не только детям.
Секрет сервиса прост – загружается фотка в фас, сервер автоматически распознает лицо и делает цветокоррекцию, флеш отображает результат и позволяет сделать легкий тюнинг.
Будем рады услышать ваши замечания и предложения по автофотожабилке – оставляйте их на нашем проекте обратной связи на tinza.reformal.ru
P.S. господа минусующие — это ведь шутка юмора, не будьте такими серьёзными)
Будущее здесь →
Микро-робот летает, используя магнитное поле Земли
Микроробот, разработка канадских ученых, успешно передвигается в трехмерном простанстве используя магнитные поля. Изменяя положение координационного центра, микро-робот плавно "летает".
На нем установлено 3 набора сенсоров, отвечающих за координацию, камера, передающая видео на компьютер. Робот даже способен переносить микрообъекты.
На нем установлено 3 набора сенсоров, отвечающих за координацию, камера, передающая видео на компьютер. Робот даже способен переносить микрообъекты.