Clockfort's Tech Blog

… updated whenever a new project comes along

Brought up my IBM workstation

Just brought up my old IBM workstation. Thing is a beast!

# uname -pM
powerpc IBM PPS Model 7248 (E)
# oslevel
5.1.0.0
# echo $SHELL
/usr/bin/ksh

Now, to get OpenSSH onto it! RSH is a tad outdated in this day and age :-)

Just running a default install of AIX 5.1 and all it’s random services gives a load balance of around .75 >_<
I’ll get around to killing random services I don’t need in a bit. (Probably a good idea anyway, because they’re all old software, all local-network accessible, and all running under a root user <_< )

OPCOMM@home

I had the best home network – 24 port 100mbit switch, an 8 port managed gigabit router, a 4 port managed router, 96 ports of rackmount patch panels, wall jacks in every room, a MythTV box, several rackmount servers, a hardware firewall, SQUID caching services, domain services (clockfort.endoftheinternet.org), DHCP/DNS services, traffic shaping services (so I can enjoy torrents AND web browsing, not either or! :-) ), an 802.11N WPA2 WAP, and an 802.11B WAP for legacy devices (wii, older laptops). Too bad it all goes to a terrible cable modem :-/

Now the 24-port 100mbit switch lives in CSH, though, serving up the usercenter’s network… ah well.
When I’m on CSH, the network managing is much more fun :-)
…Basically, I just need to pull an Angelo and implement Start for my personal network here at home, though.

Dueling Banjos, Part 1

Had to start a project blog to appease Dumont, our beloved R&D director!

So, in some flash of 6AM brilliance, I decided I’ll be doing a seminar when I get back on programming different types of network architectures – i.e., traditional client-server architecture, peer to peer, multicast broadcast, etc. Sounds not so interesting, right?

So, the “flash of brilliance” part was inspired by my friend’s Scott and Angelo, as seen on Scott’s website. The idea is, I’ll give the seminar on Computer Science House, and give EVERYONE ON FLOOR some client programs to run; when my server programs touch communicate to these clients, they start the next “verse” of the song “Dueling Banjos”, all synchronized together. (i.e. A group of computers start playing the first part of the song, then it switches to another group of computers…)

Thus, in my demonstration of each architecture, attendants will be able to hear a deafening cacophony of dueling banjos, and even better, because it’s audible, they’ll be able to hear WHY some architectures are better than others for certain applications; for instance, broadcasting the server to a multicast address (two of which are available on floor) will result in the least variation in delay time, so the music will be more in-sync. They’ll hear for themselves that the peer-to-peer architecture, on the other hand, isn’t very well suited to this particular application, and results in very de-synced music in which everything is playing at once, eventually.

This will be awesome. I’ve already written the source code completely for two out of the three network architectures I want to go over, but I may want to add more architectures. The code is written in Java, because A) It’s what the freshmen know, because it’s taught in CS class, so it’ll be easier for me to explain each architecture, and B) By using Java’s audio classes (which are not very elegant at all, by the way) and compiling to Java byte-code class files, it’s very portable, meaning everyone on floor can run the application, especially important considering floor has a very high proportion of GNU/Linux and Mac OS X users, with a few misguided saps like my room-mate who run Windows.

Talking to R&D:

(09:36:57 PM) Me (AIM): for bar camp, I'm thinking I'll do a presentation on different kinds of networking client/peer architectures
(09:37:13 PM) Me (AIM): but the example programs I made are AWESOME
(09:37:18 PM) Dumont: oh?
(09:38:14 PM) Me (AIM): The example program plays "Dueling Banjos"; i.e. in one architecture, one computer plays a banjo line, then it sends a packet to the other guy who plays the guitar line, who sends a packet...
(09:38:18 PM) Me (AIM): It's awesome to see
(09:38:41 PM) Dumont: wow...
(09:38:44 PM) Me (AIM): And in the normal client/server architecture, it supports an near-infinite amount of clients connecting as either the bass or treble parts
(09:38:51 PM) Dumont: OMG
(09:38:51 PM) Me (AIM): so you end up with a roomfull of PCs dueling it out
(09:38:53 PM) Dumont: ALL OF FLOOR!
(09:38:53 PM) Me (AIM): musically
(09:38:54 PM) Me (AIM): YES
(09:38:55 PM) Dumont: ALL OF FLOOR!
(09:38:56 PM) Me (AIM): EXACTLY
(09:38:57 PM) Me (AIM): EXACTLY
(09:38:59 PM) Dumont: IT MUST HAPPEN!
(09:39:01 PM) Me (AIM): EXACTLY
(09:39:37 PM) Me (AIM): it took me FOREVER to cut up the audio in audacity
(09:39:39 PM) Me (AIM): but it was worth it
(09:39:51 PM) Dumont: that'll be awesome
(09:39:55 PM) Dumont: must do this when we return
(09:39:59 PM) Me (AIM): ^_^