post 'good coders code, great reuse' to del.icio.us post 'good coders code, great reuse' to digg post 'good coders code, great reuse' to reddit subscribe to 'good coders code, great reuse' posts via feed
good coders code, great reuse

Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

Alan Kay

Musical Geek Friday 09 May 2008 09:40 am
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4 out of 5)
Loading ... Loading ...

the day the rotuers died geek songThis week on Musical Geek Friday - a song about The Day the Routers Died!

This song is written and performed live at the 55th RIPE Meeting by Gary Feldman (scroll down for a video of him performing it live).

RIPE (Réseaux IP Européens) is a collaborative forum open to all parties interested in wide area IP networks in Europe and beyond. The objective of RIPE is to ensure the administrative and technical coordination necessary to enable the operation of a pan-European IP network.

A RIPE Meeting is a five-day event where Internet service providers, network operators and other interested parties from Europe and the surrounding regions gather. RIPE Meetings are open to everyone and provide an excellent opportunity for attendees to discuss Internet policy.

The song is about a problem that the current IPv4 address space is running out of IP addresses (read about the problem here). IPv4 address space can hold just 4′294′967′296 (232) addresses. The song suggests that we all move to IPv6 address space which can hold 2128 addresses. That many addresses will never run out.

Here it is! The Day the Routers Died geek song:

Download this song: the day the routers died.mp3 (musical geek friday #6)
Downloaded: 938 times

Download lyrics: the day the routers lyrics (musical geek friday #6)
Downloaded: 90 times

Here is the lyrics of The Day the Routers Died song:

a long long time ago
i can still remember
when my laptop could connect elsewhere

and i tell you all there was a day
the network card i threw away
had a purpose - and it worked for you and me…

but 18 years completely wasted
with each address we’ve aggregated
the tables overflowing
the traffic just stopped flowing…

and now we’re bearing all the scars
and all my traceroutes showing stars…
the packets would travel faster in cars…
the day… the routers died…

Chorus (ALL!!!!!)

so bye bye, folks at RIPE 55
be persuaded to upgrade it or your network will die
IPv6 just makes me let out a sigh
but I s’pose we’d better give it a try
I suppose we’d better give it a try

now did you write an RFC
that dictated how we all should be
did we listen like we should that day

now you back at RIPE fifty-four
where we heard the same things months before
and the people knew they’d have to change their ways…

and we - knew that all the ISPs
could be - future proof for centuries

but that was then not now
spent too much time playing WoW

ooh there was time we sat on IRC
making jokes on how this day would be
now there’s no more use for TCP
the day the routers died…

Chorus (chime in now)

so bye bye, folks at RIPE 55
be persuaded to upgrade it or your network will die
IPv6 just makes me let out a sigh
but I s’pose we’d better give it a try
I suppose we’d better give it a try

I remember those old days I mourn
sitting in my room, downloading porn
yeah that’s how it used to be…

when the packets flowed from A to B
via routers that could talk IP
There was data… that could be exchanged between you and me…

oh but - I could see you all ignore
the fact - we’d fill up IPv4

but we all lost the nerve
and we got what we deserved!

and while… we threw our network kit away
and wished we’d heard the things they say
put all our lives in disarray

the day… the routers died…

Chorus (those silent will be shot)

so bye bye, folks at RIPE 55
be persuaded to upgrade it or your network will die
IPv6 just makes me let out a sigh
but I s’pose we’d better give it a try
I suppose we’d better give it a try

saw a man with whom I used to peer
asked him to rescue my career
he just sighed and turned away…

I went down to the net cafe
that I used to visit everyday
but the man there said I might as well just leave…

and now we’ve all lost our purpose..
my cisco shares completely worthless…

no future meetings for me
at the Hotel Krasnapolsky

and the men that make us push and push
like Geoff Huston and Randy Bush
should’ve listened to what they told us…
The day… the routers… died

Chorus (time to lose your voice)

bye bye, folks at RIPE 55
be persuaded to upgrade it or your network will die
IPv6 just makes me let out a sigh
but I spose we’d better give it a try
I suppose we’d better give it a try

I also found a live video of Gary performing the song live at RIPE 55:

Ps. The Internet died once in 1997.

Download “The Day the Routers Died” Song

Download this song: the day the routers died.mp3 (musical geek friday #6)
Downloaded: 938 times

Download lyrics: the day the routers lyrics (musical geek friday #6)
Downloaded: 90

Click to listen:

Have fun and until next geeky Friday! :)

Comments (3) Comments | Email Post Email 'Musical Geek Friday #6: The Day the Routers Died' to a friend | Print Post Print 'Musical Geek Friday #6: The Day the Routers Died' | Permalink Permalink to 'Musical Geek Friday #6: The Day the Routers Died' | Trackback Trackback to 'Musical Geek Friday #6: The Day the Routers Died'
(Popularity: 9%) 2,301 Views

Did you like this page? Subscribe to my posts!

Musical Geek Friday 25 Apr 2008 04:10 pm
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 4.75 out of 5)
Loading ... Loading ...

The Eternal Flame, God Wrote in Lisp SongThis week on Musical Geek Friday - God Wrote in Lisp (also known as The Eternal Flame) song!

This song is written by Bob Kanefsky and is performed by Julia Ecklar. It’s a parody of another song of hers - “God Lives on Terra”.

The song is about a question which programming language God could have used to create us?

God had a tight 6 day deadline to create the world, so he had to make a smart decision which language to use. Some folks say that it could have been C++ or C, but these languages are out as God would not have been able to even count grains of sand with 32-bit integers! Others say it could have been Fortran, Java, COBOL or even APL. But we all know the truth…

God wrote the world in Lisp!

Here it is! The God Wrote in Lisp song:

Download this song: god wrote in lisp.mp3 (musical geek friday #5)
Downloaded: 1367 times

If you liked this song, it’s included in a music CD “Roundworm” which contains parodies about Star Trek, dead cats, Lisp programming (this song), and everything in between!

Here is the lyrics of The Eternal Flame (God Wrote in Lisp) song:

I was taught assembler in my second year of school.
It’s kinda like construction work — with a toothpick for a tool.
So when I made my senior year, I threw my code away,
And learned the way to program that I still prefer today.

Now, some folks on the Internet put their faith in C++.
They swear that it’s so powerful, it’s what God used for us.
And maybe it lets mortals dredge their objects from the C.
But I think that explains why only God can make a tree.

For God wrote in Lisp code
When he filled the leaves with green.
The fractal flowers and recursive roots:
The most lovely hack I’ve seen.
And when I ponder snowflakes, never finding two the same,
I know God likes a language with its own four-letter name.

Now, I’ve used a SUN under Unix, so I’ve seen what C can hold.
I’ve surfed for Perls, found what Fortran’s for,
Got that Java stuff down cold.
Though the chance that I’d write COBOL code
is a SNOBOL’s chance in Hell.
And I basically hate hieroglyphs, so I won’t use APL.

Now, God must know all these languages, and a few I haven’t named.
But the Lord made sure, when each sparrow falls,
that its flesh will be reclaimed.
And the Lord could not count grains of sand with a 32-bit word.
Who knows where we would go to if Lisp weren’t what he preferred?

And God wrote in Lisp code
Every creature great and small.
Don’t search the disk drive for man.c,
When the listing’s on the wall.
And when I watch the lightning
Burn unbelievers to a crisp,
I know God had six days to work,
So he wrote it all in Lisp.

Yes, God had a deadline.
So he wrote it all in Lisp.

Download “God Wrote in Lisp” Song

Download this song: god wrote in lisp.mp3 (musical geek friday #5)
Downloaded: 1367 times

Download lyrics: god wrote in lisp lyrics (musical geek friday #5)
Downloaded: 80

Click to listen:

Have fun and until next geeky Friday! :)

Comments (2) Comments | Email Post Email 'Musical Geek Friday #5: God Wrote in Lisp (The Eternal Flame)' to a friend | Print Post Print 'Musical Geek Friday #5: God Wrote in Lisp (The Eternal Flame)' | Permalink Permalink to 'Musical Geek Friday #5: God Wrote in Lisp (The Eternal Flame)' | Trackback Trackback to 'Musical Geek Friday #5: God Wrote in Lisp (The Eternal Flame)'
(Popularity: 17%) 3,603 Views

Did you like this page? Subscribe to my posts!

Musical Geek Friday 18 Apr 2008 01:00 pm
1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 5 out of 5)
Loading ... Loading ...

model view controller mvc musical geek friday songThis week on Musical Geek Friday - the Model View Controller (MVC) song!

This song was written and performed by James Dempsey, an engineer at Apple. James says that he searched iTunes for a model-view-controller song but there was none, so he wrote his own song about this topic.

The song is about a particular Design Pattern in software engineering. A Design Pattern is a simple solution to a specific problem that occurs very frequently in software design. The MVC Design Pattern was first discovered and described by Smalltalk people (see the original paper). This key idea of this pattern is that it decouples data to be displayed (model) from the code displaying the data (view) and code receiving user input (controller).

Here it the Model View Controller song:

Download this song: model-view-controller song.mp3 (musical geek friday #4)
Downloaded: 3911 times

Talking about the MVC design pattern in this song, Ralph Johnson on squeak’s mailing list comments:

The problem is that the song is NOT about Smalltalk MVC. In this song, the controller is a layer between the view and the model, which usually means it is a mediator. The song also says that the controller is copying values from one field to another, which also indicates that it is a mediator. However, in true MVC, the controller is a strategy for handling events. The events come directly to it, rather than to the view. The controller changes the model, but it is not notified by the model. When the user presses a key or moves the mouse, the controller receives the event. It checks with the view to map mouse locations into model coordinates, then interacts directly with the model. If it changes the model then the model notifies all dependents (observers), which notifes the view, which redisplays.

The song desribes Ivar Jacobson’s Model/Interface/Control, in which the Control is responsible for an entire use case. It is not MVC. Jacobson’s model is like the MVC model, but his Interface is a combination of View and Controller and his Control is not at all like a real Controller.

Here is the lyrics of MVC song:

Model View, Model View, Model View Controller
MVC’s the paradigm for factoring your code,
into functional segments so your brain does not explode.
To achieve reusability you gotta keep those boundaries clean,
Model on the one side, View on the other, the Controller’s in between.

Model View - It’s got three layers like Oreos do.
Model View creamy Controller

Model objects represent your applications raison d’tre.
Custom classes that contain data logic and et cetra.
You create custom classes in your app’s problem domain,
then you can choose to reuse them with all the views,
but the model objects stay the same.

You can model a throttle in a manifold,
Model level two year old.
Model a bottle of fine Chardonnay.
Model all the twaddle stuff people say.
Model the coddle in a boiling eggs.
Model the waddle in Hexley’s legs.

One, two, three, four.
Model View - You can model all the models that pose for GQ.
Model View Controller

View objects tend to be controls that view and edit,
Cocoa’s got a lot of those, well written to its credit.
Take an NSTextView, hand it any old Unicode string,
the user interacts with it, it can hold most anything.
But the view don’t knows about the Model:
That string could be a phone number or the words of Aristotle.
Keep the coupling loose and so achieve a massive level of reuse.

Model View - All rendered very nicely in Aqua blue
Model View Controller

You’re probably wondering now.
You’re probably wondering how,
the data flows between Model and View.
The Controller has to mediate,
between each layer’s changing state,
to synchronize the data of the two.
It pulls and pushes every changed value.
Yeah.

Model View - mad props to the smalltalk crew!
for Model View Controller

Model View - it’s pronouced Oh Oh not Uh Uh
Model View Controller

There’s a bit more on this story,
a few more miles upon this road,
well nobody seems to get much glory
writing controller code.
Well the model is mission critical
and gorgeous is the view,
But I’m not being lazy, but sometimes it’s just crazy
how much code i write is just glue.
And it wouldn’t be so tragic,
but the code ain’t doing magic:
it’s just moving values through.
And I wish I had a dime
for every single time
I set a TextField’s stringValue.

Model View - how we’re gonna deep-six all that glue
Model View Controller

Controller’s know the Model and View very
uahh - intimately
They often are hardcoding
which is very verboten for reusability.
But now you can connect any value you select
to any view property.
And I think you’ll start binding,
then you’ll be finding less code in your source tree.
Yeah I know I was astounded,
that’s not even a rhyme.

But I think it bares repeating
all the code you won’t be needing,
when you hook it up in IB.

Model View - it even handles multiple selections too
Model View Controller

Model View - hope I get my G5 before you
Model View Controller

Yeah, yeah, yeah. Yeah.

I also found a video of James singing it live on WWDC 2003. Here is the video:

Download “Model View Controller” Song

Download this song: model-view-controller song.mp3 (musical geek friday #4)
Downloaded: 3911 times

Download lyrics: model-view-controller lyrics (musical geek friday #4)
Downloaded: 87

Click to listen:

Have fun and until next geeky Friday! :)

PS. One of my next posts will be on Design Patterns in Python, so check back! :)

Comments (5) Comments | Email Post Email 'Musical Geek Friday #4: Model-View-Controller Song' to a friend | Print Post Print 'Musical Geek Friday #4: Model-View-Controller Song' | Permalink Permalink to 'Musical Geek Friday #4: Model-View-Controller Song' | Trackback Trackback to 'Musical Geek Friday #4: Model-View-Controller Song'
(Popularity: 35%) 10,038 Views

Did you like this page? Subscribe to my posts!

Musical Geek Friday 11 Apr 2008 03:55 pm
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)
Loading ... Loading ...

musical geek friday - jonathan coulton - code monkeyThis week on Musical Geek Friday we have the Code Monkey song!

This song was written by Jonathan Coulton as a part of his “Thing a Week” musical project, where he would write a new song every week and put it on his website. With this song Jonathan instantly became an Internet Hero. He made it to Slashdot and even New York Times (includes video interview with him)!

This song is about a type of programmers called “Code Monkeys“. These programmers do coding without passion, just for money. A person can also be called a code monkey if he’s a newbie or he’s only able to produce low quality code.

Here it is, the Code Monkey song:

Download this song: code monkey.mp3 (musical geek friday #3)
Downloaded: 1599 times

Lyrics of the “Code Monkey” song:

Code Monkey get up get coffee
Code Monkey go to job
Code Monkey have boring meeting
With boring manager Rob

Rob say Code Monkey very dilligent
But his output stink
His code not functional or elegant
What do Code Monkey think?

Code Monkey think maybe manager want to write god damned login page himself
Code Monkey not say it out loud
Code Monkey not crazy, just proud
Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you, youuuuuuuuuuu

Code Monkey hang around at front desk
Tell you sweater look nice
Code Monkey offer buy you soda
Bring you cup, bring you ice

You say no thank you for the soda cause
Soda make you fat
Anyway you busy with the telephone
No time for chat

Code Monkey have long walk back to cubicle he sit down pretend to work
Code Monkey not thinking so straight
Code Monkey not feeling so great
Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you a lot

Code Monkey have every reason
To get out this place
Code Monkey just keep on working
See your soft pretty face
Much rather wake up, eat a coffee cake
Take bath, take nap
This job fulfilling in creative way
Such a load of crap

Code Monkey think someday he have everything even pretty girl like you
Code Monkey just waiting for now
Code Monkey say someday, somehow
Code Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like youuuuuuuuuuuuuuuuuu

If you liked it, people on YouTube have posted their videos dancing to this music and even made computer animations for this song. See Code Monkey Videos on YouTube.

Here is my top favorite YouTube video of this song:

Download “Code Monkey” Song

Download this song: code monkey.mp3 (musical geek friday #3)
Downloaded: 1599 times

Download lyrics: code monkey lyrics (musical geek friday #3)
Downloaded: 107

Click to listen:

Have fun and until next geeky Friday! :)

Comments (7) Comments | Email Post Email 'Musical Geek Friday #3: Code Monkey' to a friend | Print Post Print 'Musical Geek Friday #3: Code Monkey' | Permalink Permalink to 'Musical Geek Friday #3: Code Monkey' | Trackback Trackback to 'Musical Geek Friday #3: Code Monkey'
(Popularity: 19%) 4,289 Views

Did you like this page? Subscribe to my posts!

Musical Geek Friday 04 Apr 2008 07:20 pm
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...

leech access - coming at you (leech axss - comin at choo)Continuing my Friday geek music series, I am presenting to you a very geeky hip-hop song about downloading pirated stuff, such as music, software and movies (so called “warez“) off the net.

The song is originally written by guys calling themselves Leech Axss and it’s called “Leech Axss - Coming@Choo“.

This song is NSFW - not suitable for work, as it contains explicit language! Though, you can listen to it on your headphones. :)

As I mentioned in my first geek music post, I’ll not just post the song, but also provide a little insight into the song.

This song is about a lamer trying to gain leech access to some guy’s warez ftp server. Usually, an access to a site with hundreds of gigabytes of warez, with no intentions to upload any new content, is called “leech access“. It’s every beginner’s dream to have leech access to any server. Unfortunately, if you are not already well respected, you can’t just have leech access. To have an access, you must provide some value to the site. For example, you must upload some 0day stuff. Digital content is called 0day if it gets distributed on warez servers before it actually gets released by the company.

The lamer in this song is suggested to use his real email address as a password for the ftp (note that anonymous ftp access usually asks for an email as a password). Being totally lame, he provides his real email, gets sent trojans and viruses, gets mail bombed and his machine finally gets owned.

Download this song: leech axss - coming at you.mp3 (musical geek friday #2)
Downloaded: 630 times

Here is the lyrics (I censored the explicit language, see the ‘download lyrics’ link at the bottom for uncensored version):

where is my snare?
i have no snare in my headphones
oh, there’s my snare
in my audio warez folder, ho ho ho ho ho

leech axss, leech axss, leech, leech axss

freebsd is da s**t to me
linux, stick it up in your a**, you get me
you came to f**k with me in the irc
that i didn’t give you access to my ftp
little dood, with a f**kin’ +v in your nick
you might as well be sucking my motherf**kin’ d**k
message of the day says that you are lame
so prevent the pain and get a dc j
leech axss, ain’t no dude to f**k with
leech axss, ain’t no dude to chat with
’cause i’m downloading chicks-with-d**s.avi
and i’m loadin’ edonkey my windows swap file
yo yo yo, where’s your 0day
you ain’t got no 0day, because you’re gay
because you are afraid and so easy to break
make it easy to take over you pc and f**k it up straight

refrain:
leech axss is comin’ at you, your box is mine in minute or two
your firewalls are tumbling down, leeching all the 0day that is found
dvs in you mp3s, you gotta fear my leet-o skillz
comin’ inside the megabytes, leech axss you just can’t fight

leech axss, leech axss, leech, leech axss ho ho ho ho ho

just put your e-mail in the password-box
now i’ve got your info, b***h, thanks a lot
i’ma send you a motherf**king e-mail bomb
dos your isp, dada dam da dam
trojan horses and viruses are coming at you
gold-sex is the site where you gonna re-route
meanwhile i hax and gonna gain the root
“f**k you” is message before you reboot
whoops, did i open your cd-drive?
whoops, did i f**king read your mind?
two thousand messages in your icq
and your soundcard just lost the irq
these are the wicked ways of leech axss
i am leet - you’re nothing but your daddy’s ball sweat
check me in my channel, as me operate
and get more net sex than my n****r, bill gates

refrain:
leech axss is comin’ at you, your box is mine in minute or two
your firewalls are tumbling down, leeching all the 0day that is found
dvs in you mp3s, you gotta fear my leet-o skillz
comin’ inside the megabytes, leech axss you just cant fight

leech axss is comin’ at you, your box is mine in minute or two
your firewalls are tumbling down, leeching all the 0day that is found
dvs in you mp3s, you gotta fear my leet-o skillz
comin’ inside the megabytes, leech axss you just can’t fight

ctrl + alt + del

Download Leech Access is Coming at You Song

Download this song: leech axss - coming at you.mp3 (musical geek friday #2)
Downloaded: 630 times

Download lyrics (not censored): leech axss - coming at you lyrics (musical geek friday #2)
Downloaded: 123

Click to listen:

Have fun and until next geeky Friday! :)

Comments (1) Comments | Email Post Email 'Musical Geek Friday #2: Leech Access is Coming at You!' to a friend | Print Post Print 'Musical Geek Friday #2: Leech Access is Coming at You!' | Permalink Permalink to 'Musical Geek Friday #2: Leech Access is Coming at You!' | Trackback Trackback to 'Musical Geek Friday #2: Leech Access is Coming at You!'
(Popularity: 11%) 1,479 Views

Did you like this page? Subscribe to my posts!

Page 1 of 212»