TheDrunkenEpic - Drunken Ramblings of a Code Monkey
Filed under

Rants and Raves

 

MyTopix is still out there ...

Yeah, yeah, I know it's been a while, but I've been working on a super-secret project for the past few months. After which, I'll find the time to finish Great British Walks. Speaking of which, I should probably shoot myself in the face because it's been in development in some form or another for the past few years. Not sure what my problem is as I usually finish my contracted projects post haste. Honestly, Pete is the most patient guy in the universe... and I suck.

ANYWAYS... A lot of people have been asking about MyTopix lately and where they can download a copy. I'm assuming the memo didn't go out to everyone, so I'll just say it again. MyTopix is no longer supported by me in any shape or form. It is an open source project now and can be forked by anyone who wants to keep the project alive.

For those of you who are interested, you can ALWAYS find the LATEST build tucked away in its Google Code repository.

Seriously, it's right there. Check it out, create a fork and publish your own distro. If you people like it so much, go ahead and keep it alive and you'll definitely have my full backing.

Loading mentions Retweet
Filed under  //   Code Monkey   Development   Free Goodies   MyTopix   Rants and Raves  

Comments [0]

School SUCKS and here is why ...

I usually post tech-related stuff on this blog, but I've recently read an article about the modern school system that, literally, made my jaw drop to the floor. This is something I feel everybody should read, especially those of you that have children attending public schools. It will give you a greater understanding of how the system was originally meant to work.

Even if you think it's complete hogwash it's definitely a VERY interesting read.

The 6 Basic Functions of Modern Schooling

  1. The adjustive or adaptive function. Schools are to establish fixed habits of reaction to authority. This, of course, precludes critical judgment completely. It also pretty much destroys the idea that useful or interesting material should be taught, because you can't test for reflexive obedience until you know whether you can make kids learn, and do, foolish and boring things.

  2. The integrating function. This might well be called "the conformity function," because its intention is to make children as alike as possible. People who conform are predictable, and this is of great use to those who wish to harness and manipulate a large labor force.

  3. The diagnostic and directive function. School is meant to determine each student's proper social role. This is done by logging evidence mathematically and anecdotally on cumulative records. As in "your permanent record." Yes, you do have one.

  4. The differentiating function. Once their social role has been "diagnosed," children are to be sorted by role and trained only so far as their destination in the social machine merits - and not one step further. So much for making kids their personal best.

  5. The selective function. This refers not to human choice at all but to Darwin's theory of natural selection as applied to what he called "the favored races." In short, the idea is to help things along by consciously attempting to improve the breeding stock. Schools are meant to tag the unfit - with poor grades, remedial placement, and other punishments - clearly enough that their peers will accept them as inferior and effectively bar them from the reproductive sweepstakes. That's what all those little humiliations from first grade onward were intended to do: wash the dirt down the drain.

  6. The propaedeutic function. The societal system implied by these rules will require an elite group of caretakers. To that end, a small fraction of the kids will quietly be taught how to manage this continuing project, how to watch over and control a population deliberately dumbed down and declawed in order that government might proceed unchallenged and corporations might never want for obedient labor.

Read the rest here: http://www.wesjones.com/gatto1.htm

Loading mentions Retweet
Filed under  //   Distractions   Rants and Raves  

Comments [0]

Fuck my life. What a horrible day ...

Everybody has them. Some more often than others. Today is that day for me. The kind of day where the very instant you wake up, the world takes a massive shit right on your face. The funny thing is that it's only 9:30 in the morning. That's right, I've only been awake for 3 hours and this is, officially, the worst day of the year.

6:00 am

Alarm goes off. I know this because I turned it off and went back to sleep.

7:00 am

Gf and I wake up and I'm an hour behind. Not only that, I must have slept on something I shouldn't have because my fucking neck is so jacked up I can barely move it.

7:30 am

I'm ready. I even had a light breakfast. I head out to catch my bus. It's been raining in Sydney now for the past week and a half, but at the moment it's only a light drizzle. I think to myself, "Meh. I'll get to the stop before it gets too bad. I should probably buy an UMBRELLA-ELLA-ELLA today.".

7:40 am

Halfway to the bus stop and it begins to PISS DOWN. I am now drenched and smell like worms. Thank you, God!

7:50 am

