Категория: Компьютеры

Заметки о программировании и на околокомпьютерные темы

Вложенные категории: Игры, Delphi

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

Или статус в скайпе. Читаешь чей-нибудь статус: “Может, без меня мир был бы лучше, н…”. Дважды кликаешь, чтоб дочитать, открываются сведения о пользователе, и там то же самое – урезано. И прокрутить нельзя.
(Кстати, статус: “Может, без меня мир был бы лучше, но, блин, увы”)

Зачем вставлять одно и то же в трёх местах, если оно везде отображается одинаково?
Очевидно, что вкладки “подробная информация” должны быть рассчитаны на все крайности, даже на те, которые в обычном интерфейсе ради простоты и удобства не обрабатывают.

Это спам!!

Обычный человек проверяет почту через браузер, в крайнем случае почтовым клиентом. У меня этих клиентов четыре: на домашнем, рабочем компьютере, ноутбуке и на мобильнике. Каждый борется со спамом как может.

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

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

Про блюреи

С блюреями интересная ситуация. До сих пор запросы на свободное место росли быстрее, чем доступные объёмы. То есть, фантазию всегда сдерживали технические ограничения. Когда-то видео на компьютере казалось чудом, затем 320×200 – хорошим разрешением (я так лавхину смотрел), потом завоевали популярность DVD, стали появляться энкоды в 640×480…

И вот получилась ситуация, когда реально всем пофигу на блюреи.
Ладно блюреи, БД-рипы в 1080p никто не качает!
Ладно 1080p, я сейчас скажу крамолу, но вы обратите внимание: 720p для архива не всегда перекачивают. Люди с восьмиядерными процессорами и видюхой, которая может в реальном времени обсчитывать половину Московской области, качают 480p-реенкоды в AVI и так архивят.

Отчасти потому, что 480p быстрее скачать. Отчасти потому, что перекачивать лень. И отчасти – потому, что нет разницы.

Некоторые сериалы от 1080p выигрывают. Я могу вспомнить Баке и Сенсея с их чёткой шафтовской рисовкой, полнометражки с облаками или сражениями, на минуты которых тратились человеконедели. Но большая часть аниме и тем более фильмов смотрится после 720p уже лучше не становится. А многим и 480p выше крыши (Кальмарка из нынешних).

Часто я перекачиваю 720p только чтоб посмотрел опенинг. Потому, что это реально единственное стильное место во всём сериале (Мираи Никки). А весь остальной сюжет по сути неважно, в каком разрешении (Штайнс Гейт, Level E).

Есть и другая сторона. 480p-энкоды пойдут на любом оборудовании, от нетбука до кофеварки. Что толку архивировать 1440p, если смотреть 480p всё равно куда удобнее?

Wikidot-FB2

Написал набор PHP-скриптов для генерации книг в форматах FB2 и TXT из страниц Wikidot. Поддерживается почти вся викидот-разметка, указание в теле страницы информации о книге (автор, переводчик и т.п.). Сделана неплохая система кеширования.

Справка внутри архива, в файле readme.txt. Об ошибках и неисправностях докладывайте, если кто захочет улучшить – пишите, сделаю SVN.

Скачать wdotfb2.zip

(Как подготовить книгу)

Как подготовить книгу к превращению в FB2

Всё содержимое книги должно быть собрано на одной странице. Если книга состоит из нескольких глав, нужно создать страницу-сборку вот таким образом:

++ Глава 1.
[[include chapter1]]
++ Глава 2.
[[include chapter2]]
...

Заголовок страницы станет названием книги. Остальные подробности можно указать в комментариях в её тексте:

[!-- author=Танигава Нагару --]
[!-- author=Иван Васильевич Пупкин,,,pupkin@pupkin.ru --]
[!-- author=Пупкин,,www.pupkin.ru --]

Указывает автора книги. Авторов может быть несколько. Формат: Фамилия Имя Отчество, псевдоним, сайт, почта. Любые параметры можно пропустить, пустые параметры в конце можно отбросить. Вместо полного имени можно указать Фамилию Имя или только Фамилию. Примеры:

[!-- translator=,randomdude,,dude@dudemail.com --]

Переводчик книги. Переводчиков может быть несколько. Формат тот же, что у “Автора”.

[!-- lang=ru --]
[!-- src-lang=jp --]

Язык книги и язык оригинала, если это перевод.

[!-- sequence=Хандра Ивана Пупкина, 1 --]

Серия, в которую входит книга, и её номер в ней.

[!-- annotation=Описание книги, выполненное в разметке викидот.
Можно переходить на новую строку, использовать **жирный шрифт** и //курсив//, даже [[include pagename]] вставлять страницы.
Нельзя только использовать комментарии. --]

Аннотация к книге. Если ваша аннотация слишком длинна или содержит разметку, которую нельзя указать в комментарии, сохраните её как отдельную страницу, и включите инкладом.

[!-- cover=v01t01-images/v01t01_cover_cut.jpg --]

Ссылка на файл с рисунком, который станет обложкой книги.

Про страницы

В последнем билде Opera Labs поддерживается экспериментальное расширение CSS “разбивка на страницы“. Достаточно написать:

@media -o-paged {
html {
  height: 100%;
  overflow: -o-paged-x;
}
}

…и браузер разобъёт ваш текст на страницы размером в экран, которые можно листать клавишами вправо-влево, как в книге.

Звучит это здорово, но сделано сыро. Я установил билд и поигрался с разбиением на больших текстах. Неудобно. Скроллить можно колёсиком мыши, а страницы тягать – только клавиатурой и пальцем. Хотя подхват rel-ссылок – это удобно (можно сделать, чтоб правее последней страницы автоматически грузился rel=next, и rel=prev левее первой).

Текст бьётся некрасиво – как, в общем-то, всегда и бился при печати. Из-за рисунка (css float) на предыдущей странице может образоваться дыра, заголовок может оказаться последней строчке на странице, и т.п. Думаю, ничего нового здесь нет: нужно доводить до ума разметку страниц для печати, а страничный показ на экране получится автоматически.

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

Как установить на Андроид нормальные японские шрифты

В двух словах, если это кому-то понадобится:
Ситуация со шрифтами в Андроиде плохая. Есть стандартные системные шрифты трёх семейств (DroidSans, DroidSerif и DroidMonospace). Кроме того, любое приложение может установить шрифт только для себя самого.

На европейских мобильниках установлены европейские и кириллические шрифты, а также DroidSansFallback.ttf, который используется для всего остального. Он содержит только китайские написания кандзи, кроме того – не все (даже популярные кандзи, такие, как 北, 不 или 更, отсутствуют).

Чтобы установить нормальную поддержку японского на Андроид, нужно скачать DroidSansJapanese.ttf (шрифт, поставляющийся с японскими андроидами) и залить его в /system/fonts. (подробнее)

Подробнее:
1. Телефон нужно зарутить (гуглите “root android [your phone model]”).
2. Должен быть установлен busybox (можно найти на маркете)
3. Нужно скачать программу adb (можно найти в Android SDK или, например, в комплекте Super One Click root).

Теперь сама процедура:
1. Подключите телефон к ПК (все драйверы должны стоять, подключать как SD-карту телефон не надо).
2. Запустите командную строку в папке с adb. Положите туда же файл DroidSansJapanese.
3. Выполняйте:

adb push DroidSansJapanese.ttf /mnt/sdcard/
adb shell
su

В этот момент на телефоне появится запрос подтверждения. Дайте разрешение, продолжайте:

cp /mnt/sdcard/DroidSansJapanese.ttf /system/fonts/
reboot

Проверяйте, должно работать.

Посылаем лучи ненависти криворуким людям из гугла, которые не смогли сделать нормальной системы управления шрифтами, когда в Windows она существует с 1991 года (с альясами, виртуальными шрифтами, настраиваемыми цепочками фоллбэков и пользовательским интерфейсом).
Что Windows, в любом современном браузере есть собственная система переназначения шрифтов. 2011 год на дворе, гугл.

SManga

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

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

Всегда на связи и менее доступны

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

