Category Archives: Geek

Безжичен рутер като безжичен суитч

След като 5 дена стоях без интернет (е, два от тях бях на тиймбилдинг извън града) се установи, че ми е изгорял безжичния рутер. Лоша новина 🙁 Всъщност по нищо не му личеше, че е изгорял, защото успявах да се свържа през web, но WAN интерфейса бил сдал багажа при някоя от гръмотевичните бури. В момента нямам излишни 100-150 лева за нов и се замислих как мога да го използвам. И го измислих 🙂 Сложих втора LAN-ка на компютъра ми. Настроих Линукса да прави NAT. Втората LAN-ка (с настроено вътрешно IP 192.168.1.1) я свързах към един от четирите порта на linksys-а. Зададох на рутера вътрешно IP 192.168.1.2 (Външното IP не го пренастройвах, то така и не работи). Зададох на безжичния рутер да раздава IP-та от същата мрежа и воаля стана ! Всъщност почти 🙂 Единствения проблем е че wireless рутера задава неговото IP (192.168.1.2) като default gateway и на клиентите трябва ръчно да се промени на IP-то за default gateway на това на Линукс машината – 192.168.1.1 и след това всичко работи. Сега се замислих, ако сложа DHCP сървър на линукс машината и спра DHCP сървъра на linksys-а, дали всичко няма да си работи без ръчни настройки ?! Трябва да го пробвам тези дни.

Като обобщение картинката е следната:

           .----------.              ^ ~ ~ ~ ~ ~ ~ ^
           |  Линукс  |     .--------|             |-----------------.
internet --| компютър |-----| router |             | безжичен клиент |
           |  с NAT   |     '--------'             '-----------------'
           '----------'

Така спестих (поне временно) пари за един рутер, а безжичната ми домашна мрежа отново е жива 🙂

За ъпгрейдите

Покрай многото преинсталации/ъпгрейди, които ми се случиха напоследък, се замислих – как един windows се преинсталира няколко пъти на един hardware (разбирайте един компютър между два ъпгрейда), а един Linux обикновено сменя няколко хардуера. Честно казано не помня кога инсталирах моя Arch, след това се копира от един дял на друг и от един хард диск на друг. Това не му пречи да се обновява на практика ежедневно и освен това да тръгва на новия hardware почти веднага.

От събота до сега

Напоследък се замислям да пиша за толкова неща, но все не ми остава време да седна на компютъра. Някои от тях вече остаряха и едва ли ще пиша за тях, а за други очаквайте скоро. Иначе останалото съвсем информативно.

В събота през деня бяхме семейно до Хисаря. Времето беше чудесно, направихме си хубава разходка, съчетана с обяд и доставяне на известно количество минерална вода. Вечерта не излизах, а беше отдадена на преинсталиране на лаптопа на сестра ми, като махнахме стандартно инсталираната Виста и сложих ЕксПи.  Освен това се бъзикахме с новия таблет, който се оказа голяма зарибявка.

В неделя през деня се разходих до Асеновград и под хубавото слънце се печахме на скалите до параклиса св. Димитър. Много хубаво е там 🙂 След Асеновград минахме през Пловдив да вземем Дина и Елица и директно заминахме към Бойково, където направихме поредната (вече традиционна неделна) кулинарна вакханалия.

В понеделник сестра ми ми написа SMS, какъв чудесен уикенд сме си изкарали и иска пак в Пловдив, защото в София валяло и било студено. Наистина хубав уикенд се получи. Иначе в понеделник вечерта отидох уж за малко в Петното, а така хубаво се почерпихме (снимковия материал се надявам да остане завинаги засекретен), че във вторник ми беше лошо цял ден.

Вторник беше рождения ден на баща ми. Да си жив и здрав, тате ! 🙂 Междувременно (още в понеделник вечерта) се разбра, че чисто новото XP на сестра ми не иска да подкара интернета в София и тя се наложи спешно да си дойде отново до Пловдив, за да го погледна. Хем се получи хубава изненада за рождения ден ! И така след празничната вечеря, аз отново се занимавах с преинсталация. Лошото се оказа, че наистина има проблем с лаптоп HP 6820 с Windows XP и мрежовата карта (wireless-а няма проблем). За момент дори се шашнах, че няма да мога да го оправя, когато намерих в интернет, че проблема всъщност бил в … не може да познаете … в BIOS-а. трябва да се флашне и след това се оправя. Така до 2 часа през нощта отново съм се занимавал с инсталации.