Well, at least my bus is on time. I hop on to find the only seat free is situated at the beginning of the bus. On this particular model of bus, the first series of seats face eachother. There's some chick who decided to stretch out her legs UNDER my seat. So, by this time we're at the next stop. People want to get on and sit next to me. I try and scootch over, but the bitch won't move her legs.

Now I'm sitting at the most awkward angle imaginable. Not only that, the emergency kit is situated right by my head, forcing me to bend my neck in the most uncomfortable position.

8:40 am

Yeah, you read that right. I had to sit in that position for a FUCKING HOUR.

Anyway, time to get off and catch the other bus that'll take me straight to bum-fuck Sydney; where I now work. It's a good 30 minute commute from Railway Square. This, normally, is a pleasant ride, except today it's jam packed with a certain group of people that don't understand the concept of personal hygiene.

So, now I can barely move my neck. I now have headache. I'm tired, hungry, hot and soaked. There's a mixture of rain, hair product and sweat trickling down into my fucking eyes. I'm thinking I'm going to be late for work and NOW there's an old foreign dude standing right next to me and his fucking armpits smell like 50 of my Grandpas combined.

9:25 am

Woohoo! I'm pretty much on time and have enough time left over to get my morning coffee! I jump off the bus, my bag gets snagged on the door and tears open the zipper.

All my shit is now scatterred to the four winds... in the fucking rain.

9:30 am

I got my coffee and am sitting at my desk. Time to log in and do my morning rounds. Things seem to be getting a bit better until I take out my phone and realize my Mom's been trying to call me all morning. Shit! I haven't talked to her in months, so I try and call her back. Turns out I have NO credit left on my phone.

Great.

My Mom is a constant source of reassurance. If anyone can convince me that today isn't so bad, it's her and now I can't even have that. FUCK YOU WORLD!

9:45 am

I open my Google Chat only to be welcomed by the most terrible news of the day. Turns out that Trent Reznor of the one and only Nine Inch Nails is throwing in the towel. I am completely fucking devastated by the news. NIN is my most favorite band. of. all. time. The very first CD I ever bought with my own money was NIN: Pretty Hate Machine. I still have the disc stashed away somewhere.

Can this day be any more terrible for me?

Yep. I was actually planning on seeing NIN next week in downtown Sydney. Turns out that this will be their farewell tour. I take a look at my bank account and I'm on my last $100. That just so happens to be the price of one of their tickets.

No money is the result of 3 months of unemployment. I made it stretch as long as I could. Luckily, I get paid this friday, but it seems like I'm going to have to ask the gf for a small loan so I can snag a couple tickets. If that doesn't pan out... well... FACK!11

10:15 am

Coding away when I came up with a brilliant idea only to find that some douchebag is squatting on the perfect domain name for it.

10:2... Pretty much ALL the fucking time

If Eclipse locks up for 2 minutes one more fucking time, I'm going to launch my FACE into my screen. Then, I'll feel bad because it wasn't the screen's fault.

Seriously, is hitting the backspace key THAT intensive of a process that Eclipse decides to shit itself?

10:40 am

That's the time right now. Nothing bad has happened yet, but it looks like it's going to be 'one of those days' for the rest of the day.

I fully realize this is a bitch post and that there's always someone out there who has it much, MUCH worse. There are people out there without fresh water to drink and kids working in factories for a bowl of rice a day. Still, a shit day is a shit day.

Present Me

This is me ...

Loading mentions Retweet
Filed under  //   General Nonsense   Rants and Raves  

Comments [0]

The importance of coding standards ...

I've been doing work for the web now for close to 10 years. During my tenure as a code monkey I have been a part of many, many projects. When approached with an offer for work, they all seem to fall within one of the following categories:

  1. You are asked to engineer an end-to-end solution from the ground up.
  2. You are asked to take over a project because the original developer dropped off the face of the planet... and ran off with all the money.
  3. You are asked to work within a team of developers to fulfill a project's requirements.

From my experience, there are several key things that drive me out of my FUCKING MIND when it comes to team-based development, one of them ranks highest above all: no standardized coding practices.

