суббота, 30 апреля 2011 г.

Починил Ubuntu

Разобрался с недавней проблемой связанной с языками меню. Все из-за моих местами кривых ручек. Кроме проблемы с меню обнаружил следующее: при попытке ткнуть Переход->Computer(Network) выскакивало сообщение "Nautilus не может обрабатывать адреса «computer(network)»". Кроме того автоматом не монтировались флешки и прочие носители. И если с проблемой языка я как-то смирился, то жить с данной проблемой желания не было. Поиском по убунтовским форумам нашел, что возникает это из-за glib собранного вручную, что я когда-то проделал, собирая gllib для arm, забыв поменять префикс /usr/local на что-нибудь другое (например, не используемый в ubuntu /opt). В результате чего возник конфликт версий или еще что-то страшное. Вылечил радикально:
sudo mv /usr/local /usr/local.old && sudo mkdir /usr/local 
Благо в Ubuntu директория /usr/local используется для хранения всего, что собрано из исходников. После перезагрузки все заработало как и прежде. За сим иду смотреть клипы веселые, например, придурков Bloodhound Gang.

пятница, 29 апреля 2011 г.

Оформление доверенности

Надо оформить доверенность от организации на мое имя, чтобы забрать продукцию с завода. Пришел вчера в канцелярию, спросил что делать - выдали образец, сказали, что директора и замдиректора нет, поэтому доверенность должен подписать и.о. замдиректора такой-то.  Бумажку я оформил по образцу, понес подписывать. Мне говорят, вообще-то этот товарищ не и.о. замдиректора, а зам. директора - главный инженер, иди исправляй. Ну делать нечего, пришел на рабочее место, подправил, распечатал. Пошел подписывать - замдиректора на совещании, просят подождать. Иду на обед. По возвращении с обеда заглянул к замдиректора, он говорит, что скорее всего не имеет права подписывать бумажки такие и надо идти в канцелярию узнавать. Ну делать нечего, иду, объясняю ситуацию. Девушка позвонила куда надо, уточнила, действительно - не может подписывать. А может только сам директор, замдиректора (другой уже, не тот который главный инженер) и и.о. директора. Еще сообщили в канцелярии, что у меня доверенность не по форме (но это скорее всего мой косяк, так как вчера я сказал, что надо забрать продукцию, а на деле надо провести акт приемки и подписать всякие бумажки UPD. Хотя в образце тоже упоминалось о подписях и прочих формальностях, так что не мой). Иду обратно, переделывать. Пока переделывал, все замы, исполняющие и главбух успели уйти куда-то.Жду. Никого нет - пятница, а значит придется оформлять на следующей неделе после праздничков.

вторник, 26 апреля 2011 г.

Возобновление работ по SDR

После долгого перерыва решил возобновить рисование схемы и платы SDR-приемника. Пока появилось свободное время (а  всего оно опять исчезнет в ближайшем будущем). Посмотрев на начатую когда-то разводку, решил снести ее и проработать схему более тщательно. К великой печали моей случился облом с заказом недорогих печатных плат на www.expert-pcb.ru (сайт закрыт, платы более изготавливаться не будут), ищу другие варианты (может быть "Резонит" или "Вис-плюс"). Один слой можно сделать дома самому, два слоя же хочется отдать на сторону, чтобы была металлизация, зеленка, шелкография и прочее. Если кто знает где можно заказать - прошу в комментарии.

суббота, 23 апреля 2011 г.

Ubuntu и снова locale

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

четверг, 21 апреля 2011 г.

Запуск Debian Lenny на AT91SAM9XE512-S3E

Пытался запустить Debian на платке. Пользовался мануалом http://lab.starterkit.ru/index.php?option=com_content&task=view&id=25&Itemid=9 Но к великому огорчению u-boot, который записан во флешку, не поддерживает загрузку с SD/MMC. Пришлось грузиться с tftp: ядро zlinux положил в папку /tftpboot у себя на ПК, в u-boot задал переменные:
  • setenv serverip 192.168.0.1 - адрес tftp-сервера
  • setenv bootargs rootwait=5 root=/dev/mmcblk0p2 console=ttyS0,115200 mem=64M - корневая фаловая хранится на втором разделе SD-карточки
