30 июня 2008

Что в имени тебе...

Вот тут в комментарии к Сёмкиному (шикарному, кстати) введении в Io отметили, что имя плохое у языка.
Имя на самом деле отвратительное. И, вообще говоря, это не единственный пример. По запросам с моим любимым руби приходит порно и драгоценности, поскольку Ruby одновременно и имя и драгоценный камень. Да и один из его родственничков не лучше - Sapphire. У php расширение исходников совпадает с названием, при этом индексируется, в результате вы можете получить hooynya.php вместо искомого. Java вообще и сорт кофе и остров.
Ну вот как-то всё так, может даже ещё ужаснее, сильно не вспоминал.

27 июня 2008

Защитились на отличненько!

Вчера состоялась защита дипломов. Мы с Таппком защитились на отлично, судя по отзывам, были лучшими на комиссии. Тап, тебе за всё огромное спасибо.
В свете этого что-то может произойти с блогом, а может и не произойти.
Итак, может
(не) появиться больше постов ruby/ror тематики (есть пара предложений поработать в этом направлении)
(не) прекратиться на какое-то время постинг (отец грозится ящиком коньяка)
(не) продолжиться работа над gPodder (может не хватать времени)
(не) закончиться RDBMS-related тематика (проект, в котором я активно хардкодил на PL/pgSQL не будет более моим основным)
Точно не прекратится поток прочей околоIT чуши, которую я тут обычно несу в долгий ящик.

24 июня 2008

OpenOffice? Нет!

Формат ODF победил
Open Source оказался сильней
Кому нужен ломтик OOXML'я?

О-о, мой опенофис
Много тормозов и ява машина
О-о, мой опенофис
Ведь он на плюсах, зачем там машина?

Формат ODF победил
Ликует ЛОРовский народ
Кому нужны форматы от Майкрософта?

О-о, мой KOffice
Когда его допилят, все будет отлично
О-о, мой KOffice
Хотя бы открою ODF им прилично
--Voker57 (linux.org.ru)

Это было злорадство. А теперь факты. В OOo 2.4.0(linux) был подготовлен весьма увесистый документ (в родном odt формате) страниц на 200. Открыт и отредактирован в 2.4.1(windows). Открыт в 2.4.0 (linux) снова. Все формулы сжались по вертикали раза в 4, некоторые графические объекты разъехались. Тем самым загубив кучу времени.
Это, чёрт побери, минорные версии, а не MS Office 2003 и MS Office 2008, об обратной несовместимости которых столько кричали! Это, мать их, минорные версии, работавшие над своим родным трижды открытым форматом файла!

19 июня 2008

Ola Bini: Testing Regular Expressions

Вот задался чувак таким вопросом - как тестировать регэкспы, раз всякие тестовые фреймворки тут бессильны.

В комментах несколько разумных мыслей - вынести в отдельный модуль, завести отдельную спеку... А тестить-то как?

Всё время в голове крутилась фраза

Benchmarks?
let your users do it.
-Scaling Twitter

И в комментах похожую мысль всё-таки высказали:
Use a good sample of real examples for both positive and negative cases. Add any terms that fail in production to the tests

Ведь как ни выдумывай, первые куски тестовых текстов будут синтетическими. Так пусть реальный мир сам тестит, автоматически пополняя объём тестовых текстов. Правда, какое-то время это придётся отслеживать мозгом, относя тестовый текст к положительным или отрицательным проверкам, но обычно это не проблема, поскольку часто с помощью регэкспов мы мытаемся формализовать то, что в голове выражается очень простыми словами. Главная проблема в том, что
...переход от неформального к формальному неформален
Соловьёв А. Е.

а значит мы не можем формально тестировать регекспы, но , по крайней мере, можно сильно упростить себе жизнь, автоматизировав сбор test case'ов.

14 июня 2008

Обидели Бэкуса.

