Shadowrunning GTA4

One of the things I recently noticed is that GTA actually gives you a fair amount of choice on how to do some missions, but doesn’t really advertise the fact.

Playing the game after some time (and only few days after a Shadowrun session), I went ahead and got to do the mission “Dining Out”, where Yours Truly (on his avatar in this case, Niko Bellic) had to run a hit on one Kim Young-Guk. Young-Guk was dining at a place called Mr. Fuk.

Warily, I drove Niko to the encounter, investigating the site – a rather accessible and free-standing restaurant. Tired of all previous hit missions, which mostly ended up in me chasing the person on bicycle or car most of the time, I decided to try to be creative. I went around the back, and indeed, in the parking lot I found a motorcycle and a PMP 600 (which is a remake of one of those Chrysler estates). Fearing that this would exactly end up as I predicted, I rang up Packie and got myself a nice little car bomb.

Placing this under the PMP 600, I went inside and sure enough, the stale air in the restaurant had an unhealthy dose of lead after a couple of seconds. So one kills all the goons, goes upstairs and talks (while sighting down along the sights of the gun) to the manager, who said that Kim just fled out through the kitchen. Of course.

Chasing Kim down, one badgers through the kitchens, only to find that Korean bugger already having jumped down the fire escap, dodging into his PMP 600. One would then have to jump down after him and swing yourself unto the motorcycle.

Smirking, I let Niko pull out his mobile phone and call (handily preselected) the bomb, which promptly blows up the car and Kim with it. $13,250 earned without having to break your neck on the motorcycle and probably crash into something with a spectacular slow motion scene.

The thing is that GTA often silently encourages such behaviour. There’s a few missions where the city gets mission-specific instances, thus undoing some changes to the scenery you might have caused. But more often than not, you can just start laying traps if you either suspect or know what’s going to happen. Place bombs, blockade exits with a lorry, ram down fences to get other ways of access to a location, start sniping people from some totally different location, or just go all Altaïr and shuffle to a site via the rooftops.

It’s fun, really.

Losing My Partition

Lyrics by Francisco Rangel, to the tune of “Losing My Religion” by REM.

Oh, drives get bigger
They’re bigger, and you
begin to split them.
You start to make partitions
To organize your files
Oh no! A bad resize!
I messed it up.

That’s me at the keyboard
That’s me at my laptop
Losing my partition
Trying to save all my files
But I don’t know if I can do it
Oh, no! Boot sector’s crunched.
I hadn’t backed it up.
I know that I’ll be formatting
I know that I’m not the king
There’s nothing left to do but cry

Lost all my pictures
Every system file, my
Pow’rpoint presentations.
Trying to save my notes to you
Now I feel like a stupid fool, fool
Oh, no! I’ve messed it up
I screwed it up

Partition this
Partition this
The goof of the century
My Deskstar’s death.
The sign that told me
that my disk failed.
What if I use undelete,
Or, flailing around?
Now I’ve lost too much
I thought that I had it covered
I thought that I could convert
I think I thought ’twas worth a try
Related News

The Talibanana Song

The Imminent Death of Microsoft, Try #117

Top 11 Things found in the Microsoft Cafeteria

But that was FAT 16
That was FAT 16
That’s me at the server
That’s me at the keyboard
Losing my partition
My job is lost, I’m so screwed
Well it looks like I really blew it
Oh, no! I lost some files
My database is gone
I thought RAID was there to help me
I thought it was idiot-proof
I think it should have saved my drive

But it’s not just a dream
Try. Fry
Why try?
I lost my Windows theme
Vent some steam
Drink caffeine


As we all know, SCO had a bit of a stand-in with Linux some time ago, and this was one of the reactions to the perceived threats – an IRC chat mockup. Enjoy.

