«Индиана» — самописанный движок на питоне, на котором работает «Тёплый край» и ещё парочка интранет-сайтов. Не более чем велосипед, но велосипед удобный лично мне. Умеет при должном запинывании изображать блог, ленту ссылок, библиотеку, мини-форум и мини-вики.
Сейчас под планшетами понимают айпады и андроиды — устройства консьюмерские, предназначенные в первую очередь для потребления контента. А десять лет назад планшетами назывались Tablet PC: компьютеры (в смысле PC) с Windows и перьевым вводом.1
Tablet PC были дороги и позиционировались как «компьютеры для мобильных профессионалов». Кто это такие, было не очень понятно, но ясно было, что считаться мобильным профессионалом очень престижно, а мой Tablet PC создал мне репутацию мобильного профессионала в коллективе, куда я устроился на 5-м курсе.
С тех пор я неуклонно повышаю свой уровень мобильного профессионализма.
Например, года полтора назад я установил себе на айпад замечательную программу под названием Editorial, которая позволила мне писать посты и публиковать их на сайт прямо с айпада. (У меня в черновиках валяется недописанный пост с подробным описанием этого процесса; когда/если он будет опубликован — здесь на него будет ссылка.)
Скрипты в Editorial позволили мне, во-первых, писать текст поста в удобном редакторе, а не в окошке браузера; во-вторых, легко исправлять и переопубликовывать пост, если в нем были опечатки; в-третьих, удобно выбирать и загружать на сайт фотографии, причем с поддержкой srcset
и прочего фарша.
В итоге механизм оказался настолько удобным, что почти все посты (особенно с фотографиями) я стал писать на айпаде, обычно — подключая bluetooth-клавиатуру.
К сожалению, в iOS 9 сломали переключение раскладок с аппаратной клавиатуры: оно было на Cmd-Return и работало нормально, а стало на Ctrl-Return и глючить — то переключать, то нет. Я плюнул и начал писать посты при помощи экранной клавиатуры. Вышло вовсе даже не ужасно, разве что пришлось некоторые команды, которые прежде вызывались клавиатурными сочетаниями (кавычки, тире, вставку гиперссылки), вынести на панельку.
А недавние события подтолкнули меня пойти дальше. Я теперь часто сижу с дочкой на руках, но даже если она спит, смотреть я могу максимум в телефон: для айпада или для книжки нужны всё-таки обе руки.
В общем, предыдущий и этот посты я ради эксперимента полностью набил, отредактировал и подготовил к публикации с телефона. Editorial в его телефонной версии содержит все те же возможности, что и айпадовская версия, так что проблема только в том, что места на экране мало, и за нужными командами приходится лезть в меню.
Кажется, теперь я чуть лучше понимаю эту кучу людей, которые говорят, что планшет им не нужен — они всё могут сделать на телефоне.
Да здравствует мобильный профессионализм!
Тэги: warmland
Написать комментарий
Антон Угнич, разработчик «Джуика», выкатил великолепную вещь: juick-standalone. В изкоробочном виде это один html- и один js-файл, а всё вместе выглядит вот так.
Я, конечно, не большой фанат сайтов, написанных на джаваскрипте, но за эту возможность ухватился обеими руками: я давно облизывался сделать трансляцию своего микроблога сюда, но выходило слишком много работы.
То, что получилось после внесения небольших изменений, можно увидеть в разделе «Микроблог».
Самая большая засада — кодировки. API «Джуика» возвращает всё в UTF-8, я же со своим движком застрял в прошлом веке. Отчаявшись раскодировать это дело нормально, я был вынужден совершить ужасный грех: fix1251.js.
Может быть, кто-нибудь знает, как такое сделать по-человечески?
В любом случае, правильный путь развития — перенести всё это на сервер, где можно и перекодировать, и закэшировать, и пристойно отформатировать посты.
Тэги: juick, warmland
Написать комментарий
Я несколько лет выпиливал лобзиком, мучился, и хоть бы одна собака сказала мне про величественность jQuery! Ну то есть я, конечно, слышал это название, но насколько кардинально jQuery меняет клиентский скриптинг — честно говоря, не представлял.
Всё дело, собственно, в том, что меня заело сделать нормальную галерею для фоточек вместо той галереи в стиле конца девяностых, что у меня была. Как оказалось, ничего сложного нет.
Сам скрипт можно посмотреть здесь: gallery.js. Он очень простой и наверняка в некоторых местах неоптимальный, но меня на первый раз устраивает.
Первый кусок добавляет в DOM-дерево элементы для оверлея и всплывающего окна с картинкой. Функция set_position
позиционирует и показывает окно с картинкой, а заодно и окно с текстом «Loading». Следующие три функции срабатывают при завершении загрузки картинки, щелчку по миниатюре и щелчку по кнопке закрыть или большой картинке, соответственно.
Кроме написаная самого скрипта, потребовалось чуть-чуть изменить скрипт генерации галереи. Вот что он выдаёт (курсивом помечены новые фрагменты):
<div style="float: left; margin: 0.5em; text-align: center; width: 150px; height: 160px"><a class="gallery" href="/users/helgi/g/parade/images/dsc_5805.jpg"> <img src="/users/helgi/g/parade/thumbnails/dsc_5805.jpg" alt="dsc_5805.jpg" title="Голова первой колонны"></a><br>Голова первой колонны</div>
И, конечно, пришлось дописать несколько строчек в таблицу стилей:
#gallery_overlay { position: absolute; left: 0; top: 0; opacity: 0.8; z-index: 900; background: black; display: none } #gallery_image, #gallery_loading { position: absolute; display: none; z-index: 990; background: white; padding: 10px; border: 1px black solid; width: auto } #gallery_image a { float: right; padding: 2px 5px; cursor: default; border: 1px solid; font-size: larger }
На работающую галерею можно посмотреть, например, здесь.
P.S. Кстати, моё собственное правило о границах применимости клиентских скриптов соблюдено: очевидно, что без джаваскрипта всё будет работать как прежде.
Тэги: indiana, webdev
Комментарии (9)
Починил закоррапченный репозиторий «Индианы». Даркс, конечно, хорошая штука, но у формата репозитория darcs-1.0 есть досадная проблема: эталонное дерево (pristine tree) лежит просто в виде таких же файлов, как и рабочая копия. Итог:
desktop.ini
, и опять-таки даркс решил, что они там были всегда.Способ, которым я починил репозиторий, чудовищен: я открыл старые патчи и тупо отредактировал их. Слава доброму дарксу, в меркуриале, который считает идентификатором патча хэш от него, это бы не прошло. Так что теперь репозиторий снова консистентен, и его можно клонировать, ура.
Хорошо, что у меня репозитории приватные (правда, зараза, их немало) — я смогу спокойно заменить коррапченные репозитории чистыми.
Дальше надо переходить на даркс версии 2.3, а потом на формат darcs-2.0.
Тэги: darcs, indiana
Написать комментарий
Опять же по итогам поднятия бложика на работе понял одну вещь. Я всегда считал, что тэги, которые существуют как, скажем, записи в таблице — это ересь. Тэги, как мне казалось, всегда должны быть отражением текущей картины. Нет, конечно, это удобно — взять и переименовать один тэг — но вряд ли нужно (сломаются ссылки, например).
Да и вообще: когда ты сам всё пишешь, тебе же лучше знать самому, когда какой тэг ввести и от какого отказаться. А если имеет место user-generated content, то всё равно будут тэги вида «паразиты клещ». Пользователям никто не указ.
Но есть одна ситуация, где заготовка тэгов впрок нужна. Это промежуточная ситуация: не помойка, а коллективный журнал (наподобие ЖЖ-сообщества для узкого круга). Вот там было бы полезно обсудить набор применяемых тэгов, а потом их создать, тем самым ограничив творческие способности «узкого круга».
Тэги: b2, работа
Написать комментарий
На работе мы подняли сайт на моём движке, конечно, не такой, как «Непостижимые поля». Там всё чинно: полезные советы из жизни си#, объявления о новом инфраструктурном коде и прочая программистская рутина.
Интересно другое. Я вновь получил то, чего мне, оказывается, не хватало два последние года: мгновенную отдачу при разработке движка.
Оно понятно, что отдельно должна быть боевая установка с реальными данными, а отдельно — тестовая, где фичи отлаживаются, а баги устраняются. И что даже мелкие изменения, а уж тем более крупные переделки надо устраивать в тихом уголке, где ничего нельзя запортить.
Но где тогда брать те эмоции, которые сопровождают правку кода на горячую, прямо по живому, на боевом сайте? Страх ошибиться пополам с предвкушением: вот сейчас, ещё строчка — и фича заработает!
Нет, крупные изменения, конечно, нельзя вносить не запланировав, не продумав, не оттестировав. Но зато и мелочью, если понимаешь, что эффект от неё появится через месяц-другой, после регулярного обновления, заниматься не хочется совершенно. Зачем? Успеется.
Редакция от 8 октября 2009
Тэги: indiana, программирование, работа
Написать комментарий
Я понимаю, что это страшный боянище, но я с интересном узнал, что, по мнению «Яндекса», у меня на сайте используются золотисто-берёзовый, тёмно-золотой и антрацитовый цвета. Да, и ещё немножко бежевого.
На самом деле оттенки, конечно, немного другие. То, что «Яндекс» назвал антрацитовым, к примеру, на самом деле простой #333, темнее и без благородной сини.
Тэги: design, warmland
Написать комментарий
В дополнение к трансляции в ЖЖ теперь действует и трансляция в журнал Targi на Я.ру.
Я таки сделал это уродское облако; более того, что-то очень похожее я показываю в списке авторов. Мне не нравится, но остальные варианты ещё хуже.
Вывод всех тэгов по алфавиту в столбик не подходит для задачи «посмотреть, про что много написано», а вывод всех тэгов так же, но по количеству записей не годится для поиска взглядом.
Да и вообще в столбик очень много тэгов получается.
Можно сделать два метода сортировки — но см. предыдущий абзац. Так что пусть будет облако, пока ничего лучше не придумалось.
Заодно я переделал вывод страницы архива ссылок. А комментарии от гостей теперь скрываются только те, где есть ссылки (сделал по примеру Каганова).
Тэги: indiana, webdev
Комментарии (6)
Есть две крайности, два формата. Можно «вести блог», и в нём писать отзывы на прочитанные книги. Этот формат слишком вольный. Конечно, можно извернуться, завести отдельную ленту, проставить тэги для жанров и авторов — приблизительно так устроил Роман Парпалак свой Киноблог. Но в любом случае блог — это удобная навигация по дате и неудобная — по всем остальным измерениям.
Вторая крайность — это привязка отзывов к книгам. Тогда сразу всё становится просто и понятно: надо посмотреть отзывы на переводчика — ищем навигацию по переводчику, и так далее. Проблема возникает в другом месте. Не всегда отзыв пишется на конкретную книгу. Роман может выйти в двух томах. Сборник может быть «разобран» на рассказы, но писать отзыв удобнее на сборник как единое целое. Иногда хочется написать что-то об авторе вообще или о целой серии книг.
Наверное, лучше всего решена эта проблема в «Лаборатории фантастики»: там отзыв можно написать к любой сущности, будь то произведение (одиночное или составное), сборник или серия.
Тэги: library, webdev, мета
Написать комментарий