Днес, в сряда, след работа отидох да си взема новия ми компютър – мдаа настана време и аз да се ъпгрейдна 🙂 Ха да ми е честито ! Противно на моите очаквания успях да изляза и да се видя с приятелите ми, вместо цяла вечер да се занимавам с инсталации. Май две поредни вечери дори на мен ми идват много.

Сега си копирам /home дяла на новия 500G хард и докато го чакам, остана малко време да пиша тук.

Dial-up и през 2009-та

От както си купих Eee PC-то, се чудя как да направя така,че навсякъде да имам интернет. В къщи ясно – имам си кабелен, по градовете вече почти навсякъде се намира някой свободен wi-fi (при спешен случай – просто отиваш в някое заведение и там има). Проблем си остават малките населени места и дивите кътчета, където както знаете, аз често скитам. Единствената добре развита мрежа в момента е GSM (наистина се надявам WiMax услугите, и най-вече покритието да нараства с по-голяма скорост). До тук добре – GSM операторите предлагат мобилен Интернет, обаче … ОБАЧЕ ! Цените ! Виждали ли сте цените ? Ами те нямат срам, бе ! (M-tel, Globul, Vivatel)В наше време интернета просто не струва толкова (да не говорим за колко пари дават GSM модемите, но това и в световен мащаб ми се струва завишено). Отгоре на всичко, услугите се предлагат само с дългосрочни договори, а на мен ми трябва като backup вариант, само когато съм някъде извън града.

И тук приказката “всяко ново е добре забравено старо” си дойде на мястото. Реших да си прекарам домашния интернет, който така и така плащам, през GSM мрежата, като най-развита такава. Мобилните телефони имат вграден модем, ще си взема предплатена карта, която ще добавя към групата “семейство и приятели” (абонат съм на M-tel), с които говоря безплатно и готово. Споделих идеята с Йонов, той я прие радушно и един ден след нова година някъде, се събрахме в офиса му, да я осъществяваме.

Първо ни трябваше Dial-in сървър. Хората (в това числя и аз де) наистина са забравили времената на dial-up-а. Всички How-To са от преди сума години (има ли смисъл да казвам, че за всички настройки говоря за Линукс). Поне повечето модеми на GSM-ите се поддържат от ядрото. Всъщност всички, които пробвахме, тръгнаха (Siemens C75, SonyEricsson K310, Nokia 5100, Nokia 5300). За терминална програма, която да отговаря на повикванията използвахме mgetty. На Debian-а на сървъра на Йонов нямаше проблем, защото си има готов пакет, но аз имах проблем на ArchLinux, защото там няма mgetty, и дори цяла една вечер се опитвах да го подкарам с agetty, но така и не успях. След това се наложи да си компилирам mgetty, което си изисква малко четене и конфигуриране преди да се компилира. Внимавайте – дори инициализиращия стринг за модема е вътре в сорса, аз доста се мотах докато разбера, че е така. Като цяло използвах ето това How To Set Up Linux As A Dial-In Server. След това би трябвало да имате готов сървър.

От клиентската страна (за лаптопите говорим 🙂 ) аз си използвам моя телефон с USB кабел и wvdial за връзка. Работи идеално (след като му сложиш “Stupid mode =1” в .conf файла на wvdial 🙂 ) Йонов дори си подкара модема през bluetooth, и казва че не е трудно и работи добре. Аз нямам bluetooth на телефона, така че не съм го пробвал.

Всичко работи идеално, но все пак има едно голямо НО. Скоростта – 9600 9,6kbps. Наистина имах големи надежди, че ще успеем да подкараме HSCSD, като си мислех, че трябва само и двата GSM-а да поддържат този стандарт, но се оказа, че и GSM мрежата трябва да го поддържа. В България (май) никой оператор не поддържа HSCSD. Така първоначалната ми цел е постигната само до някъде. Наистина имам интернет навсякъде, където имам GSM покритие, с минимални финансови разходи, но реалната скорост е 1k. Този уикенд на Кольо Мариново дори беше бойното кръщение на технологията ни, но за приблизително 1MB информация (jpeg файл) чаках половин час.

Все пак си доказах, че dial-up между два GSM-а си работи на практика без никакви проблеми. Вече знам, че където и да съм, ако много ми залипсва, мога да си пусна някой чат, да си проверя пощата … или нещо друго. На Мандрица мисля, че ще ми дойде много добре 🙂

п.с. някой да знае къде може да се намери евтим USB GSM модем ? Дори в ebay ми се виждат скъпи.

Важно допълнение !