Его аккаунт всё время в сети, но попробуйте написать ему – нет ответа. Или он едет в транспорте, или мобильник валяется на дне портфеля, или сообщение в общей суматохе будет сброшено, когда ему позвонят.

Даже если сообщения хранятся на сервере, и рано или поздно дойдут, создаётся чувство, что связь с человеком хуже. Ведь раньше, всегда, когда он был онлайн – ему можно было написать и получить ответ. А теперь пишешь как в пустоту.

Поэтому я придумал для себя такую политику IM:
1. В аське и джаббере я доступен по-прежнему только тогда, когда включён мой компьютер (домашний, ноутбук или рабочий). В большинстве случаев я могу ответить сразу, как к нему подойду.
2. В скайпе я доступен всегда, когда включён мобильник. У скайпа хорошая синхронизация и сообщения он доставляет и на мобильник, и на стационарный комп, так что это лучший способ быстро до меня достучаться.

Решайте сами, что вам важнее: если поговорить – ловите в аське, как раньше, если срочно связаться – пишите в скайп.
(А также можно послать личное сообщение в контакте, похоже, я их тоже к мобильнику подключил. Чё только на свете не сделаешь)

Для будущих поколений – Как настроить IMAP на андроиде

В качестве шифрования обязательно указывать SSL, а не TLS и не “без шифрования”.

Купил себе телефон на Android 2.3

Samsung Galaxy Ace S5838 или как-то так.

Сам телефон удобный. Ловит интернет через GPRS, 3G, разный вай-фай. Уже поставил скайп, читалку для Aozora Ruby (японские тексты с разметкой). В общем, доволен.

Недоволен гуглом. В последнее время так всегда. Только плотнее общаешься с гуглом – сплошное недовольство.
Это его-то ставили в пример Майкрософт? Даже в худшие годы Винда не была таким глючным и бестолковым продуктом, как в последнее время гугл.

(смешные жалобы на гугл)

Пытаюсь подключиться по имапу к почте на Google Apps – не подключается.

Два часа возни и сорок тредов таких же горемык спустя, нахожу в справке:
Если у вас не подключается по IMAP, зайдите на apps.google.com/yourdomainname.com/UnlockCaptch… и введите капчу.

Что?
А как я должен был догадаться, блин?

Ну ладно. Захожу по этому адресу, ввожу капчу:
– Капча не та.

Ввожу ещё раз:
– Пароль не тот.

Почему пароль-то, блин, не тот, я его скопипастил из ластпасса! Проверяю, логинюсь – правильный пароль. Копирую в UnlockCaptcha – неправильный. И что блин теперь?

Два часа возни и сорок тредов таких же горемык спустя, нахожу:
Если ваш аккаунт Google Apps старый – вам нужно туда, куда написано в справке. А если уже прошёл обновление (непрошеное, между прочим) – вам теперь на google.com/accounts/UnlockCaptcha

Что?
А как я должен был догадаться, блин? А написать об этом в справке, перенаправить старую капчу на новую? А ответить, в конце концов, хоть в одном из тех сорока тредов? Майкрософт свои форумы поддержки старательно отслеживает, между прочим.

Но ладно. IMAP так и не заработал. (Бог его знает, почему). А раз уж речь зашла про долбанный гугл, расскажу ещё вот что.

В какой-то момент гугл решил, что надо Всё Объединить (хотя никто не просил).

Есть такая штука, Google Apps, это gmail для вашего собственного домена. Например, для boku.ru, чтоб понятней было.
Раньше можно было залогиниться в me@boku.ru, и этот логин работал для веб-интерфейса почты boku.ru. А логин на гугле работал для почты гугла. Всё логично.

Потом гуглу захотелось сделать универсально. Облачная инженерия, как Спольски это называет.

Гугл сделал так, чтобы любой аккаунт работал везде. Хочешь – логинься в гугле под me@boku.ru. Это здорово!
Но при этом гугл сделал так, чтобы работал только один аккаунт. Хочешь залогиниться на boku.ru – разлогинься в гугле. А вот это уже, друзья и товарищи, слово с буквы П на букву Ц, и совсем не ПЛОВЕЦ. Начинаем перелогиниваться между аккаунтами по десять раз на дню, потому, что гуглу захотелось странного.

