Category: it

vanity

Как перенести базу данных Пикасы на другой диск, если сама она этого не умеет

История с тем, что Пикаса (Picasa) не умеет хранить свою базу данных на других дисках, кроме системного, регулярно всплывает в форумах, разговорах и прочих религиозных диспутах. Начинается каждый раз одинаково. «Я пользуюсь лайтрумом, мне нравится вроде, а вы? — А я эйсидиси, мне нравится, как он тормозит. — А у меня фастстон, быстрый и тупой. — А у меня ирфан! Плоский, как отвёртка!»

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

Но! Современная наука выяснила, что это всё же можно сделать, и нужно для этого всего полчаса шаманства. Из них пять минут на собственно решение задачи, остальное — чтобы понять, как. Для этого понадобится Windows XP или Виста, диск, отформатированный в NTFS (можно проверить в свойствах диска, где должна найтись строчка «Файловая система NTFS»). И небольшое удобное приложение Link Shell Extension. Бесплатное, что весьма кстати.

Вся процедура дальше выглядит так.

  1. Закрыть Пикасу и её агента в системном лотке (если он был, внизу, рядом с часами).
  2. Установить Link Shell Extension (835 кб). Перезагружаться не надо.
  3. Открыть каталог, где лежит папка Пикасы. В большинстве случаев это где-то здесь: C:\Documents and Settings\(имя пользователя)\Local Settings\Application Data\Google\
  4. В другом окне (например, с диском D:) открыть папку, куда нужно перенести базу данных.
  5. Перенести туда всю папку Picasa2. Подождать, пока всё переместится.
  6. Убедиться, что папка Picasa2 не осталась по старому адресу. Если осталась — удалить.
  7. Кликнуть в окне с диском D: по свежеперемещённой папке Picasa2 правой кнопкой, выбрать в меню пункт Pick Link Source.
  8. Вернуться в окно с диском C:, где Пикаса была раньше. Кликнуть по папке (в нашем случае это Google) правой кнопкой, выбрать в меню Drop... Junction.
  9. Убедиться, что внутри появилась папка Picasa2.
  10. Запустить Пикасу, убедиться, что всё работает.

Примечание: иногда, если сразу поставить третью версию, то и папка будет называться не Picasa2, а (сюрприз!) Picasa3. Процедура от этого не меняется: перенесли архив, сделали на него ссылку, забыли обо всём этом, как о страшном сне.

Теперь что происходит на практике (если из последовательности не всё понятно): все данные в папке Picasa2 фактически переносятся на другой диск и будут отныне жить там. C неё из старого места обитания сделана ссылка, которая всегда будет вести туда.

Чем это чревато? Ничем, если в одной из версий парни из Гугла не решат папку перенести самостоятельно. А до тех пор (я думаю, ближайшие лет десять) можно спокойно жить, не мучаясь тем, что на системном диске место неуклонно сокращается вместе с ростом фотоархива.

Пользуйтесь сами, и расскажите друзьям, что не всё потеряно для них, и пикаса - хоть и противный, но не самый ужасный кусок кода на этой планете.

* * *

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

 
 

vanity

«Говорит Хьюстон, даём обратный отсчёт» // Afisha.ru, Релиз 7.0

UPD (16 июля, 13:42):
Починили. Всё работает нормально, Афиша не тормозит и находится в рабочем режиме.

UPD (16 июля, 13:24):
Да, Афиша лежит с утра. Нет, дело не в нагрузке, а в настройках. Нагрузка там минимальная, ждём, когда починят.

UPD (15 июля, 23:16):
Запустились. Домены переведены.

* * *

Сегодня тестовая версия уже видна без пароля, и кто-то начинает рассматривать спешно допиливаемый фронтенд Афиши 7.0. И, хотя «ключ на старт» будет дан уже сегодня ближе к вечеру, из-за обновления DNS-записей реально новую Афишу всем будет видно лишь завтра.

