Free Plan!

(Popular Science, март 1952)

  1. Я устал от того, что MacBook Air тормозил при просмотре видюшек с YouTube.
  2. Я хотел отдельный плеер (что-то вроде Totem в Ubuntu) для просмотра ютюба.

Поэтому я написал Cathodique, простой YouTube-плеер для Мака.

Cathodique, плеер для YouTube

Он играет видео через встроенный Quick Time, поэтому жрет меньше CPU, чем Flash:

CPU Usage

(Это примерные графики для MacBook. MacBook Air я даже не мерил, потому что он может взорваться от просмотра 1080p).

Ну и, конечно, просто удобно искать по YouTube. А самая главная фича — отсутствие комментов!

Попробуйте.

(Чтоб вы не испугались: штука платная, пока стоит $14. Пробная версия работает 30 дней.)

Сегодня выпустили новый продукт для Windows.

Примерно так выглядит:

screensketcher.png

Сайт: http://www.codingrobots.com/screensketcher/

Please fuck these dickheads

ipods.jpg

Thanks,
D.

Акт первый

  1. Kevin Lynch, CTO Adobe, постит комментарий, в котором утверждает, что во Flash нет известных багов, приводящих к аварийному завершению плагина/браузера (“Regarding crashing, I can tell you that we don’t ship Flash with any known crash bugs”).

  2. Matthew Dempsky делает страницу, которая демонстрирует аварийное завершение Flash и говорит, что он сообщил Adobe об этом баге еще в сентябре 2008. (ссылка — осторожно, браузер или Flash могут упасть).

  3. Adobe приносят извинения и говорят, что нечаянно пометили этот баг для исправления в следующей версии, вместо той, которую собирались выпускать.

Акт второй

Работник Adobe пишет о том, почему они не откроют исходники Flash. Причина: во Flash есть код, которым Adobe не владеет (например, декодер H.264).

Мне кажется, американским властям нужно срочно проверить, не нарушает ли Adobe законы по использованию детского труда. Я не верю, что взрослый человек мог представить общественности такой аргумент.

Вышла новая бета-версия BlogJet 2.5 с “живой” проверкой орфографии:

blogjet-live-spelling.png

Подробности и ссылка на программу — в блоге Coding Robots.

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

Вот, например, карта зарегистрированных секс-оффендеров в районе Пасадены:

sex-offenders.jpg

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

Кликнув на квадратик, можно посмотреть адрес и фотку преступника:

sex-offender-photo.jpg

а также, что он сделал. Например, этот дядька развратил 14 или 15-летнего ребенка.

При походе в парк или устройстве в школу (выделены белыми квадратиками на карте), американец-параноик заходит на сайт и смотрит, сколько рядом секс-оффендеров в округе:

Grace Christian Academy
-----------------------
address:    73 N. Hill Av
Pasadena, Ca 91106
closest offender    0.27 miles
offenders within 1000 ft    0
offenders within 1/2 mile   3

Ближайший к этой школе секс-оффендер находится в 0.27 милях, а в радиусе полмили их целых три.

Некоторые секс-оффендеры, если так решит суд, обязаны иметь таблички на домах и машинах, типа “Тут живет насильник” или “В этой машине едет плохой дядя”:

sex-offender-sign.jpg

Предыдущая заметка была на самом деле работающей программой на языке Lua (“луна”) с бриджем в Objective-C под названием “Луноход”, который я недавно написал-недописал. На скринкасте я показываю, как это работает (включите звук!):

lunokhod-demo.jpg

По-моему, я потерял интерес* к этому проекту (а может и нет, посмотрим), поэтому если кто-то хочет продолжить — велкам в репозиторий.

* Обновление: точнее сказать, я мечусь между двумя похожими проектами — на Lua и Scheme, и пока не могу выбрать какой развивать.

-- Это наша программа.

app = Application()

-- А это кнопка.

firstButton = Button:new{

-- У нее есть название,

    title = "Сказать привет",

-- размеры,

    width = 160,
    height = 40,

-- положение

    x = 10,
    y = 10,

-- и действие.

    action = function ()
                print "Привет, мир!"
             end

-- Вот.

}

-- Это вторая кнопка, которая делает то же самое,

secondButton = firstButton:new{

-- только называется по-другому

    title = "Опять сказать",

-- и находится правее.

    x = 170

-- Вот.

}

-- Это окошко, у которого есть название, положение и размеры.

window = Window:new{
    title = "Программа для передачи приветов миру",
    x = 0,
    y = 0,
    width = 360,
    height = 60,

-- А еще в этом окошке есть наши кнопки!

    subviews = { firstButton, secondButton }

-- Вот.

}

-- Теперь мы скажем окошку показаться,

window:show()

-- а программе — запуститься.

app:run()

--[[

Луноход

Это космические технологии. Но не rocket science. Жаль, что на Земле так не пишут.

--]]

Пару дней назад сделал текстовый архив блога с прикольными названиями файлов. Мне лень было разбираться с форматом SQLite-базы Movable Type (кроме того, заметки я писал в HTML, Textile и Markdown в разные времена), поэтому я просто сделал

wget -m http://sellme.ru

и получил копию блога у себя на диске. Потом написал скриптик, который проходился по всем страничкам и выдергивал содержание заметок и комментариев. На выходе получался кусок HTML, который я пропускал через html2text.py и получал красивый простой текст с Markdown-разметкой (пример).

Но этого мне показалось мало: что за названия файлов такие reshil-uznat--russkie-slova.txt? Поэтому из каждой заметки я выдернул заголовок, пропустил его через Google Translate, убрал лишние пробелы, заменив остальные на “-“, и получил красивые имена файлов типа i-decided-to-learn-russian-words.txt (а иногда и смешные: davydov-quot-modern-teaching-omarketinge-is-poluideologie.txt).

Скачать архив sellme-2010-01-09.zip (1.9 МБ)

Это только текст, картинки не включены. Распакованный архив весит 4.5 мегабайт; wc выдает, что я написал 380079 слов. Это уже почти три тома универсальной единицы словоизмерения:

$ wc -w war_and_peace*.txt 
139059 war_and_peace_vol_1.txt
127219 war_and_peace_vol_2.txt
134185 war_and_peace_vol_3.txt
112377 war_and_peace_vol_4.txt
512840 total

Март 2010

Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31