Topic in #os: hey guyz, stop pickin on irix.
<SCO> w00t! i bought unix! im gonna b so rich!
<novell> /msg atnt haha. idiot.
<novell> whoops. was that out loud?
<atnt> rotfl
<ibm> lol
<SCO> why r u laffin at me?
<novell> dude, unix is so 10 years ago. linux is in now.
<SCO> wtf?
<SCO> hey guyz, i bought caldera, I have linux now.
<red_hat> haha, your linux sucks.
<novell> lol
<atnt> lol
<ibm> lol
<SCO> no wayz, i will sell more linux than u!
<ibm> your linux sucks, you should look at SuSE
<SuSE> Ja. Wir bilden gutes Linux für IBM.
<SCO> can we do linux with you?
<SuSE> Ich bin nicht sicher...
<ibm> *cough*
<SuSE> Gut lassen Sie uns vereinigen.
* SuSE is now SuSE[UL]
* SCO is now caldera[UL]
<turbolinux> can we play?
<conectiva> we're bored... we'll go too.
<ibm> sure!
* turbolinux is now turbolinux[UL]
* conectiva is now conectiva[UL]
<ibm> redhat: you should join!
<SuSE[UL]> Ja! Wir sind vereinigtes Linux. Widerstand ist vergeblich.
<red_hat> haha. no.
<red_hat> lamers.
<ibm> what about you debian?
<debian> we'll discuss it and let you know in 5 years.
<caldera[UL]> no one wants my linux!
<turbolinux[UL]> i got owned.
<caldera[UL]> u all tricked me. linux is lame.
* caldera[UL] is now known as SCO
<SCO> i'm going back to unix.
<SGI> yeah! want to do unix with me?
<SCO> haha. no. lamer.
<novell> lol
<ibm> snap!
<SGI> :~(
<SCO> hey, u shut up. im gonna sue u ibm.
<ibm> wtf?
<SCO> yea, you stole all the good stuff from unix.
<red_hat> lol
<SuSE[UL]> heraus laut lachen
<ibm> lol
<SCO> shutup. i'm gonna email all your friends and tell them you suck.
<ibm> go ahead. baby.
<SCO> andandand... i revoke your unix! how do you like that?
<ibm> oh no, you didn't. AIX is forever.
<novell> actually, we still own unix, you can't do that.
<SCO> wtf? we bought it from u.
<novell> whoops. our bad.
<SCO> i own u. haha
<SCO> ibm: give me all your AIX now!
<ibm> whatever. lamer.
* ibm sets mode +b SCO!*@*
* SCO has been kicked from #os (own this.)

The Head of Vecna

Taken from

Mark Steuer, who has the office next-door to mine, recounts this tale:

Many years ago (back when we all were still playing D & D), I ran a game where I pitted two groups against each other.

Several members of Group One came up with the idea of luring Group Two into a trap. You remember the Hand of Vecna and the Eye of Vecna that were artifacts in the old D&D world where if you cut off your hand (or your eye) and replaced it with the Hand of Vecna (or the Eye) you’d get new awesome powers? Well, Group One thought up The Head of Vecna.

Group One spread rumors all over the countryside (even paying Bards to spread the word about this artifact rumored to exist nearby). They even went so far as to get a real head and place it under some weak traps to help with the illusion. Unfortunately, they forgot to let ALL the members of their group in on the secret plan (I suspect it was because they didn’t want the Druid to get caught and tell the enemy about this trap of theirs, or maybe because they didn’t want him missing with things).

The Druid in group One heard about this new artifact and went off in search of it himself (I believe to help prove himself to the party members…) Well, after much trial and tribulation, he found it; deactivated (or set off) all the traps; and took his "prize" off into the woods for examination. He discovered that it did not radiate magic (a well known trait of artifacts) and smiled gleefully.

I wasn’t really worried since he was alone and I knew that there was no way he could CUT HIS OWN HEAD OFF. Alas I was mistaken as the Druid promptly summoned some carnivorous apes and instructed them to use his own scimitar and cut his head off (and of course quickly replacing it with the Head of Vecna…)

Some time later, Group one decided to find the Druid and to check on the trap. They found the headless body (and the two heads) and realized that they had erred in their plan (besides laughing at the character who had played the Druid)…The Head of Vecna still had BOTH eyes! They corrected this mistake and reset their traps and the Headfor it’s real intended victims…

Group Two, by this time, had heard of the powerful artifact and decided that it bore investigating since, if true, they could use it to destroy Group One. After much trial and tribulation, they found the resting place of The Head of Vecna! The were particularly impressed with the cunning traps surrounding the site (one almost missed his save against the weakest poison known to man). They recovered the Head and made off to a safe area.

Group Two actually CAME TO BLOWS (several rounds of fighting) against each other argueing over WHO WOULD GET THEIR HEAD CUT OFF! Several greedy players had to be hurt and restrained before it was decided who would be the recipient of the great powers bestowed by the Head… The magician was selected and one of them promptly cut his head off. As the player was lifting The Head of Vecna to emplace it on it’s new body, another argument broke out and they spent several minutes shouting and yelling. Then, finally, they put the Head onto the character.

Well, of course, the Head simply fell off the lifeless body. All members of Group Two began yelling and screaming at each other (and at me) and then, on their own, decided that they had let too much time pass between cutting off the head of a hopeful recipient and put the Head of Vecna onto the body.

SO THEY DID IT AGAIN!… [killing another PC]

In closing, it should be said that I never even cracked a smile as all this was going on. After the second PC was slaughtered, I had to give in (my side was hurting)…

And Group Two blamed ME [Mark] for all of that…

The Evolution of a Programmer

This text has already come to a significant popularity throughout the whole of the Internet. I’m just still mirroring for the fun of it all.

High School/Jr.High

20 END

First year in College

program Hello(input, output)
writeln('Hello World')

Senior year in College

(defun hello
(cons 'Hello (list 'World))))

