You will have to ask the wife what this is all about, I have no idea.
Carnifex.org
The public executioner at Rome, who executed persons of the lowest rank; hence, an executioner or hangman.
Wednesday, August 6, 2025
Tuesday, April 29, 2025
Review: PicoCalc
The latest handheld gadget from Cockworkpi is the PicoCalc, named for its resemblance to advanced calculators popular amongst people who know more about math than is healthy.
The device comes as a kit that needs assembling, but it is an easy process that took me less than 10 minutes to do. The only thing to watch out for is the screen, during assembly it is easy for it to get misaligned and then when tightening the screws, the screen will get cracked, so when you mount it, tape it into place with some electrical tape to keep it in place.
The core of the PicoCalc is a Raspberry Pi Pico. The kit comes with a Pico version one, do yourself a favor and go buy a Pico 2WH. These are pin compatible, have faster processors, more memory and have wireless networking support. You will need to get different firmware for it, those can be downloaded from the following locations;
There are other firmware's available, such as uLisp and Lua but I suspect those two will be the most popular and easiest to use.
So here is the thing, the PicoCalc was not designed as a Linux system or a game console, although it can be used for both. I have not tried it as a game console, I am not a gamer so this holds no interest for me. I however did briefly try to run Linux on it. This requires replacing the Pico with a Luckfox Lyra, but honestly, this is not a particularly good idea. The memory and CPU limitations makes it far too weak to do anything particularly useful, even using just the command line. The uConsole or Hackberry Pi are much better for this sort of thing. I am not going to call it useless, but functionally it is not useful for much beyond editing text.
What the PicoCalc was designed for is as a development platform. It is meant to boot straight into MicroPython or PicoMite Basic and running programs through those languages. It is meant to hearken back to the 70's and 80's when computers booted straight to basic. Both of the above firmware's have built in editors for writing your programs, and both can read SD Cards, so programs can be saved there, then loaded and run later. The ability to build a personal library of useful programs without the overhead of a Linux operating system is the strength of the PicoCalc I think.
For me, the big advantage is PicoMite Basic is based on MMBasic, the same Basic used on the Color Maximite systems, which I have discussed before. So I already have a fair library of usable programs, written by myself and others. For instance, Z-mim is a z-code interpreter that can be used to play Zork and other Infocom text adventure games. The author of Z-mim was kind enough to update the code base for me, to work perfectly with the PicoCalc. I have played a lot of Zork 1/2/3 in the last couple of weeks testing his tweaks. As of this writing he has not pushed the updates to his Github site, but I expect him to do so in the near future. Thank you Tom, I greatly appreciate your work.
Overall, I think this is a cool little toy. At the $75 + $25 S&H, I think this is well worth the money if you are into tinkering. Unfortunately Clockworkpi is a Chinese company, so tariffs may affect the price in the near future, so you will have to decide if the increased price is worth it to you or not. I am not sure I would have bought one had I not gotten in under the wire.
Saturday, April 5, 2025
Hamurabi.bas
Hamurabi.bas was a game we use to play in High School on the PDP-10 in the computer lab. The original code is available all over the internet. As a thought experiment, I decided to update it to a more modern format. I took out the line numbers, used meaningful variable names and replaced the GOTO's and GOSUB's with functions.
'hamurabi.bas
' Original code by Creative Computing, Morristown, New Jersey
' Updated code by Chris Stoddard
Randomize
Dim As Integer year, people, grain, harvest, rats, land, yield, immigrants
Dim As Integer starved, totalStarved, totalPercentStarved
Dim As Integer landPrice, acresToBuy, acresToSell, grainToFeed, acresToPlant
Dim As Integer plagueChance, peopleFed, babies, inputValid
Dim As Double percentStarved
year = 0: people = 95: grain = 2800: harvest = 0: rats = 0
land = 3000: yield = 3: landPrice = 17: immigrants = 5
starved = 0: totalStarved = 0: totalPercentStarved = 0
Sub ThinkAgainGrain(grain As Integer)
Print "HAMURABI: THINK AGAIN. YOU HAVE ONLY "; grain; " BUSHELS OF GRAIN. NOW THEN,"
End Sub
Sub ThinkAgainLand(land As Integer)
Print "HAMURABI: THINK AGAIN. YOU OWN ONLY "; land; " ACRES. NOW THEN,"
End Sub
Sub ImpossibleRequest()
Print : Print "HAMURABI: I CANNOT DO WHAT YOU WISH."
Print "GET YOURSELF ANOTHER STEWARD!!!!!"
End
End Sub
Sub Bell()
For i As Integer = 1 To 10
Print Chr(7);
Next
End Sub
For year = 1 To 10
Print : Print : Print "HAMURABI: I BEG TO REPORT TO YOU,"
If year > 1 Then
Print "IN YEAR "; year - 1; ", "; starved; " PEOPLE STARVED, "; immigrants; " CAME TO THE CITY,"
End If
people = people + immigrants
If plagueChance = 0 Then
people = people \ 2
Print "A HORRIBLE PLAGUE STRUCK! HALF THE PEOPLE DIED."
End If
Print "POPULATION IS NOW "; people
Print "THE CITY NOW OWNS "; land; " ACRES."
Print "YOU HARVESTED "; yield; " BUSHELS PER ACRE."
Print "THE RATS ATE "; rats; " BUSHELS."
Print "YOU NOW HAVE "; grain; " BUSHELS IN STORE."
landPrice = Int(Rnd * 10) + 17
Print "LAND IS TRADING AT "; landPrice; " BUSHELS PER ACRE."
Do
inputValid = 1
Print "HOW MANY ACRES DO YOU WISH TO BUY? ";
Input "", acresToBuy
If acresToBuy < 0 Then ImpossibleRequest
If acresToBuy * landPrice > grain Then
ThinkAgainGrain(grain)
inputValid = 0
End If
Loop Until inputValid = 1
If acresToBuy > 0 Then
land += acresToBuy
grain -= acresToBuy * landPrice
Else
Do
inputValid = 1
Print "HOW MANY ACRES DO YOU WISH TO SELL? ";
Input "", acresToSell
If acresToSell < 0 Then ImpossibleRequest
If acresToSell > land Then
ThinkAgainLand(land)
inputValid = 0
End If
Loop Until inputValid = 1
land = land - acresToSell
grain = grain + acresToSell * landPrice
End If
Do
inputValid = 1
Print "HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE? ";
Input "", grainToFeed
If grainToFeed < 0 Then ImpossibleRequest
If grainToFeed > grain Then
ThinkAgainGrain(grain)
inputValid = 0
End If
Loop Until inputValid = 1
grain = grain - grainToFeed
Do
inputValid = 1
Print "HOW MANY ACRES DO YOU WISH TO PLANT WITH SEED? ";
Input "", acresToPlant
If acresToPlant < 0 Then ImpossibleRequest
If acresToPlant > land Then
ThinkAgainLand(land)
inputValid = 0
ElseIf acresToPlant \ 2 > grain Then
ThinkAgainGrain(grain)
inputValid = 0
ElseIf acresToPlant > people * 10 Then
Print "BUT YOU HAVE ONLY "; people; " PEOPLE TO TEND THE FIELDS! NOW THEN,"
inputValid = 0
End If
Loop Until inputValid = 1
grain = grain - acresToPlant \ 2
yield = Int(Rnd * 5) + 1
harvest = acresToPlant * yield
rats = 0
If Int(Rnd * 2) = 0 Then
rats = Int(grain / yield)
End If
grain = grain + harvest - rats
babies = Int(yield * (20 * land + grain) / people / 100 + 1)
immigrants = babies
peopleFed = grainToFeed \ 20
plagueChance = Int(10 * (2 * Rnd - 0.3))
If peopleFed < people Then
starved = people - peopleFed
percentStarved = (100.0 * starved) / people
If percentStarved > 45 Then
Print : Print "YOU STARVED "; starved; " PEOPLE IN ONE YEAR!!!"
Print "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY"
Print "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU HAVE"
Print "ALSO BEEN DECLARED NATIONAL FINK!!!!"
End
End If
Else
starved = 0
End If
totalStarved += starved
totalPercentStarved += percentStarved
people = people - starved
Next
Dim As Integer acresPerPerson = land \ people
Dim As Integer avgStarved = totalPercentStarved \ 10
Print : Print "IN YOUR 10-YEAR TERM OF OFFICE, "; avgStarved; "% OF THE"
Print "POPULATION STARVED PER YEAR ON THE AVERAGE."
Print "A TOTAL OF "; totalStarved; " PEOPLE DIED!!"
Print "YOU STARTED WITH 10 ACRES PER PERSON AND ENDED WITH"
Print acresPerPerson; " ACRES PER PERSON."
If avgStarved > 33 Or acresPerPerson < 7 Then
Print "YOU STARVED TOO MANY AND LOST TOO MUCH LAND!"
Print "YOU HAVE BEEN DECLARED A DISASTER!"
ElseIf avgStarved <= 10 And acresPerPerson >= 9 Then
Print "A FANTASTIC PERFORMANCE!!! CHARLEMAGNE, DISRAELI, AND"
Print "JEFFERSON COMBINED COULD NOT HAVE DONE BETTER!"
ElseIf avgStarved > 3 Or acresPerPerson < 10 Then
Print "YOUR PERFORMANCE COULD HAVE BEEN SOMEWHAT BETTER."
Print Int(people * 0.8 * Rnd); " PEOPLE WOULD DEARLY LIKE TO SEE YOU ASSASSINATED."
Else
Print "YOUR HEAVY-HANDED PERFORMANCE SMACKS OF NERO AND IVAN IV."
Print "THE PEOPLE (REMAINING) FIND YOU AN UNPLEASANT RULER AND,"
Print "FRANKLY, HATE YOUR GUTS!!"
End If
Bell()
Print : Print "SO LONG FOR NOW."
End
Sunday, February 23, 2025
Hackberry Pi
The Hackberry Pi is a handheld Linux terminal similar to the Clockworkpi uConsole. Its key feature is it uses left over keyboard stock from the old Blackberry phones of yesteryear.
You can read my comparison to the uConsole here, and here are 10 things to do after you get your Hackberry Pi 5.
The Hackberry Pi currently comes in two flavors, one based on the Raspberry Pi Zero 2 W (RPi 0) and one based on the Raspberry Pi 5 (RPi 5). Both devices have a 4" 720x720 screen, both have a battery life of 2-3 hours depending on what you are doing with it and both cost roughly the same, before you purchase the Rasperry Pi you need to power it.
The RPi 0 version is a rather limited device, primarily because the RPi 0 is a limited device. It has 512 MB of RAM and runs at 1 Ghz. You can run a desktop environment (DE) on it, but you will not be happy with the performance of some application like Firefox, Chrome or well anything more complicated then a text editor or calculator. The RPi 0 was not designed to be a desktop computer, it was designed to be a hopped up micro controller, so it does not do well in this area. However, if you are a command line junkie, this limitation will not bother you in the slightest.
There are plenty of reasonably good replacements for GUI applications that run in text mode. Alpine and W3m for email and web browsing, cmus and mpv for playing music and videos, and wordgrinder, sc and tpp replace LibreOffice (mostly? I guess). While you will find these applications limited compared to their GUI counter parts and the learning curve a bit annoying, once you get use to them, they are usable and have a certain minimalist appeal to them.
The biggest problem I had with the RPi 0 version is the wireless does not work well. This is because the front cover is made of aluminum and blocks the signal. It seems some people have better luck than others, I tried two different RPi 0's in mine and both could connect to my router, but neither could actually communicate with it in any meaningful manner. I had several USB wifi dongles laying around and I just plugged one of those in to solve the problem.
Edit: I did eventually get the on board WiFi working. I wish I could tell you how I did it, but I cannot, it just started working one day.
The RPi 5 version is a much more usable device, depending on what RPi 5 you buy. If you get the 4 GB version, you will want to stick with a light DE and stay away from Gnome or KDE. If you get an 8 GB or 16 GB RPI 5, you can pretty much do anything you want with it. I bought the 8 GB version and it has handled everything I have thrown at it so far.
The big, I do mean big, advantage the RPi 5 version has over the RPi 0 version and the uConsole for that matter, is the PCIE connector on the board. The designer of this device left room to mount a M.2 hat on the RPi 5 that provides access to the PCIE connector. It just so happens Waveshare makes such a hat. This hat not only provides an M.2 slot, it also provides active cooling to the RPi 5, something it really needs. You can mount just about any 2242 / 2230 M.2 card into it, like a fancy A.I. accelerator, but we all know the primary use case is mounting an NVME SSD card to it. SSD storage is faster and more reliable than an SD card. This by itself, makes this the stand out product among hand held terminals.
I only really had one issue with this device, when I first put it together I couldn't get video to save my life. As an assembly tip for those who have not purchased one yet, if you assemble it and don't get video after waiting 5-10 minutes, chances are good you didn't line up the GPIO contacts properly. Remove the cover to the RPi 5 and remove the standoff screws. If you did not remove the piece of plastic that came inside the case, take it out now and throw it away. Now place the Raspberry RPi 5 back in and put the bottom left stand off screw in first, it is the one closest to the GPIO pogo pins, tighten it down and then back it off 1 or 2 turns. Then put in the right stand off screw, tighten it down and then back it off 1 or 2 turns. The Raspberry Pi 5 should have just a little bit of wiggle, move it around until you feel the pogo pins snap into place, you should feel it click. Then tighten both screws down and put in the top two screws and tighten them down. Put the cover back on and try to boot it up again, you should get video.
Both of these devices share the same keyboard and I do need to talk about it. The keyboards take some getting use to, not just because they are hideously small, but because the keyboard is a challenge to use. It takes time to figure things out and learn all key combinations needed to do even basic typing. I can see how this keyboard was considered innovative back in the early 2000's, but there is a good reason why they were replaced, they are awkward to use. Part of the issue was, I am Gen X and did not grow up thumb typing like the younger generations did. I have adapted to it, though it has been a struggle.
Overall, if you are considering the purchase of one of these devices, I would go with the RPi 5 version, as a real functioning tool, it is the better choice. The RPi 0 version is really not much more than a command line junky toy. The RPi 0 version does not do anything the RPi 5 doesn't do better and its not that much cheaper. It's only advantage is it is smaller and lighter, and it will actually fit in your pocket.
Friday, February 14, 2025
Eulogy for my Brother
We have known my Brother was dying for about 6 months now. He had ALS and although he had just been officially diagnosed, he had the symptoms for quit some time. His decline over the last 6 months has been very rapid.
Before my Brother died, I kind of assumed it would not affect me much, I mean we were not close in any meaningful way. We had not talked much in decades and even when we did, our conversations tended to be shallow and I hate to say it, but uninteresting. Neither of us made any effort to change that, even in the last months of his life.
However, I find that is not the case at all. Even though we not been close since we were teenagers, there was a time when we were. We grew up together, we did things together, we had adventures together and we even had many of the same friends. When I say that, I of course mean, he and his friends let me hang around them sometimes.
You know he was the one who taught me to play chess. I remember the first time I beat him, how happy I was. Incidentally, that was also the last game we ever played, LOL, yes, I think that is funny.
My Brother taught me to drive, actually both of my Brothers were tasked with teaching me to drive. My Mother had taught them to drive and her revenge for that was they had to teach me. However, my older Bother was out of the house by then and so the majority of the teaching was done by the middle son. I cannot say whether or not he was a good teacher or not, but I did manage to learn to drive and eventually get my license with out killing anyone, so I am sure he considered that a win.
I also remember a conversation we once had about the turn of century, he said we would live to see the 21st century and that I would only be 38 years old. Of course being in the 4th grade at the time, that seemed an impossible amount of time in the future. Of course I started to imagine flying cars and jet packs, I am still disappointed about that by the way.
When I discovered my inner dialog, I thought everyone could hear it as well, it was my Brother who explained to me that that was not the case, I was probably 4 at the time.
I think I will miss him.
Tuesday, February 11, 2025
My Brother died today
I am at that point in my life where people start dying around me. My Father died 15 years ago, but that was a small bump, I never really had a relationship with him, so it did not matter much to me. I know my Mother does not have many if any years left and of course I have lost grandparents and such as well, but it is weird and eye opening when someone you grew up with and is only a couple of years older dies.
Friday, January 31, 2025
NixOS
Last month I talked about GUIX and how much I disliked it. This month a took swing at NixOS, which is the Linux distro GUIX is based on. NixOS is a much more polished distribution of Linux than GUIX ever was or probably will be. NixOS brings a decent graphical installer to help you get through the basic install and once you are in, you then have access to the packaging and configuration system.
The packaging and configuration system is really where GUIX was supposed to shine, but I never got to the point where it was useful to me. NixOS on the other hand, did the tedious stuff for me, which is what an installer should be doing.
Everything about packaging and configuration is kept in the /etc/configuration.nix file which can be edited easily to add or remove functions or programs. Then once you have the file setup the way you like it, you can then take this file to a fresh install of NixOS and use it to reproduce your setup. The first thing you will probably want to do is break out the packages you want installed into a separate packages.nix file to keep you configuration file from becoming unwieldy. If you have more than 3 or 4 users, you probably want to break that out into a different file as well. This will help keep your configuration.nix file short and manageable.
Honestly, this is how GUIX should have been done. Since GUIX is a newer spin on NixOS, there is no reason why it should not have been better. I still prefer Debian, I certainly am not switching to NixOS. Because of the way it handles packages and maintains backup of old configurations, it eats hard drive space, which is fine if you have a couple of terabytes of storage, but not so good if you are using an old laptop with 512 GB or less of storage. On top of that, the good things about NixOS can be done with any other distribution by simply writing a shell script and running it after an install. So this does not really bring much to the table.
Friday, December 20, 2024
GUIX Package Manager
For those who don't know, GUIX is a package manager for Linux. It is supposed to work across all (or most) Linux distributions and provides some level sand boxing between applications. There is also a distribution based entirely on this software. It is supposed to be an alternative to Flatpak and Snap, both of which have their own problems.
Yesterday I spent the day messing around with it. I installed the distro on my test machine, I also tried it on an clean install of Debian. I have used a lot of package managers over the years, Apt, Yum, Pacman, Portage, and yes, Flatpak and Snap, I have used most all of them at one point or another. Guix is without a doubt the worst package manager I have ever used. I have no idea who thought this package manager implementation was a good idea, but I hope they did not quit their day job to develop this garbage.
First the things I liked; Nothing, I didn't like anything about Guix. It does nothing Flatpak or Snap doesn't do, it brings no new ideas or technology to the table, it is just a terrible implementation of a good idea.
Things I didn't like. Fuck where do I start. The Guix distribution took half a day to install a basic system and I do mean basic, no web browser, no email client, nothing more complex than a text editor. Debian takes 30 minutes for a full install, bells, whistle and all. On top of that once I had it install, it was taking up close to 20 GB of storage, what the hell Guix? A full install of Debian comes in well under 5 GB.
Once I had the basic install, I started installing programs, that was a bloody mistake. Every program took half an hour to install and a boat load of other packages would install with it, often simply reinstalling packages that were already on the system. To make things worse, commonly used programs like Firefox and Thunderbird were not available. I either had to compile from source or use Guix equivalents, Icecat and Icedove. Which apparently are freer and more open sourcey than Firefox and Thunderbird, but lack just about every feature implemented in those two programs in the last 5 years.
After nearly 8 hours of screwing about with the distro and still not having a system I could use as a daily driver, I gave it up. I installed a basic install of Debian and whittled it down to the same state the basic install of Guix gave me, as I said earlier, this took me less than 30 minutes to accomplish. I then installed the Guix package manager on this poor machine. Guix immediately brought all its worst features to Debian. It took over an hour to pull down its repository information and then promptly installed a bunch of packages that already existed on the system, which took an hour. Then I tried to install Icecat, and it repeated the same bullshit it did on its own distro and after half an hour when it was finished, I could not actually run Icecat. It was not on the menu and I could not run it from the command line. At this point, I was done with Guix.
No one should be using Guix. I would recommend Gentoo Linux before I would recommend Guix as a distribution. Debian + Flatpak will give you everything Guix gives you, but you will have more storage left, you will spend far less time managing it and you will not hate your computer and yourself everyday. If you want a challenge, install Arch Linux, install Gentoo, heck to Linux from Scratch, but please for the love of god, do not use Guix, don't encourage them.
Sunday, December 1, 2024
Minimalist Linux III
If all that was too much work for you, go to my github where you will find all my config files and a nice little install script to do the heavy lifting for you.
https://github.com/cjstoddard/My-Openbox
This will make your desktop look and function like mine. However if you actually read the blog posts, making minor changes should not be a problem.
You will still need a basic install of Debian 12.
Tiling windows managers still suck.
Minimalist Linux II
Now that we have a functional desktop, it is time to pretty it up a bit and add a bit of functionality. Nobody normal like a stock boring desktop, so I am going to show you some customization tricks.
The first thing most people do is set wall paper. Find an image you like and download it into your home directory and rename it to something simple, I named mine angel.jpg.
mv background.jpg angel.jpgNext we want to make it available system wide, for later.
sudo mkdir /usr/share/backgroundsNow place the picture wherever you want it to go. Normally there is a Pictures folder, you can just put it there.
sudo cp angel.jpg /usr/share/backgrounds/
sudo chown root:root /usr/share/backgrounds/angel.jpg
mkdir PicturesNow run these commands;
mv angel.jpg Pictures/
feh --bg-scale Pictures/angel.jpgAdd this line to the autostart file;
nano ~/.config/openbox/autostart
(sleep 1; ~/.fehbg) &Now if you exit out of Openbox and go back in, you should have a nice background. Our next step is to change the Openbox theme, the default is Clearlooks. Which is fine, but for whatever reason lots of people like darker themes. Edit the configuration file;
nano ~/.config/openbox/rc.xmlLook for the <theme> section, and replace <name>Clearlooks</name> with <name>Artwiz-boxed</name>. Restart Openbox and you should see a change in how the windows decorations look. If this is not to your taste, there are many themes available in /usr/share/themes. You will have to google the themes to see how they each look.
The biggest issue with this setup so far is when you boot to the system it drops to the command line and you have to run startx to get to you desktop. There is also no way to lock the screen if you need to. We will need a display manager for this, lightdm is the one I like.
sudo apt install lightdmWhen you reboot the system, you should come to a graphical login screen. We could leave it there, but that would be boring. To change the background open the configuration file;
sudo systemctl enable lightdm
sudo nano /etc/lightdm/lightdm-gtk-greeter.confAt the bottom, add the following line;
background=/usr/share/backgrounds/angel.jpgThis will set the background of the login screen. Any picture you want to use, will have to be placed in the /usr/share/backgrounds/, otherwise it will not work properly.
Next we want to add the ability to lock the screen when needed. Run;
nano ~/.config/openbox/rc.xmlsearch for </keyboard> and add these lines just above that line;
<!-- Keybindings for [l]ock screen -->Once you restart Openbox, the screen can now be locked by pressing the Winows key + l.
<keybind key="W-l">
<action name="Execute">
<command>i3lock -c 000000</command>
</action>
</keybind>
For the final piece of customization, we are going to use a program called conky to add a dynamic element to your desktop. The first thing we need is a default config file.
cp /etc/conky/conky.conf .conkyrcThe first thing I like to do is make conky transparent. I mean why have wallpaper if you are just going to block it out. Right under conky.config = { add this line;
nano .conkyrc
own_window_transparent = true,Next look for this section;
${color grey}Networking:and change it to look like this;
Up:$color ${upspeed} ${color grey} - Down:$color ${downspeed}
$hrMy network device is enp3s0, you will need to run the command "ip addr" to find your network device and replace accordingly. Now go to the bottom of the file and just above the ]], place these lines;
${color grey}Networking:
IP Address:$color ${addr enp3s0}
Up:$color ${upspeed enp3s0} ${color grey} - Down:$color ${downspeed enp3s0}
$hrNow save and exit the file. The last lines I had you place are there because I like to have an onscreen reminder of all those dumb keybindings we setup that I can never remember, so run this command;
${exec cat .keys.txt}
$hr
nano .keys.txt
and put the following text into it, then save and exit.
-------------------------------------Finally, edit the autostart file
Keybindings
-------------------------------------
ROX-filer windows-f(ile manager)
Rofi windows-m(enu)
Firefox-ESR windows-w(eb)
Tilix windows-t(erminal)
Thunderbird windows-e(mail)
Audacious windows-a(udio)
VLC windows-v(ideo)
Print Screen windows-prtscn
Lock Screen windows-l
Switch Desktops;
ctrl-alt-right
ctrl-alt-left
-------------------------------------
nano ~/.config/openbox/autostartand add this line, then save and exit the file.
(sleep 5 && conky -c .conkyrc) &Finally, reboot the system and if all went well, things should look much better. With a display manager and conky running, the amount of memory consumed crawled up above 512 MB, but probably not by much. I consider it to be a worth while trade off for the added functionality and general look of the desktop.
As a final note, I know some of you are going to scream that I should have used a tiling WM like Suckless or i3. I do not like tiling WM's, I prefer stacking WM's. Tiling WM's make me work the way the developers think I should be working, fuck that is all I am going to say about it.