Итак, релиз 7.0, первая страница, с которой Афиша начинается для большинства людей:


Что будет (слева) и что было (справа)
(По клику полная версия, JPG 1.1 МБ)
  • Во-первых, информации теперь на «морде» выдают в два раза больше, чем прежде.
  • Вместо единого столба появилось зонирование в виде блоков по темам, и стоят ссылки на основные события или объекты в данной теме.
  • Навигацию существенно порезали — вместо двух меню и выбиралки расписаний осталось одно меню и навигационный блок «Расписание-Каталог-Места», который не имеет официального названия, и я его зову «Разводилкой» (потому что это одно из основных средств для посетителя, идущего в конкретную тему).
  • Огромный блок под шапкой — отличное средство для анонсирования Самых Главных Событий.
  • Наконец, похоже, рекламы стало меньше по объёму (видимо, временно — если судить по пустой правой колонке).

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

Сейчас всё функционирует почти нормально, и самое смешное пока — это баги в вёрстке и оформлении, плюс некоторые недоработки в интерфейсах, да артефакты, возникающие после миграции всей афишной базы объектов, рецензий, блогов и пользователей на новую платформу. (Есть отдельный прекрасный список того, что ещё не реализовано в 7.0, но я пока не буду его цитировать — придушат шнурком.)

Всё или почти всё будет исправлено в будущем.

Сегодня — последние правки, ещё должна появиться Welcome Page с описанием основных вкусных вещей в новой версии. Завтра и послезавтра — проход через плотный слои атмосферы, когда придётся столкнуться с массой новых исправлений, баг-репортов, отзывов и ругани. К четвергу основные проблемы будут ясны, и тогда уже сайт можно будет считать официально открытым и взлетевшим, а Afisha Digital после краткого перерыва спокойно перейдёт к работе над следующими версиями.

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

 

souloveme?

[ utx ] Вперёд, на поиски хостинга

К сожалению, оказалось, что для shared-хостинга ютх слишком затратен. К сожалению, Полоски с удовольствием выедали большую часть ресурсов той серверной машины, где жили. К сожалению, Текстдрайв-dedicated пока невменяемо дорог (от 1к USD в месяц, при том, что взять сервер в аренду стоит около 50-100 USD).

Поэтому я пока временно отключаю регистрацию, и также временно отключается добавление записей в каталоги. У нас недельный таймаут на размышление и переработку планов (так как мои планы по запуску новой версии, понятное дело, „неожиданно“ становятся невыполнимыми, пока мы не перенесём сервис в надёжное гнездо).

UPD: Сервис выведен из строя полностью, мне потребуется некоторое время, чтобы перевести запросы на другую хостинговую машину.

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

Несмотря на это, customer service оказывается в минусовых оценках — лишь сегодня мне сказали, что загрузка слишком большая, времени на миграцию не оставили, доступ отключили полностью (ssh/mysql). Да, дампы выложили по запросу. Но это совсем не конструктивная позиция. То есть, ситуация очень похожа на ту, что была с Livejournal/DMCA, когда разобраться-то можно, но поддержке это не нужно, а пользователь может долбиться в неё сколько угодно.

 
 
 

  • Current Music
    muslimusic.net - Нежное Это - Совершенный пустяк
vanity

[ L ] Dabble DB — гибкая база данных, фреймворк, конструктор и симпатичный интерфейс

Dabble DB сочетает в себе черты одновременно и Ning (среды, которая предназначена для построения различных социальных сервисов, причём строить и придумывать эти сервисы должны сами участники сообщества) и Google Base — судя по описанию на SolutionWatch, конструктор приложений позволяет собрать различные приложения, просто отобрав нужные поля, типы данных и соединив их. Даббл, похоже, принимает на себя всю возню с обработкой данных и их преобразованием (так, даты „сегодня“, „завтра“ или „через неделю“ начинают становиться стандартом в интерфейсах, не заставляя людей открывать календарь и тыкать в нужную цифру).