New professional

void main(void)
char *message[] = {"Hello ", "World"};
int i;

for(i = 0; i < 2; ++i)
printf("%s", message[i]);

Seasoned professional


class string
int size;
char *ptr;

string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size)
ptr = new char[size + 1];
strcpy(ptr, s.ptr);

delete [] ptr;

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);

ostream &operator<<(ostream &stream, const string &s)
return(stream << s.ptr);

string &string::operator=(const char *chrs)
if (this != &chrs)
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);

int main()
string str;

str = "Hello World";
cout << str << endl;


Master Programmer

library LHello
// bring in the master library

// bring in my interfaces
#include "pshlo.idl"

cotype THello
interface IHello;
interface IPersistFile;

module CHelloLib

// some pre related header files

// needed typelibs

coclass CHello
cotype THello;

#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase

CHello(IUnknown *pUnk);
CHello(IUnknown *pUnk);

HRESULT __stdcall PrintSz(LPWSTR pwszString);

static int cObjRef;

#include <windows.h>
#include <ole2.h>
#include <stdio.h>

#include <stdlib.h>
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
printf("%ws\n", pwszString);


// when the object count goes to zero, stop the server
if( cObjRef == 0 )


#include <windows.h>
#include <ole2.h>
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
ulRef = pCF->Release();

// Tell OLE we are going away.


extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }

#include <windows.h>
#include <ole2.h>
#include <stdlib.h>

#include <string.h>
#include <stdio.h>
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
char * argv[]
) {
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc> 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
else {
fprintf(stderr, "Object path must be specified\n");

// get print string
if(argc> 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries

if(SUCCEEDED(hRslt)) {

hRslt = CreateFileMoniker(wcsPath, &pmk);
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out

ulCnt = pHello->Release();
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.


Apprentice Hacker

$msg="Hello, world.\n";
if ($#ARGV>= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg:
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
} else {
print ($msg);

Experienced Hacker

#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker

% cat
Hello, world.

New Manager

20 END

Middle Manager

mail -s "Hello, world." bob@b12
Gill, could you please write me a program that prints "Hello,
I need it by tomorrow.

Senior Manager

% zmail Gill
I need a "Hello, world." program by this afternoon.

Chief Executive

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout