Home

Blog

Fatcats BBS

Popular Projects
DrugLord, a Dope Wars style door game
FatFish, a fishing simulation door game
Haiku OS ports and stuff
SyncHack, multiplayer rogue-like BBS shell
Synkroban, Sokoban for Synchronet

Arfonzo's Blog

23/12/2007 01:44 GMT | Video - The Ultimate Predators
Watched this (lengthy!) series of documentaries on predators last night. Pretty tasty indeed. Some of the documentary, the last episode in particular, talks about animal learning and the passing on of information-pretty arousing^H^H^H^H^H^H^H^Hinteresting, if you ask me.

http://video.google.co.uk/videoplay?docid=3882529307936397855

Dont miss the narrators play-by-play commentary either, pure welcome to the animal Olympics 2k8.

20/12/2007 15:20 GMT | Power Up!
gopher://retronet.info/I/art/phlog/.content/dsc025611.jpg
http://art.csoft.net/wp-content/uploads/2007/12/dsc025611.jpg

... I'd best be saving this bad boy for emergencies.

14/12/2007 00:48 GMT | MAngband-Vista out for testing
Today I ran the Windows binary package of MAngband 0.7.2a. Apart from missing walls and other things, it would consistently crash when I typed :' to chat. Pretty annoying.

As a result, I've compiled a Vista-compatible version of MAngband. You will need at least the Cygwin base set installed, as MAngband requires terminfo definitions. You can check out the project page with all the relevant downloads and information at MAngband-Vista. I hope to release updated versions of MAngband-Vista as new versions of MAngband are made available, and until these issues with Vista are resolved in the official distribution.

MAngband-Vista: http://poorcoding.com/MAngbandVista

09/12/2007 04:27 GMT | Inspiring words from the Ultimate Warrior
DrGuildo sent me this gem yesterday. Watched it again (and again) today, it's still good-still fresh:
http://www.youtube.com/watch?v=laiZgrIpbcA

L U L Z M 4 T I Q.

/me puts neon streamers around his biceps and paints his face.

06/12/2007 23:26 GMT | Getting BSD, Home, End, Putty, and screen to play nice
... you can try putting shit into your /etc/inputrc (or ~/.inputrc):

"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word

You will have to re-login to your terminal session for these changes to take effect. But that may not fix anything in screen, until you change the $TERM in your screen session:

bash-3.2$ cat ~/.screenrc
term linux

... which means you have to restart your screen session for the changes to take effect. "term vt220" is also a good choice, but if you tend to use syntax highlighting with vim, for instance, or any other high-tech features of your system, it may look ugly-underliney.

06/12/2007 23:21 GMT | Trapping signals in Ruby
It's pretty easy to handle signals in Ruby, which is sometimes necessary when you want your code to interact with the system running it.


SIGNALZ AHOY!

If you want to know which kill signals you have:

bash-3.2$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGEMT SIGFPE
9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG
17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD
21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGINFO 30) SIGUSR1 31) SIGUSR2

If you want to know which kill signals Ruby recognises:

irb(main):002:0> Signal.list.keys.join ", "
=> "USR1, BUS, USR2, TERM, SEGV, KILL, EMT, EXIT, STOP, SYS, TRAP, INFO, IOT, HUP, INT, WINCH, XCPU, TTIN, CLD, TSTP, FPE, IO, TTOU, PROF, CHLD, CONT, PIPE, ABRT, VTALRM, QUIT, ILL, XFSZ, URG, ALRM"
irb(main):003:0>


QUICK'N DIRTY SOURCE CODE

There's probably better ways of doing this, but here's a stupid little example demonstrating how it could work:
--
bash-3.2$ cat signal.rb
$hups = 0

def quit_on_int
puts "Quitting on interrupt signal."
exit
end

def quit_on_quit
puts "U sure killed me guud!"
exit
end

def handle_hup
$hups=$hups+1
puts "HUP! (count: #{$hups})"
end

while true
trap("INT") {quit_on_int}
trap("HUP") {handle_hup}
trap("QUIT") {quit_on_quit}
end
--

Example in use:

--
bash-3.2$ ruby signal.rb
HUP! (count: 1)
HUP! (count: 2)
HUP! (count: 3)
^CQuitting on interrupt signal.
bash-3.2$
--

We run the program as above, then send it three SIGHUPs (i.e., using "kill -HUP pid"). We break out the program using ^C (ctrl-c), sending an Interrupt. Note this may not work in windows.

--
bash-3.2$ ruby signal.rb
U sure killed me guud!
bash-3.2$
--

Here we run the program again, and send it a SIGQUIT ("kill -QUIT pid").

