Уже давно наблюдаю за развитием этого фреймворка, и вот, наконец, созрел до миграции блога на него. Расписывать подробно все его прелести не буду, в сети есть большое количество разных статей на эту тему, но основная идея - Octopress преобразует статьи, размеченные в markdown, в статический HTML-сайт, безо всякого php, баз данных и прочих задумчивых вещей. Причем, все это действо происходит прямо на моем компе, не загружая сервер лишней работой. Все, что остается - синхронизировать полученный HTML-контент с сервером с помощью rsync, например. Разумеется, тут теряется возможность написать пост, сидя в байдаре посреди речки или из открытого космоса - под рукой должен быть, как минимум, компьютер, но для меня это небольшая проблема, тем более, что для сиюминутного графоманства отлично подойдет и твиттер.
Причин для переезда множество и основная - просто захотелось что-то поменять. Wordpress наскучил и начал доставать своими тормозами (генерация страницы за 5 секунд - форменное безобразие на мой взгляд), предыдущий хостер тоже начал демонстрировать со временем признаки упадка в виде 500 Server Error. И даже попытка размещения сайта на VPS и эксперименты с кеш-плагинами для WP проблемы толком не решили.
Заодно, решил поменять и хостинг, ибо со статическим сайтом выбор значительно упрощается: хоть на narod.ru выкладывай. Ну, про narod.ru я пошутил: тамошняя принудительная реклама с легкостью перечеркивает все плюсы, поэтому я выложил сайт на Amazon S3. В течение прошлого года, благодаря кампании free tier (год бесплатного использования Amazon Web Services для всех желающих) я не только познакомился с этими замечательными сервисами, но и перевел туда несколько проектов, так что общение с S3 мне было не в новинку. Для тех же, кто слышит об этом впервые, есть несколько замечательных статей на Хабре.
Ну а теперь напишу небольшую шпаргалку для быстрого развертывания Octopress на домашнем компе с OS X 10.7 и синхронизации его с Amazon S3. В первую очередью для для установки и работы фреймворка мне понадобится git (ставится вместе с Xcode) и Ruby, причем именно версии 1.9.2. В OS X Lion Ruby установлен изначально, но версии 1.8.7, Octopress с таким работать не будет, так что придется обновиться. Итак, приступим:
1 2 |
|
Затем установим RVM (Ruby Version Manager) и вместе с ним Ruby 1.9.2:
1 2 3 4 |
|
Ну и собственно, установим Octopress:
1 2 3 |
|
Дальнейший процесс настройки и использования фреймворка хорошо и подробно документирован на сайте Octopress, поэтому не буду описывать его подробно. А вот о синхронизации с Amazon S3 стандартным для Octopress путем (через ‘rake deploy’) не слишком много написано в сети, так что остановимся на ней подробнее. Для начала нам понадобится утилитка s3cmd. Сама она написана для Linux, но, как показала практика, отлично работает и на Mac. Перейдем в папку с распакованным архивом и запустим в терминале:
1 2 |
|
Программа задаст несколько вопросов о способе подключения и ключах доступа к AWS, узнать которые можно тут.
Затем нам надо сконфигурировать rakefile для работы с s3cmd, для чего добавим в него следующие строки:
1 2 3 4 5 |
|
и установим там же переменные:
1 2 |
|
Привязать доменное имя к сайту на S3 можно через DNS-псевдоним CNAME:
1
|
|
Записи типа A не поддерживаются, но при сильном желании можно смухлевать:
1 2 3 4 5 6 |
|
Где 178.236.5.70 - IP адрес нашего сайта на S3 в данный момент. Можно привязать имя к этому адресу:
1
|
|
Вот тут и заключается главная проблема такого подхода: S3 использует балансировку нагрузки и IP-адреса постоянно меняются, подставляя наименее загруженный сервер в датацентре, а используя запись типа A мы лишаемся этой возможности. Вдобавок, нет никакой уверенности, что датацентр не сменит свои IP-адреса в будущем. В общем, рекомендовать привязку имени через запись A можно лишь в самом отчаянном положении при невозможности пользоваться записями CNAME.
Ну а дальнейшие действия просты: пишем посты на markdown, кидаем их в папку octopress/source/_posts
и генерируем сайт:
1 2 3 |
|
P.S. Для любителей нестандартных хостингов можно порекомендовать статьи о размещении сайта c Octopress на Heroku (и еще тут), Github и даже Google App Engine. Во всех этих случаях можно, кстати, размещать сайт совершенно забесплатно, но в ущерб посещаемости (GAE), скорости работы (Heroku) и закрытости исходников (Github).
P.P.S. Кстати, за время тестирования (примерно 2 месяца, правда, с небольшим трафиком) этого и 3-х других сайтов Amazon предъявил мне счет всего на 1.18$!
]]>Но иногда случается так, что этого раздела у вас нет. Произойти это может по разным причинам: установка системы 10.7 традиционным для хакинтоша способом (загрузка с образа, полученного совмещением BaseSystem.dmg и папки Packages от InstallESD.dmg), переносом системного раздела с другого диска или ошибками при апгрейде с 10.6. Раньше, до выхода 10.7.2 создать нужную схему разделов можно было только путем полной переустановки системы. Но теперь, вместе с выходом 10.7.2, Apple выпустила Lion Recovery Update. Использовать его по прямому назначению при отсутствии Recovery HD не выйдет - апдейт заявит, что обновлять ему нечего и закончит работу. Но выход, конечно же, есть: будем использовать его внутренности без спроса.
Итак, качаем апдейт, монтируем диск и распаковываем сам pkg куда-нибудь:
1
|
|
внутри папки RHD на рабочем столе находим еще один RecoveryHDUpdate.pkg - этот файл, в отличие от предыдущего распаковывать не обязательно, достаточно просто щелкнуть на “Show Package Contents” в Finder’е. Вот в нем-то и будет самое интересное: образ RecoveryHDMeta.dmg и папочка Scripts. Монтируем RecoveryHDMeta.dmg и выполняем следующий скрипт:
1
|
|
По окончании работы скрипт выдаст долгожданное: Creating recovery partition: finished
Вот и все, Recovery HD создан на текущем диске, можно перезагружаться.
P.S.перед перезагрузкой хорошо бы обновить загрузочный кэш на новом разделе:
1
|
|
Итак, DSDT я выложил на Google Code (вот). Вдобавок к этому еще комплект драйверов: свежайшая сборка ethernet-драйвера AppleIntelE1000E.kext, собранная для 10.7, фиксы для AppleHDA.kext, профиль для управления питанием (идентификатор компа MacPro5,2) ну и конечно же FakeSMC.kext с патченым плагином IntelCPUMonitor (пофиксено определение частоты FSB для Nehalem) и фиксом оранжевых иконок дисков. С большой долей вероятности все это подойдет и для других плат серии Intel DP55XX, необходимо тестирование. Загрузку я провожу с помощью загрузчика XPC (см. тут, но это уже дело привычки), видеокарту завожу с помощью поля device-properties в Device Tree.
Если кому пригодится, то вот еще данные для заводки видеокарты XFX HD6850 (использую фреймбуфер Duckweed). Для XPC следует преобразовать plist-файл с помощью gfxutil:
1
|
|
Содержимое полученного txt-файла необходимо добавить в settings.plist загрузчика XPC.
That’s all, folks!
]]>Вот, собственно, запросто подарю кому-нить лицензию (нужно мыло и имя).
P.S. самое приятное, что каждый, получивший подарок сможет в, свою очередь, одарить еще троих и т.д.
]]>Для тех, кто не в курсе, XPC - наиболее удачная, на мой взгляд, идея загрузчика Mac OS для PC, использующая в своей основе эмуляцию UEFI (DUET) от Tianocore.
К недостаткам проекта я бы причислил чрезвычайно медленное развитие (за последний год он практически остановился), закрытость исходников, и отсутствие толкового сайта (все анонсы публиковались в IRC-канале).
Теперь, надеюсь, дело сдвинулось!
]]>А помните, когда-то давно, чуть ли не в самой первой публичной (или не очень) бете Safari 4 была такая фича - Save as Web Application? Куда она потом исчезла и зачем? C ней пропала бы нужда в не шибко-то удобном Fluid, и даже в монструозном Adobe Air, и вообще, настала бы мировая гармония и красота. Досадно:(.
]]>Видео, понятно объясняющее как пользоваться Google Wave. Мне, к слову весьма помогло с этим вейвом разобраться:). P.S. Вот еще одна хорошая ссылочка с очень подробным (англ.) руководством.
]]>Всему виной, конечно, нехватка времени, лень и, увы, трагическая гибель дорогой мне платы Intel dp35dp. Замену толком не нашел, использую скромненькую asus p5gc-mx/1333 на которой и так все замечательно работает, что очень плохо сказывается на желании что-либо менять или разрабатывать.
Зато, под конец года решил я избавится от всевозможных нематериальных предметов, которые мне ни к чему, а кому-нибудь очень пригодились бы. В итоге у меня собрался следующий списочек подарков, которые я с легкостью отдам всякому попросившему осталось следующее:
Вот. Если в ближайшее время отремонтируют demonoid - раздам приглашения и туда:).
P.S. Пожалуйста, не спрашивайте о приглашениях на Хабр/Dirty/Лепру - их у меня нет.
P.P.S. Вот тут тоже большая раздача инвайтов на wave.
]]>Upd: Карта покрытия по Твери в настоящий момент.
]]>О, сколько нам открытий чудных…
Все лежит тут:
Хотя на всякий случай продублирую и у себя:
]]>Вот так, все достаточно прозрачно и функционально. Если кратко, то алгоритм такой: идет загрузка в shell, выбирается efi-раздел dvd (в моем случае fs4:) и запускается файл /efi/boot/bootx64.efi. Характеристики компа: плата asus p5gc-mx/1333, процессор - pentium e2180.
]]>Видать, и впрямь чего-то нашли:).
]]>Особенно, если это Mighty Mouse от Apple. Проработала, зараза, всего полгода и теперь окончательно перестал вращаться шарик. Все это время я ее берег, всячески чистил, заботился об этой дуре, как о родной, но увы - шарик позавчера бесповоротно застрял. В итоге я не выдержал и разобрал-таки ее (о том, как это сделать достаточно подробно расписано тут), тщательно прочистил и склеил обратно. Проклятый грызунский шарик проработал ровно час и застрял снова.
В общем, купил я самую дешевую мышь фирмы logitech за скромные 250 руб. и доволен до невозможности: когда я нажимаю правую кнопку, то нажимается именно правая, а не средняя или левая, боковых кнопок хоть и нет, но не разъезжается уже ни с того, ни с сего экран expose от их совершенно непреднамеренного нажатия и самое главное - колесо крутится! Хоть и не в 4 стороны, а всего в две, но крутится и с очень четко ощущаемым шагом! Красота, одним словом.
Ну, а Apple Mighty Mouse - заслуженный позор, более отвратительной и нежизнеспособной мыши я еще не видел.
]]>Как собирать?
1 2 3 4 |
|
скорректируйте пути, соответственно вашим.
c:\Edk\Sample\Platform\DUET\Build\config.env
, дабы измнить в нем следующие строки:1 2 3 |
|
редактируем файл c:\Edk\Sample\Platform\DUET\Build\duet.env
, если хотим убрать/добавить какие-либо efi-фичи.
запускаем консоль (cmd.exe) и в ней:
1 2 3 |
|
сборка может занять продолжительное время.
1 2 |
|
перевтыкните флешку и:
1
|
|
На самом деле, на этих платах EFI (точнее, x64 UEFI) конечно же есть, но с двумя упущениями: полностью отсутствует консоль (shell) и… поддержка режима AHCI. Последнее особенно странно, учитывая, что в CSM (“эмулятор” биоса, через который мы обычно работаем) эта поддержка реализована. Возможно, в более современных биосах или платах на P45 или X58 она и добавилась, но на моей DP35DP с bios 0517 ее нету.
Все дальнейшее описание производится для операционных систем типа FreeBSD или Mac OS X. Впрочем, найти руководство по работе с разделами GPT EFI под Windows при помощи diskpart совсем несложно. Много полезного содержится, например, тут. Итак приступим:
1 2 |
|
кидаем в него shell в папке /efi/boot/
(например этот, от Tianocore EDK) или любой другой efi-модуль, названный bootx64.efi (этот путь обязателен: /efi/boot/bootx64.efi
!) и имеющий x64-архитектуру.
перезагружаемся и переключаем контроллер в ide-режим, сохраняем настройки и заходим в экран Boot Options (F10).
Должна получится примерно такая картина (Windows Boot Manager не в счет - запись в nvram осталась в наследство от давно снесенной висты):
выбираем “Internal EFI Shell – Hard Drive” и грузим наш efi-shell (или что-нить другое). Если надпись не появляется, система виснет при загрузке или возвращается обратно в boot options - обновите биос (у меня на 0517 все гарантировано работает, на 03ХХ и 04ХХ были проблемы) и убедитесь в том, что загрузочный efi-файл имеет архитектуру x64.
ура, мы в консоли:
Весь вечер убил на то, чтобы по-человечески настроить перманентное VPN-соединение под Mac OS на уровне сервиса (pppd daemon). Насколько легко и непринужденно это делается в винде, настолько же мутно и необъяснимо это настраивается в unix-like среде.
Зато, картину хорошую узрел! Художник - Николай Копейкин, тот самый, который сотворил ”Слонов Петербурга”.
Нравится!
]]>Идея, конечно, не нова, но уж больно красочно соединили здоровскую песню и видеоряд:).
]]>По наводке отсюда. А тут еще очень много вкусного непосредственно от автора.
]]>