Набрал в командной строке run tftp_boot, пошла загрузка ядра, затем подцепилась корневая файловая, платка получила адрес по dhcp. Залогинился по telnet - внутри debian linux со всеми потрохами, правда ядро староватое - 2.6.24, но я думаю здесь это некритично.

понедельник, 18 апреля 2011 г.

mc и segmentation fault

Midnight Commander 4.6.1 при попытке редактирования файлов выдавал segmentation fault. Нашел описание проблемы в багрепорте http://www.midnight-commander.org/ticket/2356. В 4.7.5 баг уже исправлен, а собирал более старую версию по причине того, что 4.7.5 отказывалась линковаться статически (динамическую линковку не осилил, ибо какие-то странности с библиотеками, находящимися на плате). Сегодня удалось собрать последнюю версию mc (сижу на работе, удаленно подключаюсь к домашней тачке через ssh, конфигурирую-компилирую, время от времени посматриваю в консольку - красота и времени не отнимает много). Вечером попробую запустить и посмотреть что получится.

воскресенье, 17 апреля 2011 г.

/bin/sh и export

Сегодня наконец-то узнал как запускать скрипт, чтобы переменные окружения передавались родительскому /bin/sh. А запускать надо . path-to-script (точка-пробел-путь к скрипту)

суббота, 16 апреля 2011 г.

Сборка mc для arm-linux

Решил собрать mc, чтобы запускать на платке с linux'ом. Подробно процесс сборки стоит описать, ибо много всяких моментов в нем, может кому-то пригодится (например, сборка glib2.0 - очень веселое занятие). Пока скриншоты.



четверг, 14 апреля 2011 г.

Уроки бизнеса

Урок 1
Муж заходит в душ, в то время как его жена только закончила мыться. Раздается дверной звонок. Жена наскоро заворачивается в полотенце и бежит открывать. На пороге сосед Боб. Только увидев её, Боб говорит: «Я дам Вам 800 долларов, если Вы снимете полотенце». Подумав пару секунд, женщина делает это и стоит перед Бобом голая. Боб дает ей 800 долларов и уходит. Жена надевает полотенце обратно и возвращается в ванную. «Кто это был?» - спрашивает муж. «Боб, сосед», - отвечает жена. «Прекрасно, - говорит муж, - он ничего не говорил про 800 долларов, которые мне должен?»

Мораль истории: делитесь с акционерами информацией о выданных кредитах, иначе Вы можете оказаться в неприятной ситуации. 

среда, 13 апреля 2011 г.

Работа с uart в linux

Руководствуясь "Serial Programming Howto", которое гуглится влет, написал небольшую программку, которая принимает данные по UART с ПК и пересылает их обратно, точнее накопипастил и исправил мелкие косяки. С ПК отправляю данные при помощи gtkterm. Прием асинхронный, при помощи сигналов.




понедельник, 11 апреля 2011 г.

Weapon of Choise



Помню, в детстве, смотрели этот клип. Интернета не было и каналов телевидения было всего два или три. Крутили по РТР в перерывах между передачами. Крутили часто, на фоне всякого шлака смотрелось круто. Особенно нравился клип сестре. Естественно, про fatboy slim мы тогда не знали. Потом когда в универе уже дорвался до интернета, случайно наткнулся на клип.

суббота, 9 апреля 2011 г.

Тест трекбола 1 день