Seriously, if you're a developer working on a team-based project, how many times have you found yourself reviewing the code and realizing that it looks as if was written by 5 different people? What do you do?

  1. Do you write your own blocks of code in your own standard, thereby contributing to the problem? As in, now it looks like 6 people people have contributed to the same file instead of just 5.
  2. When confronted with a different standard, do you try and adapt to it just for that specific block of code?
  3. Just wonder how they've gotten this far without running the project into the ground and killing each other?
  4. Or do you just attempt to rewrite the entire thing according to the standard which you are accustomed to? Which, when you think about it, probably isn't a great idea as it would just throw everybody else off.

Personally, I don't really care what your style or standard is as long as you have one that you follow CONSISTENTLY.

Nothing can slow a developer down more than inconsistent coding. For example, some people like to code like this:

if($foo == 'foo') {
    die('bar');
}else{
    die('omg');
}

Or in short hand:

if($foo == 'foo'):
    die('bar');
else:
    die('omg');
endif;

Or indented if there is only 1 line to execute:

if($foo == 'foo')
    die('bar');
else
    die('omg');

Or, like me, with plenty of open space to see where you are:

if($foo == 'foo')
{
    die('bar');
}
else
{
    die('omg');
}

Let's not forget this asshole, who's all over the fucking place:

if  ($foo == 'foo')  {
die('bar');
}
else {
            die('omg');
}

You know, save for the very last example, I haven't a problem with any of these styles. By themselves, if used consistently, you pretty much know what's going on all the time while you're mulling about the code. This becomes a problem when you're tracking a bug and come across a file with ALL of these styles mixed together. I can't recall how much time I've spent trying to wrap my brain around something that should have been simple enough to understand.

Inconsistent code blows performance and efficiency right out of the water, especially on larger projects.

This article isn't about a specific project in my past or anyone in particular. I'm not here to name names or point the finger, but certain measures must be taken during the analysis and planning stages of a project where a consistent style of coding should be decided upon. How much whitespace to use and where to use it, where to place curly braces, naming conventions for functions, variables, constants, classes and, most importantly, DOCUMENTATION are all things that need to be covered.

This way, when Joe Coder wins a contract that's already half-way finished, he can pick up and run with it in a relatively short amount of time.

Even if you're starting the project and riding solo at first, a set standard will make future developers happier too. Who knows how many hands will touch your code during the lifetime of the software?

Personally, I tend to follow this standard in most of my projects. It's pretty straightforward and easy enough to wrap your head around. The key here is to be consistent when you can. It's understandable to wiggle around your personal standards when working on a team with little or none of their own. In these cases, just morph your style to match whatever you encounter until you find an appropriate time to discuss the problem with your teammates or PM.

You know, come to think of it, I could have just summarized this entire article with a single tweet.

"For FUCK's SAKE, people! Pick a coding standard for your project and STICK TO IT!!!"

Sorry for the rant, but I have no one to scream at. So, I'll just scream at the Internets instead. Yay! :D

Loading mentions Retweet
Filed under  //   Development   General Nonsense   Rants and Raves  

Comments [0]

Ouch... My penis is on fire...

Yeah, so, I've been using my laptop like crazy the past few months trying to get through my giant backlog of client work that really needs to get done. Sitting on a cold, hard dinner table chair ain't all it's cracked up to be, so a lot of times I tend to find myself on the couch.

We all know that laptops stopped being laptops a while ago. Faster hardware usually means an even faster processor to keep up and with memory being as cheap as it is, software developers are able to create more and more complex applications. Well, more complex applications require more CPU cycles and this usually means more heat and we're at a point now, where we can safely say that a burning hot notebook computer should NOT be placed near your reproductive organs. Exploding laptop batteries, anyone?

Yes, FUCK THAT.

So, anyway, I usually place my laptop on a couch cushion and then put the combo on my lap. Not very comfortable, but I put up with it... until I heard about this puppy. Yeah, I know, lapdesks have been around for a while, but it really wasn't something that came to mind during my many hours of frantic coding. I must say, though, that this puppy looks nice and at $40 USD you can bet your candy ass I'm picking one up as soon as it comes to market.

Only thing I'd like to see is a wittle-bitty space to use my mouse, but that's ok. I'm used to the trackpad.

Yep, I can see the future. A future were toasty-warm radioactive genitals do not exist.

It burnses us!!!

Loading mentions Retweet
Filed under  //   General Nonsense   Rants and Raves  

Comments [0]

Not happy at the current moment ...

