Caffeinated Geek.ca

General

Favicon.ico

by on Mar.13, 2013, under General

No more 404s from your browsers trying to download a favicon! Now, a simple one exists. So if you have the site bookmarked, you should now see a steaming cup of caffeine.

Leave a Comment : more...

20 GOTO 10

by on Oct.05, 2012, under Career, Development, General

I was hooked.

10 PRINT "HELLO CAFFGEEK! "
20 GOTO 10

I don’t remember how young I was (under five), but the first time I saw that repeated over and over on the screen, with my name, and nobody repeatedly typing it, a seed was planted. I spent countless hours typing in programs from magazines, and computer books. And countless more hounding my parents to type it for me as they were faster. Games like Face Painter only watered that seed. But it was dormant for a while.

Atari 800XL

Atari 800XL


After the Atari 800XL was no longer a viable computer and had been packed away, I made do without a computer for many years. Unimaginable now. Pretty common in the 80′s. Then, when I was in junior high, fertilizer was added. My parents were able to afford a 286 computer. My dad liked to take things apart and see how they work. So learning hardware and how to upgrade them quickly followed. I built my own computer from spare parts. Shortly after a friend introduced me to Turbo Pascal.
Turbo Pascal

Turbo Pascal 5.0


I spent time writing all kinds of things, little paint programs. Terrain tile models for games that I never built. Small little games, reminiscent of those I played on the Atari as a kid. Even writing my own 3d routines to draw, rotate, and shade objects. Some of these I recently uncovered on some 3.5″ diskettes. Maybe I’ll find a drive and see if I can view my first forays into programming (scary they may be). From then on, there was little doubt about what I would eventually do for a living. And here I am today. Still playing. Still learning. Still amazed.

Where were you? What’s your story?

2 Comments more...

Secure Passwords…are they really?

by on Oct.04, 2012, under General, Security

Why do so many sites require me to enter a weak password? They claim to require a strong password, they also will show a handy dandy password strength meter. However, most of the time they restrict how strong my password can actually be.

They limit the number of characters to 8 – 15. I want a longer password!
They limit the special characters I can use. Why can I use an exclamation point, but not an ampersand?

http://xkcd.com/936/

correct horse battery staple

It’s a password, nothing should be off limits! If I want my password to be “clip clop coconut horse riding swallows” I should be able to use it, it’s simple to remember, and hard to guess.

This is more secure and easier to remember than a password like ‘c0rnf1@k3s’. But on most sites, it would be rejected because it’s just alphabetic.

Let’s check some stats at https://www.grc.com/haystack.htm

The password “c0rnf1@k3s” would take 9.47 months at 100,000,000,000 guesses/second (One Hundred Billion).
The password “clip clop coconut horse riding swallows” which only requires I remember 6 words would take 3.74 trillion trillion trillion trillion centuries.

Now, this isn’t actually quite that strong, as I’ve effectively just replaced letters with words. So, when doing a brute force attack, the attacker would know that, they just need to combine words, instead of letters to generate passwords. That is, if everyone were to switch to this technique, and the attacker included this password scheme. And since this password is only 6 words long it’s pretty weak…right? Well, according to here, there are between 170,000 and 750,000 depending on your definition of a word. Since in the case of passwords the word dog, and dogs are completely different, we could safely say, there are 750,000 one word passwords. I’m using six in a nonsensical order. Which means if I did my math correctly there are about 750,000^6 = 1.77978515625e35 different possibly 6 word passwords. At one hundred billion guesses per second it would still take 5.63992e14 centuries to go through all the possibly combinations, that’s no 3.74 trillion trillion trillion trillion centuries, but it’s much longer than I plan to live. Maybe the attacker gets lucky and it’s the first guess…maybe it’s the last. Odds are it’s somewhere in the middle. But, I can remember it. And it’s secure.

So, if you’re limiting password length or the number of characters, please, do me a favour and stop…I want to use my longer, far more secure password.

Thanks.

Leave a Comment more...

I’m an Ass because I give a Shit

by on Aug.31, 2012, under Career, General

Developers get a bad wrap for being difficult to work with. We are often percieved as assholes. We don’t mean it, it’s not our fault, it’s how we are wired. We spend our working lives looking for flaws. It’s the only way to build good software. We weren’t always this way. When we started, we were optimistic. We thought everyone was competent. Why would anyone put letters in a field meant to show the price of a product? Why would anyone enter a negative age? We didn’t check for these things. We got burned. There is always someone who enters a value, or uses a program in a way it wasn’t meant to. So, we spent a lot of time writing code that validated input. We thought it was bullet proof. We prevented the user from entering garbage data. We underestimated people’s stupidity. Which reminds of us the “God builds a better idiot” joke. Over time, our applications and programs became more complex. And with more complex programs, came more complex problems. Not only are we having to protect against bad input, but now we have to ensure the application works if someone unplugs the network cable, or the computer crashes, etc. The initial problem is a simple solution, but keeping that solution working in all the uncertainty is the new problem.

What this translates into, is a hyper-critical outlook on EVERYTHING. We choose our words carefully. We point out flaws not just in the systems we work on, but in everything we see. I do this way to much. I’m looking at a small 4″ fan on my desk. Now, first, I find it silly it even needs a sticker on it that shows you’re not to stick your finger into the blades. However, there are two major flaws with this sticker. First, the grate has openings approx 4 millimeters wide. The only people with fingers that tiny are newborns. Now, there are two more issues with that. First, they wouldn’t understand the picture showing the warning. And second, while their fingers would be small enough, they wouldn’t reach the blade. So the picture should really be showing you not shoving something else in, not showing a finger fitting through the grate. The second, and more important flaw to this warning is that the sticker is on the fan blade. The only time you can read it is when the blade poses no risk! When the fan is on, the sticker is spinning and impossible to discern as it rotates at several thousand rpm. It doesn’t bother me that someone did this. It bothers me that several people saw this after the fact, and didn’t see the issues…they left it. So many projects and products suffer from this.

