OOC is cool. Yesterday I started writing some code in it after reading about it on the github blog. Here is the first result:
I’m extremely happy with how well this performs. Using the latest ooc Java compiler from the github trunk to handle the each() functions, this compiles down to a bunch of C code, and then is automagically compiled behind the scenes into an ELF Binary! This is totally awesome, and I have to commend nddrylliog and the other contributors for their work on this awesome project. Now I should use it for something useful :D
A quick note about getting it running on Ubuntu:
sudo apt-get install sun-java6-jdk
git clone git://github.com/nddrylliog/ooc.git
cd ooc
JAVA_HOME=/usr/lib/jvm/java-6-sun/ make
At least, that’s how I did it. Then I compile all my ooc with a Makefile like this:
INPUTS=$(wildcard *.ooc)
TARGETS=$(patsubst %.ooc, %, $(INPUTS))
all: $(TARGETS)
%: %.ooc
java -jar ~/repos/ooc/bin/ooc.jar $@
That will compile all ooc files in the directory.
Uncategorized
awesome, code, gist, github, irc, language, ooc
I recently was saddened when I found out that my side buttons wouldn’t map for some reason in Compiz Fusion after upgrading to Gutsy Gibbon. I finally got fed up and marched on down to #compiz-fusion on Freenode.
21:06 < Jupiter1tx> hardwarehank: ah there is the problem, if the settings are not saved then try to disable Integration in the Preferences section of ccsm
21:07 < hardwarehank> Jupiter1tx: thanks - trying it
21:07 < hardwarehank> ok - it still deletes the settings and never starts working
21:08 < hardwarehank> i close ccsm and restart it, and its remapped to Button:None
...
21:14 < hardwarehank> what does it mean when binding names are blue?
...
21:14 < Jupiter1tx> hardwarehank: it means Integration is still enabled
21:15 < hardwarehank> DAMN!
21:15 < Jupiter1tx> hardwarehank: you might find it easier just to change to flat-file backend
21:15 < hardwarehank> heh ok
21:16 < hardwarehank> Jupiter1tx: you're my hero - it works
21:16 < hardwarehank> oh man im so happy
The solution is very simple.
Disable Integration into the Desktop Environment
This is accomplished through Preferences from the root screen of ccsm.
Map the keys in Rotate Cube
Now that that’s done, go to the keybinding section of Rotate Cube and look for blue text in the expanded tree. If you see it, Stop and check the first step again! This was tricky since I had to do step 1 twice. If there’s no blue, then set the Rotate Cube Left/Right button fields to Button8 and Button9 respectively.
Finally – I have all the functionality I had with Feisty/Beryl.
Uncategorized
compiz, fusion, gutsy, irc, ubuntu
Now, be aware that this could be a security issue if you let strangers onto your IRC session. They could do some cool shell tricks to break out of this exec command into the raw shell itself, but I’ll forget about that for now. I wanted an alias that would allow me to send a command to my bot to shorten a URL as well as announce the URL into the channel using some good old-fashioned ANSI Color.
/alias fu exec -o perl -e 'print "\#furryurl \${ARGV[0]}\\n"\; print "C4\$ARGV[1]" if(length(\$ARGV[1]))' -- "$0" "$1-"
Note: The C in C4\$ARGV[1] is really a CONTROL-C.
Run this in irssi, and you’ll get some sweet output:
# Upon running /fu http://www.google.com ralree
# The text for 'ralree' is actually colored red on output.
01:59:03 < hardwarehank> #furryurl http://www.google.com
01:59:04 < hardwarehank> ralree
01:59:04 < rufis> hardwarehank: http://www.furryurl.com/hx
I’m so happy!
Uncategorized
irc, irssi, perl
This is the best idea for an irssi plugin ever.
13:46:15 < wolfeon[Kenny]> fmmppf, Mff'fpmmpp mmm pfpfmfmppfmmfmppffmffppfppp
13:46:25 < wolfeon[Kenny]> mfffmm Pppfmfppmmmm Pppfmfppmmmm mfmmmmffm
ppfpffmffmpppppfmpmppmpm?
13:46:32 < wolfeon[Kenny]> pmmfmffmmfmp pmfmfffmmfmpmpppppmffpppmfm fmpppf mmm
Mpppppmfmpmfmfffmmmfp
fmppffmmmpppfmmpmfmmmfmpmffppfppp
13:46:51 < wolfeon[Kenny]> fmpmfpmpppffmpp mmmpffmpp 2 ppmmmmpmfmpp
fmmmffpppmfmmpppfffmm mmmfmm fmpmfpmpp
ppfpffmffmfmmffpppmmmpmf Pfffmffmmfmmmffmmmppp
13:56:09 < hardwarehank> wow.
13:56:13 < hardwarehank> thats awesome
To use:
- Drop this in
.irssi/scripts/autorun
svn co http://modzer0.cs.uaf.edu/repos/hank/code/perl/irssi/kenny.pl
Uncategorized
irc, irssi
I love irssi:
/ignore wolfeon
/ignore -regexp -pattern "wolfeon" *
/save
Now, I have wonderful silence. This will prevent me from lashing out again.
Uncategorized
ignore, irc, irssi
Yes! I finally figured out how to set my ignores up in irssi’s config! It’s this easy:
ignores = (
{ mask = "help"; level = "ALL"; },
{ level = "JOINS PARTS QUITS MODES"; channels = ( "&bitlbee" ); }
);
Ah finally – now I just see messages. No more scrolling!
Uncategorized
irc, irssi, linux
Oh boy! Font coloring in irssi is FUN!

This pretty much covers it. Hope you learned something!
Uncategorized
irc, irssi, linux
So, if you want to chat with another user explicitly without having to /msg all the time, just use /query.
[04:19pm|bish0p< you can do /query <user>
[04:20pm|bish0p< and it puts you in a direct chat chat mode with that user
Starting conversation with bish0p
[04:20pm|bish0p< until you do a /query
[04:20pm|bish0p< then it leaves direct converstation mode
[04:20pm|bish0p> awesome
[04:20pm|bish0p> thats what i was looking for thank
[04:20pm|bish0p> i forgot what it was called
Ending conversation with bish0p
Oh how amazing. Now Kelsey might not have to use a seperate channel to chat with me.
Uncategorized
irc
Happy Birthday Me! Well, I think it’s settled:
[03:25am|hardwarehank> #8ball should I buy a new laptop with my BDay $$?
[03:25am|rufis/#modzer0 shakes the magic 8-ball... all signs point to yes
[03:25am|hardwarehank> then it is done
Oh alas, the hinge is tormenting me. I think I must buy another laptop soon. But should I do it before OSCON? I don’t know!!
Uncategorized
birthday, irc, laptop