2010-12-09

Masterhost и Почта

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

Раньше я обслуживался по тарифному плану "Эффективный", и успел наплодить энное число пересылок - для меня очень удобно, чтобы сортировать почту от разных источников. Хостинг был оплачен до января будущего года, на днях пришло напоминание о том, что надо продлевать. Но теперь мой тариф переехал в раздел "архив", и самым близким из действующих оказался "Доцент'11", который стоит тех же денег, при этом расширяет дисковое пространство в 4 раза (до 6000 Мб против 1500 ранее) и - внимание - не содержит ни одного упоминания про почту.

И тут я понял, что попал. Особенно наглядно это видно из сообщения в твиттере от службы поддержки: 


Будьте аккуратны со сменой старого тарифа на новый! Если текущую почту предварительно не мигрировать, она будет утрачена на нашем сервере!
3:59 AM Dec 7th via Twitter for iPad



Ура! Наша "Почта" - на сайте http://masterhost.ru. Новая, модная, гибкая и абсолютно безлимитная! Теперь это ОТДЕЛЬНАЯ услуга.
1:23 PM Dec 7th via Tweetie for Mac



У меня пересылок довольно много. Я решил разобраться, сколько мне теперь надо будет заплатить. В итоге, внимательно изучив приложение к договору оферты на почту (см. список), я пришел к выводу, что за 30 рублей в месяц я получаю всё тоже самое, что и было. Но вдобавок еще и какие-то новые фичи, а также возможность подвесить туда почту от нескольких доменов, при условии, что они хостятся у Мастерхоста (иначе надо платить 7р/мес).

Что касается дополнительных денег за почту, то Мастерхост предполагает их делать на допуслугах. Вводится различие - ящик может быть "домашний" и "рабочий". Рабочий - сильно платный, но зато:

  • поддержка MAPI (синхронизация с Microsoft Outlook);
  • поддержка ActiveSync, PushMail и доступ с мобильных устройств;
  • групповые календари, контакты и задачи.
Превратить "домашний" ящик в "рабочий" можно за 15 рублей в день (или даже 60 коп. в час), но в месячном исчислении получается уже сопоставимо с самой ценой хостинга - от 443 руб/месяц.

Самое обидное, что мне всех этих фич не надо совсем - я храню почту у себя на компьютере и в архиве GMail, причем в последнем я пользуюсь возможностью шарить календари. Решив взглянуть, сколько будет стоить платный ящик Google, ужаснулся - $50  в год на пользователя. Но это, скорее, предложение для предприятия: для меня, как частного владельца домена, явный перебор с фичами (см. подробнее). 

Поэтому, видимо, придется рассмотреть предложение о подорожании моего хостинга на 10%.

Или искать провайдера для обслуживания MX-а для моих доменов.

Или настроить самому MX (почтовый сервер).

Или перенести хостинг к другому провайдеру.

2010-11-30

Open Source!

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

2010-11-15

HTC Desire Z - скоро!

Вот уже больше месяца жду поступления в продажу HTC Desire Z - еще со времен Nokia N810 я прикипел к клавиатурным наладонникам - видимо сказалась еще более ранняя ненависть к экранным клавиатурам в PalmOS (по причине наличия в 100 раз более удобного граффити). Однако, время шло - PalmOS плавно загнулся вместе с его Граффити и Граффити2 (кстати, к ним был иск от патентодержателя - Xerox), а экранная клавиатура не имеет тактильной отдачи и привыкать к ней не хочется.

Я перечитал кучу обзоров по сходным устройствам, в том числе:


Нашел блог единомышленника по ожиданию его появления в продаже - Павла Старовойтова.

Пока что оно появилось в ассортименте OZON - там можно купить только HTC Desire HD, по стандартной цене. С одной стороны - "ожидаемая дата поступления" каждый день сдвигается вперед, с другой - за заказ уже можно платить ;) В онлайн-магазине htc-online.ru принимаются предзаказы еще и на HTC Desire Z, у обоих магазинов есть программы лояльности - так что можно прицениться и выбрать лучшее предложение.

Но, тем не менее - пока что "пощупать" девайс не получается, и я продолжаю ругаться на свой плавно подтормаживающий G1 ;)

2010-10-27

Льготная подписка заканчивается