05/12/2007 22:38 GMT | VMWare Server 2.0 Beta...kinda
The new VMWare Server 2.0 is out on public beta, you can register at VMWare for a free serial for any platform it supports. One of the supposed great new features is exactly my gripe with Microsoft Virtual Server 2005 R2: it is only accessible via a web interface.

Yes that's right gentlefolks, it actually installs an Apache Tomcat server. The interface is pretty sleek, but there was a noticeable lag in loading compared with VMWare Server 1.x.

Vista host seems OK, and it does support network bridging (finally!). I couldn't get it to power on VMs on bootup using an XP host. Kinda annoying. It also uses a new format to store VM configuration settings and disk storage, but still supports all the other VMWare formats.

Apart from the improved 64bit support for host and guests, and improved Vista host support, having to load up a web browser to access a web server that's purely dedicated to hosting web pages configuring your LAN virtual machines is a total harpoon up the arse. I think I'll stay with 1.x for now.


05/12/2007 21:58 GMT | MAngband revisited
... and it looks like MAngband's site has been completely redone, and the new development team has taken oven. Nice one, as they say. After a few years, I think we've all had enough of the good ol' blackie-reddie theme.

Nothing like a CSS makeover!

03/12/2007 02:32 GMT | _etc_network_interfaces
I'm tired of constantly forgetting this ultra-advanced syntax:

iface eth0 inet static
address 192.168.1.77
netmask 255.255.255.0
gateway 192.168.1.1

or, via DHCP:

iface eth0 inet dhcp

COMMENTS
--------
clark0r (6 Dec 07 at 22:17):
dhclient eth0 (bsd) heh
--
art (7 Dec 07 at 00:32):
I thought BSD didn’t have an /etc/network/interfaces file?
--
clark0r (27 Dec 07 at 16:55):
well, that’s on the cli, not in any file :)

but you can put this in /etc/rc.conf

ifconfig_rl0=”DHCP”
ifconfig_fxp0=”inet 192.168.0.100 netmask 255.255.255.0″

works the same :)
--

02/12/2007 02:19 GMT | Crimson stepping down from maintaining MAngband!
Well, after years and years of slow and patient progress from Crimson, he's made an official post on the official MAngband website stating that he intends to step down from maintaining MAngband, in lieu of the the current developers working hard at pushing out 1.0!

11/27/2007 Moving Day.

On Tuesday, December 5th, 2007, MAngband begins a new era.

"Finally admitting both to myself and the community that I simply no longer have the time to properly support the game,
I have delegated control and stewardship of it to a much more dedicated team of people, who have already started
making massive advances towards getting us up and running on 1.0 stable, as well as a much more structured development cycle.

I have been honored to have sat in stewardship of the game for these many years, and I
deeply appreciate both the trust, patience, and support I have received from the community at large during this time.

I will, of course, continue to participate in the game, and look forward to talking, and playing with the group.

Sincerely,

Robert L. Seifer

-Crimson"

I can't say I disagree with Crimson's decision. Out with the mold, in with the new. I had a chat with someone on #mangband@irc.mangband.org earlier, and we had a pleasant discussion about some of the things MAngband 1.0 needs most-a code enema and some UI enhancements. While MAngband has always been the multiplayer roguelike, I'm sure few can say it's been a pleasant multiplayer experience these past years. The interface is truly roguelike, to the extent that multiplayer interactions (like chatting) become awkward.

25/11/2007 04:18 BST | Hadron Collider starting up tomorrow
Tomorrow (26th Nov), the Hadron Collider is scheduled to turn on for the first time. Here's an older BBC documentary about the Collider (which apparently cost 6 billion GBP):
http://www.youtube.com/watch?v=_REiU40Ksjw

Let's hope that tomorrow doesn't start with a big bang.

15/11/2007 21:07 BST | Ruby and Silverlight
RubyCLR, a ruby bridge to .NET:
A high-performance Ruby to .NET bridge that allows seamless integration of CLR and Ruby objects in the same Win32 process. Use it to create rich client applications using the Windows Forms or Windows Presentation Foundation libraries.

John Lam (the RubyCLR developer) discusses DLR, ruby and Silverlight.
http://blog.jonudell.net/2007/04/30/a-conversation-with-john-lam-about-the-dynamic-language-runtime-silverlight-and-ruby/

15/11/2007 17:49 BST | Windows Live Writer 2008 finally released!
Aye, that's right open source fans, your favorite blogging tool is no longer beta testing! Live Writer 2008 (http://windowslivewriter.spaces.live.com/default.aspx) was released earlier this month and is finally out of beta testing (I'm using it as of this post!) at version 12.0.1366.1026. I've been posting here almost exclusively using WLW, and contrary to the regular ultra-hilarious jokes about Microsoft Beta softwarez, it's been a pleasant and stable experience for me in Vista.