Оказа се че Mtel таксува преноса на данни като “Изходящи данни MobilTel – България” (цитат от e-фактурата ми), независимо, че се обаждам на номер от групата “семейство и приятели” 🙁 Цената е 12 ст./мин в ненатоварената зона и 24 през натоварената (с ДДС). Така че и този вариант не е много изгоден. Леко съм разочарован. Радвам се все пак че си реализирах цялата идея и успяхме да подкараме всичко. Все пак всичко писано по-горе си работи. Някой да има представа как стоят нещата при другите мобилни оператори ?

Кирилица на Eee PC 901

Най-сетне успях да си подкарам да мога да пиша на кирилица на оригиналния софтуер на Eee PC 901. Общо взето стана по един от най-тривиалните начини с промяна на конфигурационния файл на X-а. Ето стъпка по стъпка какво направих:

  1. Първо си компилирах български local. Не знам дали може да се мине без тази стъпка, но според мен си е добре. Като начало: Ctrl+Alt+t и се отваря терминал
  2. Пишете командата: sudo dpkg-reconfigure locales
  3. Съгласявате се с първия екран, след което от втория отбелязвате (с интервал) българска локализация: [*] bg_BG.UTF-8 UTF-8 . След това TAB и OK.
  4. За локализация по подразбиране аз си оставих en_US.UTF-8. След което избраните локализации се компилират
  5. Следва истинската настройка да можете да пишете на български в Eee PC 901. Използвайте любимия Ви текстов редактор и редактирайте файла /etc/X11/xorg.conf. В моя случай въведох в терминала: sudo nano /etc/X11/xorg.conf
  6. В секцията за клавиатурата добавете/редактирайте следното:

    Section “InputDevice”
    Identifier “keyboard”
    Driver “kbd”
    Option “CoreKeyboard”
    Option “XkbRules” “xorg”
    Option “XkbModel” “pc105”
    Option “XkbLayout” “us,bg”
    Option “XkbVariant” “,phonetic”
    Option “XkbOptions” “grp:alt_shift_toggle”
    EndSection

  7. Запазете файла и рестартирайте компютъра. Вече би трябвало да можете с Alt+Shift да превключвате английски/български и да пишете навсякъде, както аз правя в момента 🙂

Като за финал да спомена една моя грешка, която направиш снощи, за да не я повтаряте. Всъщност направих всичко описано по-горе, но в допълнение реших да махна пакена gcin с командата в терминала sudo apt-get remove gcin, след което Eee PC-то не поиска да тръгне повече. Наложи се да възтановявам системата с F9 при стартиране, с което се губят всички настройки и аз така и не разбрах, че съм бил подкарал кирилицата.

Сега вече като мога да пиша на кирилица, Eee PC-то поне малко отложи времето на пълното му форматиране с цел поставяне на по-нормален Линукс, за когато имам малко повече свободно време.

Няколко карти на един Garmin

От както имам GPS-а ми (Garmin nuvi 300) имам един голям проблем – как да сложа няколко карти едновременно ?!? Изглежда много просто, но garmin-a е така направен че търси точно определено име на файл в точно определена директория. Бях успял да го излъжа до три карти – две във вътрешната памет на устройството (gmpasupp.img и gmapprom.img) и една на допълнителната SD карта (gmapsupp.img). За повече карти си мислех, че просто трябва да ги държа на повече SD карти и така става. Вчера най-случайно (както почти винаги става) установих, че начина е повече от елементарен ! Условието е да имате инсталирани картите, които искате, в MapSource (програмата на Garmin за качване на карти). След това маркирате с мишката едната карта, след това избирате друга, маркирате и нея. Предишната си остава маркирана ! Продължавате така колкото си искате. Толкова елементарно, че до сега не бях го пробвал ! Просто съм си мислел, че след като са в един файл, Garmin-а ще ги мисли за една карта и където се препокриват, ще се омажат, и затова не съм го пробвал. Вчера направо се изумих, като ми ги показа като отделни карти и можех да си ги изключвам и включвам поотделно ! Така омазването се избягва напълно ! Естествено цялата операция я направих напълно неволно – просто бях забравил да размаркирам предишната карта, преди да избера тази която искам и да дам “send to device”. Елементарно, Йотсън ! Пфуу, колко съм прост !

п.с. като последно (само)оправдание – нямам MapSource в къщи (не върви на Linux) и такива експерименти мога да си правя само на работата, когато нямам много работа.

How to create dynamic page in WordPress

