|
LATEST POSTS
Tuesday, July 31, 2007
Just finished Jean-Paul Boodhoo's Nothin' But .NET course and everything you've heard about it is true. This was, I believe, the first course where I was paying rapt attention and still got lost. It was a fleeting moment but it was glorious! It was like the restaurant scene in The Meaning of Life where my brain is Mr. Creosote and JP is the Maitre d' trying to cram one more wafer of knowledge into it.
There are at least a dozen blog potential posts scattered throughout the week but I'll limit my own coverage to one since I believe Master Simser will probably cover the actual content better than I could. So I'll let him deal with any confidentiality conflicts with JP and instead, I'll post more personal highlights
Day One
JP covers factory methods, state-based vs. interaction-based tests, MbUnit vs. NUnit, guard clauses, and delegates. It's 8:35am.
At 6pm, we lose a couple of people who favour family over brain-scrambling. JP is adamant that it's cool but there's rejection in his eyes and for the remaining three hours, he covers only thirty-six topics, down from his usual rate of fifty-nine per hour.
At the end of the day (a respectable 7:15ish), I decide that what JP really needs is a soundtrack. I vow to remedy this tomorrow.
Day Two
8:30AM - I initiate the course soundtrack with Also Sprach Zarathustra.
1:00PM - Afternoon musical inspiration: Kids In The Hall Theme
6:15PM - I concede defeat and stop trying to keep up on my own laptop.
7:03PM - He invites me up to implement a test. I GOT TO TOUCH JP'S KEYBOARD! See entry for day five.
9:15PM - JP claims he's raring to keep going but prefixes this statement with a half-hidden yawn. We let him off the hook...this time.
Day Three
Today's musical selections: Feelin' Groovy (take note of the opening lyrics), Delilah (by request), and Linus & Lucy
8:30AM - JP claims not to have gotten any sleep last night. Despite this, I switch from tea to a double double with a shot of espresso at Starbucks to try to get my brain vibrating on the same frequency. Also, Jolt. JP orders water.
11:00AM - We take a break while he rants about properties. Or methods or operators or something. Frankly, I'm just glad he's distracted enough that I can catch up.
7:15PM - He laments that we've missed a couple of topics so he refactors the app we're working on so quickly, we travel back in time a few hours so that we can get back on track.
2:35PM - Maintainability trumps all other abilities. It takes me a while to determine he is talking about code and not children.
6:45PM - At one point in my life, I was able to play Flight of the Bumblebee on the piano fairly respectably. I may as well have been playing chopsticks compared to what it takes to keep up on my laptop. Interestingly, Bumblebee is probably an accurate description of the colour of JP's laptop.
8:15PM - It occurs to me that ReSharper has so many keyboard shortcuts, you could conceivably finish your application by mashing on your keyboard at random.
Day Four
Morning inspiration: He Ain't Heavy (He's My Brother) (by request)
9:30AM - We finish implementing the dependencies on the domain. JP claims, "Now we can *really* start moving"
1:00PM - He starts playing his own music to code to. *NOW* we're talking. There is a minor quibble about the selection but they are quickly smacked down (oddly enough, with a ReSharper shortcut).
3:35PM - I thought the music would lull him a little but he actually appears to be speeding up. He no longer moves his hands to type. Instead his hands hover over the keyboard and the appropriate keys press themselves out of respect. Or, more likely, fear.
6:55PM - We settle in for a long night because JP claims he has to catch a flight tomorrow night at 7:30.
10:45PM - We wrap up and I check in with the missus back home in the Bahamas who accuses me of neglecting my daughter, cheating on her, and eating too much cholesterol-laden pizza. Take note, prospective students, Nothin' But .NET is bad for the home life. Even if half your family is two countries away.
Day Five
9:45AM - JP's laptop has just undergone some minor emergency surgery for the last hour and a bit but steadfastly refuses to boot up. We hold a small service and JP performs a rousing rendition of The Rose with the rest of the class backing him up in five-part harmony. The Bumblebee is down and I volunteer my laptop as a surrogate for the day. It is promptly pimped out with "only the minimum [I'll] need to work effectively". I'm left with 2Gb of hard drive space and much software that will expire in thirty days.
1:25PM - Now I get it! He's pre-recorded everything he's done and is playing back at four times the normal speed and only *pretending* to type. Don't worry JP, you're secret is safe with the Hillbilly.
5:30PM - "Oh yeah, I cancelled my flight tonight. Is everyone okay to stay a little longer?" I'm too scared to leave as every single thing he covers feels like my entire career depends on my knowing it.
9:00PM - I have to physically pry JP off my laptop. He breaks free of my grip but amid cries of "Stop him! Before he refactors again!" we manage to subdue him with a Bumblebee to the left temple.
I jest, of course (which I mention only because I've name-dropped JP so much that I'm afraid some humourless Googler will come hunting me down). The course was a delight as my dear grandpappy would say if he had all his teeth and could speak (and were still alive). Especially give my recent odyssey into self-improvement, career-wise at least. Having tried self-study for the last few months on many of the topics, it was great to have them explained in a structured, albeit rapid-fire manner and to have a context for the many patterns discussed as well as some nuggets about how some of them fare in the real-world. And there is absolutely no denying JP's passion for what he does which in and of itself elevates this above many similar courses.
The hard part now is going to be reining myself in. Not since the three-day recap of the Hillbilly's family tree has my brain been so abuzz with possible avenues of opportunity. It will be a case of holding a hammer and trying not to look at everything like it was a nail. We were hit with so much so fast, there is an overwhelming urge to apply as much as we can as soon as we can so the knowledge does come dripping out of our ears.
And in that respect, I'm planning to spend some quality time with the resulting code over the coming weeks, adding remaining functionality and refactoring existing stories. Perhaps integrating NHibernate or Windsor just to say I did.
But I'm not looking forward to all the cash I gotta start laying out when all this trial software expires....
Kyle the Supersaturated
Thursday, July 19, 2007
On the heels of my being thrust back into the corporate world after a year away, I'm again reminded of a sometimes latent but usually blatant prejudice that still survives to this very day in the workplace. I refer, of course, to the oppression of tea drinkers by those that favour coffee.
Tired am I of so-called "coffee stations" peppered two per floor in every building higher than three flooers. They are aptly named, to be sure, because of the second-class status placed on any other beverage. Wander over to yours right now and tell me what the biggest, most garish device is in that room. Go on, I'll wait. Don't read any further until you come back...
OK, now that we've lost the gullible ones, I can continue on for the rest of you folks who don't automatically obey every command you read on strange websites that hint of inter-breeding. If your machine is like most I've seen, it can produce your Columbian, your espresso, your dark roast, maybe even a mocha, plus one or two other varieties, give or take a dozen. Plus it can make hot water.
That's what the tea drinkers get. Hot water. Not boiling water, like you're supposed to use. Tepid to warmish water that could barely dissolve a package of Kool-Aid, let alone steep a decent cup of tea. If you're particularly damned, you're station will have a Flavia machine. The one where you shove a package of your drink of choice into it hoping that the last two people to use it had something similar (although admittedly, green tea with a hint of French Roast will certainly get your attention in the morning).
Seasoned tea drinks have come to accept their lot. They're the ones who take one look at the brown mass on the counter, then bring in their own kettle if one hasn't been provided. They wait patiently for the water to boil while co-workers file by "the machine" in droves, oblivious to the ease with which they can continue on their activities. They are reflective while dipping their tea bag in the water in an attempt to steep it a little faster. They appear lost in thought when in fact they are thinking, "I feel like a dweeb poking this thing up and down in my cup." That is what they, we, are reduced to.
To be fair, most of the coffee-partakers do recognize that the coffee they're drinking is more likely to come from a lab at Columbia University than the actual country. But at least that gives them a common conversation topic. They can make good-natured jibes to each other before the meeting about how bad it tastes and "man, what I wouldn't give for a Timmy's across the street" and "you know it, I can't function in the morning without my caffeine fix."
Sometimes I envy them.
Kyle the British
Wednesday, July 18, 2007
Like its creators, I've abandoned WinKey. Whether or not it sticks has yet to be determined but I think it will thanks to the fine folks at QLiner. Some time ago, I tried their HotKeys application, a Win key mapping application, and discarded it based on two things:
- Minor confusion when the on-screen keyboard would disappear after releasing the Win key
- No support for Shift+Win, Ctrl+Win, or Alt+Win
The first issue has been addressed in that you can actually launch the on-screen keyboard as an application albeit it appears you can do it only through a Win key combination mapped from the application itself. There be no way to launch it externally as far as I can see. But it's not like I'd actually try to look for it from the Start menu.
The second issue is still outstanding but after a year with WinKey, I can honestly say, I have never used the Win key in combination with Shift, Ctrl, or Alt.
So with both impediments removed, it was time to take another look at the product and see what they've done in the year since I last saw it. The interface (and indeed, the website itself) is still pretty, almost Mac-like, which is probably not an accident. I like the drag and drop support if you want to shift shortcuts around. And it still has support for niceties like volume control and Control Panel applets. And best of all, it's still free.
But that's still not all. There are two new things that have really piqued this hillbilly's interest something that hasn't happened since the last family reunion.
Both are technically add-ins to the product but they are included with the base install. The first is support for zipping and unzipping files. As in, you press Win+1 (or whatever you've mapped it to) to zip selected files and Win+2 to unzip them. No more right-clicking and navigating to WinZip | Unzip to current location. It's all done with the keyboard now. (This is especially nice at the place where I'm working now where they've eschewed any third-party zip tool in favour of the not-so-esthetic Windows XP default extractor.)
The second is screen capture support. I haven't given it my full attention but it seems rudimentary compared to others. Still nice to have it as an option only two keystrokes away.
There are a couple of downers: I've managed to hang the app a couple of times in the short time I've had it installed. (The zip features, despite my raving, seem particularly buggy.) And the on-screen keyboard doesn't always refresh promptly (or at all). This is particularly true if you open the keyboard, switch to another application that covers it even partially, then switch back to it. The visual cues are all gone even though it still works as expected.
Also, it takes over your default Win key maps. Not too big a deal since it overrides them with the same functionality. But I was a little surprised to see the Run dialog appear for Win+R rather than SlickRun. And for Win+E, it doesn't actually open a new instance of Explorer, it switches to the existing one (if open). And if there is more than one instance open, it cycles through them. Very annoying but apparently will be addressed.
Finally, due to the flashy UI and the fact that it's a .NET app, it's not exactly what one would call a lightweight app. There are complaints about that in the forums and rumblings that the devs will switch to something more portable. Regardless, I don't care much given how many other .NET apps I'm running at any given moment.
Overall, my second impression is very positive. It still kind of surprises me that tools like this don't get as much press as, say, SlickRun or Launchy. Those two are still great and one or both will always be installed on my computer but there is no comparison 'twixt typing Alt+Space, then "vs", then Enter to launch Visual Studio versus typing Win+S.
Having said all this, I'll be using AutoHotKey instead.
Kyle the Expedient
Friday, July 13, 2007
Still in ramp mode at the new digs so I'll review the recent keyboard and mouse I bought. Choices were limited to what was available at Staples because I'm not exactly what you would call an ambitious hillbilly when it comes to peripheral shopping.
Microsoft's Natural Wireless Laser Mouse 6000 The packaging claims it is Microsoft's most comfortable mouse ever, which is why I chose it over Logitech's VX Revolution, a mouse that has a lot more buttons and that purty hyperscroll wheel but still forces your hand into carpal tunnel territory.
Alas, the Natural Wireless Yadda Yadda Yadda still requires some conscious effort to force your hand into the vertical position they want you to use. I suspect the Evoluent VM is a better choice in this regard.
It's not so bad if you rest your hand with the index and middle fingers on the two mouse buttons, which I think is how they expect you to work it. But I prefer using my index and fourth fingers for them leaving my third free to work the scroll wheel. And when I do that, my hand has a tendency to revert into a more horizontal (i.e. less wrist-friendly) position. And when I do use the "correct" fingers, the scroll wheel is not nearly as accessible due to the mouse's sheer (but necessary) bulk.
This one also features the new horizontal scrolling on the mouse wheel. It makes a nice demo but after playing with it for a while, I can't help wondering why they didn't just replace the whole thing with a miniature joystick instead. Scrolling a vertical wheel left and right doesn't feel right and it takes a lot to make a hillbilly feel unnatural.
Final verdict: More comfortable than a regular mouse but not as ergonomic as I would have hoped. It's cheaper than the Logitech one but, and this is pure speculation, probably not as comfortable as the Evoluent.
Microsoft Natural Ergonomic Keyboard 4000 The main competition with this was another keyboard that wasn't "natural" but had a Win key on either side of the spacebar, as opposed to only on the left on this one. I use WinKey a lot so this was actually a fairly big factor in the decision. Alas, I chose comfort over function again and now I am forced to use two hands to lock my screen instead of one (Win + L). The reason I decided against the other one was that it included a mouse I didn't like but on reflection, it wasn't that much more expensive...
Not that I'm disappointed with the one I bought. It has all the buttons where they're supposed to be, and the more useless ones that keyboard manufacturers seem eager to add (like the Search and Calculator buttons) don't get in the way. I haven't put the split keyboard through it's paces too much yet but early indications are very positive. There's a little "zoom" mechanism between the two keyboard sections that lets you increase or decrease the font-size in IE. Again, not a feature I imagine gets used a lot and given it's position, it would have been a perfect place to put something more practical there, like a couple more buttons for favorite applications or better yet, macros.
Other nice features include a wrist rest that's slightly more comfortable than one would expect and more keys above the number pad (for equal sign, left and right parentheses, and backspace). It also comes with a little stand that raises the front of the keyboard which can be detached and used for snagging cords behind your desk that are out of reach.
So apart from the fact that the right-click key (which I have yet to see being used at all, let alone actively enough to warrant such a prominent position on they keyboard) is occupying the space where a more useful second Win key could go, it's a keyboard I can be proud of.
Kyle the Critiqued
Wednesday, July 11, 2007
Everyone take up a jig, the Coding Hillbilly has returned to normalcy ("normalcy" being a relative term, of course). After a whirlwind tour of London and Italy, I am back in the corporate world for the first time in over a year.
For y'see, until mid-June, I had been working from home for a year. You'll probably think I'm bragging when I say home is in the Bahamas but trust me, it's not. But I probably won't convince any of you so I'll leave it at that for now.
So from the sandy beaches and warm climes of the caribbean, where I type all day from my hammock, I have returned to cold, cruel Calgary. And yours is not to wonder why but to sit and listen while I compare and contrast working remotely and working on-site.
There are the obvious advantages to working from home. No commute, more family time, not being dragged into useless meetings, and so on and so forth. If you're lucky (as I was), your employer will allow you the flexibility to work on your own schedule within reason, which allowed me to volunteer my time at my daughter's school, which I love doing 'cause the kids love me.
From a productivity standpoint, I believe working from home wins out as well in general, depending on your discipline. Rarely are you interrupted by co-workers with a "quick question" and meetings tend to stay more focussed when you aren't there in person to partake in witty banter. And meetings are usually scheduled more efficiently to take advantage of the limited "face" time you have.
Communication is something that took some time to adjust. Some people may eschew instant messenging because of the distractions but it is an absolute must when you are not on-site regularly. And most people tend to respect the "busy" status if you want to close your virtual office door. For me, a Vonage account was invaluable given long-distance rates 'twixt the Bahamas and Calgary.
But now I'm back in corporate Calgary and it strikes me how vastly different this world really is. Not "bad" different, just "different" different. It doesn't help that I got dropped into it in the middle of the Stampede but it's still kind of weird walking into a Dilbert cartoon every day.
And I don't want to imply that I'm the office rebel because I'm not. In fact, I throw myself into it like a fat kid on a Tootsie Pop. I brought in my own keyboard and mouse. I complain about the lack of parking. I whine about why the line-up at Subway is so long when all I need to do is take lunch fifteen minutes earlier. And having deemed the tea-making facilities inadequate, I bought my own electric kettle to boil water the way you're supposed to when making tea. (No offense to those Flavia machines but the tea they make tastes like it was strained through some of the more questionable remains of the Stampede events.)
All of this is the stuff people talk about leaving behind to travel around the world. It's easy to be cynical about this but it highlights the main thing missing from working from home day in and day out. Namely, the interaction with other people. Not on a professional basis but more the bantering you do. At the coffee station in the morning. Before and after meetings. On the way to lunch at the food court. It's a little thing that you may not notice and may even claim you don't like but try going without it for a month. You'd be surprised how much that factors in to whether a job is "fun" versus "has a good personality".
It seems to me that the ideal set-up for an employer would be to shut the office down two or three days a week (plus weekends) and let everyone work from home. Meetings can be scheduled around the remaining days if they can't be done over the phone. I believe people would be more productive working at home but would still get the human interaction they silently crave.
Plus there are the cost savings and traffic congestion benefits but frankly, who cares about those?
Kyle the Liberal
Wednesday, July 04, 2007
Now that the honeymoon period is over with my recent switch to GoDaddy, I'm starting to notice some cracks in the veneer. Primarily with their e-mail service which has a tendency to assume that any e-mail originating from the Bahamas is spam, especially ones that come from my bank. But they also don't allow any e-mail through that comes from a mail server that doesn't have a reverse DNS entry. All in all, it just makes me wonder why they have to be so draconian while Google is more effective without all the rules. Besides which, I'd much rather get spam (which I can delete) than have people get bounced messages (which I don't know about) and not be able to get hold of me at all. The next beef I have is the lack of a toll-free number. It didn't bother me at first because I was using a Vonage account to contact them. But now I'm in Calgary for the summer and it's not so free anymore. What's even more inexplicable is the 1.866 number at the end of this ad which, when you call it, just gives you options to complain about the ad. Finally, and this one isn't totally fair, their "biggest" e-mail plan is 100 e-mail address and 2Gb of space. That's 2Gb total spread out over the number of e-mail addresses you have. In our case, we have about 10, which means 200Mb per address. Kind of lame since Google Apps offers 2Gb for free. But I knew this limitation going in so that's why it's not really fair to whine about it now. Summary: Thumbs up still for the dedicated server which is running nicely. The e-mail service will probably remain for the year that I paid for mostly because I don't want to put my family through another migration so soon after the last one. Kyle the Sent
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in any way.
Copyright © 2008 Kyle Baley. All rights reserved.
|
|
|
LATEST POSTS
POPULAR POSTS
LINKS
BLOG ROLL
|
|
CATEGORIES
ARCHIVE
| December, 2007 (8) |
| November, 2007 (8) |
| October, 2007 (23) |
| September, 2007 (15) |
| August, 2007 (8) |
| July, 2007 (6) |
| June, 2007 (11) |
| May, 2007 (19) |
| April, 2007 (14) |
| March, 2007 (3) |
| February, 2007 (4) |
| January, 2007 (7) |
| December, 2006 (5) |
| November, 2006 (9) |
| October, 2006 (11) |
| September, 2006 (14) |
| August, 2006 (11) |
| July, 2006 (15) |
| June, 2006 (8) |
| May, 2006 (10) |
| April, 2006 (12) |
| March, 2006 (3) |
| February, 2006 (7) |
|
|
|