Jeff Bain's Unstyled Blog http://jeffbain.ca Where I ramble about things I know, stuff I learn, things that bug me, and things that I find interesting posterous.com Sat, 31 Dec 2011 21:00:00 -0800 New Year http://jeffbain.ca/new-year http://jeffbain.ca/new-year

So the New year is quickly approaching and I have the week off from work. In light of this, I've been trying to get myself organized. I have never in my life been very organized, and though I never felt it was particularly debilitating to my ability to do things I find I have too many things to keep track of at once without some way to remind me. I'm hoping that adding a degree of structure to how I do things might enable me to plan more efficiently and focus better. So without further ado the organizational tactics I am hoping to hold to in the coming year:

  • Email: I have cleared out my email list. I have never really made an effort to keep my unread email count down and I was up to about 2500+ unread emails. However, by not controlling my email at all I've had no incentive to remove unecessary email sources. I imagine I could reclaim some time in my day from identifying my largest sources of unecessary email and removing them from my email stream. I've also been rather poor in the past at responding to email that takes any degree of thought to respond to. However, since I've archived all of my previous email the only email I will have in my Inbox is email that has not yet been dealt with. By keeping to this Done/Not Done dichotomy, whenever I check my email client I will have a much clearer picture of things I still need to deal with.
  • Calender: I mostly keep track of things I plan on doing in my head. This works well for things I am consistently thinking about, or fairly short range plans, but I've sometimes been reliant upon things like facebook events for reminding me of social engagements etc. I'm resolving now to keep track of events myself via Google Calender so that all of my plans are explicit. If all of my plans are laid out in one calender system I can do a quick look at the beginning of the week etc. for a reminder of upcoming events. Every day, I get an email reminding me of any events I have coming up for the day as a last minute reminder. As an added bonus, if this is kept to people who want to work around guest's schedules can check independently if I'm free for an appointment etc. at any given time.
  • Media: I'm normally pretty good at this, but just a reminder to myself to centralize my media on one machine. It makes it easy to find, and I will never forget my media if I plan on travelling and wish to bring along something in particular.
  • Documents: I don't keep a great deal of paper documentation of things these days. Most of my bills etc. are digital these days for convenience. I plan on doing my taxes this year however, and so I will need to actually keep tax related documents in a reasonable state of order. I've got a file folder case that can keep track of these, so all it will take is enough willpower to file whenever I receive paper documents.
  • Finances: I've started tracking what happens with my money now with Mint.com. It isn't always perfect at categorizing my transactions so I need to do some degree of manual curation of my transactions but it saves on the bulk of my bookkeeping as to where my cashflow is going. For the time being I've been focusing on descriptive budgeting, looking at my current consumptions patterns and setting my budgets to be in line with how my spending currently is. Once I feel confident in those budgets holding I can focus on modifying those to be more prescriptive, where I modify my behaviours to limit my larger line items. I'm aiming to bring my finances to a healthy cushion level before I go back to schooling so this is an area where optimizing seems like a great idea.

This feels like a large list of areas to focus on greater organization, but it mosly hinges on subtle changes to my habits. One of my biggest weaknesses has always been organization and time management, and the New year is a nice chance to break with old habits and create some new. Even if not all of these stick, if a majority do I will be well on the way to improving one of my greatest weaknesses, which is never anything to scoff at.

Anyone else taking a chance to use the new year for finally shaping up their organization? For those that are, feel free to share tips/ideas for areas to improve on.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sat, 03 Dec 2011 15:23:00 -0800 The importance of writing regularly http://jeffbain.ca/the-importance-of-writing-regularly http://jeffbain.ca/the-importance-of-writing-regularly

I haven't written anything publicly in a while. I can't really make any excuses for myself beyond the fact that whenever I have anything interesting to talk about I have multiple avenues of discourse to pursue it in, and they tend to be a great deal more active than a blog where I never put anything. So almost anything interesting I want to talk about is discussed on Google+ or Facebook with my more tech inclined friends, or discussed with them in person.

This is a fine approach most of the time. You'll never find my disparaging social interaction via social networks or in person, especially the latter. I am very sociable and I tend to use social networks far too often for my own good, and they're highly interactive formats to discuss in. They're ideal for a quick discussion. That tends to be the kind of discussion I'm looking for, since I tend to be reasonably busy and mostly talk discuss things in my spare time in a shallow way. It's a good way to pass time.

So why am I resurrecting writing about stuff in greater depth and posting it here instead of just linking interesting articles on G+, facebook, etc? I've realised it's been a while since I had to think very hard about what I'm talking about, mostly. When you need to talk about something in a post, it requires you to think about what you're saying to create clarity in your message. In my professional life the most demanding writing I tend to do is small email discussions and justifying myself via comment during code reviews, so I don't want my writing skills to diminish. By forcing myself to write more often I can ensure that my ability to break down a topic and clearly represent my position or opinion.

If I rarely need to do this exercise in either my professional or personal life, one might wonder why I bother caring about whether or not I retain this. I could argue that the ability is essential to being a well rounded human or some other inspired reasoning, but honestly I just enjoy the idea of self improvement. Improving my writing is an easy way to hone a skill that's useful and applicable in most walks of life, and tends to be sometimes poor in my particular industry. All in all, it can't hurt.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Fri, 26 Nov 2010 03:37:00 -0800 Student Engagement, woo! http://jeffbain.ca/student-engagement-woo http://jeffbain.ca/student-engagement-woo

