libConfuse ?

When I was about to build ganglia to monitor my small Beowulf cluster, a single dependency tickled my mind:

libConfuse

It's a nice parser, yet why with this name?
libConfuse was called libcfg before, but its name was changed to not confuse itself with other similar libraries.
Then why not, "libnotconfuse" or "libdontconfuse"? :D
 __________
edit: Then it started to confuse me a bit:
/usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: /usr/local/lib/libconfuse.a(confuse.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libconfuse.a: could not read symbols: Bad value

  D'oh!

narcissus@angstrom-distribution

narcissus took my breath away when I opened the webpage for the first time. I was literally crying knowing the first device listed is XScale PXA27*-based A780.

PXA is sure none to compare against today's SoCs, but somehow they showed me better constraint-aware design and lean userland implementation.

Meanwhile I've got to play with those cubieboard2 and Rapsberry Pi in my desk. :D

Parallel Monte Carlo on Beowulf Cluster

My project on parallel computing went quite well.

I implemented 3-dimension embarassingly pleasingly parallel Monte Carlo integration on Beowulf cluster consisting of mainly 6 units i3-540/550 and 10 units 10 E7500 for some extra experiments.


The project code is montice.
The paper (Indonesian): here.


I used Darren Wilkinson's blog which is great reference material with some basic benchmark (here), in which his result showed poor figures due to most likely memory bottleneck on his i7-940XM (which is quite insane CPU on a laptop).

The speedup on 6 units i3 is here:

As the figure shows, single/core dual core performs just ideal and multithreading (3 or 4 cores for each box) only shows 70% performance improvement over the single/dual core operation.

Overheat: daily routine

I forgot to connect CPU fan on my laptop and kept doing my daily routines: browsing, chatting, watching anime, downloading stuff, and remote-controlling an instance of kvm on my lab server. I didn't notice it was overheating up until I felt a little bit audio-video delay on the anime.



Yeah, Crestline-Merom is definitely versatile.

Qt4.x -> Qt5.x: Painful transition

I've been a qt-fanboy since quite some time. When Qt5 is released, I was a happy guy: downloading its evaluation release, trying QML and those swish-swingy widgets for the new UI system, and such.

But lately, it's been more hassle than fun. There are some major programs I use frequently which drove me insane regarding Qt4 to Qt5 transition:
  1. mathgl. Though being just ordinary OpenGL based plotting library, its unclear reason to depend on certain version's (Qt4) of QWidget makes it unusable with Qt5 although no major difference on both version which could render mathgl unable to work.
  2. VLC. I love this media player because of its just-work design. Again, because of dependecy issue on Qt4 I can't compile this against Qt5. Luckily last September they released this version which work with Qt5, yay!!
  3. qbittorrent. Some people has worked on it, though the patches weren't merged to upstream. Wish it'll merged by version 3.1.0.
  4. cmake. Still no FindQt5 module, enough said.
Luckily, things for engineering/scientic computing (mostly plotting graphs) which I need most as university student like qwt, qwtplot3d, qwtpolar isn't so much version dependent, so I could still sleep well.

C/C++



Enough said.

Paper Balancing

If balancing things on cat is already too mainstream, I've got some stupid doing here in my side: balancing paper. It's some Qt development worksheet I was working on.

 
--sorry for the blurry image

   
side perspective

Onani Master Kurosawa

Onani Master Kurosawa. Just great!



The manga tells the many sides of adolescence: bullying, friendship, (first) love, and socio-sexual gratification. Kurosawa Kakeru managed to change his anti-social facade to warm-loving personality. Blah, I'm just speechless.

 Definetely, better love story than Twilight!

my github account

Just got my github account around a week ago (for hosting my embarrassingly parallel computing codes).
jendralhxr@github

 I still don't have Facebook account, yay! I'm free!

Laptop default display (frame buffer) output

Several days ago, my laptop did something awful to me, it defaulted to use VGA1 (display with D-SUB adapter) rather than LVDS1 (laptop's screen), even before X! (runlevel 3). Apparently something is wrong about frame buffer config (or ACPI).

Adding:
video=LVDS1:e acpi=force
to kernel arguments parameters (quite) solved the problem, the mis-configured display happened much less frequently :D

USB Flash Boot Frenzy: Puppy Linux

Adding Puppy Linux to syslinux entries is pretty simple: copy all the files to a directory inside your flashdrive, add an entry for Puppy Linux.
# mount -o loop puppy*.iso /mnt/puppy 
# mount /dev/sdb1 /mnt/flashdrive 
# cp -vfr /mnt/puppy /mnt/flashdrive

Puppy's entry should look like to this:
label puppy 
kernel /puppy/vmlinuz 
append initrd=/puppy/initrd.gz pmedia=usbflash 

Luckily, Puppy can find its own compressed SquashFS (unlike Ubuntu) :D

(Part of) My Beowulf Cluster

These 6 boards bearing i3 540 (quite old procie) are part of Beowulf cluster I am working on. I borrowed them from my professors (here and here). The cluster will include 10 more E7500.

The cluster will do computation on multi-dimensional Monte Carlo integral, in which more processing nodes will allow more data samples and faster results. It utilizes basic cluster thingies: GNU/Linux (WattOS and SalixOS) for the operating systems; NFS, OpenSSH, some home-brewed scripts for management; and OpenMPI as parallel programming library.


She's majestic, isn't she?

She's gonna be my girlfriend for quite some time :)

USB Flash Boot Frenzy: syslinux

The story came fall short to my need for a single USB flashdrive which I need to install multiple operating systems from. Most 'USB installer maker' application like Unetbootin and Wintoflash will only allow a single instance of installer; and I hate to backup-copy the drive's MBR and PBR everytime I install a new installer on it. Some other like YUMI will allow you to install several installer, but its ISO emulation is pain the ass that the ISOs have to be placed contiguously on the drive (and some installer won't recognize installation sources' path properly doing so).

Then I decided to install a nice bootloader on it so that every instance of installer will be accessible by choice. At first my choice came to Lilo which is Slackware-based distros' default bootloader. I like its simplycity and 'solid-state' model. But lack of on-the-fly configuration edit, and my stupidity (I misplaced Lilo on my laptop's MBR instead of on flashdrive's MBR) led me not to choose it. I also considered grub, grub2, grub4dos (grldr), but I simply don't like them very much from the beginning.

Finally my choice came to syslinux. It has nice features like supporting EXT filesystems, FAT filesystems, and btrfs; and its menu configuration is simpler (at least to me) than grubs', and pretty much similar to Lilo by design (syslinux even mentions lilo at its manpage) Installing syslinux on flash drive is pretty simple: mount your drive and invoke.
# mount /dev/sdb1 /mnt 
# syslinux install /dev/sdb1

Then you can copy its modules to do things later. I like to place the modules inside a sub-directory rather than put in root directory as I still use the drive for file transferring.  
# cp -vfr /usr/share/syslinux /mnt

In some cases, you need to work with the MBR.
# dd if=/mnt/syslinux/mbr.bin of=/dev/sdb

Yep, good to go!

livetune feat. 初音ミク 『Tell Your World』

I am literally crying (re-)watching this music video.



These things I want to tell you
The things I want to reach you
may they converge together
and reach out to you

Atheros AR9281 on Salix64 13.37

I've recently got this wireless network adapter (Atheros AR9281), taking it from some random broken laptop which belongs to a friend of mine.

Technically the card is nicer:802.11n and higher gain than my old faithful Broadcomm BCM94312. But to get it working on my slacktop (Salix64 13.37, which is based on Slackware64 13.37) is just another little (stupid) story.

Long story short: load the modules, some people suggested to turn off the hardware cyprt-work.
# modprobe ath9k nohwcrypt=1

Unlock the device so we can turn it on.
# rfkill unblock wlan

Unfortunately, it won't work with acer_wmi so pressing the wlan switch in the multimedia buttons won't switch the adapter on. Instead, I have to do:
# ifconfig wlan0 up

It's fully working now: iwlist, iwconfig stuff will work.

To make things easier in the next boot:
# echo "options ath9k nohwcrypt=1" >> /etc/modprobe.d/ath9k
# echo "/sbin/modprobe ath9k" >>  /etc/rc.d/rc.modules


_____
Now I am considering to use another bluetooth adapter so I can gracefully disable acer_wmi.

MotorolaFans

After mkezx went down a long time ago, it's now MotorolaFans' turn. Early this February, Motorolafans (motorolafans.com) is no longer accessible. The reason is most likely due to less visitor, low maintenance, spambots, and expensive hosting/domain cost. It's kind of shocking Chinese New Year present to me.

It's been a great experience for me to learn so much about thingies, to work in a community, and making friends. (also being obliviously stupid and still being warmly accepted)


this picture belongs to nimsrules

It's been nice being with you guys. It was one hell of experiences I can be proud to be part of. Thank you so much for everything.

Zéfal Z Cross AL review



Zéfal Z Cross AL. I've been using this portable pump for a while, so it's time for some review.

Here's few points:
+ tough material from aluminium,
+ easy maintenance: you can unscrew the back valve cover and put some light oil regularly (a month or so),

# larger size for more air being pumped,
# unique locking mechanism using that o-ring,
# decent pressure: it takes me 60-70 strokes to inflate 700c tube to nice-usable pressure (I'm not particularly working out to do so),
# easy swappable Schrader-Presta valve,

- the valve cover strapped to the thumb lock is a stupid idea, the strap broke after just few days :(
- the thumb lock doesn't work as it's supposed to: it needs no be pulled (only) halfway-through to work properly on Schrader valves.


--figure out the points yourself

Worthy buy I guess. :)

Arch? Linux, BSD, or Hurd?

If they are binary compatible down to the binaries, it'll be surely awesome and uber-portable.

Blue Arch (Linux), red Arch (BSD), another blue Arch with patches all over it (Hurd). Anyway, I'll stick with Slackware-based distros for my personal uses.

Dusty Switch


It's DES 1024r, main unmanaged switch in my lab. Despite being installed inside a rack, it got dusty after 4 (or so) years. Anyway, it runs just fine.