Apart from supporting Live Spaces (which I haven't tried as of yet), it supports publishing to WordPress and Blogger.com, among others. It has a nice and non-intrusive WYSIWYG editor with toolbars, supports easy inserting of pictures, tables, and videos. WLW lets you set up multiple accounts, which is handy if you are a real lifeless dork and find yourself tending multiple blogs.

Recently I set up a SharePoint MySite blog server at work, and I was pleasantly surprised to find that it integrated as seamlessly as they boast. It's a matter of putting in the URL to your own blog as a SharePoint blog account in WLW, and after you authenticate, it's more or less ready to go. Uploading content attached to your entry is also handled well, allowing you to link or upload content to the web host.

WLW 2008 supports different views, so you can more or less edit your entry as it would appear formatted using your blog's CSS styles. Then again, you could not, and turn it off too–pick your poison. And when you feel like wearing a black trench coat and putting on your Matrix-style sunglasses, you can switch into HTML editing mode too. Nifty.

It also allows you to create categories inside the editor, as well as select existing categories, and set the publishing date.

It's worth a try if you're using Windows, it's still free.

11/11/2007 17:49 BST | Demonoid.com gets scared
Looks like demonoid is the next to go! From their website:

The CRIA threatened the company renting the servers to us, and because of this it is not possible to keep the site online. Sorry for the inconvenience and thanks for your understanding

Woe is them.

11/11/2007 13:19 BST | ENGEDU - Wuala distributed file system
Wuala (http://wua.la) looks interesting indeed. The way it replicates information is a lot more efficient than Freenet (http://freenet.sf.net) from the looks of this video (they're built for different purposes, but the math used in Wuala is pretty original: http://video.google.co.uk/videoplay?docid=-2372664863607209585). Too bad they're not doing a public beta yet, the service is on a signup-and-wait-for-us-to-possibly-invite-you-someday type of deal at the moment.


10/11/2007 23:57 GMT | putty - Vista fonts (Lucida Console) and unix consoles

Set the font to Lucida Console, which should have been installed with Vista. If you’re using a linux terminal you might as well make sure the linux keyboard layout is selected as well.

For lines and other special characters, set the line drawing to Unicode. Lucida Console has Unicode lines. This is also why it doesn’t work with Terminal or Fixedsys fonts in Vista, woe is me, I spent ages trying to figure that one out.

Unless you know you’re using another translation page, set the translation to UTF8.

Things should look a lot better now!

08/11/2007 17:10 GMT | mutt - reverse sorting mails and showing message times

set sort = reverse-date

By default my distribution displays the message index with the date that messages are sent, but I find that its extremely useful to show the actual time of the day that it was sent. You can modify your .muttrc like so:

set index_format = "%4C %Z %{%b %d %R} %-15.15L (%4l) %s"

The critical part of that format string which will show the time as well as the date is the part marked in red (%R is the variable to show time).

Update 08Nov07:

"set sort_browser = reverse-date" sorts items in the file browser only, not in the main message index. Message indexes are sorted using the $sort variable. Thanks Dr Guildo from 16hz.net for pointing out the error.

Update 11Nov07:

If you want to sort newest-to-oldest while enabling threading, use these lines instead, for example:

set sort = threads
set sort_aux = reverse-last-date-received

Note that inside a thread, messages are still sorted oldest-to-newest.

08/11/2007 16:30 GMT | Identd (aka AUTH) for Windows Vista

It gets trickier when you want to dish out varied AUTH responses depending on the client on your NAT. You can use rndwares Windows Ident Server (1.0.3 is the latest as of this post) with Vista. I use it on Vista and can confirm that it runs both as an application in your systray (handy!), or as a system service (doubly handy!).

You can also use it in conjunction with reply-from-file mode, where it reads identity information from a flatfile rather than responding with the same AUTH each time. This is handy if you setup psyBNC on the same machine as your identd.

06/11/2007 23:26 GMT | Modifying your $PATH
... is handy so that you dont have to type ~/usr/bin/someapp, for instance, if youve installed something it under your home directory using ./configure --prefix=~/usr (naturally this works no matter what your path is).

Most shells support .profile. The system settings for the shell might be found in /etc/profile, for instance; user-specific profiles are stored in their home directories, i.e., /home/art/.profile. Edit this file in your favorite browser.

Append the following, modifying it to suit your needs:

export PATH=~/usr/bin:$PATH

Take note that the PATH variable prioritizes by order. So, according to the above line, if there is /home/art/usr/bin/cat, and /bin/cat, the path specified before (here, /home/art/usr/bin/cat) will take precedence.

06/11/2007 22:32 GMT | Doing a rootless configure; make; make install
Often I want to compile something for my normal user account. In these cases, it doesnt make sense to install system-wide. Lots of source tarballs nowadays allow you to compile and install a program in a particular location.

In general, you should be doing something like so:

$ tar -jxvf some_fantastic_warez.tar.bz2
...
$ cd some_fantastic_warez
$ ./configure --prefix=~/usr
...
$ make
...
$ make install

make install will place your compiled binary into the path you specified with the --prefix option when running configure. In this case Ive set it to install it under the directory tree ~/usr (i.e., /home/username/usr).

If the source is fairly standard, you will then find the binary as ~/usr/bin/some_fantastic_warez.

You may wish to read about modifying your $PATH, so that you dont need to specify the full path to run your program.


05/11/2007 21:54 BST | Mounting SFTP as a drive in Windows Vista
SftpDrive is a commercial program for Windows (apparantly it works in Vista: I'm using on multiple Vista machines here without a hitch).

It allows you to map directories on your SSH server as a network drive in Windows. This gives you seamless functionality between your SSHD and your local filesystem. I've found it extremely handy for editing remote source code and HTML, file management and storage/retrieval.

I'm going to press our company to purchase corporate licenses for SftpDrive, it's really worth the price if you work via SSH on a regular basis on a Windows machine.

Anyone know of a free alternative that does the same?

04/11/2007 17:17 BST | Pirates are victims according to Slashdot
[17:04:35] An anonymous reader writes with a link to an article at P2P Net about the very first victim of the RIAA's file-sharing litigation sweep.
[17:04:49] i love how slashdot is calling the people who were caught pirating victims
[17:04:56] roflmao
[17:05:10] pure infringing our civil rights to steal music and films min
[17:05:13] roflmao
[17:05:13] impeach bush
[17:05:18] serious
[17:05:30] mad i was victimized so bad when i beat the hell out of that granny
[17:05:35] roflmao
[17:05:39] mad no one should be exposed to that much blood and brain splatter
[17:05:45] roflmao
[17:05:47] pure scarred me for life she did
[17:05:55] fucking bitch

Slashdot (http://www.slashdot.org), the online community of scum from the Internet sewers, has a post today (First RIAA Case Victim Finally Speaks Out) commenting about Jammie Thomas, Internet pirater (http://yro.slashdot.org/yro/07/11/03/2050216.shtml). Amongst other standard nonsense you'd expect from Slashdot, don't miss how they're now referring to Jammie as a victim.

I have sympathy for Ms Thomas' personal circumstances, and I agree that there's a lot of evidential burdens which the Claimant has yet to prove beyond reasonable doubt. On the other hand, Slashdot really shouldn't be evangelising people caught by the RIAA and dubbing them as victims. It's not the case that everyone who's been subpeona'd is a struggling single mother, many of them choose to pirate because they're scumbags (just like you and me). Putting on a veil of ignorance only goes so far, and the judge probably isn't some idiot who's sitting around waiting for you to pull the wool over his eyes with excuses like "I DIDNT KNOW IT WUZ WRONG UR HONOUR" or how about "IT WAS MY KIDS U CANT PROVE IT WUZ ME".

(As far as I'm concerned, if you allow your kids to pirate, you should bite the legal bullet for them, as you assisted someone in pirating--it's not unreasonable at all to assume kids want to download commercial media, but hey, that's just me. Maybe you sleep better at night thinking parents are complete fucking morons who genuinely believe their teenagers only browse to BBC and Facebook. Heavens help us that they would even think about piracy.

Let's all register our childrens' shareware products too, right?)

Aye, I completely have to agree with Slashdot here. Makes perfect sense. All they did was pirate software, and now copyright owners want to assert their rights? Sounds pretty unfair to me… can u spare a penny for us poor victims of piracy, the pirates?

Gotta love the Internet.

04/11/2007 01:45 BST | mutt - creating a sentbox
Edit your ~/.muttrc, append the following somewhere:

set record=+sentbox

Where 'sentbox' is the (path and) filename where mutt will record
sent message. Thanks Dr Guildo from 16hz.net!

Update 08Nov07:
I forgot to mention that this will automatically create/append into
the $folder variable directory (usually ~/Mail/sentbox, for
example). You can also set this variable inside your .muttrc file
if you wish to change it.
(i.e., by adding into .muttrc: set folder = "~/Mizzle")

Click here for past posts.