It's election time around mathSOC! Once again the executive positions in the Math Society are up for grabs, so that's always interesting to follow. I didn't run for anything, for a variety of reasons including but not limited to: Time issues with school and mathNEWS, an inexperience some of the more in depth arcana of the policies and bylaws, and a general belief that the currently running exec hopefuls are definitely very qualified for the job. However, that hasn't stopped me from having some fun with the election anyway!

Partially for my own amusement and partially to legitimately remind mathies (who are notoriously apathetic about paying attention to this sort of thing) to vote, I've created a batch of posters sternly reminding people to vote. Part of it comes down to the fact that I'm using silly images of myself and partially due to the fact my name popped up in mathNEWS the odd time this term enough that it might catch people's eye, I'm hoping at the very least to get a couple of people paying attention long enough to vote. In the end, the fact I'm not limited by any of the rules the candidates are under ( things like not being allowed to campaign once the polls open ) will let my reminder posters stay up when everyone's able to vote.

Will I have any effect? No idea in the slightest. I just thought it'd be fun to put up a bunch of posters with me on them during the election without actually running. Maybe some of it was messing with people, but I like to think that my attention seeking is also a handy reminder and only a little silly. Worst case scenario is nobody noticing anyway. Plus I got to put up a bunch of "Jeff Bain wants you to vote!" posters, and that amused me.

Jeff

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sat, 08 May 2010 23:28:42 -0700 Woo, Google Code Jam! http://jeffbain.ca/woo-google-code-jam http://jeffbain.ca/woo-google-code-jam Woo, I'm participating in this year's Google Code Jam because I have
nothing better to do and I thought it might be fun. Also, Jamie Wong totally reminded me by
posting to the Software 2014 group's wall. I did the qualifying round
and apparently did not suck out, since I got the 33 points necessary
by doing 1 challenge. :P

Either way, I might mention something on here if anything
substantially interesting comes up. So far the only problem I did
translated into "Can you do a binary counter and modulus? yes? Okay",
so it doesn't really lend itself to anything fascinating. But
hopefully it does later! :D

Either way, for anyone else who's participating and wants to compare
e-peens because my current rank is terrible, I'm Sector.Corrupt in it.
Feel free to check it out and all that Jazz.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Wed, 05 May 2010 15:09:00 -0700 When in Need of Humbling... http://jeffbain.ca/when-in-need-of-humbling http://jeffbain.ca/when-in-need-of-humbling

Okay, I was just reminded why exactly I will never be cut out for graduate level mathematics.

I was just reading a blog post I got to from some blog that was linked on Hacker News, and mentioned... Math Overflow. Built on the same engine that Stack Overflow is, it sounded like an interesting thing to check out. Either way, I managed to break my brain and give myself a headache just trying to read the site. Higher level mathematics are many things. Beautiful. Primal. Damn Impressive. But above all, they are insanely difficult to comprehend the likes of.

So, anyone who is out there doing crazy theoretical math degrees, and especially those who decide to pursue it to graduate school, for all of those profs that I complained about for not teaching very well... I respect you. Honestly, that stuff looks hard. Maybe some day I'll understand some of it, but for now I'm content to just get by with the math I need to understand.

 

For anyone who is interested in seeing this:

Math Overflow

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Wed, 28 Apr 2010 21:21:00 -0700 Jeff Bain: Open for Business! http://jeffbain.ca/jeff-bain-open-for-business http://jeffbain.ca/jeff-bain-open-for-business

So, as of the end of this week my Co-op job is coming to an end. This means I no longer have a source of money. This causes the sadness in me. It was a bit too late, and more importantly, difficult for me to find a programming job to replace my job at RIM, so I'm currently on a mission to find some way to make money. I've applied to a couple part time and random gigs because I'd love having something easy to do whilst I earn money and can therefore work on personal projects in the meantime, but until that happens I'll be testing out some alternate methods of money earning.

 

What this translates to is: Jeff is now a freelancer. Code Monkey for Hire, you want it I will do it and all for perfectly reasonable "I like to live in a house and eat food occasionally" prices! Anyone who needs some code done? I am your new bestest friend. I will write anything in any language etc. etc, and I will probably start hitting up the random freelance work sites I know of looking for something. That said, if anyone knows anyone who needs some quick or not so quick code, feel free to send them my way. I've got a few things going right now but I'm always happy to work on stuff, and I'm surprisingly good at sitting here and coding for hours on end. :D

 

Anyway, that's my summer plan until I find a better way to make some cash. I have tuiton to pay and all that Jazz. So if anyone has any recommendations for sources of le cash for people with a lot of time on their hands? Let me know!

 

P.S. I promised Klamut I'd put a bookmarklet here, but apparently Posterous hates embedded links with hrefs to Javascript, so I'll put it somewhar else I guess..

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Mon, 15 Mar 2010 08:47:08 -0700 Ahhh, time, she disappears on me! / I'm going to talk about my computer now. http://jeffbain.ca/ahhh-time-she-disappears-on-me-im-going-to-ta http://jeffbain.ca/ahhh-time-she-disappears-on-me-im-going-to-ta So, I find I need more time in the day. Between sleeping, food
preparation, and work, I just don't have enough time to get productive
things done most days. I think the plan for this evening is to go to
the gym and attempt to maintain some semblance of not being a horribly
out of shape software engineer. If that does go forward, and I end up
installing Arch Linux on my laptop like I've been meaning to for weeks
it'll probably be at least tomorrow before I have my Dev environment
set up enough to get any actual work done. C'est la Vie.

Actually, just so I remember exactly what I'll need to set up for a
reasonable installation of Arch later, I'm going to flesh out exactly
what it is I need going on my system for Happiness to Flourish.
In roughly the order that I'll need it, here goes:

Base Linux System - Arch - Whoosh. you know the drill. Basic Unix base.

Let's Desktop it up a bit - Wouldn't be much of a desktop without
graphics or sound, so X.org and ALSA here.I need a graphics driver as
well, so depending on how much like RMS I'm feeling like I'll go open
source with nouveau or I'll just use an nVidia one. Also due to
regular admin access needed whilst keeping myself a stripped down
permissions account I create a personal account and install sudo here,
add myself to the wheel, sound, video, disk and any other funtimey
groups, and so forth.

What about the actual Desktop? - Getting to that, gimme a minute. Now
that I've got the base I'll go for Fluxbox. Much as me and Gnome had a
good thing going for a while, I never quite liked it as much as I
could have and when I tried out Crunchbang Linux it gave me a chance
to have some fun with Fluxbox. It's lightweight, ridiculously insanely
customizable, and fast as a pimped out gaming computer attempting to
play Crysis.

Okay, Jeff, now you've got a basic system that doesn't do anything in
particular. How about all the usual functions that people need before
a computer feels like a computer?
Well, if you insist. Here you go.
Browser - Firefox, then Google Chrome. Firefox is reasonable, comes
with 8 bajillion and a half plugins (Even if I only really use
firebug) and everyone has it. Chrome is blazing fast and has built in
developer tools, which makes me full of smiles and joy.
Picture Viewer - You don't think of this one till you realize you
can't open a picture. I usually go for Feh, it's small, lightweight,
and can do backgrounds too.
Media Player - VLC. Come on, it's got you covered on Codecs and can
easily be run from the command line. That clinches it.
Office Suite - Much as I hate everything that Sun touches pretty much,
I tend to go with OpenOffice just for the familiarity aspect of it.
It's offset by the "I rarely if ever use Office Suites" thankfully,
and prefer to store everything as plain text or HTML as much as I can.
Anyone that can advise me on a better Office Suite, preferably
lightweight, I'd be glad to hear it.
System Monitor - Conky! Because we love Conky!

Okay, fair number of "Computer User Apps" .. But Dev environment? Let's go!

Vim - The one text editor to rule them all. Screw emacs, gedit, pico,
nano, and whatever else you're going to th row at me. There is only
one and it is Vim. No exceptions. Also, no Gvim, I run it from the
command line and that's how I liekz it. (Also, my .vimrc file is very
important and has to at the very least turn my tabs into spaces for me
and change 8 space to 4)

Gcc, G++, etc - Compilers, for when you need to do something in C or C++.

Ruby, Perl, PHP, mod_perl,mod_php,mod_ruby - Interpreters, for when I
want to use languages that don't make me weep. (PHP is technically in
the weeping category, but oh well)

Apache - Need to have somewhere to test my web stuff, and a local
Apache server is therefore essential. This also includes setting up a
couple of virtual hosts in my Home directory corresponding to
different sites, since I'm wholly uninterested in having to shove
stuff in the web root directory.

Git - This is more a wishful thinking thing. I'm pretty bad about
using Source Control on my own personal projects, but oh well. I'm
more experienced with Subversion or Perforce, but experience !=
Enjoyment and I rather prefer the way Git seems to handle it, so I'm
really going to try to get in the habit of using Git to do my stuff.

I think that just about wraps it up. We'll see if I've forgotten
anything when I start using my laptop and go Graaaaah Why is this not
on here!?!? In the meantime, you now have all the tools needed to
develop like me. Which means absolutely nothing because every
Developer should have their own setup going on and in the end this
just lists a couple things. But it's a decent enough reminder for me
later when I'm trying to remember what I need to set up, so it's a
win-win there.

In the Meantime, Adios!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sun, 07 Mar 2010 21:53:49 -0800 Apologies for the lack of updates... http://jeffbain.ca/apologies-for-the-lack-of-updates http://jeffbain.ca/apologies-for-the-lack-of-updates I've been busy doing actual programming things for once!

I won't go into it too in-depth right now, because I'm lazy and should
be getting to bed. But I picked up PHP and started learning facebook
apps, so I've been starting on one of those and will probably keep
doing those until I get bored of them. It seems like a decent hobby
over the summer anyway, so we'll see how that goes.

Also in the last 2 hours I managed to write a chunk of a simple blog.
I can display posts easily enough, I just need to add a posting method
that doesn't require me to manually edit the database.In the meantime,
I'll keep posting here but I like the idea of controlling my blog
right down to that level, so once I've got a decent working prototype
I'll probably shift it over. Then you'll all attempt to break it
because you're software engineers and developer types and know how to
compromise software that isn't super robust. Which is why I'm keeping
this one close until it's at least moderately robust.

Other than that, I'll have a legit post up hopefully soon! :D

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sun, 21 Feb 2010 00:00:00 -0800 Oh dear, I seem to have aged another decade now... http://jeffbain.ca/oh-dear-i-seem-to-have-aged-another-decade-no http://jeffbain.ca/oh-dear-i-seem-to-have-aged-another-decade-no

So, as of today I've now been alive 2 decades. Which is freaky, because the last time I hit a decade marker I was a kid and a completely different person, so decades feel like large changes as opposed to the yearly birthday which tends to pass without me noticing a great deal. Either way, I've been joking and thinking about getting all old and stuff for about 2 months now, so I guess this one has actually felt moderately important. In light of this, I've decided to commemorate the end of the 2nd decade with a list of things I want to have accomplished by the end of my 3rd decade.

  • Get married. I know that some people who know me might be surprised at the idea that I can do that commitment thing too, but eh. I want to have this one kind of wrapped up by 30, settling down and all that. I can't stay awesome forever, much as I'd like to be like Barney Stinson. So, by 30 may I be married or at least planning on it. That said, in the meantime I'm not worrying about this one. :P I think I'll save it for the second half of this decade.
  • Get my degree. This one is pretty important for the "Not ending up a hobo" goal that is implied for all of the decades of my life. The goal is to graduate Computer Science/ Software Engineering and move onto a career of aweome, so I shall make it be so.
  • Not become a corporate shill. I really, really hope this one stays true for this decade. I know it sounds naive and obnoxious, but I'd really rather avoid turning into one of those horrible business types. I went into this career because I had fun doing programming and I wanted to have fun whilst working, and I know I don't enjoy being in a corporate environment at all. Hopefully in 10 years I'll be looking back and thanking my lucky stars I got to spend my life having fun at work, not bemoaning how I let myself fall into mediocrity.
  • Go see Europe. I just really, really need to get out of my strip of land between London, Ontario and Oshawa, Ontario. I need to take in some interesting experiences, to visit my heritage, to check out Europe. Besides, with my British Citizenship I don't even have to technically leave, EU be thanked. This is therefore an important goal.
  • Write some really great software. This is more of a standard than I goal, but may I never look back after these 10 years and think "Wow, my code was all crap." Well, besides the usual "Ugh I hate this code of mine. Also, may I never think the code I wrote was awesome, because then I'm too far gone to be saved.

That's all I can think of off the top of my head. Apparently, I'm not big at setting a whole lot of goals for myself. I've got some pretty general ones there that can sort of be expected. Oh well. Either way, I just hope that I continue to have fun more than not, feel awesome as much as possible, and just keep up what I've been doing. If all I can say when I turn 30 is "Well, at least I had some fun," then I will be a very happy man. Anyways, that's all I can think of right now. Adios!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Fri, 19 Feb 2010 09:00:00 -0800 Hey! I sound like me! Weird... http://jeffbain.ca/hey-i-sound-like-me-weird http://jeffbain.ca/hey-i-sound-like-me-weird

This blog doesn't exactly have a huge pile of readers. Between the fact I only started it a while ago, the fact I forgot about it for 2 months, and the fact that you have to enjoy reading the things I write, it has a pile of limiting factors in the size of the readership at the moment. Namely, the only people I know of who read this know me at least moderately well in real life, at least to the degree that they know my mannerisms and general tone. So I've talked to a couple of these people and most of them are like "Wow Jeff, you're surprisingly decent at writing considering you're... you" or "I prefer reading your blog posts to *terrible activity here*" I accept the kind words graciously, with tongue in cheek as I am wont to do, but it does leave me wondering. Namely, I wonder what my writing is like to someone who doesn't especially know me that well?

I ask this because as I read through a few of my posts I realized something about them. I'm not used to writing casually so much, so I probably never noticed before, but I have a tendency when writing informally to write things exactly the same way I say them. I kind of feel that this leaves my writing feeling somewhat unnatural. My speech patterns in real life tend to be fluid and orderless, as I'm a high energy person who tends to just talk with a major reliance on the expressiveness of my voice and my expressions. Understandably, I wonder how this translates into written text.

The worst part is that it's hard to test this. If I just ask someone to read it it sounds fine because when I'm reading it, I can hear the words being spoken aloud in my head as I'd say them, with all the requisite context and the like, and I imagine my friends can as well, knowing me. It's just interesting to note that my writing could appear disjointed and strange to someone who doesn't know me and yet read crystal clear to one who does.

I'm also not factoring in that I could be imagining things and I don't write like I speak at all. I've asked a couple people about this and they agreed, but it could be something you only notice when i point it out. I may be biasing my own sample.

Finally, I guess I should mention something programming related or at least computer related, since I'm currently pretty bad for that... Oh! I've finally caved to pressure from Andrew Munn and the terrible DOM model, so I'm learning jQuery. I've already replaced a small bit of my website's javascript with jQuery and I expect to try tinkering with event handlers in jQuery tomorrow, so that should be fun. Assuming I actually learn enough to do something useful I'll see about talking about it later. In the meantime, Adios!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Mon, 15 Feb 2010 14:38:05 -0800 So, where's the line between self-promotion and exaggeration? http://jeffbain.ca/so-wheres-the-line-between-self-promotion-and http://jeffbain.ca/so-wheres-the-line-between-self-promotion-and

So, I was updating my resume the other day. I added in my current co-op term, and I tried to change the look a bit to something neater, and more inline with my new website design. I actually sort of like it now, it's clean and simple and all those nice things that make me happy, despite not exactly having perfectly consistent tab usage in the HTML.* Anyway, just for fun I tried to add some nice touches that will instantly break once I add it to jobmine, so I just made all the sections collapsible, javascript style, but once I finished working out how it would look I was left with the issue of "huh.. I should revise the content a bit, I don't like the skills section..."

Unfortunately, this is always where I've had a lot of trouble. On the one hand, I don't want to downplay what I know. Being passed over for someone less qualified than me because I was more cautious in describing my skillset than them. On the other hand, I don't want to slap a bunch of technologies where I have a passing familiarity with, and then find myself in the position of getting a job and finding myself completely unable to keep up with what is expected of me. (Despite the embarassment involved, I think I'd be okay with an Interview where I turn out to not know as much as expected. At least it's a learning experience for me, and I feel less like I'm cheating the employer.) It's this subtle balance of "Build yourself up" and "Don't lie about yourself either" that makes me constantly want to tweak my skills section to properly reflect what I can reasonably do.

I've tried to look at my peers in this regard, but they run the gamut from hyper cautious to outright falsehood. One friend I can think of has such a reasonable and cautious resume I feel that it downplays his skills immensely, and he could probably get something a bit more interesting or lucrative were he willing to play up his skills again. On the other hand, I can think of other people who, while smart, make it sound somewhat like they invented google. Going into the "not even going to touch that" territory I know a few who have pretty much listed any technology they have briefly come into contact with, ever, even if it amounts to copy-paste jobs.

In the end, I try and walk a middle path here. I'll say I know a language if I feel comfortable working in it, reading it, and tend to only need a reference handy for the occasional thing. It's impossible to say that I know any of the languages I use in any degree of depth, but I want to give employers the impression that put in front of any language on my resume, I will be able to start working/ reading other code with minimal googling, depending on how long its been since I've done what is asked. I don't know if this is conservative enough of a policy, but it's the one I've got in place for now, so I hope it's decent enough.

So, what about you? How do you handle the conflicting forces of "I want a nice job" and "I don't want to find myself having no idea what I'm doing?"

*Yes, this was actually brought up to me. If it offends anyone else's sensibilities as well I'll fix the markup for the type that see my resume and click "view source"

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Tue, 09 Feb 2010 21:57:00 -0800 When did Geeks become cool anyway? http://jeffbain.ca/when-did-geeks-become-cool-anyway http://jeffbain.ca/when-did-geeks-become-cool-anyway

So, I started wondering this earlier this week. There I was, chilling
on reddit, when amongst the many many random articles of geekyness,
D&D, Programming, and whatever else I spend my time reading about
instead of doing things that could be construed as productive, I
stumbled upon this article: Hot Women pretending to be geeks?
Apparently, these days, it's actually good for your reputation to be
construed as a geek.

Now, I'm not complaining about this at all. I am one of the geekiest
individuals I know, so the more points it earns me the more I can take
pride in my awesome geek cred. Besides, the Geek Pride movement is
actually pretty cool, since it means we're all proud to announce our
geeky passions which in turn makes it easier for me to find geeky
thing I'll enjoy. This change from Geek being a bad label to a label
of pride is most definitely one in the positive direction.

I'm just wondering where it shifted, and what exactly inspired it.
Seeing as I was mostly a kid for the Rise of the geek I can't really
remember concrete dates where it started to become cool to become a
geek, but somewhere in the 90s or early 2000s it seems to have hit it
big. i'm assuming we can attribute this to the rise of the internet,
obviously. Sure, it was also a time of geeks being pretty financially
stable, but when you get down to it geeks have always been financially
stable, as engineers, doctors, etc.

But then that just begs the question of "Well, why did the internet of
all inventions spike geek pride and respect when other awesome
inventions by geeks never have?" Because I kind of grew up into using
it I think I tend to take for granted that the internet has done some
crazy things with the way it shaped our culture, which most of my
generation is likely equally ignorant of. So, any theories on why the
rise of the internet ties into the rise of the geek? My theory is just
that we were so gosh darn awesome at being able to harness all the
internet has to offer, but alternate theories might be interesting.

Either way, I enjoy our new position of prestige and I hope it
continues. On that note, I have a watch/USB Drive I want to put a
bootable linux distro onto.... In the meantime, goodbye!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sun, 07 Feb 2010 23:06:23 -0800 Long Time No Talk, and my love of Notebooks... http://jeffbain.ca/long-time-no-talk-and-my-love-of-notebooks http://jeffbain.ca/long-time-no-talk-and-my-love-of-notebooks Well It's been a while since I posted, and I'm going to blame
distraction. I had to worry about exams, and after that I was busy
trying out new things and getting acclimatised to co-op and
technically I have had a post mostly written in my drafts for a month
and a half, so I'll get that up soonish. In the meantime though, I've
learned MySQL and have started working and designing some things, so
maybe I'll give them a mention once I'm a little further on. In the
meantime, I want to talk about something else.

Notebooks. No, not the other, less cool name for Laptops. I am
referring to those things with the many bound sheets of paper in them,
which require actual writing utensils to get the words onto. I know a
lot of people who, in this modern day and age, think that they can and
do write everything with a computer. I, on the other hand, love
writing things on paper. Whenever I need to plan something, or show
someone something, or battle godzilla, etc. I reach for a pen and
paper. There's just something comfortable about the old reliable tools
that were part of my childhood long before I ever even touched a
computer, much as I'm now so connected to electronics I can't remember
the last time I was without a net connection strapped to my side.
(Technically it was last summer, but allow me my Hyperbole)

Anyway, because of this I have a thing for notebooks. I own a dozen or
two lying around my room at this very moment. None of them ever gets
filled up of course, and the torn pages bely my perfectionist nature
and tendency to look back at stuff I did in the past and banish it to
the void. So I've got about a dozen books in my room that go about 1/3
of the way in with things varying from logs of my day to ideas and
diagrams, dating back to the beginning of high school when I was, to
be honest, an idiot. Of course, I love them all. Sure, many times I
destroyed my records, but now that I'm a bit older and wiser I kind of
like being able to see how much of an idiot I used to be. It helps me
look at myself and see how I've actually come a long way since then.

I find myself talking about this, of course, because I am excited
about my new notebook! Sure, it's just one of the many notebooks I
own, but there's one thing to set it apart from the others... It's my
first moleskine. For those unaware, moleskine is an ancient brand
whose notebooks were used by the likes of Hemingway and Picasso and
whoever else the moleskine felt the need to name drop when I bought
it. Either way, they're really nice quality and it is a beautiful
little book so with it goes all of my writing love.

So I've resolved to actually finish a notebook for once. No ripping
out pages, no giving up and moving onto another, and no forgetting
about it for months at a time... (Yes, I'm treating the little book
better than my blog. Wee!) It's official subject matter is
miscellaneous, and it's already got enough stuff in there of both
project-y and planning goodness (Yay MySQL Schemas) as well as details
of my ever so entertaining personal escapades. So if I appear to be
clutching a book next time you see me with a deathgrip of writing
love, then now you know why.

Other than that, I assume I'll write here again soon. Until then, have
fun with whatever it is you happen to be up to!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Fri, 11 Dec 2009 06:35:12 -0800 Malware on Linux? That's UNPOSSIBLE! http://jeffbain.ca/malware-on-linux-thats-unpossible http://jeffbain.ca/malware-on-linux-thats-unpossible So, seemingly everywhere on the internet I go, (Which, since I'm in
the middle of exams is largely very few places during my study breaks)
seems to be mentioning the recent case of malware being discovered in
Gnome-look. Is this really so surprising? I foresaw this coming along,
since Linux, Ubuntu in particular, is getting insanely popular. Surely
we didn't think we were going to be invincible forever.

I think some of the problem is that the Linux community has seemed to
explode in size lately. Maybe it's just my own biased view, since I've
only joined in the last year and therefore been made aware of the
endless articles, guides, how-to's, what's-its and every other
possible conceivable article and blog post about it. But Ubuntu has
started making Linux accessible to the common power user, and with
that comes the caveat that you don't have to be smart to be a power
user. I don't mean to disparage new users or anything of the sort,
since most of the Linux community have been using linux far longer
than I have. But we seem to have reached the tipping point where we
attract non-technical people interested in a change of pace.

The important thing to take away from this is that this stuff is going
to happen, because as always it comes down to what you install. In the
end, if you're not careful, no matter what system you're using you're
going to find yourself running something you didn't mean to. Don't let
your choice of system dictate whether you're going to worry about
running random stuff on your machine. Love your machine, treat it
nicely, and don't feed it horrible malicious programs. This is no
different from not trusting random commands to run in the command
line. I've never been tricked into typing rm -rf / because I looked
into what I was doing before running commands blindly.

I expect you to do the same.

Malware. It exists for everyone. Deal with it. Be smart when using
your computer, regardless of your operating system. PEBKAC, as it
were.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Tue, 08 Dec 2009 04:13:12 -0800 Software Engineering: The Inferiority Complex http://jeffbain.ca/software-engineering-the-inferiority-complex http://jeffbain.ca/software-engineering-the-inferiority-complex
Bill-murray-you-suck

So, I don't know if it's just me, but ever since I got to university I
get the general impression that when it comes to programming, I have
an inferiority complex. On the one hand, everyone I know will probably
at this point jump up and say "No you don't Jeff, you're an
egotistical *something or other*. You're always telling us how awesome
you are!" Yes, I'll concede I'm not exactly noticed for my overarching
modesty or anything, but that's not quite the truth. I used to think I
was awesome squared back in high school, when I was completely alone
in my smart person bubble, but sadly we must all come to realise that
delusions do not a good software developer make.

So I've got a confession to make. I know absolutely nothing in the
grand scheme of things. Going to the University of Waterloo has taught
me that, because while I'm more talented at programming than some
people, there are a great many more who blow me away with how much
they know. I see complex systems built by guys my year who've been
programming since they were 12 years old and I can't help but wonder
how i'll ever catch up to these people. Or I'll look at a friend who
is crazy hardcore enough to be building his own game framework in his
spare time just because he can. (I'm tempted to blame the Unix beard.)
It's these people that've really inspired my ridiculous drive to learn
more and more things in order to catch up to the pack, I think.

Looking back at my past I sort of feel I've wasted a lot of time. If I
knew how far I was behind in high school I could have used some of
that slack-off time to have become more skilled. I learned more in my
first year here than I did in all of high school, and it was largely
because coming here showed me that there was so much more I could
learn before I could consider myself a good programmer. I imagine
another revelation will come along and I'll realise how much more I
could be learning now than I do, but I think at least now I'm moving
at a brisk pace to always improve my skills.

So I think I should kind of thank all of my classmates who've shown me
exactly how much I sort of suck. It inspires me to improve, to get
better, to do something awesome instead of coasting by like I always
used to. After all, it's the arrogant who think that there's nothing
left to learn that really get left behind in this industry. You should
always be learning something new or you'll never get anywhere. My
Inferiority complex when it comes to programming is just what I needed
to kick me into gear.

Anyway, end of break, I should get back to work. Just thought I'd put
this down somewhere.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Fri, 04 Dec 2009 02:22:39 -0800 Web Design is way too much fun http://jeffbain.ca/web-design-is-way-too-much-fun http://jeffbain.ca/web-design-is-way-too-much-fun
Screenshot

So right now I've just got to mention the scourge of my free time as
of late, which is exactly how fun web programming is. Some point
during this term I decided for some reason, probably boredom, that I
needed a website. I "technically" learned HTML way back in grade 10,
and by that I mean I understood maybe the general concept of Markup
language and I absolutely hated it because it seemed dull and slow and
made gross looking sites at the best of times. So I wasn't exactly
master of the web at that point, I guess I'm going to have to say.
Anyway, that was always my opinion on HTML and web stuff coming into
University in general.
So at my last co-op job, I wasn't doing much programming. It was part
of my job, but it wasn't the part I was hired to do so much as the
projects I was given to ensure they didn't have a tragically bored
programmer doing work better suited to a security researcher. While I
mostly coded in perl, I was making CGI(Common Gateway Interface, for
those wondering) web based tool and therefore all of my display
elements were, you guessed it, HTML. So I had to use that, and I
managed with my limited skills, and it wasn't as terrible as I thought
because I got to think "Hey, this isn't so bad when you've got
server-side code doing something legitimate behind it" and that was
probably the beginning of my mental shift.
Anyway, back to the start of this school term. Every decent
programmer, or at least the savvy ones when it came to employers (Aka
Beardrew is insanely good but last time I mentioned web programming he
was very, "Bah humbug" and went back to his C++, so meh) all seemed to
have fancy websites and blogs to lure in employers. So I learned HTML,
and I learned CSS, and they seemed much better than I had ever
remembered them. I finally figured out how Divs and floats and all
that worked when it had confused my naive grade 10 "I still couldn't
program" brain. This is where the addiction started, because once I'd
figured out how to build a site that doesn't look like it was puked
out by 1992, I spent forever tweaking it. Admittedly it still looked
like it was from the early 2000's at best, but I was new.
But since then it's been getting progressively worse. I've learned
enough to give my website a Web 2.0 look, with some kind of design
forethought and ROUNDED CORNERS AND THINGS!(which is a headache and a
half and requires some magic and making sure all the browsers know
you're following web standards and I kind of don't want to know what
IE 6 thinks my site looks like...). I also learned Javascript, which
has just opened up the floodgates even more, because now it can be all
wonderful and interactive. If anyone has looked at it, it currently
has some silly Javascript to change the header for each page, but on
top of that every link calls the page via AJAX just to avoid a page
reload, and that's completely because I wanted to learn Ajax. (which,
I might add, is way more trivial than I always feel it was made out to
be...)
So anyway, I'm just documenting the madness of how my website is
getting exponentially more ridiculous because it's a great timewaster
to tweak superficial elements of things. That's the beauty of web
stuff I think, you can just tweak things and see them with a simple
reload. It's programming gone even more interactive than usual, which
makes it cool again. I imagine once exams are over I'll start doing
crazy things to the site, and I know it's going to drive me mad, but
oh well.

Anyway, that's about as much madness as I feel like mentioning on
here. Also, I was thinking of writing space invaders using javascript
and the HTML5 Canvas element. I realize this is super duper pointless
but when I was trying it out I just kept thinking back to my turing
days manually drawing out aliens and the idea to revisit that game
with more knowledge and skills seems deliciously fun. instead of
procedural and with funny hacks I can make it beautiful and object
oriented! :D

I'm looking forward to it already. Anyway, of with me now.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Sun, 29 Nov 2009 14:42:00 -0800 Why I love being a programmer http://jeffbain.ca/why-i-love-being-a-programmer-0 http://jeffbain.ca/why-i-love-being-a-programmer-0
I said I'd get to this one in the last post I believe, and so I shall. In my daily life, I see a lot of people. I'm a pretty social individual, and I've got a great deal of friends, so I spend a lot of time around people every day. Everyone once in a while though, it hits me how unusual my peer group is, because nearly everyone I know is a programmer to some degree. Due to the way my school handles things nearly everyone I know is at least moderately technical and CS courses are pretty much mandatory for everyone who isn't in the arts faculty. Because of this, I tend to see a lot of people using computers like I do.. as efficiently as possible, and with the ability to automate things that annoy them.