Другим вкусным решением являются любимые мной „виды“ (они же срезы, режимы, контексты и фильтры) — набор настроек и установок, которые сохраняются и к которым потом можно вернуться за один клик. Виды позволяют одну и ту же информацию изучать совершенно по-разному, и в привычных списках добавлять или исключать ненужное, отфильтровывая только значимые сведения. Из до сих пор невероятных (несмотря на то, что в гмайле и в 37сигналовских приложениях это отчасти сделали) решений — наличие отмены действий. Привычное „анду“ приходит и в веб-интерфейсы.

Наконец, в Даббле сразу же предусмотрен импорт/экспорт (из CSV/XLS/VCF, в PDF/CSV/ICAL/HTML/OPML), что делает реальной старое желание vvlad — найти веб-систему на замену палмовому дневнику Daynotez, в которую можно было бы для удобной работы импортировать все записи, и жить долго и счастливо.

Самым последним откровением оказывается, что Даббл написан на смоллтоке. На смоллтоке! Веб-приложение!

 
 

souloveme?

Гугл-базы — будущее или неа?

Нам обещают великое будущее простых сервисов для баз данных от Гугла. А меня больше интересует, когда технологии из „в-табло-софтвер“ станут дешёвыми, доступными и вездесущими, представляя нам простые, удобные и красивые инструменты для доступа и анализа информации из этих баз данных.

Гугл-карты есть (и пикаса с гугл-планетой). Гугл-поиск есть. Гугл-почта есть. Теперь нужно получить такую же прекрасную систему для визуальной, прозрачной работы с БД. Ведь тут же найдутся новые люди, которые могут придумывать запросы к такой визуальной системе, которые могут находить закономерности и искать возможности.

Хочу. Хочу-хочу.

 

vanity

[ L ] Локальная вики, заход номер три: wikidpad и SVN

Краткое содержание: чистый текст — это лучшее и самое универсальное средство. Но всегда хочется большего. Мобильного, простого, совместимого. Поэтому я решила найти вики на текстовых файлах, без сервера и чтобы всё работало. После некоторых раскопок оказалось, что решение есть пока одно — WikidPad. Синхронизация репозитория через subversion. Собственно, эта запись — лишь теоретическая „первая часть“, о том, почему именно wikidpad, и какие надежды на него возложены.

Collapse )

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

А для меня это будет неплохой универсальный архив. Как бы ещё только секьюрити в него встроить...

Также по теме:

 
 
 
 

  • Current Music
    minus 8 - at the beach
vanity

Почему мне нравится Текстдрайв

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

(Текстдрайв — это хостинг-провайдер, к которому перешёл utx.ambience.ru.)

Collapse )

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

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

После этого, как обычно, интересно посмотреть в зону .ру. Из российских хостеров самым активным и вменяемым всё равно остаётся большой Мастерхост, у которого с той или иной степенью постоянства появляются новые проекты и предложения, не так давно (и довольно качественно) была переделана клиентская контрольная панель, а цены вполне близки к дискаунтеровскому уровню (привычному для странных контор типа valuehost). Хотя клиенты не всегда довольны. Как и у текстдрайва. Читать, кстати, про подобные failure-stories подчас гораздо увлекательнее и поучительнее — сразу становятся ясны узкие места сервиса.

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

Текстдрайв — идеальный кандидат потому, что всё, что есть нового, после тестирования оказывается на серверах, о чём и гласят спецификации. Практически все ключевые пакеты в PHP (включая Zend Optimizer, библиотеки PEAR/PECL обновляются еженедельно), Питон, FastCGI для пхп, питона и перла, и даже такая экзотика как lighttpd, плюс работа исключительно через SSH/SFTP.

Да, и это не говоря уже о том, что найти где-то в России вменяемый хостинг, где стоял бы руби, и тем более Ruby-on-Rails — за гранью реального.