Мало того.

Администратор домена Google Apps может включить или выключить дополнительные сервисы. Например, Google Docs для домена. Это хорошо и понятно: если мне Google Docs нафиг не сдался, зачем его держать?

С момента объединения эта система работает чуть иначе: не “дополнительные сервисы внутри домена включаются”, а “обычные сервисы в интернете выключаются”.

Заходишь на youtube, а тебе: администратор домена (какого, блин, домена?) не включил вам этого сервиса.

Чё?

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

Мало того.

Включаю youtube. Включаю ВСЕ сервисы, которые есть, чтобы уж наверняка. Чтоб не обнаружить потом, что меня ещё где-нибудь в интернете превентивно забанил я сам (с услужливой допомогой гугла). Что б вы думали?

Есть сервис, который нельзя там включить. И пользователей Google Apps на него не будет пускать в принципе. Какой же это секретный сервис?

Справка Гугл.

Справка Гугл отключена для вас вашим администратором домена.

В смысле, Гугл… минуту. Я не могу даже нормально сформулировать свой вопрос. Это что вообще такое? Кто придумал банить справку-то? Ну её-то за что?

Ладно. Набираю в гугле “как включить справку гугл”. Находит. Находит несколько страниц об этом в справке. В справке гугл…

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

Этой ошибке уже больше года. Её и не думают исправлять. (Ведь так сложно, наверное). Ни в одном из тредов работники гугла не отвечают.
(Кстати, работники гугла вообще существуют? Кто-нибудь когда-нибудь их в интернете видел? Я вот ни разу).

Итого: пользоваться логинами Google Apps в веб-интерфейсе невозможно. Слава богу, что мне в общем-то нужен только логин по имап, а в вебе я могу оставаться под обычным гугловым аккаунтом.

Но вообще-то говоря, Гугл! У вас много миллиардов долларов, десятки тысяч программистов. Чё, сложно сделать привязку аккаунтов друг к другу, чтоб не перелогиниваться? Чё, оттестировать было сложно все процессы? Чё, мониторить форумы техподдержки большой напряг?

И этот марафон фейла – не первый. Про гугловый IMAP знаете?

Есть стандарт IMAP, поддерживающий папки для писем и теги. Письмо может лежать только в одной папке, но быть помеченным несколькими тегами.
Десяток лет существует стандарт, написана куча клиентов и серверов. И все, в целом, счастливы. Потому, что следуют стандарту.

Появляется гугл. Сопит, оглядывается… Нахоженная тропа не для слонов: прётся через кусты:

У гугла папки работают как теги. А теги не работают никак.

То есть, гугловые теги ваши IMAP-клиенты просто не получат. А получат папки, но только если письмо перенести из одной в другую – оно окажется в обеих. Разумеется, клиенты сходят с ума, и с гугловой почтой никто нормально работать долгое время не мог.

Как можно было такое написать – просто крыша едет. Либо программисты, либо менеджеры были либо без мозгов, либо с клешнями. Либо всё это вместе.

Но всё это было давным-давно в тридесятом царстве, и как вы думаете, за прошедшие шесть лет, как починил гугл свой имап? (Если вы думаете, что никак – вы правы). С тех пор изменилось только то, что некоторые имап-клиенты приноровились к тому уроду, не без которого в семье, и работают с умственно отсталым братцем особым образом.

А починить свой имап гугл не смог. За шесть лет. С десятками тысяч программистов. Злые языки… да что там, любые языки скажут, что гуглу просто невыгоден имап: они проталкивают идею использования веб-интерфейса своего GMail, а имап – ему альтернатива. Зачем его чинить? Даже напротив: лучше не чинить. Лучше даже сломать. Собственно, поэтому, скажут языки, его и сломали.

Ответить этим языкам нечего, да и незачем, поскольку они правы. Какой там у гугла слоган, “не делай зла?” Правда? Правда-правда?