my experience with the rule-project.org

Rule-Project is about running current linux distributions on old machines. I was invited to this excellent project by the current president of HELLUG, mr Richard Kweskin.

Using the old laptop I blogged sometime ago about using it for some wireless networking, mr Richard started the installation of Fedora Core 5 using the special script that the rule-project distributes. Using the normal installer of fedora, the installation aborted immediately by the system notifying me of not having more than 128Mb of RAM. The slinky script of the rule project though was able to finish the installation and provide me a console. Then came most difficult part. Setting up X windows. Rule-project uses kdrive in replacement for X.org. Kdrive is a set of lightweight X servers with minimal set of features that are pretty fast and are not taking up a lot of RAM.

I am now very happy to have finished setting up kdrive with blackbox window manager. I provide you some pictures of the ancient laptop running Fedora Core 5 with kdrive 🙂

enjoy!

Acrobat Reader Enterpise in Gentoo, bye bye Yahoo toolbar

Following a post found on Digg about downloading the Enterprise version of Acrobat Reader I decided to install that on my Gentoo box.

First step was to download the tar.gz Linux version of Acrobat Reader Enterprise edition. Then extract it someplace. You will also need to extract the 2 new tars inside that directory as well. Now login as root (su -, probably) and make a backup of your old /opt/Acrobat7. Now go to the directory where you had the previous tars extracted and find a directory called Reader. Replace all files inside /opt/Acrobat7/Reader with the new ones. Do the same with the /opt/Acrobat7/Resource dir as well.

Now, if you don’t have openldap support in your box, go to /opt/Acrobat7/Reader/intellinux/plug_ins dir and do a chmod -x PPKLite.api. That will save you from an error message when acroread starts.

That’s it. Say bye bye to Yahoo Toolbar…

I am not responsible if following what I say here makes you do illegal stuff , violate Licenses or burn down your linux box.

broken rox-filler in gentoo with gtk+ 2.8.12

Rox-filler is an excellent(for me) file manager that I use under my favorite wm…fluxbox (of course).

The latest emerge world broke my rox-filler. Rox-filler 2.2.0 has a known bug that makes it crash with gtk+ versions 2.8.11, 2.8.12, etc. Until now I had gtk+ 2.8.8 version and the latest emerge world updated it to 2.8.12 which had became “stable” in portage. Unfortunately rox-base/rox inside portage is not up to date with the latest rox-filler version (2.4.X) that fixes the bug…so it just crashes.
There is an open bug about it inside gentoo’s bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=123675

For now I downgraded gtk+ to 2.8.8. I might create a custom ebuild for the latest rox-filler, as someone in bugzilla says, to circumvent the problem..but I am not really fond of that solution. I’d prefer if the rox-base/rox maintainer created a new ebuild….. sooner or later.

who said wireless networking in linux is hard ?

I had for over 2 months a friend’s left over laptop at my house. It’s an old amd K6 333Mhz with 64Mb RAM. Useless ? maybe yes maybe not…I just wanted to see what I coulld do with it…

I’ve booted it with DSL and I had a nice desktop to work on…now what ? A few days ago I had started preparing a new linux based access point for our local wireless network in the city I study. It had 2 Winstron CM9 802.11a/b/g cards and one netgear MA311 802.11.b card. I also happen to have an orinoco gold 802.11a/b/g pcmcia card I was given some time ago as a gift (even though I don’t own a laptop, yet). So why not mess with these two ? I plugged in the pcmcia in the laptop and it was instantly recognized. Then I just added through ifconfig the IP that I wanted the wireless card to have…and wow! I was associated instantly with the remote linux based AP in the next room. That was easy 🙂 It’s probably a good time now to install dhcp to that AP too so I won’t even need to add an IP manually 🙂

So all I had to do was give an IP…no drivers…nothing. The card was automatically recognized, and here’s the lsmod part about it:

root@ttyp0[root]# lsmod | grep ath
ath_pci 31508 1
wlan 48520 1 [ath_pci]
ath_hal 111792 1 [ath_pci]

By the way…this card is NOT recognized in windows XP without drivers. And if you happen to forgot the drivers cd while travelling…you are probably doomed.

Good job linux people 🙂

