Nullam http://nullam.net en-us Quine My new favorite scrabble word is quine. A quine is a program that can print it's own source code. Here is a basic one I wrote just now: <br/><div style="margin: 10px; padding:10px;"><pre style="width:500px;border: solid 1px grey;color: #2222FF;background: #DDDDDD;overflow: auto;"> <br/>#include &lt;stdio.h&gt; <br/> <br/>char *str = &quot;#include &lt;stdio.h&gt;%c%cchar *str = %c%s%c;%c%cint main(void) {%c%cprintf(str, 10, 10, 34, str, 34, 10, 10, 10, 9, 10, 10);%c}%c&quot;; <br/> <br/>int main(void) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;printf(str, 10, 10, 34, str, 34, 10, 10, 10, 9, 10, 10); <br/>} <br/></pre></div> <br/> <br/>This is just about the most awesome thing I've seen all week. Sat, 30 Jan 2010 21:11:00 +1000 D47 http://nullam.net/article/2010/1/30/Quine Japan and It's unbearably strong attraction Honestly I don't know exactly why I love Japan so much, maybe it's just simply because it's so foreign and peculiar that it breeds fascination in people like me. Maybe it's that I glorify it too much based on the ridiculous amount of anime I watch. Maybe it is genuinely 1000x more awesome than Australia. I'll never know until I go there. <br/> <br/>For a few years now I've been intensely absorbed in Japan and it's language that it's distracted me from my regular studies and makes me want to swap degrees. Just recently I've craved to just go there as soon as possible, verging on a spontaneous plane ticket purchase that I so desire. <br/> <br/>I'm getting my passport renewed and plan to do another bachelor degree after my current Bachelor of IT and apply to visit Japan as an exchange student for a year. According to my universities website I will need a GPA &gt; 5.5 to be eligible for some lucrative scholarship. That will be a huge motivator for me and I'm sure I will achieve much higher than that when the time comes just out of sheer excitement. I'm not very proactive with my current course because I don't really know what awaits me at it's completion and if it's all that exciting. Though I definitely do want to be a programmer in a tiny cubicle in the middle of a giant tower surrounded by busy people. <br/> <br/>Apparently my oh so kind government allows me to take seven years worth of full time study and pay for it in the future when I'm allowed to cash in my monopoly money. This gives me two bachelors! but it doesn't count for anything higher, only undergraduate degrees. <br/> <br/>My itching ambition to live in Japan was spawned by nothing in particular, it's probably totally arbitrary. I wouldn't be surprised to know that Japan just happened to be a foreign country I took interest in from a group of so many other countries that I could love just as much. I find myself getting so bored of the mundaneity (should be a real word) of every day Australian life and reading countless Japan travel journals written by other travelers. <br/> <br/>When I go to Japan I'm definitely going to write a journal, I'll post it all right here on this website and it will contain many pictures and countless comments about glorified quirks of Japan and it's people. I'll even throw in the obligatory &quot;Back at home you just don't see this.&quot;. Just watch me! Sat, 30 Jan 2010 02:36:00 +1000 D47 http://nullam.net/article/2010/1/30/Japan-and-It--s-unbearably-strong-attraction Exploitation Thanks to some unknown benefactor who did a security report on my site some time ago, I regularly get visits from people obviously trying to hack my site using the exploits released in that report. I regret to inform these hopefuls that all the security issues mentioned in that report were addressed within a couple of hours from its release. <br/> <br/>Nevertheless, the majority of my visitors are attempted exploiters trying to get access to my database. A noble task indeed. If you happen to be one of these hopefuls, I urge you to take a look around and read some stuff while your copying and pasting URL's from the report. Maybe you have something to say? <br/> <br/>Also, for your information, the source code for this site is available from sourceforge at: <a href="http://sourceforge.net/projects/nullam/" rel="nofollow">http://sourceforge.net/projects/nullam/</a>. Perhaps you can find an exploit nobody else has seen. I encourage it. Thu, 07 Jan 2010 18:58:00 +1000 D47 http://nullam.net/article/2010/1/7/Exploitation Obfuscation This was easier than I thought it would be, but maybe mine isn't so great. <br/> <br/><div style="margin: 10px; padding:10px;"><pre style="width:500px;border: solid 1px grey;color: #2222FF;background: #DDDDDD;overflow: auto;"> <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; br putchar <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obr 73 <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rdb int <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; erb main <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bro ++ <br/>#define&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ber -- <br/>erb() {rdb bdr&nbsp;&nbsp;&nbsp;&nbsp; =obr;br&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (bdr bro);&nbsp;&nbsp;rdb bed=obr&nbsp;&nbsp; /2;bdr-=bed;rdb orb, <br/>ord;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ord&nbsp;&nbsp;&nbsp;&nbsp;=br&nbsp;&nbsp;&nbsp;&nbsp; (bro&nbsp;&nbsp;&nbsp;&nbsp; bdr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)-bed;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br(orb=obr+bed); <br/>bdr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=bed&nbsp;&nbsp; /ord&nbsp;&nbsp;&nbsp;&nbsp; bro&nbsp;&nbsp;&nbsp;&nbsp; ;orb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=br(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br(&nbsp;&nbsp;&nbsp;&nbsp; bed-ord) <br/>+(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orb/&nbsp;&nbsp; orb+&nbsp;&nbsp;&nbsp;&nbsp; ord/&nbsp;&nbsp;&nbsp;&nbsp;ord)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*(ber ord*&nbsp;&nbsp;&nbsp;&nbsp; ber&nbsp;&nbsp;&nbsp;&nbsp; bdr)); <br/>bed=&nbsp;&nbsp;&nbsp;&nbsp; br(&nbsp;&nbsp;&nbsp;&nbsp; br(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;br(&nbsp;&nbsp;&nbsp;&nbsp; orb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+bdr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+(ber&nbsp;&nbsp; ord)+ber <br/>ord-(orb/orb&nbsp;&nbsp;&nbsp;&nbsp; ))+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ord&nbsp;&nbsp;&nbsp;&nbsp;+ bro&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ord)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-bdr&nbsp;&nbsp;&nbsp;&nbsp;-ord);bdr=br <br/>(br((bro bed+&nbsp;&nbsp;&nbsp;&nbsp;bro orb)/ord&nbsp;&nbsp;&nbsp;&nbsp; bro)/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ord);br(bro&nbsp;&nbsp; bdr/ord-bed/bed);} <br/></pre></div> Thu, 15 Oct 2009 00:43:00 +1000 D47 http://nullam.net/article/2009/10/15/Obfuscation Life is lame In life nothing exciting ever happens, nothing truly exciting anyway. I go through some levels of excitement but it always turns out to be not so great. Each moment I decide whether I want to go back to bed or not, to retreat into my room and watch some lame video until I forget that I have to do something tomorrow. <br/> <br/>There are no great memories, just the memories that people decide were good for me, I really don't give them any special meaning other than their face value. I look forward to the future only if it means being past a mundane situation. It's like trudging through deep mud and not even knowing if its worth getting to the end. <br/> <br/>It's so difficult making any meaningful friendships with people when I constantly judge everybody and fear of being judged myself. It's not something I do on purpose, I don't know how it happens, it's automatic I guess. When you walk passed a retard you think &quot;There's a retard!&quot;, am I right? extreme example but it's the same. <br/> <br/>And so everything is just boring, lame and unrelenting. There isn't much to look forward to, there isn't much to enjoy in the present and the past isn't part of the equation. I don't think depression can be cured, I think that its just a realisation of the world and human society, a state of mind that sees the world for what it is. To be happy is to be ignorant. Stop smiling, it's making me uncomfortable. Wed, 19 Aug 2009 18:00:00 +1000 D47 http://nullam.net/article/2009/8/19/Life-is-lame An experiment in colour Well I decided to make some changes to my stylesheet for no good reason. I think it looks pretty good. I need a new title image though, I don't know. Sun, 09 Aug 2009 18:07:00 +1000 D47 http://nullam.net/article/2009/8/9/An-experiment-in-colour Conky buses! So to show off my new code tags I'm going to show you a script I wrote to get the upcoming bus times displayed right there on your desktop! <br/> <br/>There are three bits of code required here, first there is the code to fetch the timetable data for the current day from your local bus service. You're unlucky if they don't provide the data in html form, although if the timetable doesn't change often you can simply create the timetable file yourself. <br/> <br/>This is my code: <br/>getbusses.sh: <br/><div style="margin: 10px; padding:10px;"><pre style="width:500px;border: solid 1px grey;color: #2222FF;background: #DDDDDD;overflow: auto;"> <br/>#!/bin/bash <br/>curl &quot;<a href="http://jp.translink.com.au/TransLinkPublicTimetable.asp?RouteCode=301&amp;TimetableKey=1849&amp;Direction=inbound&amp;TimetableVehicle=BTBus" rel="nofollow">http://jp.translink.com.au/TransLinkPublicTimetable.asp?RouteCode=301&amp;TimetableKey=1849&amp;Direction=inbound&amp;TimetableVehicle=BTBus</a>&quot; 2&gt;/dev/null | \ <br/>awk '/.*Doomben Station.*/{ getline; print; getline; print; getline; print; getline; print; getline; print; getline; print;}' | \ <br/>sed &quot;s:.*&lt;td class=\&quot;TimetableDetails\&quot;&gt;[ ^I]*\([0-9]*\:[0-9]*.*\)&lt;/td&gt;.*:\1:p&quot; -n \ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&gt; ~/scripts/buses <br/></pre></div> <br/> <br/>That one is quite simple, it shouldn't be hard to make one up for your timetable provider. <br/> <br/>The next piece of code is the workhorse. This one is executed every minute by conky. <br/>nextbus.pl: <br/><div style="margin: 10px; padding:10px;"><pre style="width:500px;border: solid 1px grey;color: #2222FF;background: #DDDDDD;overflow: auto;"> <br/>#!/usr/bin/perl <br/>use DateTime; <br/> <br/>my ($sec,$min,$hour,$day,$month,$yr,@rest) =&nbsp;&nbsp; localtime(time); <br/>my $line; <br/>my $outputCount = 3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Number of times to output (from current time) <br/>my $previousLine;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Used to detect duplicates (this is commonplace practice at translink...) <br/> <br/>open(BUSES, &quot;&lt;&quot;, &quot;/home/d47/scripts/buses&quot;); <br/> <br/>while ($line = &lt;BUSES&gt;) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($line == $previousLine) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Detect duplicates <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;$previousLine = $line; <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($outputCount == 0) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;chop $line; <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;my @checkTime = split(&quot;:&quot;, $line); <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;my $cHour = @checkTime[0]+0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Hour <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($cHour == 12) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$cHour = 0; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;if(substr(@checkTime[1], 2, 2) eq &quot;pm&quot;) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#Adjust to 24Hr time <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$cHour += 12; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;my $cMin = substr(@checkTime[1], 0, 2)+0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#minute <br/> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($cHour &lt; $hour) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;if($cHour == $hour &amp;&amp; $cMin &lt; $min) { <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next; <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;my $timeUntil = ($cHour - $hour) * 60 - ($min - $cMin); <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;print $line, &quot; (&quot;, $timeUntil, &quot; mins)\n&quot;; <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;$outputCount--; <br/>} <br/></pre></div> <br/> <br/>As you can see it is rather strait forward, it cycles through each line on the &quot;buses&quot; file and determines if that bus is yet to come, if it is then it is printed. The program exits when $outputCount amount of buses are printed. <br/> <br/>The third and last piece of code is the easiest. Its the code to put into your .conkyrc file, here is my whole file to show context. <br/>~/.conkyrc: <br/><div style="margin: 10px; padding:10px;"><pre style="width:500px;border: solid 1px grey;color: #2222FF;background: #DDDDDD;overflow: auto;"> <br/>use_xft yes <br/>xftfont Bitstream Vera Sans Mono:style=Bold:size=8 <br/> <br/>update_interval 1 <br/>total_run_times 0 <br/>double_buffer yes <br/>text_buffer_size 2048 <br/> <br/>own_window yes <br/>own_window_type normal <br/>own_window_transparent yes <br/>own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager <br/> <br/>background yes <br/> <br/>minimum_size 250 0 <br/>maximum_width 250 <br/> <br/>default_color cyan <br/>draw_shades no <br/> <br/>color0 cyan <br/>color1 red <br/>color2 white <br/> <br/>border_margin 5 <br/>border_width 2 <br/> <br/>alignment top_right <br/>gap_x 25 <br/>gap_y 35 <br/> <br/>no_buffers no <br/>net_avg_samples 2 <br/> <br/>override_utf8_locale yes <br/> <br/>no_buffers yes <br/> <br/>TEXT <br/>DATE ${hr 2} <br/> <br/>${color0}${font StyleBats:size=16}4${font}&nbsp;&nbsp; EST${color}${alignc 45}${color2}${font Arial Black:size=30}${time %H:%M}${font}${color} <br/>${alignc}${time %A %d %Y} <br/>${alignc}${time %s} <br/> <br/>${color0}${font StyleBats:size=16}8${font}&nbsp;&nbsp; UTC${color}${alignc 45}${color2}${font Arial Black:size=30}${utime %H:%M}${font}${color} <br/>${alignc}${utime %A %d %Y} <br/>${alignc}${utime %s} <br/> <br/>SYSTEM ${hr 2} <br/>${color0}${font StyleBats:size=16}A${font}${color}&nbsp;&nbsp; CPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${color1}${cpu cpu0}%${color} ${alignr}${color2}${cpubar cpu0 8,60}${color} <br/>${color0}${font StyleBats:size=16}y${font}${color}&nbsp;&nbsp; RAM:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${color1}${memperc}% ${mem}${color} ${alignr}${color2}${membar 8,60}${color} <br/>${color0}${font StyleBats:size=16}q${font}${color}&nbsp;&nbsp; Uptime:&nbsp;&nbsp; ${color1}${uptime}${color} <br/> <br/>WEB USAGE ${hr 2} <br/>${color0}${font StyleBats:size=16}x${font}${color}&nbsp;&nbsp; P:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${color1}${execi 60 awk '{print $1}' ~/scripts/currentusage} /&nbsp;&nbsp;60GiB${color}&nbsp;&nbsp;&nbsp;&nbsp; ${color2}${execibar 60 awk '{print ($1/63)*100}' ~/scripts/currentusage} <br/>${color0}${font StyleBats:size=16}g${font}${color}&nbsp;&nbsp; OP:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${color1}${execi 60 awk '{print $2}' ~/scripts/currentusage} / 140GiB${color}&nbsp;&nbsp;&nbsp;&nbsp; ${color2}${execibar 60 awk '{print ($2/143)*100}' ~/scripts/currentusage}${color} <br/> <br/>BUSES ${hr 2} <br/>${color0}${font StyleBats:size=16}B${font}${color}&nbsp;&nbsp; Next buses into the city: <br/>${color1}${execi 3600 ~/scripts/getbuses.sh}${execi 60 ~/scripts/nextbus\ 2.0.pl}${color} <br/></pre></div> <br/> <br/>And that's it! All I need to do now is become social and want to know when I can travel to the city to go clubbing! Oh goodie! Sat, 25 Jul 2009 00:23:00 +1000 D47 http://nullam.net/article/2009/7/25/Conky-buses- Nullam rewritten! I have completely rewritten the code for nullam.net from the ground up. The site is now implemented using smarty templates, it is about a million times more efficient and comprehensible. <br/> <br/> Its amazing what little oddities I found while reviewing the old code. Lets just say it's very evident that I am making progress in my programming proficiency. <br/> <br/> If you come across any errors or any odd behaviour I want to know about it! Please send a brief email to d47@nullam.net or simply comment on this post. <br/> <br/> As for functionality there is absolutely nothing new in the slightest! Enjoy it! <br/> <br/> P.S, I love smarty templates. Fri, 24 Jul 2009 22:17:00 +1000 D47 http://nullam.net/article/2009/7/24/Nullam-rewritten- Kill my family but don't take my anime!!!! FFFUUUUUUUUUUUUUUUUUUUUUUUUUUU <br/> <br/> It's happened again, my brand new 1tb hard-drive just died in a flurry of clicking and jerking. Why out of the four hard-drives I have does it have to be the one with all my anime on it! it was FULL of anime, 1tb of anime! One of the drives was completely empty but it had to be the full one. If someone I know dies I can shrug it off but taking my anime! I'm enraged! <br/> <br/> Well from now on there is no question that I will be backing up everything I have. Every gigabyte I buy will be two, the cost of hard-drives to me is double what is labelled. From now my computer speaks in raid 1. <br/> <br/> At least its under warranty =/ Tue, 21 Jul 2009 21:34:00 +1000 D47 http://nullam.net/article/2009/7/21/Kill-my-family-but-don--t-take-my-anime---- Take my mind If I could give you my mind along with all its knowledge, memories and experience I would not hesitate to do so, in fact I really want to do this with you. I think that if you had my mind and your own, things would be so different and I wonder what kind of revelations you might have and what parts of my mind will be discarded as fallacy. <br/> <br/> Would something I consider absolute fact be looked upon with doubt from the perspective of a combined mind. What kinds of conclusions would be drawn based on both sets of collective experiences seemingly occuring at once? Sat, 20 Jun 2009 19:46:00 +1000 D47 http://nullam.net/article/2009/6/20/Take-my-mind