So whenever I think about what my life would be like if I couldn't program, it gets weird. Sure, I don't spend all day just programming and I haven't automated every aspect of my life, but are a lot of those quick scripts one writes to avoid doing something on a regular basis. When I keep lists I create quick scripts so I can just add a line to a text file with a simple keypress, so the idea of manually opening notepad to do the same apalls me. I regularly change up something in text with a quick regex so the idea of manually doing something like adding or removing extra spaces or blank lines to text files just seems like a giant waste of time.

Yet, we've all seen people do it.  We've all seen someone go through a 4 page report and manually change the same thing in multiple locations when a perl one liner could do it a 100X faster. We've seen people manually check results for something because they didn't know how to toss together an automated test. They don't know what they're missing, because they're not programmers, so they don't know what you can easily get the computer to do for you.

That's really why I'm glad to be a programmer. Without programming, I'd feel like I was missing an arm. As it is when I'm on a computer with somewhat limited functionality in that regard, I feel frustrated at being denied access to some of my skill set. Being a programmer lets one use a computer limitlessly, and without it I'd never be able to do what I can do with them.  In the end, It's just better being a programmer.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Wed, 25 Nov 2009 16:44:28 -0800 Why I'm a programmer... http://jeffbain.ca/why-im-a-programmer http://jeffbain.ca/why-im-a-programmer

So, I figure that if this is a pretty newish blog I can post all sorts of fun genralized things like this. This is something I've ruminated on quite a bit over time, and it's something I've always thought was somewhat defining for me, so I'll discuss it. I suppose everyone has their own reasons for what they do, and this is mine. I guess I'll just sort of split it up into 2 posts. This one will be the "History" post, or how I became a programmer. I've read a lot of stories on how verious developers out there became programmers but a lot of them are written by much older, more experienced developers. These guys started in the days when to be a computer user, you had to be a programmer to some degree, so they all seem to go the same way. Either way, onwards with the actual story. How I became a programmer, from the perspective of someone born in the 90s:

I was a geeky youth, admittedly. I spent most of my childhood with no friends but a lot of books, and when I wasn't reading books I was a damn fine lego designer, if I do say so myself. Throughout my childhood, too, I was a giant experimenter. I tinkered, I played, I had science kits and all that. I was pretty much a proto-nerd, preparing for a high school of ridicule as a stereotypical movie geek perhaps. But for all of the 90s, I didn't actually even own a computer in my house.

My electronics were, of course, Video games. Show me a child of the 90s and I'll show you a kid who was madly in love with Super Nintendo, N64, and all the rest. Obviously, this meant that when a computer joined our house finally at the end of '99 or so, it was put into service as.. what else, but a gaming machine. But I didn't use it. My little brother was the computer user, seemingly, since he hogged that machine like there was no tomorrow. So, once again it didn't look much like I'd be getting a career in computers yet.

Anyways, a few years later, we did get a new computer, and this one I did use. At this point, I was becoming a social being, and the internet was integral to socialising, thanks to IM. Combine that with having a girlfriend long distance and I spent most of my time on the computer, quickly mastering it like I did most technical things. By the end of grade 9 or so, I was a moderate power user of computers (Even if I was a Windows User. GASP!) That's when I heard about a certain video game. A game that was the sequel to the beloved game I had played a few years prior. I had to have it. But my computer would never run it, and it was rumoured I'd need either a more powerful computer or an Xbox 360. So I did what any sensible technical minded individual would do.

I learned everything about computer hardware I could, and I built myself a gaming rig. This was the turning point in my computer-ing. I became good enough at computers that other people dropped my name as someone to talk to about computers. I wanted to learn more, and so I took a programming class.

It's because of this class that I chose to be a programmer. The second I learned how to program it was all second nature to me. It just all made sense, and it was the only class that had ever legitimately inspired me to do anything outside of class related to it. I went above and beyond in that class, learning whatever I could to outdo my classmates. In the end it was more a competition between me and my teacher, and in the end it inspired me to take more programming courses and eventually come to the University of Waterloo for Software Engineering.

Admittedly, looking back now at what I did in high school I feel like I knew next to nothing compared to what I know now. I don't feel like I even learned a legitimate language until I came to the University, and I'm still constantly trying to improve myself. Anyway, this got a lot more long-winded than I really intended, and a lot more in depth than anyone probably needed to know.

The tl;dr version: I became a programmer because I was drawn to the computer with a mix of video games and social life, and being a technical geek I learned programming. From there on in it's inspired me to constantly be learning new things.

Next post (and probably more interesting): Why I love being a programmer.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain
Wed, 18 Nov 2009 12:25:42 -0800 Interesting. A simple test of the system. http://jeffbain.ca/interesting-a-simple-test-of-the-system http://jeffbain.ca/interesting-a-simple-test-of-the-system So Posterous looks sort of interesting as a blogging platform, so I'm just trying it out a little. I've not a whole lot to say with regards to this, but it looks pretty cool. :P

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1671989/IMAG0037.jpg http://posterous.com/users/37lqb5GXo52x Jeff Bain Jeff Jeff Bain