Развел платку почти за один вечер, используя трекбол. По началу было неудобно, уставала рука, но теперь более-менее привык и рука, мне кажется устает меньше при разводке плат. 
Пока что:
  1. Не надо елозить всей рукой или кистью. Особенно это напрягает в прямом и переносном смысле при рисовании мелких деталей. Здесь же можно шевелить пальцами. Однако, иногда бывает трудно переместить курсор в нужную точку - с "прицеливанием" пока туго.
  2. Шарик достаточно массивный и трение маленькое - значит его можно крутнуть один раз, чтобы переместить с одного конца экрана на другой.
  3. Есть две дополнительные кнопки, но в каких-то программах они работают, в каких-то нет, а в каких-то функции могут отличаться. Пользуюсь пока только в файрфоксе: правая верхняя - вернуться на предыдущую страницу, левая верхняя открывает ссылку в новой вкладке, открывает/закрывает таб если щелкнуть на панели табов. Пальцем трудновато дотянуться.
  4. Привычные клавиши расположены снизу. Я нажимаю большим и указательным пальцами, что пока тоже не очень удобно. Средние пальцы лежат на шарике.
  5. Вокруг шарика есть удобное кольцо для скролла страниц и прочего. Кручу безымянным пальцем. Нареканий нет.
Говорят, привыкание возникает через неделю пользования. Может быть через недельку клавиши будут нажиматься бодрее и удобнее. Пока все основные неудобства из-за клавиш.  

четверг, 7 апреля 2011 г.

Трекбол Kensington

Дали попользоваться на неделю такую штуку http://us.kensington.com/html/2200.html Пока непривычно, тестирую. Может быть решится проблема уставания руки при длительной работе, особенно с разводкой плат.

 

AT91SAM9XE512-S3E

Выдали платку, чтобы написал программку и запустил на платке. http://www.evodbg.com/index.php?option=com_content&task=view&id=65&Itemid=83 На борту микроконтроллер ARM, 9й серии, всякая память и прочие устройства. В ARM запускается  и крутится Linux, что для меня сильно пока непривычно. Пытаюсь разобраться с этим добром. Пока что подключился через терминал к плате, могу наблюдать процесс загрузки, могу набирать команды в консоли. Воткнутая флешка автоматом определяется и подрубается в виде SCSI-диска, можно на нее писать и читать с нее. Автоматом поднимается сеть, можно соединяться по telnet, гонять файлы по tftp. Предоставляется готовый toolchain для сборки программ. Уже затестил "hello world!". Разбираюсь дальше.

пятница, 1 апреля 2011 г.

Реактор на коленке

Конечно не тру (термо)ядерный, но все же, работает на бета-распаде: http://habrahabr.ru/blogs/DIY/116659/#habracut

UPD. Первоапрельский фейк. За все первое апреля меня накололи второй раз.

Вставка кода

if (data_xmited & (uart_state == XMIT))
{
    switch (xmit_count)
    {
        case 0:
            xmit_buffer = msg_opcode;
            error = 0;
            break;
        case 1:
            xmit_buffer = msg_length;
            break;
        default:
            xmit_buffer = msg_data[xmit_count-2];
            break;
    }

    xmit_count++;
    if (xmit_count == (msg_length+2))
    {
        xmit_count = 0;
        if (msg_opcode == START)
        {
            msg_opcode = ADC_DATA;
            msg_length = BYTES_IN_BLOCK;
            uart_state = XMIT_ADC_DATA;
        }
        else
            uart_state = RECV;
    }

        data_xmited = 0;

    SFRPAGE = UART1_PAGE;
    SBUF1 = xmit_buffer;
}  

Рецепт тут.

Ubuntu и locale

Сегодняшнее утро было омрачено тем фактом, что после вчерашнего обновления Ubuntu 10.04 исчезла русская локализация, выражалось это в английских названиях вместо привычных русских, в консоли постоянно вылазили ошибки, половина апплетов отказалась нормально работать. Проблема решилась довольно быстро. В файлик /etc/environment добавил строчки:
LANG=ru_RU.UTF-8
LC_ALL=ru_RU.UTF-8
После чего сделал:
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
В итоге все встало на свои места, после перезагрузки апплеты тоже заработали.
Хоть и Ubuntu - хорошая система, но нет-нет, да проскакивают всякие мелкие баги. Но тем не менее, от этого она хуже не становится, "в ней ты не растворяешься в буржуазном комфорте, а продолжаешь оставаться человеком" (c)