05 августа 2008

Nokia n810

Итак, неделю назад пришел девайс. Пока суть да дело, завёл сеть, немного обжил, связал с ББ узами sshfs и стал потихоньку делать выводы.
У платформы неожиданно есть существенные минусы.
1. Браузер. {вырезано цензурой} Очень слабое звено. Кастрирован до неприличия, не умеет Google Gears (равно как и вообще стандартные расширения), существующий билд GG зело старый. Остаётся ждать релизов чего-то не такого {вырезано цензурой} от мозилы. В качестве альтернативы есть Links и Lynx, для мобильных версий сайтов самое оно.
2. Железо. Без небольшого шаманства не работают флешки и прочее USB, ибо режим не USB-host по умолчанию (хотя только ради него и стоило эту дырку делать). Даже после шаманства не работает как надо мышь (об этом стоит написать отдельно), впрочем, она там не сильно нужна, даже если использовать девайс как большой компьютер.

Однако всё это поддаётся исправлению, правда, зависит это от самих облажавшихся гигантов - нокии и мозилы.

Немало и плюсов. Не вдаваясь в мелочи:
1. Настоящий Debian-based Linux. Для меня очень весомый плюс.
2. Приложения! Тысяча и одно с доброй дюжиной крупных и сонмом мелких репозитариев. Для любителей - есть и Ruby и Python. Разработчик не останется скучать и может хакать прямо на девайсе. Все перечислять бессмысленно.
3. Вполне сложившееся комьюнити. Как обычно - англоязычное. Делится на ньюбов - просто пользователей, и матёрых линупсоедов, купивших девайс "на похакать".

Итак, завожу новый тэг n810 и пишу про девайс и всё, что с ним связано. Посты уже зреют.

04 августа 2008

Ещё патчи в gpodder

Ещё 2 патча ушли и были смержены Томасом в gpodder. Один добавляет статистику в CLI:

bin/gpodder -S
I Free space on device /mnt/usb1/podcasts : 196.72 MiB
I Size of episodes to sync: 343.31 MiB
E Need to free at least 146.59 MiB more

Другой фиксит ещё один кусок кода, приводящий к зависанию синхронизации устройства при работе gpodder в неюникодной локали.
Первые шаги с git. Пока не нравится обилием способов выстрелить себе в ногу.

03 августа 2008

Dlink DWA 140

Потребовалось срочно раздать инет с компа (в перспективе - с любого) на один девайс, девайс умеет wi-fi. Пролистал прайсы местных магазинов, увидел сабж, пошукал по гуглю, как оно работает под линем. Нашёл на каком-то убунтушном форуме хауту по настройке. Купил, с поправкой на генту завёл (via ndiswrapper), сделал нат-маскарад. Работает. Попробовал то же организовать под виндой - и не смог. Бестолково там как-то всё. Завелось на минуту и отпало.

26 июля 2008

Про логичность

Крайне трудно инженеру смотреть фильмы, особенно пестрящие логическими нестыковками, особенно если привык не относиться к таким фильмам серьёзно.
Был давеча на Хэллбое. Факт номер раз - во время длительного поединка с Моргуном, лупившего Хеллбоя по морде здоровенным металлическим кулаком, единственное, что произошло с красным - кровь из носу пошла. Факт номер два - когда какой-то человечишка кинул в красного камень, тот заработал серьёзную царапину.
Про разные перемещения во времени интересно смотреть, постоянно сценаристы временные парадоксы создают.
Зато смотреть на красивую, чёткую, логичную схему, как в Иллюзионисте, например, - одно удовольствие.

Фильтрация информационного потока. Тэги в RSS.

Хочется знать всё и быть в курсе, но времени на всё может и не хватить. Перестаём ходить на сайты и читаем всё через RSS. Со временем объём и качество (соотношение сигнал/шум) этого "всего" перестаёт устраивать. Фильтровать!
А теперь помедленнее. Всё дело в том, что нормальные блог движки умеют генерировать RSS для каждого тэга/категории, но несознательные блоговладельцы (вроде меня) дают один фид, зачастую пропущенный через FeedBurner, в который валится весь контент блога. Читать всё лень и некогда, поэтому:

  • Wordpress - к ссылке на нужную категорию добавляем /feed, например так http://blog.alno.name/cats/ruby/feed
  • Blogger - (blog name)/feeds/posts/default/-/(tag name), например http://eveel.blogspot.com/feeds/posts/default/-/ruby
  • Mephisto (blog name)/feed/(tag name)/atom.xml, например http://blog.fiveruns.com/feed/rails/atom.xml

Пока что это всё, что мне успело потребоваться, можете дополнять своими вариантами.

24 июля 2008

Разработка... документации

Заведите отдельного сотрудника для ведения документации продукта. В идеале - еще одного для тестирования продукта перед выпуском. Программисты должны писать код. Если они занимаются тестированием и написанием документации - у них плохо получается и то, и другое, да еще и не удается сосредоточиться на разработке.

Аминь. Взято у dekart'a.
Программеры не видят своих багов, они их пишут. И объяснить в документации очевидные для них вещи - не могут, ведь объяснять очевидное довольно сложно.

13 июля 2008

Про запуск Vim

Решил раз и навсегда упорядочить запуск вима. Для начала xhost + local:root (ну хочется и руту юзать иксовый клипбоард и запускать гуёвый вим). Потом враппер:

1 #!/bin/sh
2 if [ -z $DISPLAY ]; then
3     vim "$@"
4 else
5     gvim --servername "`whoami`$DISPLAY" --remote-tab-silent "$@"
6 fi


Потом запихать его в EDITOR и спать спокойно.

12 июля 2008

6 Optimization Tips for Ruby MRI

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


>> "barbarbarbar".gsub(/buz/,'foo')
=> "barbarbarbar"
>> "barbarbarbar".gsub!(/buz/,'foo')
=> nil

То есть мало того, что данные методы ведут себя по-разному относительно исходной строки, они и возвращают разный результат, если в строке нет заменяемой подстроки. Так что слепое следование этому совету может поломать существующий код, широко использующий method chaining. Я категорически против этого конкретного примера данного совета, хотя совет вообще замечателен и мною широко применяется в жизни.

07 июля 2008

Ruby 1.9.1 && ISO

Чтение новостей наталкивает на мысли, что пора уже активно переходить на 1.9.

03 июля 2008

15 Questions to Ask During a Ruby Interview

Судя по опроснику, я вполне тяну на senior ruby developer.

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 и станет моим вторым браузером.