Позднее Ctrl + ↑

Обновление сайта «Зерулса»

Кстати, в понедельник не только вышел Зерулс для Айфона (распродажа скоро кончится, покупайте скорее), но и обновился сайт.

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

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

Заодно исправлены глюки:

  • «в Хроме, если остановиться на секунду подумать, стирается концевой пробел в набранном запросе»;
  • «если в поле запроса ввести знак +, он исчезает в Сафари»;
  • «если на сайте ввести „ghbvth “ в поле поиска, то снизу, в ссылке на Я.Словари, всплывает + в конце»;
  • «во как можно: therules.ru/comma-9/#q=<script>alert();</script>»;
  • «в Опере отваливаются римские цифры в оглавлении» (хотя может в каких-то старых всё ещё отваливаются, но хрен на них);
  • «иногда при заходе по урлу с диездом крутилка крутится бесконечно и не превращается в лупу».

Ещё я прописал мета дескрипшен, и выдача Гугля по запросу «правила русского языка» стала прекрасной. Яндекс пока тормозит, хотя уже поставил Зерулс на первое место (ещё недавно было позорное второе).

Наслаждайтесь.

К чёрту

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

Ё-моё, хочется сказать, ну заведи себе попугая, натренируй его говорить то, что тебе нравится, и трынди с ним хоть целыми днями — пускай он тебя посылает куда пожелаешь.

А история о том, что «Ни пуха ни пера!» — это, на самом-то деле, вовсе не пожелание удачи, не имеет никакого значения в современном мире. Слово «хуй», может быть, тоже является повелительным наклонением глагола «ховать», но смысл его сегодня совсем другой.

Первое место в русском Апсторе

Я подумал, что если вы не читаете мой твиттер, то вы, наверное, не в курсе, что меньше чем за сутки наша программа «Правила русского языка» поднялась на первое место среди платных программ в русском Апсторе. Мы молодцы, а вы, кто её купил, — тоже молодцы, спасибо вам.

А ещё мы уже засубмиттили версию 1.1, в которой исправлен краш на Айфоне 3Г, который случался у некоторых при быстром вводе-стирании букв в поиске. Заодно немного улучшили сам поиск для некоторых запросов и ещё пару мелких помарок поправили.

Музподкаст № 12: Пситранс в 2010 году

Прошлый выпуск был 20-минутным — я думал, что более короткие выпуски я смогу делать чаще, но это оказалось ерундой, всё равно фиг найдёшь время. А уж если нашёл, то лучше сделать полноценный подкаст.

Поэтому новый, 12-й выпуск — снова часовой (даже чуть больше). В нём — пситранс всех оттенков, выпущенный в 2010 году и понравившийся мне (29 песен). Да, ещё я решил забить на тормозной и глупый Гаражбанд и свести всё в Лайве, поэтому получился непрерывный микс на скорости 145 ударов в минуту.

00:00 Explicit: Inspiration Feeling (Inspiration Feeling)

Psilocybian: Wry Figments

05:31 Analena

07:30 The UFO Guy

09:10 Succumb

Artha

11:00 DNA (Fluori Dolbi)

12:31 Transfusion (Influencing Dreams)

14:47 Bali (Influencing Dreams)

Organic Soup: The Myth Of Organic Soup

15:28 Surfing Bird

16:52 Lumberjack

Black & White: Life In Color

17:45 Soul

19:31 Bumper (feat. PTX)

Infection Of The DJ: Vector Sounds

21:21 Mexican Culture

26:39 Beach Nights

28:52 Dirty Colors

31:07 Zugar Motions

32:59 Fractal Bomb (with Exemia)

District 42: When Trance Meets Electro

36:23 Electro Disco

38:09 Exotic Beach Party

40:20 French Sensation

Astrix: Special TD

41:13 Pixel & Space Cat: Clear Test Signal (Astrix remix)

42:04 Adventure Mode

42:30 Wrecked Machines & Astrix: Angel Return

Beat Hackers: Dominator

43:12 DJ Vengeance

46:04 New Year Around The World

Ananda Shake: The World Is Yours

49:13 The World Is Yours

50:49 Ananda Shakes Radio

53:01 Jummper

55:40 Scarface

57:52 Epic Melodic (трек года по версии Ильи Бирмана)

Звоните в подкаст!

Правила русского языка для Айфона

С первого же дня сайт «Зерулс» хорошо работал и отображался на Айфоне (скриншот в старой заметке). Но хорошо — не безупречно: вёрстка параграфов не была специально заточена под маленький экран, и, главное, всё работало медленно, потому что мобильный интернет тормозной. Опять же, за интернет надо каждый раз платить, да и где-то он вообще не ловит.

Теперь — так:

Правила русского языка для Айфона

Всё до мелочей продумано и оптимизировано под использование на телефоне. Все параграфы полностью перевёрстаны и переоформлены так, чтобы идеально смотреться на экране. Каждая анимация переделана по 100 раз и теперь выглядит идеально. Всё работает очень быстро, гладко и чётко. Безо всякого интернета.

Приложение называется «Правила русского языка». См. также страницу у меня в портфолио со скриншотами и описанием.

Мы сделали это с Шуриком Бабаевым. Дизайн делал я, а программировал он (а ещё мы использовали некоторые наработки Романа Парпалака для сайта). Про процесс разработки я рассчитываю ещё написать подробно, но не могу не отметить, что Шурик — мегакрутой. Он даже не поленился повторить фирменную крутилку с сайта, в которую превращается лупа от поиска! Правда, толком увидят её лишь пользователи старых айфонов, на которых прога успевает её показать. Короче, если вам нужно сделать программу под Айфон, пишите Шурику — alex@touchdev.ru.

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

