Data Structures Book

On a slashdot thread I was discussing whether I should roll my own data structure or try to use one of the many, many Sun data structures.

Someone recommended this book.

I’m sure you have seen something like this when you have connected to a ssh host.


The authenticity of host 'host (1.2.3.4)' can't be established.
RSA key fingerprint is 44:99:ff:33:66:88:cc:66:aa:22:00:00:ee:11:99:33.
Are you sure you want to continue connecting (yes/no)?

Great. Now what? What to do with that cryptic garbage up top? Log into the box or call the admin over the phone and verify the key.


$ ssh-keygen -l -f /etc/ssh/ssh_host_key.pub

E15k and cosmic-rays

No joke. Here’s a snippet out of an E15k manual.


Internal SRAM protection inside the UltraSPARC III Cu CPU. With higherdensity CPUs and lower-core voltages, SRAM cells have become more vulnerable to bit flips from cosmic-ray disturbances. Single-bit errors for the majority of the internal SRAMs are detected and are recoverable.

I’m sure it happens. I just find it funny that Sun has to design its chips to withstand interstellar high energy particles (or what-not). I’m no physicist.

Spring Framework

Researching this Spring Framework. Most interesting so far is it’s touting of being modular. As in, you might only use it for a single feature and it wouldn’t be bloated.

Emerging Gnome 2.10.1

I’ve updated Gnome 2.8 to 2.10 on two other boxes. The third box (which may have had lots of unstable packages on it) is complaining. When I `emerge gnome`, gnome-games fails with:

game.o(.text+0xa19): In function `bj_game_ensure_config_dir_exists(char const*)’:
: undefined reference to `g_mkdir(char const*, int)’
collect2: ld returned 1 exit status
make[3]: *** [blackjack] Error 1
make[3]: Leaving directory `/var/tmp/portage/gnome-games-2.10.1/work/gnome-games-2.10.1/blackjack/src’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/gnome-games-2.10.1/work/gnome-games-2.10.1/blackjack’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/gnome-games-2.10.1/work/gnome-games-2.10.1′
make: *** [all] Error 2

!!! ERROR: gnome-extra/gnome-games-2.10.1 failed.
!!! Function gnome2_src_compile, Line 41, Exitcode 2
!!! compile failure
!!! If you need support, post the topmost build error, NOT this status message.

It’s insane because I really don’t want gnome-games but it’s a dependancy. Working through it … will post progress…

Emerging single packages seems to work, I wonder if g_mkdir is in a header I don’t have somewhere …

I emerged a set of packages (one and two at a time) out of the `emerge -pv gnome` dependancy list and I got past gnome-games. Must have been a libray somewhere. I will post the history of packages I emerged. I am 3 packages into `emerge gnome`, past the games. Must be working. Very close to getting 2.10 working on this machine. :)

gnome 2.10 = best ever

- they rearranged some of the main menu bar items,more logical now
- you can mount volumes over ssh, that is just crazy. I was looking at thumbnails on my server at home through ssh. Insanely useful, although I can’t figure out how to text edit in read/write mode.
- video player
- ripper
- many other little things

More details here.

emerge world updates every package you have to the latest version that’s available via source. Read on for a screendump of tastiness.
Read the rest of this entry »

Over a weekend I had the fun task of rebuilding two Sun Cluster hosts as standalone servers (Sun Cluster wasn’t great for us). I rebuilt one box and noticed after encapsulation that is complained about the ufs log on /. It was weird but didn’t cause any problems.

The 2nd identical box didn’t go so well. After veritas’ rootdisk encapsulation, it kernel panicked with that error above and I was dead in the water. I thought it was a fluke so I spent 3 hours rebuilding it again. The 2nd time it did the same thing. This was amazing to me because I knew the hardware was good and that the software should work (worked on the 1st box anyway). I called Veritas support and got some answers. I’m posting this just in case someone googles this and it saves their ass.

When booting Solaris after encapsulation, I got the following error:

Rebooting with command: boot
Boot device: /pci@8,600000/SUNW,qlc@4/fp@0,0/disk@w21000004cfd9a1cb,0:a  File and args:
SunOS Release 5.9 Version Generic_117171-13 64-bit
Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: vxvm:vxdmp: Cannot find device number for
e_ddi_get_dev_info: Illegal major device number
NOTICE: vxvm:vxio: Cannot open disk ROOTDISK: kernel error 6
Cannot mount root on /pseudo/vxio@0:0 fstype ufs
panic[cpu0]/thread=140a000: vfs_mountroot: cannot mount root
0000000001409970 genunix:vfs_mountroot+70 (0, 0, 0, 200, 1458170, 0)
%l0-3: 000000000144bc00 000000000144bc00 0000000000002000 0000000001495428
%l4-7: 000000000149b000 0000000001411e28 000000000144c400 000000000144f400
0000000001409a20 genunix:main+90 (1409ba0, f005a4d8, 1409ec0, 391d52, 2000, 500)
%l0-3: 0000000000000001 000000000140a000 0000000001412f98 0000000000000000
%l4-7: 0000000078002000 0000000000394000 00000000014a3800 00000000010665f8

skipping system dump - no dump device configured

Read on for the fix.
Read the rest of this entry »

distcc is cool.

Distcc is a distributed C/C++ compiler. You can easily use a bunch of machines’ power to compile stuff. The setup isn’t bad at all. It’s just a non-root network service.

Gentoo.org has some nice instructions on setting up distcc for builds. Here, we have 2x Pentium 3 machines and 1x dual xeon helping me build nethack. Don’t have numbers on how much faster it was but it seemed faster. Most makes/compiles are annoyingly slow, this seemed ok.

distcc_thumb.jpg

Useful Crontab Header

#minute (0-59),
#|      hour (0-23),
#|      |       day of the month (1-31),
#|      |       |       month of the year (1-12),
#|      |       |       |       day of the week (0-6 with 0=Sunday).
#|      |       |       |       |       commands

Good for putting at the top of crontab files.