Архив за Октябрь 2009

Я уже писал про Fossil, распределенную систему контроля версий с баг-трекером и вики. Тогда я сказал, что не собираюсь переключаться с Mercurial, но на самом деле переключился и пользуюсь Fossil с большим удовольствием (а также фиксю в ней баги и добавляю фичи — код очень понятный).

Так вот, сегодня ночью я написал Quick Look-плагин для просмотра репозиториев. Репозитории Fossil состоят из одного SQLite-файла (в отличие от скрытых папок с хламом внутри рабочих директорий у других систем) и могут находится в любом месте (даже в скрытой папке внутри рабочей директории, если угодно. У меня они лежат в папке ~/Repos). Это позволило написать плагин для просмотра названия и описания репозитория и истории изменений:

Скриншот QLFossil

Плагин не требует Fossil, он читает прямо из файла. Скачать QLFossil можно тут: http://codingrobots.org/p/qlfossil.

Демонстрация этой красоты:

А ваша VCS так может?

Я всегда подозревал, что Google обладает секретными технологиями, сравнимыми по могуществу с инопланетными. И не ошибся.

Если кто не знает, Google Voice — это сервис, который, кроме всего прочего, позволяет принимать голосовые сообщения (как автоответчик) и переводить их в текст. Сегодня я получил сообщение, которое Google Voice перевел так:

“Hello hello hello hello.”

Интересно, подумал я, и решил узнать, как оно звучит в оригинале. И чуть не упал со стула.

Не буду спойлить, послушайте сами:

Nokia подала в суд на Apple. В глазах общественности это выглядит как “мы сдаемся”, особенно после первого в истории компании убыточного квартала на фоне рекордного квартала Apple.

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

На русском сайте Нокии перечислены 118 моделей. Из них 48 имеют браузер, почту, MP3-плеер и поддерживают 3G. Их тех 48 только 36 имеют “большой” (> 2”) экран. 7 моделей с сенсорным дисплеем. Итого, из 118 продуктов Нокии, только десяток — не устаревшее дерьмо.

Среди них есть телефоны для бомжей, женщин, подростков, младенцев, геймеров, геев, бизнесменов, яхтсменов и т.д.

Даже была модель для людей с кривыми руками:

DDD3255B-C332-4E2A-BE5E-97D8CCBFA902.jpg

Это не плохо, нет. Сегментация может быть полезна. Но это не повод останавливать инновации!

“Бомжам не нужна электронная почта в телефоне, она нужна только бизнесменам”, думает Нокиа и отрезает эту фичу из дешевого телефона, потому что боится, что бизнесмены не будут покупать дорогой телефон. В то время, как бомжи во всю тусуются в фэйсбуке.

“Браузер в мобильнике не нужен обычным людям, они им не пользуются”, думает Нокиа. (И выпускает какую-то хрень без телефона, но с браузером. На всякий случай, вдруг кому-то захочется браузер, а в телефоне его нет.)

И действительно, люди не пользовались браузером в телефонах. Пока не появился нормальный браузер:

Screen shot 2009-10-22 at 21.42.58.png

(Источник: Morgan Stanley [PDF])

И так со всеми продуктами компании, которая когда-то славилась инновациями. Но потом стала выпускать телефоны для всех возможных категорий людей.

Если бы Нокиа выпускала унитазы, у них бы было 118 моделей: от деревенской дырки до полностью золотых унитазов. При этом, срать можно было бы только в 48 моделей, а смывать в 7.

Зачем нужна подсветка синтаксиса в редакторах? Чтобы улучшить читаемость кода, правильно?

В третьем Xcode очень крутая подсветка: переменные объекта одним цветов, локальные переменные другим, методы проекта третьим, а внешние методы четвертым… И это очень помогает при чтении исходников, тем более, что Objective-C — довольно многословный язык.

code_hi.png

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

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

code.png

Lo-tech FTW! Попробуйте.

Если вы крутили рекламу с 1 мая 2000 по 22 сентября 2009, то, наверное, знаете про class action (бумажки присылали по обычной и электронной почте).

Yahoo типа крутила нашу рекламу в ужасных местах:

Yahoo! breached its contract with its customers by allowing Yahoo! ads to be displayed in spyware, domain name parking sites (also known as bulk registration sites), pop-ups, pop-unders, and typosquatting sites.

И вот, финальный settlement близок. “Final approval hearing” состоится 11 января 2010.

Settlement такой (что сделает Yahoo):

A. “Ad Placement Option”
B. Enhanced Disclosures
C. Enhancements to the Click Investigation Request Tool

E. Refunds to Class Members who are Out of Business
Yahoo! will pay a $20 refund (“Refund”) to eligible Class members who are out of business.

(Подробности)

В общем, Yahoo улучшит свою рекламную сеть и выплатит по $20 разорившимся. УРА!!! УРА! Всем прыгать от радости!

Барабанная дробь…

XI. How Will The Lawyers Be Paid? Will The Class Representatives Receive Service Awards?

Class Counsel will apply for attorneys’ fees of $4,170,000, plus reimbursement of expenses of approximately $100,000, and for service awards to the three Class Representatives of $10,000 each. Yahoo! has agreed to pay those fees, expenses and service awards, in the total amount of $4.3 million, in addition to providing the other settlement benefits described above in Section VI. Attorneys’ fees, reimbursement of costs, and service awards to Class Representatives must be approved by the Court.