Цена до Нового года составляет бакс, а потом вырастет до трёх. Все нормальные ребята покупают программу себе, детям, жёнам, мужьям, любимым девушкам, парням, мамам и папам, братьям, сёстрам, друзьям и врагам, сотрудникам всех отделов, секретарю и водителю. Кстати, тем, кто был готов купить за 3 доллара и больше, предлагаю дождаться Нового года. Жадинам напомню, что уродские учебники (которые пылятся на полке из-за того, что в них нет умного поиска) стоят дороже.

И ещё: все дизайнеры должны купить себе приложение хотя бы для того, чтобы посмотреть, как надо делать приложения для Айфонов (99,9% всех приложений делают криворукие уроды). Ну и, конечно, все дизайнеры должны знать правила тоже.

Почём правила

В твиттере ребята спрашивают: почём правила? Для ответа на этот вопрос обратимся к интернет-магазину «Озон.ру». Сайт утверждает, что те, кто искал «правила русского языка», купили следующие книги.

Все правила русского языка

С. В. Колядко, И. Л. Копылов. Все правила русского языка — 207 рублей (~ $ 7)

Все правила русского языка

Другие анонимные Все правила русского языка — 176 рублей (~ $ 6).

Правила русского языка. Орфограммы для учащихся 1-6 классов

О. Д. Ушакова. Правила русского языка. Орфограммы для учащихся 1-6 классов —97 рублей (~ $ 3).

Таким образом, уродские и неудобные бумажные книги, которых, к тому же, всё время нет под рукой, когда они нужны, люди покупают в основном по цене от трёх до семи долларов.

Как вернуть ранки по колонке?

Вот смотрите. Я могу отсортировать табличку, например так:

SELECT * FROM BAProtocols
WHERE StartID = 123
ORDER BY TimeAtFinish

Получится какая-то такая таблица результатов гонки (запрос сильно упрощён, конечно, потому что все остальное — не суть).

Могу отсортировать табличку иначе:

SELECT * FROM BAProtocols
WHERE StartID = 123
ORDER BY Bib

Тогда получится старт-лист, типа такого.

Вчера на «Биатлонтайме» появилась возможность сортировать индивидуальные гонки по колонке Ski time, это типа чистое время. Поскольку в базе я храню только итоговое время, то чистое приходится вычислять как итоговое минус штрафы за промахи минус судейские корректировки:

SELECT
<много всего>,
(
  BAProtocols.TimeAtFinish
  - IF (BAProtocols.S1Misses > 0, BAProtocols.S1Misses * 60000, 0)
  - IF (BAProtocols.S2Misses > 0, BAProtocols.S2Misses * 60000, 0)
  - IF (BAProtocols.S3Misses > 0, BAProtocols.S3Misses * 60000, 0)
  - IF (BAProtocols.S4Misses > 0, BAProtocols.S4Misses * 60000, 0)
  - BAProtocols.Adjustment
) _skitime
FROM BAProtocols
WHERE StartID = 123
ORDER BY _skitime

Предвосхищая вопрос «Нахрена иф?»: потому что я храню −1 в стрельбе, если человек вообще не стрелял (бывает, люди не доезжают до финиша, это нужно отражать в протоколах), а 0 означает «чисто отстрелялся».

Получается такое. Кстати, любопытно посмотреть, какое колоссальное значение в индивидуальной гонке имеет качество стрельбы: например, пятая по чистому времени Мириам Гёсснер, в итоговом протоколе даже не попала в очки и оказалась 53-й. Но сейчас не об этом речь.

Дело в том, что при сортировке по чистому времени можно сказать, что каждый спорсмен «занял какое-то место», то есть имеет какой-то rank (не знаю, как по-русски) именно по этому критерию, например, Магдалена Нойнер — 1-я по чистому времени, а Ольга Зайцева — 10-я. Можно ли как-то заставить базу данных вернуть мне именно эти ранки по интересующим меня колонкам, не сортируя таблицу по ним?

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

То есть, короче, мне нужно по нескольким колонкам вернуть не только их значения, но и натуральные числа, которые означали бы, какой по счёту была бы эта колонка, если бы я отсортировал по ней. Если в колонке одинаковые значения у нескольких строчек, то их ранки должны быть равными, а ранк следующих должен быть таким, как если бы они про повторы ничего не знали (то есть, 1, 2, 3, 3, 3, 6, 6, 8, 9, 10).

Технические ограничения, если это важно: MySQL, MyISAM. Помогайте, пожалуйста.

Готовьте бабки

Важная новость:

The status for the following app has changed to In Review.

Картинка для привлечения внимания (и для тех, кто ещё не врубился, о чём новость):

Готовьте бабки

Это значит, что вам нужно готовить бабло, так как скоро, наконец-то, будет, на что его потратить. Если вы ещё не научились покупать программы в Апсторе, пора по-быстрому разрулить все вопросы с кредитками, подарочными кодами и всей остальной шелухой, чтобы быть во всеоружии.

Эсемески от разных служб

Разгребая скриншоты на телефоне, нашёл ещё вот что. Как поздравляют с днём рождения Ютел и Альфа-банк:

Эсемески от Ютела и Альфа-банка

Ютел знает, когда у меня день рождения, но не знает, как меня зовут. Это чудесно. И те и другие пишут отвратительное «Вы» с большой буквы.

Совсем клинический случай — это эсемески от «Диван-ТВ»:

Эсемеска от Диван-ТВ

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

Ранее Ctrl + ↓