USB Corsair Flash Voyager and udev rules

I had some problems making my new Corsair Flash Voyager 1Gb work under udev. Until now I used the SYSFS{serial}= part from udevinfo to distinguish my usb devices. Corsair Flash Voyager doesn’t have one. So I put the following line in /etc/udev/rules.d/10-local.rules to make it work:


KERNEL="sd*", SYSFS{vendor}="Corsair", SYSFS{model}="Flash*Voyager*", NAME{all_partitions}="corsair%n", GROUP="disk"

The first partition of the usb stick is now recognized as /dev/corsair1, and if I had more they would be named /dev/corsair2, /dev/corsair3, etc

Disk cataloging on linux

We all have nowdays pile of cds and dvds with thousands of files inside. The big problem is…you know that you have the files somewhere…but where ? In which cd/dvd ?
A solution to this is a cataloging application like Disksearch. It is very simple, has an easy to use gui, it’s written in python and can be used in both Linux and Windows. It even has regular expression support for searching files.
I’m giving it a try and I hope it won’t let me down.

Just a thought:
sqlite support wouldn’t be bad, it’s sometimes more usefull to have an sql database than a simple index text file…but then you might lose compatibility with windows. A patch could be handy though. Any programmers to look into it ? 🙂

intracom netroute, asterisk and sipdiscount

