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.

Comments [0]

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

Comments [0]

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..

Comments [2]

Ahhh, time, she disappears on me! / I'm going to talk about my computer now.

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!

Comments [2]

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

Comments [0]

Oh dear, I seem to have aged another decade now...

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!

Comments [2]

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!

Comments [2]

So, where's the line between self-promotion and exaggeration?

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"

Comments [6]

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!

Filed under  //   Culture   Geek   Internet  

Comments [2]

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!

Filed under  //   Notebooks   Old-school  

Comments [2]

About

So, this is just a simple blog I tossed up while I lacked one on my own site. I don't know how oftern I'll post here, but I'll try and make it happen occasionally. Either way, I'm a big geek from the University of Waterloo and mostly my posts will be about things like coding and Linux and the like.
For my Official Website, go to JeffBain.ca