Сегодня мне приехали сразу четыре номера LinuxFormat за этот год (по полугодовой подписка), и - я погрузился в чтение. И в тот момент, когда я с интересом изучал сравнение WebOS, Android и Maemo5, опубликованное в августовском номере, мой G1 изволил показать мне письмо о том, как же повысятся цены на подписку LinuxFormat с ноября:

  • Бумажная версия с DVD: было 150, стало 180;
  • Электронная версия в PDF: было 100, стало 120.
Пока читал статью, понял, что в первом полугодии 2010 года были выпуски со статьями про программирование под Android... Сделал себе пометку на будущее о том, что этот подписку на LinuxFormat прерывать нельзя. Льготная подписка будет действовать еще 4 дня.

2010-10-13

Книга про программирование для Android

Наконец-то нашел нормальную книгу по Android!


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

Базисам, включая установку среды, посвящено первые 23 страницы, никакой воды или занудного дублирования скриншотов диалоговых окон "Are you sure?". Затем пример простейшего приложения под Android с пояснениями. После всего этого глава-введение в логику приложения для Android - что такое Activity (в книге - Деятельность ;), жизненный цикл (по какому принципу система удаляет деятельности ;), что надо писать в манифесте. Ну а потом уже более подробно про расположение виджетов (Layout - типа контейнера), про сами виджеты - простые и с привязанными списками, про уведомления, меню и диалоговые окна.

Отдельная глава посвящена жизненным циклам Activity, описываются механизмы стека деятельностей, намерений (в том числе - широковещательных), кратко написано про службы.  Далее - про сохранение пользовательских настроек (ах, какая прелесть - совсем как Saved Preferences в PalmOS! :) и работа с SQLite. Последние главы посвящены ресурсам, локализации, отображению графики и даже примитивам для работы с анимацией.

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

В целом - еще раз убедился в том, что BHV издает только качественные книги. Был удивлен, что нет в Озоне, поэтому забирал из Линуксцентра самоходом. Это мое второе посещение - по ощущением, кризис их не коснулся, напротив - все завалено товарами, народу сидит больше, один чел по телефону суппортит пользователя, кажется по Linux. Наверное, сказывается наплыв заказов на льготную подписку LinuxFormat - в любом случае, я за них порадовался ;) 

2010-10-06

Linux Format возвращается

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

И вот - ура - времена меняются, и я снова оформляю подписку на 2 экземпляра, еще пока по старой цене - 150 руб. за номер. Чего, кстати, всем советую - еще ни один журнал не оказывал такого мощного воздействия на мои знания: взять, хотя бы, цикл статей про Arduino... Цена продержится недолго - только до конца октября :(

К слову сказать, пару месяцев назад начал покупать выпуски в "Первой полосе", прямо в метро. Это очень удобно и даже слегка дешевле. Сначала, конечно, тетеньки неадекватно реагировали на мой вопрос про журнал "Линуксформат", но потом - ничего, привыкли и больше не удивлялись. Так вот - свежий октябрьский выпуск в Линуксцентре стоит 250 руб, а в "первой полосе" 199 рублей. Правда, купить можно только номер за текущий месяц...

Вместе с тем, стоит заметить, что подписка на текущий год, даже на 6 номеров, обойдется все еще по 150 рублей, а некоторые книги не купить даже в Озон-е. Взять, например, книгу Голощапова про программирование под Android.

2010-07-23

Ubuntu: Not Authorized

Сегодня был возмущен наглостью системы: вставил флешку, а в ответ мне сказали, что я Not Authorized. И так вообще на любую попытку подмонтировать внешний носитель...  Да и автологин куда-то пропал - после перезагрузки приходится набирать пароль. В этом месте надо пояснить, что у меня пока еще Karmic, 9.04.

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

Первым делом, конечно же, советуют проверить привилегии пользователя:

sudo users-admin, затем выбираем свой аккаунт, жмем Properties (Свойства), Привилегии пользователя (User Privileges) и следим за галочной на пункте "Монтировать пользовательские файловые системы" / "Mount user-space filesystems (FUSE)". Дальше отлогиниться, залогиниться и типа будет счастье.

Однако, мне это не помогло - уж точно не помню, стояла ли галка - я их даже на всякий случай поставил все, все равно! Наконец, помаявшись с час, я нашел своё лекарство:

sudo apt-get install --reinstall policykit policykit-gnome && reboot

И сразу всё стало на место. Что характерно, про опцию --reinstall, увы, нигде не пишут - а она-то в данном случае ключевая...
Блогун - монетизируем блоги

2010-06-15

Your distro, your rules

По работе пришлось решать попутную задачу сборки собственного дистрибутива Devil Linux aka DL: так я познакомился с Linux From Scratch (существует онлайновая книга, где концепция LFS изложена довольно подробно). После apt-get и dpkg несколько непривычно, но что-то в этом есть. Основная идея: "твой дистрибутив - твои правила". Я бы добавил сюда "...и твои проблемы" ;) Конечно, если есть документация - просто следуйте ей и будет все ОК. На момент написания статьи документация на последнюю версию DL пребывала в состоянии дописывания, поэтому пришлось поразбираться самостоятельно, благо не очень сложно. Основными ресурсами, которыми пришлось запастись, оказались терпение и свободное место на жестком диске ;)



