Tom Adler’s blog

количество var на область видимости

одна из идей, которые продвигает Дуглас Крокфорд (и, следовательно, его JSLint) — что на одну область видимости aka scope должно приходиться максимум одно ключевое слово var. Узнав об этом, я некоторое время пытался следовать рекомендации, а потом даже задумал написать об этом пост. Но поиск ссылок по теме довольно быстро привёл меня к опровержению: по спеке яваскрипта количество var в scope не имеет значения, и браузерам действительно пофиг.

парсер — лох

вместо самого кода писатели на хабре начали вставлять в тексты картинки с этим самым кодом

интересно, что нам это говорит о сайте? : )

иронично, кстати, что и программистов хабра, и писателей подводит тяга к красоте

следующая картинка, ссылка, заголовок

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

для ff есть куча плагинов, имеющих отношение к картинкам. Пожалуй, ближе всего к желаемому варианту подобрался AutoSlideshow, но он тормозит и глючит : ( Кстати, хочу обратить внимание на Cooliris, который можно протестировать, например, на миртесен.

как обычно, если тебя не устраивает ничего из существующего, приходится писать свой вариант. Образцом послужил очень ненавязчивый интерфейс перехода по ссылкам и по заголовкам в опере. Если включить в ней «однокнопочные хоткеи», то переходить к следущему заголовку можно кнопкой S, а к предыдущему — кнопкой W. Для ссылок работают A и Q, соответственно. Поскольку E и D уже заняты, я решил использовать F для следующей картинки и R для предыдущей.

в общем, рекомендую установить скрипт «Next Image/Previous Image», зайти, например, сюда и понажимать кнопку F. Или R.

самый полезный микроформат

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

я считаю, что одно из самых часто выполняемых в интернете действий — это переход по ссылке на следующую в списке страницу. Без страниц никуда. Раньше «пейджеры» почти все были строго цифровыми, потом начали распространяться дополнительные надписи «следующая» и «предыдущая», и стало удобнее. Но можно сделать ещё лучше!

многие страницы не умещаются на один экран, и их приходится прокручивать. Мне было бы жалко потерять веру в человечество, поэтому об использовании для этой цели скроллбара даже не буду говорить. Остаётся не так много способов: колесо мыши, «pan» мышью (обычно после клика средней кнопкой), стрелки, кнопки pgup/pgdown и пробел.

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

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

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

для этого уже очень давно подходящей ссылке можно установить атрибут rel="next". Именно его я и считаю самым полезным микроформатом. Знатоки, вероятно, возразят, «какой же это микроформат, он есть даже в спеке html4», и будут правы. Тем не менее, чёткого определения микроформата нет, а некоторые из существующих, типа rel-tag и rel-directory очень близки герою этой заметки. Кроме того, поддержка в браузерах у него как раз на уровне микроформатов ; )

итак, берём ссылку на следующую страницу, задаём ей атрибут rel="next", и всё шоколадно. Как вариант — делаем то же самое с элементом link в head. Это работает, но есть один ньюанс: мы все знаем, сколько веб-авторов читают спецификации и следуют им. Поэтому опера не ограничивается поиском таких элементов, но ещё пытается найти ссылки со словами next/следующий/forward/→/->/=> и так далее. Получается не всегда, но довольно часто, и то хлеб.

ну а что же другие браузеры и, не побоюсь этого слова, обозреватели? В сафари я такого пока что не видел, но буду рад, если меня поправят. «Самый расширяемый браузер» тоже отчасти не у дел, и вот почему. Да, к нему есть пара плагинов NextPlease и Link Widgets. Последний притворяется Navigation Bar из оперы, показывая кнопки-ссылки next/previous/first/last/home/index. Первый решает только задачу обнаружить ссылки на предыдущую и следующую страницы, но решает хорошо, за одним исключением — не поддерживает «умный пробел».

впрочем, проблемы не страшны, если в наших шаловливых ручках user javascript! Установите простой скриптик «Smart spacebar → next page», и протестируйте его хотя бы в поиске гугла. Думаю, вам понравится : ) А user feedback может сподвигнуть меня и на более продвинутый поиск следующей страницы. Хотя, по-хорошему, поддержку этого нужно встраивать в NextPlease.

жалко, что такую вещь не получится сделать в Thunderbird, потому что читать письма пробелом в опере тоже очень удобно — заканчиваешь одно и переходишь к следующему. Впрочем, если кто-то прикрутил жирную обезьяну и к почтовику, честь ему и хвала.

и да, не зажимайте пробел, чтобы быстро промотать к концу страницы ; )

,

шок, двойной шок!

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

The following NEW packages will be installed:
  emacsen-common libcompfaceg1 xemacs21 xemacs21-basesupport xemacs21-bin xemacs21-mule xemacs21-mulesupport xemacs21-support
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 33.1MB of archives.
After this operation, 107MB of additional disk space will be used.

для описания этого у меня нет цензурных слов. СТО СЕМЬ МЕГАБАЙТ!!! Да эклипс меньше весит, с его-то репутацией. И эти люди запрещают ковырять ругают bloatware…

но ладно, скрепя сердце, поставил этого монстра. Запустил. И понял, почему оно столько весит. Для машины времени нужна большая программа. А xemacs перенёс меня точнёхонько в 1973 год, по крайней мере, интерфейс его выглядит точно как у Xerox Alto — первого компьютера с гуём. Ребят, прошло уже тридцать пять лет, а вы так себя не уважаете. Вы ещё клавиатуру от пишмашинки к компу подключите, чтобы «классические ощущения» сохранить.

эх, разочарован : (

если что, я не знаю, сколько весит vim, но имхо его интерфейс тоже сосёт. Даже несмотря на то, что выходить из него я могу не только резетом.

update: просто emacs получше выглядит. Немного. Но скроллбар слева? А как насчёт сглаженных шрифтов?

,