I own a netroute2 and I have an asterisk at home to serve me as a pbx. I use it primarily for testing, and I only have a working sipdiscount trunk on it so far. What I wanted to do was plug a normal phone on the netroute and set it up so that I can call land lines in Greece for free through asterisk, using a sip trunk with sipdiscount.

  • Asterisk configuration
  • add to your /etc/asterisk/sip.conf

    [sipdiscount]
    type=peer
    host=sip1.sipdiscount.com
    dtmfmode=inband
    ;allow-g726
    canreinvite=no
    fromdomain=stun.sipdiscount.com
    username=USERNAME
    fromuser=USERNAME
    secret=PASSWORD
    ;qualify=yes
    [5000]
    ; netroute
    type=friend
    regexten=5000
    callerid="netroute2" <5000>
    host=dynamic ; This device needs to register
    secret=PASSWORD
    allow=ulaw
    allow=alaw

    add to your /etc/asterisk/extensions.conf

    exten => 5000,1,Dial(SIP/5000,30,rm)
    exten => _7.,1,Dial(SIP/${EXTEN:1}@sipdiscount,30,rm)
    exten => _7.,2,Congestion
    exten => _7.,3,Busy

  • Netroute Configuration
  • Netroute is more complicated than asterisk. Why ? because there is no documentation at all. So it’s a trial and error kind of thing. My current working solution IS very very crude and NOT thoroughly tested.

    Edit your /etc/call_route.conf and comment out the line that says:
    plugin load gr

    Also, make sure your last lines of this file look like these:
    # default routes
    route_pattern add default/@ gr filt_last rl_rg_sip0
    # note: default route is required
    route_pattern add default/! default filt_last rl_rg_sip0

    Now go to the web interface of netroute and in the voip section add asterisk’s sip domain/realm and IP settings and the settings you entered in the section [5000] of asterisk’s sip.conf. You might even want to lower the registration interval, if netroute and asterisk is in the same lan the extra traffic is insignificant. Then go to dialplan configuration and click on “+Add pattern”. In the Pattern field add 7X and don’t tick any of the other boxes. In the Prefix field just add 7.
    When finished, do a
    /etc/init.d/checkpoint
    /etc/init.d/rc-voip restart

    Now pick up a handset plugged into the first netroute’s FXS port and dial a string such as: 700302101234567
    7 in the beggining is used by asterisk to send the call to sipdiscount trunk and 0030 is used by sipdiscount to call Greece. So in order to call 2101234567 we need to dial 700302101234567 from the netroute.
    If you just want to dial Greek land line though sipdiscount change

    exten => _7.,1,Dial(SIP/${EXTEN:1}@sipdiscount,30,rm)

    with

    exten => _7.,1,Dial(SIP/0030${EXTEN:1}@sipdiscount,30,rm)

    Then you would only need to call 72101234567 from netroute.

    Check asterisk’s log file for errors. A successful call should look like this:
    Executing Dial("SIP/5000-49ab", "SIP/00302101234567@sipdiscount|30|rm") in new stack

    🙂

    Debian vs Gentoo

    Before I begin let me state my opinion. I am a big fan of Gentoo. I have installed gentoo more times and in more machines than I had installed win98 🙂

    I am currently making an effort, oh and I mean it..it IS a effort, to install and configure a debian system. I want to use primarily as an Access Point/Client with 3 wireless cards. Sounds hard ? maybe…but debian makes it harder.
    First of all…the damn development branches. Debian has stable, testing and unstable branches. I understand what stable is…but why should a decent distro have more than one branches in testing mode? The packages in stable branch are older than my grandmother. So most people actually use…the testing branch, and everyone on the net says it is “stable” enough to use it. So it’s more like debian has the stable-old-like-my-grandma, the testing-people-say-I-am-stable-enough and the unstable-don’t-use-me-I-will-crash your box branches. Gentoo just gives you arch and ~arch. Stable and unstable. Nice and easy.
    Next…aptitude interface sucks. It just sucks. It so not user friendly…you actually get lost if you don’t learn all the keyboard shortcuts by heart. Yes, Gentoo’s emerge is a bit complicated too, but at least it is sane enough not to provide a crappy ncurses based gui. It’s better to stay command line only than having an awful gui. Maybe when you only have a few packages to update it might be a bit easier to distinguish what’s going on…but having more than 20-30 packages to update, like when you have just finished a fresh install and want to update,then it’s more like a killer task. It’s almost impossible to identify a blocking package unless you know the keyboard shortcuts. But then again…if you are experienced enough…why do you need a gui since everyone knows tasks made by guis are done slower ? Aptitude’s ncurses gui needs a drastic redesign if it ever wants to become user friendly and not a tool for the lazy admins that are just fond of blue and purple colors.
    What I liked ? Updates did not hurt any of my conf files, yet. That’s where gentoo sucks. etc-update really really really sucks. dispatch-conf is a lot better…but it could have been a bit more optimized, especially when it replaces just headers and comments from files.

    Greek Ministry of Economics makes an agreement with Microsoft

    While most other countries in the world turn to Open Source software to secure their investments and to gain more from the tax payers’ money, the greek government makes a leap backwards and makes an agreement with Microsoft. Microsoft will sell software to the greek government and to all public services for a cheaper price than normal.

    In order for you to understand the stupidity of this decision just take a look at what the minister of economics said after the agreement.
    Original text:

    “Προσωπικά, έχω ωφεληθεί πολύ από τη χρήση των τεχνολογιών της Microsoft ήδη από τη δεκαετία του ’80, όταν ως νέος καθηγητής οικονομικών χρησιμοποιούσα προσωπικούς υπολογιστές για τις ανάγκες της δουλειάς μου”

    My translation of what he said in English:

    “Personally, I have been benefitted a lot from the use of Microsoft’s technologies since the 80’s, when as a young teacher of economics I used personal computers to do my work”

    The original version should be here: http://www.mnec.gr/MS_GA_Dilossi.aspx … but cleverly enough someone has deleted the file from the website of the Greek Ministry of Economics, and you are now presented with a 404 error. Someone “thankfully” realised how embarrasing that was.

    Shame on the Greek Government. The previous government had done quite the same thing and had then agreed with Microsoft (I have blogged about that in the past). Looks like these “new” guys are not any better than the previous ones…maybe they are even worse. Now you know where the Greek government spends your taxes, on Bill Gates 200-meter long yacht(link2).
    These government people just remind me day after day how pathetic are we as a nation. Go on! Vote for them in the next elections too…make sure Gates gets an even bigger yacht for next year!

    Can we change that ? Maybe not…but we can try…
    http://manifesto.digitalrights.gr/

    SSH Escape Characters

    I am sure a LOT of people reading this blog use ssh in their everyday work/life/etc. I am not sure though how many of you have heard of ssh EscapeChar unless you’ve read the ssh_config file (and even if you have done so, did you pay any attention to it ?). So what can you do with EscapeChar ? not a lot, but certainly very usefull stuff.

    My most frequent problem with ssh is sessions that sometimes they don’t end as they are supposed to. You logout from the remote system and you never get a prompt on yours because something has stuck somewhere, sometime. Wouldn’t you wish there was an escape sequence to end this suffering, like telnet’s ctrl+] ? Well there is! Just edit your client’s ssh config file (/etc/ssh/ssh_config for gentoo) and add to the end:
    EscapeChar ~

    now try ssh to a host and when you are in, try this: ~?. You will see a list of helpfull options. The solution to the previous described problem of stale connections is ~.
    Dummy-safe: So to get it to escape press[alt gr] + [~] two times and then [.]
    If that doesn’t work, try pushing Enter before “~”.

    What’s also very helpfull is the ability to start/end portforwarding during an active ssh session! Say you have opened an ssh connection to a host and you now have to portforward a port, what do you do ? New ssh connection with -L/-R options ? nope! You just press ~C and do what you want from the ssh “command shell”.

    enjoy!

    mplayer headaches with alsa solved (hopefully)

    Lately I had a problem with my gentoo. I could not get HR video files with mplayer to work smoothly. In order to test what was going on I downloaded ExperienceMP10_1280x720_8mbps.wmv from http://www.wmvhd.com/ .

    Whenever I tried playing it the result was choppy video and sound. Mplayer gave me a banner that said: Your system is too SLOW to play this!. Hey my pc is based on an Athlon XP 2800+! It’s NOT slow! So the problem was surely not cpu power. I tried playing around with mplayers’ -vo options. In fact -vo gl gave me some more fps…but it was still unwatchable. Then it was time to play aroung with -ao options. I tried them all… alsa, oss, sdl, alsa:mmap, alsa:noblock, nothing…each one was worse than the other. Then I tried -ao null. And what a surprise…when audio was disabled video stopped being choppy. It was playing just fine! So the problem was surely audio related. I have the latest alsa installed from portage and other programs play really ok with it, so I thought maybe there a newer mplayer version could do the trick. I first checked on gentoo forums where I found this very helpfull thread about multimedia overlay in portage. I installed it in my portage overlay dir, unmerged mplayer from normal portage tree and emerged mplayer-cvs from the new overlay. After some compile time it was finally ready. The results ? amazing 🙂
    It works with every video format I’ve tried! No sloppy playback, no lagging sound, just perfect.

    I hate using custom solutions and ebuilds to cure my problems, but at least I have not compiled anything by “./configure;make;make install” yet. Long live the gentoo community. Thnx a lot to all 🙂

    HOWTO remove spikes from RRD graphs

    If you happen to use rrdtool to create graphs to monitor equipment you might have come upon some “spikes” in your graphs. These are perfectly normal and happend due to machines that have rebooted and have reset their counters or other anomalies that might occur.

    There is a script called removespikes.pl made specially to fix these cases. You can either find the tool here: http://oss.oetiker.ch/rrdtool/pub/contrib/removespikes.tar.gz or get it from my blog removespikes.pl.gz

    Extract it, and then type something in the command line like the following:
    for i in /location/of/rrds/*; do /full/path/to/removespikes.pl $i; done;

    You should probably see some messages like these:

    Chopping peak at <!– 2005-10-25 17:00:00 EEST / 1130248800 –>
    Chopping peak at <!– 2005-10-25 19:00:00 EEST / 1130256000 –>

    That’s all…enjoy your graphs.

    fixing gentoo’s php mess

    OK…there’s one thing gentoo is REALLY messy. And that’s php support. In fact it’s so crappy at the current time, that it’s almost imposible to use PEAR without a ton of user “hacks”, unless you can find someone else to do it for you. There are lots of packages still depending on the old dev-php scheme…and some newer depending on the dev-php4 or dev-php5. So when one tries to install dev-lang/php with some pear packages he might need, a pear package might request installing dev-php/php too. So you end up with 2 php packages, php5 and php4! Anyway…if you really want to setup the latest php support in gentoo you should do it with gentoo-php-overlay. I got bored of trying to fix gentoo’s php packages to depend on dev-lang/php and not dev-php/php using regular expressions to edit the ebuilds and re-digest them on my local PORTDIR_OVERLAY.
    Someone should really fix gentoo’s php support SOON.

    Who said Windows is easier than Linux ??

    I’ve heard a lot of times that windows is a lot easier than Linux, that you cannot easily install programs on linux and so on and so on…so here’s my little story from yesterday.

    A friend came at home today and he had to finish a project for today. His project involved some math problem solving and unfortunately he had chosen Microsoft Office and MathType to do it. So I rebooted my PC from Linux to Windows XP and that’s how about the problems begin. Upon booting to windows various popups started appearing that programs needed update. The anti-virus (I would have nearly forgotten that word while using Linux, unless someone very very close to me ( 🙂 ) kept asking over and over about Panda Antivirus, heh), Windows itself, acrobat reader and so on…OK, maybe that was my mistake because I had not booted into windows since last September when I needed it for a project of my own. Then I wanted to install Microsoft Office, Microsoft Word to be exact. I found an old CD of mine with Microsoft Office XP Pro and put it inside the tray…I opened the cdrom drive with Windows explorer and what I saw was…shocking. At least 10 to 15 different executables with weird names and some .msi files. In fact…here’s what the cd contents look like!

    athlios:/mnt/cdrom%ls -1
    access.msi
    autorun.inf
    excel.msi
    files
    fp.msi
    instmsi.exe
    instmsiw.exe
    msde2000
    office1.cab
    ork
    outlook.msi
    owc10.msi
    ppt.msi
    pro.msi
    proplus.msi
    readme.htm
    setupacc.exe
    setupexl.exe
    setupfpg.exe
    setupolk.exe
    setuppls.exe
    setupppt.exe
    setuppro.exe
    setupstd.exe
    setupwrd.exe
    sharept
    std.msi
    word.msi
    athlios:/mnt/cdrom%ls -1 | wc -l
    28
    athlios:/mnt/cdrom%ls -1 | grep .exe | wc -l
    11
    athlios:/mnt/cdrom%ls -1 | grep .msi | wc -l
    12

    So there’s 28 files in the root cdrom dir, 11 of these are .exe and 12 are .msi. As far as I can remember .msi files can be “installed” as well. And…surprise surprise!! there’s no “setup.exe” inside…but a bunch of various setup???.exe. What do we do now ? Oh … there’s autorun.inf…that should tell us.

    athlios:/mnt/cdrom%cat autorun.inf
    [autorun]
    OPEN=setuppls.exe /AUTORUN
    ICON=setuppls.exe,1

    shell\configure=&Configure...
    shell\configure\command=setuppls.exe

    shell\install=&Install...
    shell\install\command=setuppls.exe

    It’s obvious right ? I need to run setuppls.exe!
    And now…time for some problems!
    Everytime I clicked on setuppls.exe I got this beautiful error message:
    The Windows Installer Service could not be accessed. You may be running in Safe mode or Windows Installer may not be correctly installed.
    I tried the other setup???.exe files too…same error again…
    What is Windows Installer Service ? I am surely NOT running in safe mode…and how could I have incorrectly installed something that I don’t know what it is ?
    After some trial and error and some googling I came up to the conclusion that I had to run “instmsiw.exe” first and then the infamous setuppls.exe.

    And then …wow! the installation begun!

    Is that what windows people call “click and play” ? Ease of Use ? User Friendliness? GIVE ME A BREAK!!!

    Do you know how HARD was to install OpenOffice (that has built-in mathematics support, so you don’t need MathType crap) in Gentoo Linux ?

    emerge openoffice-bin

    And if it even wanted to install something like “Linux Installer Service” it would have done it without any user intervention because it knows what a dependancy is.

    Now…Who is user friendly ?

    Every time I have to boot into windows it reminds me how happy I am with Linux 🙂 Thanks to all the redmond guys…you ROCK!

    Some links about shells

    A small introduction to shells by Adam Spiers.

    Bash now supports sockets

    And if you wonder how that smiley “:) fishsticks$” on the prompt of user mendel appears:

    Just edit your bashrc, add this line somewhere:
    smiley () { if [ $? == 0 ]; then echo ':)';else echo ':(';fi; }
    and then change your PS1 line to include this:
    \$(smiley)
    in the beggining…so that it looks somewhat like this:
    PS1="\$(smiley) \[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] "

    It’s somewhat funny…