А если учесть, что „просто так“ люди покупать хостинг скоро перестанут (потому что сейчас продаётся простой и понятный сервис — хранение фоток, блоги, доменные имена и почта), а покупкой будут заведовать техотделы и сами разработчики, жизнь которых нужно упрощать, а не усложнять, то остаётся предположить, что за Текстдрайвом пойдут другие — а потому те из хостеров, кто не ценит своих клиентов и партнёров, недоглядывая за их потребностями и не слушая жалоб, после окончания срока хостинга не досчитается продлённых контрактов. И не получит новых клиентов. Потому что как только люди понимают, что в хостинге не особенно важна цена, но критичен сервис, они готовы переплачивать за комфорт.

Да, и, пожалуй, Текстдрайв выбрал беспроигрышную модель „выхода навстречу клиентам“, кооперируясь с 37Сигналами (поддерживая все их сервисы и разработку RoR). Благодаря этому не только приходят новые клиенты, но и появляются темы для разговоров. На Мастерхосте, к примеру, стоит регулярно падающий, но всё равно харизматичный лжеплюс. Мастерхост ругают, но без лжеплюса не могут, и продолжают колоться и жевать.

А что я знаю и могу сказать, к примеру, о Peterhost? Ничего, кроме того, что там стоит одно из зеркал Sourceforge.net. А про зенон не могу сказать ничего, хотя он и „крупный“, и „дорогой“, и всё такое.

P.S.: ME <3 TEXTDRIVE

(Когда мне тут разонравится, и когда на мои запросы и тикеты перестанут отвечать, а работать нормально ничего не будет, я напишу отдельно.)

 
 

  • Current Music
    Quantic - Time Is The Enemy
vanity

[ Q ] ПО для фотоаппаратов и камер

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

Называться будет сфотвер.

Предохранение и контрацепция нас спасут. Не забывайте одевать объектив в крышку или убирать камеру в чехол.


  • Current Music
    Weddings — Broken Social Scene
souloveme?

Как вести to-do.txt в EmEditor // версия 2

В прошлой версии нашего рассказа (июнь 2004) было рассказано о том, как вести список однострочных задач в текстовом редакторе, который умеет подсвечивать строки в файле. Мне удалось поработать с этим списком задач примерно с полтора месяца, переделывая его и дорабатывая, после чего к августу появилась совершенно другая схема ведения списка задач, которая и осталась основной. И пока мне нравится.

Что мне мешало, и чего мне не хватало в to-do-однострочнике:

  • В однострочнике не было дат. Первый хак — это вносить каждый день текущую дату, под ней писать задачи, и постепенно выполнять то, что накопилось в предыдущих днях. Но даже с этими датами началась путаница: когда начало, когда конец. Писать обе даты? Нудно и муторно. В итоге было так: дата, несколько строк тасков, выполненных и невыполненных. И всё это выстраивается в длинную „хронологическую простыню“™.
  • Линейное хранение тасков по хронологии погребало их в прошлом. Каждый день — новые таски, новые записи, новые заботы. У меня получалось так, что таски растягиваются на недели и месяцы (в силу качественной и мощно исполненной прокрастинации). Это означает, что среди десятков и десятков выполненных задач где-то в трёхнедельной давности заботах оставались погребены невыполненные задачи. И они меня не пинают. И их надо выискивать и ужасаться, когда окажется ясно, насколько всё запущено. Если переносить все несделанное в сегодняшний день, то пропадала история — было неясно, сколько уже вся эта волынка тянется.
  • Комментарии захламляли однострочник. В однострочную концепцию плохо вписываются дополнительные заметки и объяснения. Именно поэтому и возникла в прошлой версии идея с комментариями к записям.

Что было сделано: комментарии стали официальной частью каждого таска-задачи, а длинная „хронологическая простыня“ первой версии разделилась на две части: таск-лист и хронологию. Общий же формат секций в файле выглядит так:

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