Хотя с сайта и скачивается дистрибутив 1.4RC4,  в CVS такого тэга я не обнаружил, и поэтому сначала ошибочно взял за основу своих экспериментов 1.4RC3. Однако, очень скоро я понял - при самостоятельной сборке надо брать всё самое последнее (более подробно об этом см. ниже) и собирать с самого начала.

Строим рабочее окружение

Выбираем какой-нибудь каталог (советуют /usr/src, но реально-то надо там, где хватит свободного места - после компиляции у меня оказалось занято около 8,5 Гиг).

Перво-наперво, убедитесь, что у вас есть утилита lftp - если нет, поставьте пакет (apt-get lftp) или качните исходники и скомпилируйте: ftp://ftp.devil-linux.org/pub/devel/sources/tools/. Наличие lftp - обязательный пункт программы.

Сначала качаем базовый архив бинарников Linux From Scratch для DL, он же lfssystem, который обитает в ftp://ftp.devil-linux.org/pub/devel/sources/ - заходите и выбрайте соответствующий каталог (например, lfssystem-for-DL-1.3.4_and_up), далее надо распаковать содержимое - можно сразу из-под рута. Не пугайтесь, просто в DL существует очень немного пользователей, и единственный с настоящей консоль - root, поэтому именно он является владельцем всех файлов в архиве:

sudo tar -xjf lfssystem-SVN-20070314-cleaned.tar.bz2

Далее качаем исходники базовой системы DL из CVS с анонимным доступом на чтение, складывая внутрь распакованного каталога:

cd lfssystem/data


сvs -d:pserver:anonymous@devil-linux.cvs.sourceforge.net:/cvsroot/devil-linux login


sudo cvs -z3 -d:pserver:anonymous@devil-linux.cvs.sourceforge.net:/cvsroot/devil-linux get build

Наконец, вынимаем архивы исходников-компонентов при помощи специального скрипта:

cd build/


sudo ./update_src

Это довольно длительный процесс, к тому же при использовании зеркал (а почти все они - неработающие), его надо сделать дважды - второй раз надо указать главный сервер №1, чтобы скачать самые распоследние  исходники компонентов.

Замечу, что из CVS вы только что получили сборочные скрипты последней версии. CVS хранит все ревизии исходных файлов для каждой версии дистрибутива DL, но вот беда - они логически привязаны к исходникам программ, которые лежат на ftp и, следовательно, имеют всего одну "версию". Поэтому собрать более ранние версии DL, обновите CVS по тегу и ищите файл md5sum.lst - там перечислены все имена файлов с исходным кодом. К счастью, основная их часть выложена на ftp в каталогах "0.5", "1.0", "1.2", "1.4", но как видите - это только основные ветки. Не исключено, что, например, для 1.2.5 придется добыть десяток-другой пакетов исходников. С другой стороны, надо еще поискать педанта, которому все это понадобится.   

Пока идет закачка, добавляем себе alias в ~/.bashrc или ~/.bash_alias:

alias cr='sudo chroot /полный/путь/к/рабочему/каталогу/lfssystem /usr/bin/env -i HOME=/root TERM=$TERM /bin/bash -login'

