FastNetMon

суббота, 28 февраля 2009 г.

Небольшое видео о произвеодстве Sun SPOT

Это потрясающе!



Попутно ловим ссылочку на подборку видео с Sun SPOT: http://www.youtube.com/profile_video_blog?user=drspotwhite

P.S. кстати! это самый первый пост с видео моём блоге :)

Пишем первое приложение для Sun SPOT !

Вот пошаговый мануальчик: http://www.sunspotworld.com/docs/Blue/Tutorial/AirText.html !
Сейчас засяду за изучение SDK и будут мануалки по общему написанию приложений и использованию спецфич SPOT`а !

А вот и документация по SPOT: http://www.sunspotworld.com/docs/ (нас интересуется последняя, v4.0
Blue) И ещё целый портал на java.net: https://spots.dev.java.net/

Подключение Sun SPOT к ПК и их обновление

Теперь, как я понял из дока Сана, нам надо подключить дивайсы поочереди и обновить на них прошивки. Дока Сана: http://www.sunspotworld.com/GettingStarted/Extras.html

Подрубаем первый обычный (да, есть ещё необычный -- управляющий, он один; а обычных -- два) Spot, запускаем по ссылке http://www.sunspotworld.com/SPOTManager/SPOTManager.jnlp менеджер (как запускать его локально я пока не понял).

1. Переходим на вкладку Sun Spots.
2. Выбираем в списке наш дивайс, если его там нету тыкаем Refresh.
3. Получаем инфу о дивайсе "Spot info" (третья кнопка внизу). В первый раз он может попросить Reset нуть дивайс -- "Please reset Spot", для этого нужно нажать небольшую кнопку на дивайсе.
4. Если загорелась красным кнопка Upgrade, то надо обновляться.
5. Жмём кнопку Upgrade и наблюдаем за прошивкой (как вы могли догадаться, софтину сейчас выключать НЕЛЬЗЯ категорически).

Странно, но ни второй обычный Spot, ни управляющий софт тулза не признала вообще. Странно, но отключил Спот, отключил его от USB и минут через 5 подключил снова, менеджер его нашёл! Ура! :)
Потом ещё были подобные проблемы, решились 3-4 кратным переподчинением дивайса к USB.

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

Sun SPOT начало: установка софта

Для начала, наверное, стоит огласить сайт, где размещено море инфы по Sun Spot: http://www.sunspotworld.com

Платформа, куда это будет устанавливается представляет из себя 32битную Ubuntu 8.10 со всеми апдейтами.

Ну что, приступим! Вот пошаговый мануал в картинках от самой Sun: http://www.sunspotworld.com/GettingStarted/Linux.html причем, как раз под Убунту, а не под какой-нить архаичный дистр, что безумно радует, очень не хочется надолго застрять на установке софта. Так что позволю себе лишь текстово описать сказанное Sunом.

Установка необходимого софта:
1. sudo apt-get install sun-java6-jre -- ставим виртуальную машину Java
2. Ставим Sun Spot SDK, идём по ссылке http://www.sunspotworld.com/SPOTManager/ и щелкаем по кнопке "Install Now". После этого будет выдано предложение скачать JNLP файл или открыть его посредством OpenJDK Java6 Web Start. Нам необходим второй пункт.

Установка SDK.
1. Страница "Choose cache directory", стандартно вписано /tmp, нас это устраивает.
2. Будет выдано уведомление от системы безопасности. Здесь надо выбрать "Always trust content from this publisher" и нажать Run.
3. Простываем до конца и щелкаем по ставшей активной кнопке "start".
4. Будет выдано предложение поставить NetBeans 6.1, но помнится в репо Убунты оно тоже есть. Вообще, сюда могут быть встроены спецплагины, так что лучше все же поставить предлагаемый 6.1 Нетбинс, потом если что не проблема будет его снести.

Установка NetBeans.
1. Next =)
2. I accept + Next
3. Ничего не трогаем здесь, Netbeans будет установлен в /home/имя_юзера_вашего/netbeans-6.1
4. Install
5. Finish

Установка Sun Spot NetBeans Modules.
1. Соглашаемся их ставить.
2. Accept
3. Путь установки SDK прописывается в /home/имя_юзера_вашего/SunSpot
4. Finish.

Возвращаемся на страницу: http://www.sunspotworld.com/SPOTManager/ и снова щелкаем по кнопке "Install Now", теперь должен запуститься конфигуратор. На этом установка закончена, как все было просто =)

А теперь у меня есть Sun SPOT !

Ура ура ура! У меня есть просто обалденная игрушка и все последующие статьи, уверен, будут посвящены именно ей :)

Вкратце, что это и для чего можете прочесть по адресу: http://en.wikipedia.org/wiki/Sun_SPOT
Ну а от себя -- это небольшая железка, включающая в себя микроконтроллер (Atmel, как показал первый разбор), несколько сенсоров (температуры, акселерометры и проч), десяток светодиодов и аккумулятор + поддержка протокола беспроводного обмена ZigBee. Соотвессно, это все программируется на Java без всяких тупых заморочек с С или Ассемблером, то есть никакого низкоуровневого хлама, лишь чистое творчество без углубления в тех особенности :)

За предоставление железки безумно благодарен нашем Самарскому Sun Campus Ambassador Михаилу :)

Как обновить Ubuntu 8.04 до Ubuntu 8.10 ?

Вот решил обновиться, всё оказалось предельно просто.
А вот тут всё описано: http://www.ubuntu.com/getubuntu/upgrading , в картинках! :)

воскресенье, 22 февраля 2009 г.

Как задать hostname в Centos5 / Debian5?

По привычке прописал хостнейм в файл /etc/hostname, но Центос бы не был Центосом, если это бы прокатило. Хостнейм прописывается в файле /etc/sysconfig/network в строке HOSTNAME.

А вот так можно сменить хостнейм без ребута:
echo "newhostname.ru" > /proc/sys/kernel/hostname


В Debian хостнейм задается в файле /etc/hostname и меняется "онлайн" аналогично Центосу.

Где pidgin хранит свои пароли?

А вот здеся: ~/.purple/accounts.xml в блоке:


name icq номер /name
password пароль /password

Убить speaker Centos 5.2

Ну тут всё по аналогии с предыдущим постом, надо сделать
sudo /sbin/rmmod pcspkr
Одно плохо, не во всех дистрибутивах спикер собирают модулем :(

Centos 5.2 + Dell Inspiron 1501 + проблемы с аккумулятором

Сейчас провожу тесты для нашего будущего HA кластера на XEN + DRBD и для этих целей второй тестовой машиной задействовал свой ноутбук, но в первые часы работы я словил два kernel panic + кучу варнингов от ACPI Battery :( Все это по причине убитого аккумулятора и, на мой взгляд, очень нездоровое дело.

А исправляется вот так:
rmmod battery

Ну в идеале, конечно, добавить этот модуль в blacklist тем самым запретив его автозагрузку.
Да и вообще Centos временами напрочь убивает своей суперской поддержкой железа :(

Update:
Добавляем строку "alias battery off" в файл /etc/modprobe.conf и ребутаемся уже без бага :)

Отправка формы в кодировке, отличной от кодировки страницы

Вот встала такая проблема. Имеем страницу в utf8, имеем форму с текстом.
А в action формы стоит скрипт, который привык получать данные в 1251 кодировке.

После десятка минут гугления решение родилось (скобки угловые расставите сами):


form action="https://targetform" method="post" charset="cp1251"
input name="LMI_PAYMENT_DESC" value="тут текст в УТФ8" type="hidden"
...
/form


Но не гарантирую, что это будет работать во всех браузерах, но по крайней мере у меня в ФФ3 всё отлично.

вторник, 17 февраля 2009 г.

воскресенье, 15 февраля 2009 г.

суббота, 14 февраля 2009 г.

Убрать запрос пароля от приватного сертификата в Apache

How can I get rid of the pass-phrase dialog at Apache startup time?

The reason this dialog pops up at startup and every re-start is that the RSA private key inside your server.key file is stored in encrypted format for security reasons. The pass-phrase is needed to decrypt this file, so it can be read and parsed. Removing the pass-phrase removes a layer of security from your server - proceed with caution!

1. Remove the encryption from the RSA private key (while keeping a backup copy of the original file):

$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key

2. Make sure the server.key file is only readable by root:

$ chmod 400 server.key

Now server.key contains an unencrypted copy of the key. If you point your server at this file, it will not prompt you for a pass-phrase. HOWEVER, if anyone gets this key they will be able to impersonate you on the net. PLEASE make sure that the permissions on this file are such that only root or the web server user can read it (preferably get your web server to start as root but run as another user, and have the key readable only by root).

As an alternative approach you can use the ``SSLPassPhraseDialog exec:/path/to/program'' facility. Bear in mind that this is neither more nor less secure, of course.

Ну а если вкратце, то с сертификата просто снимается пароль =)

Взято с: http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#removepassphrase

CSV storage engine для MySQL

Вот недавно натолкнуться на довльно занятную штучку:
http://dev.mysql.com/tech-resources/articles/csv-storage-engine.html

Очень интересует вопрос, как осуществляется удаление / обновление записей.
Если кому тоже интересно, то вот сорцы: http://www.google.com/codesearch/p?hl=en#48FJNTkESGg/mysql-5.2.0-falcon-alpha/storage/csv/ha_tina.cc&q=myisam%20lang:C


Как я понял, удаление / обновление осуществляется простым забиванием старой записи "пустыми символами" (DELETE / UPDATE) и последующим добавлением обновленной записи в конец (в случае UPDATE).