Теперь в таск-листе в самом начале файла висят все текущие задачи в таком формате: дата постановки задачи, текст таска, комментарии (если есть).

- (11.01.2005) обычная задача
// комментарий к этой обычной задаче

Дата постановки задач в скобках помогает сразу визуально отличить таски от не-тасков, пробегая список глазами. Месяц-число помогают быстро отсматривать что-то чрезмерно затянувшееся, чтобы решить — может, этот таск уже пора отменить и выбросить в хронологию, как устаревшую и неактуальную (вариант — проэтосамленную) задачу.

После выполнения/отмены задача отмечается плюсом (редактор автоматически превращает её в светло-серую строку), и я её переношу в хронологию, под сегодняшнюю дату. Это позволяет потом посмотреть, какие задачи были выполнены за день, а заодно и примерно оценить, сколько времени прошло от постановки задачи до её выполнения. Обычно это катастрофичские цифры, если таск не решается одним-двумя днями кодинга или проектирования.

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

Интересно, что для того, чтобы мотивировать себя на выполнение тасков, хронология начинается со страшного красного заголовка „ВСТАВЬ НОВУЮ ДАТУ“ — практика показывает, что когда ты вставишь сегодняшнюю дату, у тебя сразу появляется желание её „заполнить чем-нибудь“, желательно полезным. По крайней мере, так это работает у меня.

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


vanity

[ utx ] Спецсимволы в названиях категорий, или избегание неоднозначности

Сейчас в названии категории может быть использовано подчёркивание или тире, как правило — для разделения слов. А может и не быть использовано, тогда слова разделяются через ВерблюжийРегистр — склеивая слова, и первую букву приклеенного слова делая заглавной. Из-за этих вариантов возникает интересный вопрос — что делать, когда пользователь не помнит, что он написал в прошлый раз, two_words, two-words или вообще twoWords?

Если в случае two_words, two-words ещё можно приравнять тире к подчёркиванию (и считать их одним и тем же), то в случае с twoWords это не поможет — и у нас будет две разных категории.

Пока единственная здравая мысль — вообще срезать все спецсимволы, и не хранить их в базе записей (тогда останется лишь гладкая и чистая строчка twowords). Но в этом случае список категорий невозможно будет вывести корректно. И в нём появятся всевозможные somelongcategory или ещё что пострашнее (centralasiankicksmartianacidyellowllamasass). Ужас. Негуманно и бесчеловечно.

И, важно учесть ещё, что, хотя категории в базе лежат в смешанном регистре (и так и выводятся в списке категорий, если посмотреть), но для системы регистр не важен, и twoWords, TwoWords и twowords для неё — одно и то же. (Это приравнивание было сделано как раз, чтобы не заставлять людей помнить, что же они там в прошлый раз написали в качестве категории — большие или маленькие буквы, и чтобы у меня в списке названия SPB и spb были одной категорией, а не двумя, а также ещё и потому, что база данных тоже по умолчанию не различает регистр букв).

Где-то на пересечении этих ограничений лежит ответ...

Теоретически, можно ввести нормализованные категории — то есть в списке категорий показывать их названия „по-человечески“ (то есть так, как они записаны в постах), а в базе данных хранить строки без спецсимволов и приведёнными к единому нижнему регистру. Это модель, по которой работает Wacko Wiki и ровно также поступает GMail с адресами пользователей (из-за чего можно писать some.user или SomeUser и всё равно почта дойдёт нормально). Но это же значит, что таблица категорий увеличится на треть. С другой стороны, индекс уменьшится процентов на 15-20 5-10...

А ещё меня ужасает идея, что иногда пользователю нужно поменять тридцать (сто?) записей, чтобы все перевести их в другую категорию. И вот на вопрос пользователя „а быстрее можно?“ у меня ответа пока нет, и это уже совсем другая история...

  • Current Music
    Galactic Funk (Tau Ceti Mix) — DJ Spooky