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.

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.

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

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.

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

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

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!

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

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!

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!