I’ve searched for such how-to, but I didn’t find something exactly like this, so I decided to try by myself and I did it 🙂 The goal was to make page (page as meaning of wordpress), which displays dynamic content everytime it’s loaded. Dynamic content is simply RSS feed. To parse content I needed PHP and start to find way to make WordPress to manage data from database as code. First it’s sound like impossible thing, but of course, there are not impossible things 🙂 The solution, that I found, is Exec-PHP plugin for WordPress. It does exactly this – allows to insert PHP code in wordpress post or page.

Second hard thing was how to write PHP code in WordPress editor, because everytime when I pressed Save (or Publish) WordPress messed up everything. I tried tips on Exec-PHP site, but I didn’t success. The final solution was to edit directly database. So I created a blank page with editor, and than inserted content (with PHP code) with PhpMyAdmin 🙂 Now everything looks like almost as I expected.

Now I have two dynamic pages – my recent tracks from last.fm and my recent visited events (from scenata.com). If you want some similar functionality for your blog just do these three steps:

  1. download and install Exec-PHP plug in
  2. create a page (or post) with WodPress editor
  3. Edit page (or post) with PhpMyAdmin (or whatever you want) and replace field post_content with something like this (for last.fm recent tracks):

<h3>ik0’s Recently Played Tracks</h3>
<h4>
<?php
include_once(ABSPATH . WPINC . ‘/rss.php’);
$rss = fetch_rss(‘http://ws.audioscrobbler.com/1.0/user/ik0/recenttracks.rss’);
$maxitems = 10;
$items = array_slice($rss->items, 0, $maxitems);
?>

<?php if (empty($items)) echo ‘No items’;
else
foreach ( $items as $item ) : ?>
<a href=”<?php echo $item[‘link’]; ?>”>
<?php echo $item[‘title’]; ?>
</a>
<?php endforeach; ?>
</h4>

That’s it 🙂 If you tell me some easier way, I’ll be glad.

p.s. Yes, it’s ugly, but it can be done more beautiful. By now it’s just works !

STK1000 на живо

Днес на работата ни дойде новата развойна среда на Atmel за процесорите от AVR32 архитектурата – STK1000. Откакто през пролетта разбрах за новите продукти на Atmel веднага се зарибих по тях и ми се искаше да пробвам. Още повече като разбрах, че от (мисля) версия 2.6.16 линукс ядрото официално поддържа архитектурата AVR32. STK1000 идва с преинсталиран Линукс на 128MB SD карта (де факто са заети малко над 5MB). Кутията изглежда така:

STK1000 box

STK1000 box

Естествено като пристигна веднага зарязах всичко и се заех да го разуча. Отворих кутията и го включих. От Atmel отново, както и при STK500, не предоставят захранване, а само букса с кабелче, което да си включите към вашо захранване. Дори напук на всички останали плюса е отвън, а минуса вътре ?!? Както и да е – като го включите се стартира Линукса и виждате това:

STK1000

Забравих да спомена, че STK1000 си идва с допълнение STK1002 на което е всъщност основния процесор AT32AP7000.

STK1002 CPU

Останалата периферия е на дъното STK1000. Всъщност периферията на 32AP7000 хич не е малко – има USB-та, 2 ethernet-а, серийни портове, PS/2 (мишка и клавиатура), звук AC97, IrDA, VGA … въобще цял компютър. Има и голямо цветно 3,5” LCD 🙂

STK1000 LCD

Връзката с персоналния компютър става чрез сериен порт (115200 kbps 8N1), telnet и ftp. Последните две ми отне малко време да ги подкарам, но проблема беше че търсеше IP чрез DHCP и трябваше да намеря къде да конфигурирам мрежата ръчно (през серийната конзола). Естетвено има и уеб сървър 🙂 , но от него не може нищо да се конфигурира.

Първата задача с която се захванах беше да хакна картинката на LCD-то и да я сменя. В /etc намерих един подозрителен jpeg и се заех да го променя 😉 Колегите веднага дадоха предложите да сложим снимка от поредицата “Лесна е бат’ Ицовата …”

STK1000 new picture

Общо взето установих че LCD-то е вързано като frame buffer device и картинките се сменят с fbv.

Впечатление ми направи, че в комплекта няма отпечатано упътване, а само CD

STK1000 CD

Отзад на CD-то  гордо стоят логотата на GNU и Линукс ! 🙂

STK1000 CD back

Като цяло съм много доволен, че ще имам възможността да се занимавам с тази развойна среда в близките месеци … и сигурно години. Май точно с това ми се занимава – електронни устройства с embedded linux.

Happy hacking , както се казва 😉

WordPress 2.2.1

Тази вечер най-сетне ми остана малко време да си обновя WordPress-а до 2.2 серията. Този път най-сетне не ми се наложи да променям wp-db.php файла, за да не ми излиза на питанки текста. За сметка на това променях файла wp-config.php , но се надявам тази промяна да е само веднъж и вече всички следващи версии обновяването ще е по-лесно. В моя случай просто добавих следните два реда:

define(‘DB_CHARSET’, ‘utf8’);
define(‘DB_COLLATE’, ‘utf8_general_ci’);

и всичко тръгна както трябва 🙂

Междувременно използвах случая да сменя и външния вид на блога ми. Старата вече така я бах ръчкал, че на нищо не приличаше (буквално на нищо на някои браузери). Новата вече поддържа новите widged-и на WordPres, които смятам скоро да разуча какви предимства могат да ми донесат. Иначе трябва да я попреведа тук-таме, да сложа снимка, банери, случайниче … въобще има с какво да се занимавам 🙂

п.с. списъка с най-новите коментари е най-отдолу … дали ще мога да го преместя

RockBox на Sansa

Снощи точно преди да си легна видях, че RockBox официално вече поддържа Sandisk Sansa e200 серията 🙂 Аз, като собственик на Sansa e260, веднага се зачетох какво трябва да направя, за да го пробвам, и пак си легнах по малките часове 🙂 . За тези, които не знаят RockBox е независим open source проект за създаване на софтуер за различни портативни плеъри. Поддържа модели на Archos, iRiver, iPod … , а от този месец и Sansa.

Днес цял ден се чудих, но след като се прибрах, реших че просто няма как да се сдържа да не го изпробвам, пък каквото ще да става. Все пак навсякъде пише, че няма stable версия, а и винаги с RockBox, може да си повредиш плеъра. Свалих си необходимите файлове – в упътването си пише всичко много подробно. Първия път без да искам извадих USB-то без да unmount-на устройството и Sansa-та си тръгна с оригиналния firmware. Това в първия момент ме стресна, но после пък си казах – е, значи все пак не изтрива оригиналния софтуер. Отново повторих цялата процедура по инсталирането (за по-сигурно) и след следващия рестарт се появи логото на RockBox 🙂 Ето първите ми впечатления от него :

Предимства:

  • свободен софтуер (нарочно го поставям на първо място) – един проект, който се развива постоянно
  • поддържа много звукови кодирания – mp3, ogg, flac, wav … (според сайта – повече от 15)
  • разглеждане и възпроизвеждане по директории ИЛИ по изпълнители/албуми. Базата данни се обновява само когато пожелаеш, а не всеки път при стартиране, както оригиналния софтуер (при него дори липсва възпроизвеждане по директория)
  • като цяло много и подробни настройки
  • възможност за използване на теми (има за всеки вкус 🙂 )
  • МНОГО добавки (plugins)
  • DOOM – всъщност това е една от добавките, но си струва да се отбележи отделно 😉
  • улеснено създаване на списъци от песни (playlists). Функция опашка. Оригиналния ми firmware въобще не може да се създават от устройството, а само от компютър и то с Windows Media Player.
  • и не на последно място – поддръжка на last.fm – нещото заради, което най-много се замислям дали да не премина изцяло на RockBox

Недостатъци (разбира се има и такива) :

  • нещо е бъгав все още. За няколко часа се наложи да го изключа принудително 2-3 пъти. Освен това като го пъхна в USB-то не се представя като устройство, а само започва да се зарежда батерията. Ако го включа в USB-то, когато е изключен RockBox-а crash-ва, след което тръгва оригиналния софтуер и чак тогава ми се появява като USB устройство. Освен това, след като играх DOOM ми насичаше музиката – с рестарт се оправи.
  • каквото и да си говорим – по-грозно е от оригиналния firmware. Там картинките да си доста мазни, а и дисплея е хубав, а RockBox е (почти) изцяло текстов. Все пак за фенове на конзолата, като мен, това не е чак такъв голям проблем. Дори е много geek 🙂
  • загуба на функционалност – въпреки многото функции, които дава RockBox, в него липсват радиото и диктофона (две неща, които почти не използвам). Видеовъзпроизвеждането и показването на картинки е с plugin-и и не съм ги пробвал.
  • бавен – особено докато свири, разлистването из менюто доста “насича”. (единствено печели в скоростта на начално зареждане)

Въпреки многото предимства на RockBox, засега май ще си остана на оригиналния firmware от Sandisk. Все пак най-важното (за мен) за един преносим плеър е да свири стабилно музика. Другото са глезотиики 🙂 Радвам се все пак, че имам open source алтернатива и когато стане по-стабилен и по-бърз може да премина изцяло на RockBox. Дотогава пожелавам успех на проекта !