Вот взяли, и, чёрт побери, обидели Бэкуса. Я протестую. Это ж какой нормальный программист не знает бэкусовы нормальные формы, они же нормальные формы Бэкуса-Наура, они же БНФ? Разве что тот, кто пишет "на похапе сайт быстро и дёшево", впрочем, это уже называется быдлокодер.

13 июня 2008

Перевод интервью.

Томас заметил на хабре репост моего интервью и побудил меня перевести его, поскольку из перевода Google translator понял не всё. Так что читать/править тут, это чуть поправленный перевод от гугла.

12 июня 2008

new iGoogleReader

Google Reader для iPhone, представленный не так давно, обновился. Как он выглядел до этого, можно понаблюдать на скриншоте в анонсе, сейчас добавилась возможность Share with note и Email, ссылка на оригинал статьи переехала в заголовок, а Keep unread зачем-то убрали (что очень нехорошо, хотя для того, чтобы не забыть про новость, есть звёздочки).

11 июня 2008

Изобретательность

Хоть в курсе Моделирование Систем рассматривается технология изобретения, чёткое следование пунктам которой позволяет изобрести что-то необходимое исследователю, изобретательность всё-таки свойство ума. Недаром мы знаем китайские пельмени, порох, матрёшки и компас, русские радио, лампочку, ракеты и переодическую таблицу элементов, недаром Задорнов русских продёргивает в своих выступлениях. Определённым нациям это свойствено.
Выглянул в окно - и увидел чудесное. К экскаваторному ковшу, размещённому на тракторе, строители приспособили трос и тягают бетонные блоки как краном.

Engine Yard Express

Вот тут вот отличную штуку раздают. По сути - виртуальная машина, укомплектованная для разработки на RoR и Merb (впрочем, доставить гемов никто не мешает).
На самом деле Engine Yard так рекламирует свои слайсы, отдав на пробу полностью функциональный аналог, лишённый главных преимуществ. Однако побочных применений можно придумать множество.

Браузерные новости

Новостей две, обе замечательные, но разного размера.
1. Opera 9.5 RC - Prepare for launch. Тут и обьяснять ничего не надо, только качать.
2. Появился на свете ещё один браузер - Foxkit. В двух словах - KDE4 + QtWebKit. То есть что-то вроде Midori, про который я уже писал, но уже "по-нашему, по-бразильски!" Пока он в версии 0.0.1, то есть никаких активов, но горы потенциала.
С другой стороны, с такими зависимостями можно обойтись и конкьерором, тот тоже умеет WebKit. В общем, подожду, когда на моём десктопе окончательно приземлится KDE4, может Foxkit и станет моим вторым браузером.

07 июня 2008

Ещё про работу с образами дисков

Вот как-то я писал, как можно мигрировать ФС виртуальной машины из-под VirtualBox на реальное железо (впрочем, вообще из виртуальной машины наружу). Недавно опубликованная статья является отличным дополнением в плане работы с произвольной конфигурацией разделов виртуального диска.

Плюрк

Это этот... как его?.. Плюрализм!

Вот там в правой колонке внизу появилась ещё одна хреновина - виджет с плюрка. Там же можно меня зафрендить. Тыкайте туда, объяснить словами, что это и зачем, трудно.
Меня неоднократно звали на твиттер, я сам регался на других тлогах - всё не то. Этот сразу захотелось пощупать и прочее. Что примечательно, я в этом был сильно не одинок.
Сервису много чего не хватает, надеюсь, это дело времени. Что там точно есть - это отличная идея. Теперь осталось добавить мощностей (видимо, из-за них IM бот отваливается всё время), нормальной резиновой вёрстки, совместимости с браузерами, и, главное, API.
В общем, я уже оценил. Зову вас.

Этот новый новый скин