Well, I woke up this morning to find my site in shambles... again. Turns out the database that this blog software runs on mysteriously vanished into the night while I slept. Unfortunately, the latest back up I have is from November. Looks like I lost my last 3 blog articles.

Real nice. Time to change hosts.

Update

Well, this is nice. Google cache caught 2 of my last 3 entries. It didn't catch my latest one, apparently. For those of you who didn't catch it, it concerned the Zune 30 lock-up issue and a possible way to fix it. Someone managed to leak the firmware source code that managed the Zune's real time clock. I stepped through the source code and explained what went wrong. No way am I writing that thing again.

A future note to myself: Make a hard copy of all future articles. Especially the lengthy ones.

Loading mentions Retweet
Filed under  //   Rants and Raves  

Comments [0]

"Sorry, Wilhelm, but due to the economy..."

Well, it happened. Went into a meeting today with my supervisor for a quick one-on-one only to find that, due to the economy - cough - BULLSHIT - cough -, they're going to have to cut the team down to only a few developers.

Apparently, the company I'm contracting for cut the IT department's budget for next year and the contractors were the first to get the axe.

So, basically, I have until the 23 of December to figure out what I want to do. Luckily, though, the Australian economy is surprisingly strong at the moment as is the current job market for web developers. I've been doing this stuff, in one form or another, for close to 10 years. I have the skills and the know-how to land any job in my field that I chase after. In other words, I'm not frightened or scared in the least bit.

The guys here have been pretty good to me even though I disagree with their management decisions. They tell me that if I find something before my new end date, I can leave whenever I please on good terms. Hey, I'm getting what I wanted; a strong Australian reference with a big name company. And, maybe, this is just a blessing in disguise.

Working here has reminded me how much I hate the corporate setting what with all the bright overhead lights and bureaucratic red tape and stupid, misguided decisions from management.

Personally, the only redeeming qualities this contract has are the significant pay, free end-of-month booze, the convenient company gym and the awesome coffee shop in the main lobby. I'll miss those the most, but it isn't like I won't find similar comforts near my next place.

I want to enjoy programming again. I miss my days at Hearst Magazine when I worked on their ecrush.com network. I prefer those smaller businesses and projects so much more. They tend to focus more on making the developer happy and comfortable. My next job is going to be with a small, well-funded, development house... with plenty of free coffee.

Here's to new things!

Note: This article as been republished after being accidentally wiped from my hosting provider. Hurray for cached RSS feeds!

Loading mentions Retweet
Filed under  //   General Nonsense   Rants and Raves  

Comments [0]

Follow me ...

Well, it would seem that, yet again, this blog is being neglected. I've have a LOT of projects in the loop at the moment and I'm finding less and less time to spare for articles. Trust me, I have a TON of articles that I'd like to write, but I just don't have the time. So, until some of these projects die down a bit, why don't you guys just follow me on Twitter? I make constant updates throughout the day via the service. Link to my account after the jump!

Here's my account, yo!

Loading mentions Retweet
Filed under  //   General Nonsense   Rants and Raves  

Comments [0]

I think I just made a terrible mistake ...

Yeah, so I linked one of my work "friends" to a piece of code I wrote a short while ago. In doing so, I also inadvertently linked this guy to my blog. This code snippet just happens to reside in the junk folder of this domain. This person decided to share the link to my coworkers. I am now in the process of being made fun of because of the content of my blog.

Thanks life.

...

Fuck you, Dan.

Loading mentions Retweet
Filed under  //   Rants and Raves  

Comments [0]

Hey, this can be fun!

Well, obviously, I've written a few quick tutorials to do some common tasks in jQuery. Which is great, because jQuery is an awesome set of JavaScript decorators. But, the thing is that not everybody uses jQuery. Chances are, if you're not using one of the 'Top 2', you're using the other. In this case I'm refering to Prototype.

So, in order to cater to a wider crowd and please more people, I have decided that all jQuery tutorials will have a Prototype version as well. I can't tell you how many times I got pissed when working with Prototype, hit a brick wall and then only found jQuery solutions to my problem and vice versa.

Why not post tutorials for both libraries that address the same problem and solution?

This decree is retroactive! I'll be adding Prototype versions for my last 2 jQuery articles this week.

This'll be fun!

Loading mentions Retweet
Filed under  //   Code Monkey   Development   Rants and Raves  

Comments [0]