My last job frustrated me to no end. There were literally hundreds of little things that on their own were absolutely insignificant on their own. But they added up. When I decided to leave it was very difficult to explain that there was no one cause, and thus, no way they could actually keep me there. I’d be told to relax, that those things weren’t important, but they were. We wasted so much time and money on these little things, that I could see the huge potential we had wasted because of all these little things that were out of my control. I was an Ass because I gave a Shit. Had I went numb, and not cared, those things wouldn’t bother me. But I cared about what I did. I wanted to do a good job. I strive for perfection and have high standards for myself.

I don’t expect perfection from everyone, but I do expect you to want to improve. I do expect you to care about what you do. It’s not coming from a place of negativity, which it’s often misinterpreted as. It’s coming from optimism. I see the potential, and I want to push people towards it. I want to realize the potential I see. Is that to much to ask? Does that make me an Ass? If so, I’ll wear the label with prid. I’m an Ass.

5 Comments more...

Change and working conditions.

by on Aug.28, 2012, under Career, General

It’s funny what can affect our ability to be productive. Well, actually it’s not funny. It’s serious. And it’s been studied to death. But it’s funny when you apply some of the changes and realize how drastically a simple change can affect your mood and productivity.

I, as has been mentioned before, recently changed jobs. My current employer is a consulting firm. The offices are nice. While it’s an open area, we’re rarely working at the offices. We’re typically on site. Each site has a different setup. Currently, I’m in a room, slightly smaller than it should be, but with four other devs, all working on the same things. At times it gets a little noisy, but for the most part, it’s quiet. There are no phones ringing. Rarely spontaneous meetings breaking everyones conversation. And we have a window.

That light does wonders for morale. At least for me, since I was so used to having no sunlight for 8 hours a day, and in the winter, when it’s only just starting to get light out when you walk into the building for your shift, and it’s starting to get dark when you leave, having no light during the day is an absolute energy suck. I feel so much better working in natural light.

This weekend I cleaned my home office. It was a mess. It was the room that everything was being dumped in. I should have taken a before picture. But now, after cleaning up and disposing of a lot of the clutter. As well as putting up shelves, and cleaning off the desk, I find I want to use my computer and work on projects at home again.

My last job was so negative that I didn’t even want to touch a computer when I got home. I had lost my drive to learn and try new things. It’s a great feeling when you once again love what you do, and where you work.

I have some big ideas for projects. And I can’t wait to turn them into reality.

1 Comment more...

The Real World

by on Aug.16, 2012, under Career, General

Typically that phrase is a negative thing. We use it when talking to high school students. How they need to prepare for the real world, where they won’t be coddled and protected by their parents.

However, sometimes we end up in a place that’s the opposite. And the “real world” is a good wonderful place.

I am now employed at a great company. It’s only been a week, but so far so good. It’s a strange feeling not worrying all day about every little thing you do.

Having blockages removed quickly and efficiently.

Being able to work.

I’m once again able to enjoy what I do, and have started a few side projects.

It’s great being in the Real World.

Leave a Comment more...

Eliminating Waste

by on Nov.23, 2011, under General

Like too many projects we start in life, this site became forgotten. Barely started, and with good intentions, I just didn’t find the time to follow through. I have many ideas in my head for projects I want to start…but sadly, that’s how I think of them. As things I want to start. Not as things I want to finish.

A recent talk by Joel Semeniuk at the Prairie Developer Conference in Winnipeg, MB got me thinking about waste. The talk at the time was about Kanban, and how anything started, and not finished, is waste. Unmerged branches, projects not yet deployed, or anything else that’s not “Done. Done.”

I remembered this site. This thing I started a couple years ago. And I realized…it was waste. It’s unfinished. I read and enjoy great blogs by other developers. They help provide insight, solutions, and sometimes a spark. A spark that puts you in the zone. Even if only for a little while, but it motivates you. It makes you strive for perfection.

Which ties into reviews. I, like most developers, find reviews pointless. Along with timesheets, but that’s another rant. This review, in my mind was a giant waste of time. It wasn’t long, it was basically a quick survey where you evaluate yourself. Then later you sit with your boss and go over it. However, what I consider “meets job expectations” and what my boss may consider “meets job expectations” are likely different. And it has been pointed out before that they are, that I was “above average” or “exceeding”. But how is this helping either of us? Should I do less? No…that’s probably not the point. Does it actually help me become better? No. I strive to improve on my own. And if you’re in IT and not striving to learn and improve, you’re in the wrong industry. So if our views were so different, and he already knew how he would rank my work, why were we going through exercise? I really don’t know. Seems like a lot of waste when you calculate the number of employees doing this, and their bosses time, and what could be getting done during it. It seems we only do these because HR says we should. Because they help some employees…so it must help everyone right? Or at the very least, not hurt. All wasted time and effort for little to no business value. At best it breaks even, more thank likely it’s a cost to perform and store these that never provides any overall benefit to the company.

Ultimately, I’m hoping in the next couple days the team and I get a Kanban board up on the wall, with WIP limits (that’s going to be a hard sell) and that we use and enforce the proper flow of tasks through it. I guess we’ll see how it goes.

To sum up, the point of this 500 word rant is that we need to eliminate waste, even if it’s one small step at a time. And I’m going to try and turn this waste of a site into something that can provide me value. Somewhere that I can reflect, and hopefully as a tool to better myself.

Leave a Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!