Ну вот, буквально вчера выпустили нечто типа превью будущего интерфейса оперы, и уже сегодня выпустили новый билд, учитывающий пожелания пользователей ("300 skin comments in a day!").
Практически всё, что мне не нравилось - отмечено к изменению. Иду пробовать.
PS: он мне определённо нравится, хотя ещё есть что улучшить. Например, контрастность иконок.

06 июня 2008

Кто такой Maglev

Для въезда в тему рекоммендую заметку, всё хотел подобное написать, да руки не доходят сейчас не до чего.

20% waste of time

Вот в гмайл всякого разного добавили.Какое-то оно бестолковое всё.
1. Хорошо
2. Без разницы. Мне хватает просто звёздочек.
3. Без разницы
4. Как представлю, сколько это потребует ещё тормозного javascript'а, страшно становится.
5. Они и так как в Vim'е
6. см п 4.
7. Без разницы
8. Без разницы, использую стационарный клиент.
Итого только одно действительно полезно. Что-то тут не то...
Полез в новинки, добавил кастомную дату-время и быстрые ссылки. Больше ничего полезного там нет.

05 июня 2008

История

Вот тут все историями меряются, для zsh этот трюк выглядит так (ну и моя хистори заодно)



 1 >cat ~/.zhistory|cut -d ';' -f 2- 2>/dev/null| awk '{a[$1]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
 2 769 cd
 3 148 svn
 4 147 dcop
 5 131 cat
 6 88 grep
 7 85 W
 8 70 checkout
 9 61 lsa
10 61 killall
11 59 htop
12
13 >alias | grep W
14 W='wget -c -t 0'
15 > alias | grep lsa
16 lsa='ls -l --color=always --classify'
17 > alias | grep checkout
18 checkout='cd somedir; svn co somerepo'

Читая вслух. Метапрограммирование в руби.

Найдено в черновиках.
А вот наткнулся сейчас на презентацию по метапрограммированию в Ruby.

In fact, classes are just instances of Class bound to a constant. Their special classyness is hidden deep in the C code of Ruby which adds to the overall confusion when trying to grok the tiny details of Ruby’s OO.
...
It’s just that the things used in the C code to make Ruby work don’t map conceptually very well to Ruby’s high-level abstractions. It really doesn’t matter most of the time, through.

Тем не менее хочется стукнуть кулаком по столу и воскликнуть:"Доколе!", поскольку одно время упирался в такие места довольно часто.

Подчёркивания и красота

Всегда считал штуки типа __method__ в языках уродством, а частоту их использования - параметром, обратно пропорциональным общей красоте языка. Под красотой я тут понимаю и дизайн в т.ч. Ведь если это способ обзывания методов или особо важных переменных - есть пространства имён. Если это кейворд - нафига вообще эти крысиные хвостики, это уже кейворд...
Смотрю сейчас в БД - а там половина хранимых процедур хвостатая...

04 июня 2008

Google Reader, ещё -2 в карму

Недавно заметил, что у гугльридера ещё одно странное появилось, странное заключается в том, что Starred && Shared Items, если их застаррить или зашарить в Extended View, не отмечаются прочитанными при прокрутке. Страшно раздражает, дополняет мой список недостатков Google Reader.
Ещё одна не совсем понятная штука эти новые заметочки, которые "Share with note". Все вокруг сразу стали про какую-то социальность говорить. Нееет, вот если бы с помощью этого можно было обсуждать новости, и с каждой новой заметкой новость бы всплывала и можно было бы ответить на комментарий - вот это была бы социальность. А так - фигня какая-то.

03 июня 2008

gPodder и я в интернетах

Вот мы всё-таки пересеклись с Рахимом ака freetonik и он меня немножко поспрашивал, а я ему немного поотвечал про gPodder. Теперь меня ещё и в лицо знают на хабре Кстати, можете клюнуть в карму меня и его. Заодно можете подписаться на его замечательный блог о подкастинге.
Ждём-с несвежих помидоров.

01 июня 2008

Fucking nigga!

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