Подробности см. в фильме “Interstate 60”.

Autodesk недавно проиграл в суде. Чел продавал лицензионные б/у копии Autocad на eBay, Autodesk пожаловалась и eBay удалила аккаунт чела. Он обратился с иском против Autodesk и выиграл — суд разрешил ему продавать б/у софт.

Аргумент Autodesk был стандартный: мы не продаем софт, а лицензируем его, а значит никто другой не может его перепродавать.

Судья сказал: “No one would characterise the person’s possession, however, as something other than ownership. Similarly, the court cannot characterise Autodesk’s decision to let its licencees retain possession of the software forever as something other than a transfer of ownership, despite numerous restrictions on that ownership.”

Он так же согласился с тем, что действия чела соответствуют праву “first sale”.

Я с этим согласен. Если я лицензировал софт пользователю, он может спокойно передать (за деньги или за так) все свои права по этой лицензии другому человеку. Почему нет? Я могу даже ключ перевыпустить на имя этого человека, при условии, что заблокирую предыдущий. И такой случай уже был.

Да я и сам был рад передать лицензионные копии Total Commander и ReGet, когда переходил с Windows на Mac. Они мне не нужны, но я за них заплатил деньги, получил лицензию, и отказался от лицензии в пользу другого человека. Это наше право, и жадные и недальновидные производители софта могут засунуть свои понятия куда-нибудь далеко.

Обновление: почему право передачи лицензии — это хорошо для производителей софта? Ведь они недополучают деньги — человек, вместо того, чтобы купить у производителя, покупает у другого человека, уже купившего лицензию. Очень просто. Например, компания X обанкротилась и продала лицензию на Autocad за бесценок. Компания Y купила эту лицензию. Autodesk не потерял клиента. Как известно, основные источники дохода софтверных компаний — поддержка и продажа обновлений. Если бы компания X не имела права продать свою лицензию, вполне возможно, что у Autodesk просто стало бы на одного клиента меньше. Конечно, компания Y могла бы купить Autocad непосредственно у производителя. Но стала бы? Неизвестно.

Если мне не нужен какой-то софт, и я его передаю другому человеку, известно, что тот человек не пользовался этим софтом (иначе зачем ему еще одна лицензия). Вместо потери клиента (и связанных с ним бенефитов: word of mouth, покупки обновлений, покупки поддержки), производитель софта остается с тем же количеством клиентов. Ему не надо тратить деньги/время на “замену” ушедшего клиента. Что в этом плохого?

Amazon Kindle выходит на международный рынок.

Я сначала подумал, что имеются в виду страны, где есть локальный амазон, но нет:

kindle-1.jpg

Довольствоваться придется EDGE/GPRS, но связь обещают бесплатную.

kindle-2.jpg

На Украине то же самое, в Беларуси покрытия нет, но можно скачивать книги с компьютера.

Цена: $279 + доставка в Москву $20.98 = $299.98. Таможня не включена — с этим, как обычно, как повезет (я не знаю, какие у нас тарифы на импорт, но в Индии, например — чуть больше ста долларов).

Обновление: Кирилл Воронин сообщает:

DHL и UPS — без пошлин можно привезти не больше чем на 5000 рублей (включая саму доставку, которая будет стоить около $70!)

Обычная почта — без пошлин до 10000 рублей.

Это дешевле любых других электронных книг, доступных на нашем рынке, да еще и Kindle включает бесплатный пожизненный 3G/EDGE/GPRS для беспроводной покупки книг (браузер и блоги в России недоступны).

Adobe Photoshop Lightroom на 60% написан на Lua. С помощью этого языка адобийцы упростили задачу по написанию кросс-платформенного приложения.

Много деталей в этой презентации с конференции C4[2], даже код показывают:

На ISDEF в паре презентаций проскакивал Twitter. Я хочу немножко рассказать, для чего и как он используется в софтверных компаниях.

Первое, что нужно знать — это не площадка для спама. ОК?

Софтверные компании используют твиттер для трех вещей: для анонсов релизов, акций, постов в блоге, для общения с аудиторией и для поиска мнений о своих продуктах.

Пример анонсов - @alawar:

Twitter / Alawar

Пример общения с аудиторией — @codingrobots:

Twitter / Coding Robots

Как видите, получился саппорт в твиттере. И такое случается часто: вполне возможно, что даже те люди, которые никогда не напишут в саппорт, чтобы сообщить о баге, напишут об этом в твиттере. То же самое с фичареквестами:

Twitter / Tweetie

(Tweetie это название программы)

Мы же хотим знать, чего хотят наши пользователи, правильно?

Поэтому переходим к поиску мнений. У твиттера есть хороший интерфейс для поиска твитов: search.twitter.com. Поищите название своей компании и программы и, возможно, найдете много интересного:

Twitter / Radmin

Итак, что делать?

  1. Заведите аккаунт в твиттере.
  2. Повесьте ссылку на него на сайт или в блог компании.
  3. Пишите анонсы.
  4. Подпишитесь на RSS-ленту поиска по вашему продукту на search.twitter.com.
  5. Отвечайте на упоминания.

Например, ответ Famatech мог бы быть таким:

@mcbazza Thanks for letting us know! We’re working on this issue with Sophos. They say they’ll fix this in the next update.

Попробуйте. Минусов нет, одни только плюсы.

Вопросы? Пишите твиты @dchest.