После выполнения будут подсчитаны md5 для скачанных файлов и после сравнения скрипт может выругаться на те, у которых она не сошлась. Не скажу, что это нормально, но попробовать собрать все-таки можно (на то она и девелоперская ветка). Мне надо было получить ядро 2.6, поэтому пришлось примириться с мелкими несостыковками и пожертвовать некоторыми ненужными программами. Надеюсь, к тому моменту, как вы прочтете эту статью, мэйнтейнеры уже все пофиксят ;)

Компилируем "с нуля"

Настало время расчехлить наш alias! Выполняем cr и попадаем в каталог /data/build с рутовыми привилегиями. Если набрать makе без параметров, он покажет возможные варианты запуска.

make unpack

Закаченные исходники сейчас покоятся в каталоге /data/build/src, по этой команде они все будут распакованы в /data/build/tmp.

make menuconfig 

Попадаем меню конфигурирования. Здесь конфигурится всё. Можно выбирать приложения, некоторые специфические драйвера, тип/количество процессоров, число параллельных процессов make.  Кстати, лично меня сразу же начала раздражать разговорчивость скрипта /data/build/scripts/settings, чтобы его успокоить, поставьте в последней строке перенаправление STDERR в никуда:

test -n "${PACKAGEDIR}" && cd ${PACKAGEDIR} 2> /dev/null

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

После этого, по идее, все готово к сборке... ну разве что исправить в /root/.bash_profile определение временной зоны с EST на Europe/Moscow (надо перелогиниться, конечно же).

make prepare


Вывода вы не увидите, он будет аккуратно сложен в  /data/build/tmp/LOGS/prepare/*.

make build


Тоже самое, но логи будут складываться в /data/build/tmp/LOGS/build/*. Сборка происходит для всех пакетов, вне зависимости от того, что выбрано в конфигурации. Все пакеты должны собираться нормально, но у меня не смог завершиться ./confire для git, причина была в отсутствии в базовом бинарном пакете LFS /usr/bin/python. Чтобы избавиться от git можно зайти в Makefile.build и удалить оттуда эту цель. Так можно поступать с любыми проблемными пакетами, если от них не зависят другие пакеты. В противном случае придется предметно разобраться, в чем причина и сделать патч, чтобы пакет все-таки собирался.

make install

Происходит выполнение цели install у всех Makefile всех программ. Учтите, что для некоторых пакетов нельзя сделать make install повторно: он может неожиданно завершиться с претензией о том, что какой-то каталог/файл уже, видите ли, создан.

make iso

Происходит "стаскивание" всех компонентов в каталог tmp/ISO, формирование рутовой файловой системы, а затем все необходимые шаги для получения файла tmp/bootcd.iso.

ГОТОВО!

Я смог дойти до конечного результата только спустя сутки, что даже на моем не самом отсталом Duo T5550/1.83 - мучительно долго. Кроме того, приходилось начинать несколько раз заново: unpack-prepare-build-install-iso. Казалось бы, можно "переигрывать" тот или иной пункт сборки довольно просто - удалить флаг tmp/FLAGS/<фаза>/<программа> (например, после удаления tmp/FLAGS/build/linux make build должен по-новой запустить компиляцию ядра). Но на практике, надо знать некоторые зависимости и особенности, иначе - нас ждет unpack-prepare-build-install-iso.

Если Вам интересно прочитать о составе программ и про то, как работать с этой сборкой (так сказать, информация для пользователей) - рекомендую статьи Александра Деревянко - часть 1 и часть 2.

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

2010-06-03

Open Office

Недавно общался с коллегой и выслушал стандартное мнение по поводу того, что Microsoft Office надо покупать, потому что контрагенты все равно присылают информацию в .docx и, типа, не все документы Microsoft правильно открываются в Open Office. 

Да, это правда. Например, счет от конторы Platan.ru, который они засылают в справочном порядке, хоть и в формате .rtf, но сводит с ума и Google Docs, и Open Office.

Но пользоваться OpenOffice я и не подумаю бросать: ибо подготовленный в нем документ гораздо более вероятно будет открыт - и в Microsoft Office, и в OpenOffice.

А еще - на днях к моему коллеге приходил студент-дипломник и принес с собой материалы в формате .odt - который, конечно же, посмотреть не удалось - потому что мой коллега Open Office почему-то не установил.

Ну, тут каждый решает сам.