This blog is now obsolete. Go to scott.arbeitman.id.au for all new content.

1

Employee-Owned IT

| Wednesday, December 16, 2009

Today's Age talks about 10 business IT trends for 2010. Number is "Employee-owned IT":

Traditionally, IT departments decide what kind of computers and software employees use and they take responsibility for all maintenance chores. Younger workers, however, have grown up choosing their own computers and applications and want to keep their personalised computing styles. Enter employee-owned IT, which sees workers bringing their own computers to work so that IT can lock them down with virtualisation or multiple operating systems that deliver security. IT departments save as maintenance devolves to computer vendors, while employees swear they are more productive using a machine of their choice.

This approach can help close the technology gap I blogged about a few weeks ago. But by imposing constraints on my personal computer, you are actually making my personal computing more like a corporate experience rather then vice-versa.

I think there is a place for computers to be "locked down," However, that does not give license to restrict access to specific sites just because they are "productivity killers" or a blanket restriction on installing software. There needs to be a balance.

One way to achieve that is to have two competing IT groups in your organisation. One that restricts what you can do with your computer (you already have one of those) and one that proactively installs software and coaches you to work more effectively with IT.

If employeed-owned IT helps us get there, I'm all for it.


0

Locking Your iPhone While Listening to a Video

| Monday, December 14, 2009

Have you even been watching something on your iPhone, but decided all you needed was the audio, and then tried to lock the phone? You will quickly notice that locking the phone stops the video playback altogether.

To lock the phone while having the audio continue, first lock the phone (the video will stop) and then use the iPhone remote and click the button once (play) to start the audio. The screen will remain locked, so you can enjoy the audio while the phone is in your pocket.

Not the best implementation by Apple, but the workaround is easy.


0

The Swedish Chef Lives!

|

The Muppets rendition of Bohemian Rhapsody now has over 10 million views (that's near half the population of Australia). Well, Ringing the Bells, prominently featuring the Swedish Chef, hasn't hit a million views yet, so I'm slightly ahead of the curve on this one.

Enjoy!


0

Business Strategy Presentation on Google

| Tuesday, December 8, 2009

I recently had to give a presentation on the Google Inc case in my business strategy class at Melbourne Business School. Actually, this was a syndicate (read: group) assignment. Another assignment was to write a paper analysing the business strategy of a company (we chose Yahoo!).

I decided that in order to get feedback, I would record myself giving the presentation and then post the video online for my syndicate members to comment. After all, they had as much at stake in the presentation as me.

I think the live presentation went better than the recorded one. That's mainly because I had lots of practice with my delivery and had some helpful feedback. I'm also more extemporaneous during the actual delivery; this makes my syndicate nervous, but works well for me. It's easier to incorporate humour when it isn't scripted.

Anyways, here's the video of my presentation run-through that I recorded. In the end, I modified some of the slides and added a couple more. I also went faster, so I was able to show both videos.



Business Strategy Presentation on Google Case from Scott Arbeitman on Vimeo.


1

The Elusive Dream Job

| Thursday, December 3, 2009

Like most twenty-somethings, I've been through several jobs. They've all lasted less than two years and they varied considerably from one to another.

The first one didn't pay much and didn't expect much. I used that opportunity to learn how do lots of practical IT things, things they just don't teach you in university. They ultimately didn't need me, my contract expired, and I moved on.

The second one was consulting. I was drop in the deep end, expected to deliver something of great value to a well-established, prestigious organisation. Management was distant, personal development was shunted in favour of billable hours. Those who were in the deep end with you became your confidants. I liked that the most. That, and when I'm feeling insecure, I can name drop the company I used to work for. But I won't.

The third one offered the best management. Having previously felt quite distant from management, a manager who was readily accessible, reasonable and a great listener made a huge difference. When work was dull or I didn't feel I was realising my potential, we worked together to make changes. It was mutually beneficial. Larger organisational factors (an impending merger) made me look elsewhere. It was a shame.

The last one offered a mix of very intelligent people and a hyper-ethical manager. A bit of cultural differences (the programmers there were simply too opinionated to get work done) and the stress of studying part time led to a decision not to extend my three month contact and study full time.

Study has its pros and cons too. In particular, the time slots devoted to schoolwork are highly varied. For six weeks, I was quite bored and considered work part-time. During the next six weeks, I worked harder than I would at a full time job. I like learning new things and I like my fellow students. Knock on wood, I still haven't had a dysfunctional syndicate at MBS while I had plenty at both Melbourne Uni and McGill.

The question for me is what to do next? I want to work in a company that is big enough for advancement and with the scale to attract both intelligent workers and interesting work. But without some of the more limiting corporate systems. I remember the first time I heard of managers spending their money at the end of a financial year so they wouldn't lose out money the following year. I was horrified at such inefficiency. Now, it's so commonplace, I don't blink. It's disturbing.

It is almost time to find that next job. I want this next one to last longer than 2 years. Longer than 10 would be better. It won't be easy. I need to avoid companies with all of the good from previous jobs (smart people, good management) and none of the bad (no commitment to staff, distant management, and so on). It won't be easy, but I've started the journey.


1

On Psychologists and Technologists

| Monday, November 2, 2009

In my Business Strategy class on Saturday morning (!), I asked a seemingly harmless question about why economies of scale did not apply to the now defunct MBS-Melbourne Uni merger. The question apparently struck a nerve with both the lecturer and some of the students. One of the students expressed something I have long felt, not just about the merger, but during my time working at the business school.

We have great faculty in the leading edge of their field. Often, they are engaged in helping real organisations improve their business during the day while lecturing at night and somehow managing to publish their research. Why, then, did the merger fiasco play out the way it did given the business expertise within the school? Why weren't leasons from the Business Strategy subject, for example, applied?

This was the most frustrating thing about working at MBS in general. There was consistent pattern: what I had learned in class was not being applied in the business of the business school. In fact, to the best of my knowledge, the school made very little attempt to integrate the knowledge of the faculty with anything practical.

The lecturer in my class described the general phenomenon whereby those who are best equipped to fix a problem neglect their own problems to focus on those of others This is know as the problem of the problem of the cobbler's children.

This is, of course, no excuse. It's not an explanation. And it isn't generalizable.

Let us consider a counter-example very near to me. Those who work in the IT industry as technologists (as distinct from those in other functions such as project managers) almost always reserve the very best hardware and software for themselves.

Think about it. At a technical conference (say Java), a majority of participants are using Macs (widely considered to be the superior platform). Developers are usually early adopters of the latest and greatest. My peers were the first to use GMail and, more recently, Google Wave. We were the first to set up wireless networks at home. We do things with our laptops that are difficult and complicated, but that help enrich out lives through technology. We have bigger monitors.

Do you really think Sergey Brin, founder of Google, is really using Windows XP? Do you think Joel Spolsky is using Outlook? I don't.

Unfortunately, as I previously wrote, organisations are less likely to adopt the IT practices of their staff, much to their detriment. They are missing the opportunity to make themselves as productive as their most productive employees.

So what separates technology workers from some of the other professions? I'm not sure.

First, my underlying premise may be false. Are IT workers really different from those in other professions? Certainly my perception is that they are but I don't have the research to back this up.

Part of it may be that IT workers genuinely enjoy their field more than others. It is certainly not uncommon to use my leisure time learning new technologies and new ways of doing things; much more so than other professions who might attend a conference or two, and only when paid for by their employer.

Another explanation could be pragmatism. Is a psychologist really going to give himself therapy? Is a doctor really more inclined to diet and exercise? Installing a new Twitter client or learning a new programming language certainly seem much more attainable goals, and the costs are generally small.

The main thing I can conclude is that if you are in a profession or work for a company that doesn't implement the skills you market, your outcome is probably not going to be as successful as you want. That, and technologists probably enjoy their field, on average, more than others. Join us!


0

Applied Managerial Economics

| Wednesday, September 9, 2009

The Signals vs Noise blog recently cited [via Carly Bishop Cheney] — aside: Carly's home page is dozens of megabytes so you might want to skip the link on your iPhone — the following tweet:

If I get one more inquiry from someone having a huge wedding at an expensive venue asking for ‘recession pricing’ I am going to explode!

Many comments support the logic that because the expenses haven't changed, there is no reason to consider changing the prices. This is, of course, missing half of the equation. A market has a supply curve (this is your expenses) and a demand curve. You are pricing at a markup over your cost, so, indeed, you do have some room to readjust prices.

Certainly, recessions can change the demand curve so it is worth considering whether this has any effect on the elasticity of demand at your current price. If you can increase your profit by lowering prices (thus selling more of your goods or services), you should certainly consider it, but, of course, one must consider the longer terms effects of this strategy. On the other hand, you might also consider raising your prices and selling less, but at a higher price. Elasticity will determine which strategy maximises profit.

I'm surprised that there are so many comments by those who things lowering their price during a recession is such a ridiculous proposition, mainly on the basis that their expenses haven't changed.


1

Great Post About IT Restrictions in the Workplace

| Saturday, September 5, 2009

My friend, former coworkers and MBS alum has a thoughtful post following on some of the themes from a previous post. In it, he sites a great Slate article which argues for a loosening of IT restrictions:

…The restrictions infantilize workers—they foster resentment, reduce morale, lock people into inefficient routines, and, worst of all, they kill our incentives to work productively. In the information age, most companies’ success depends entirely on the creativity and drive of their workers. IT restrictions are corrosive to that creativity—they keep everyone under the thumb of people who have no idea which tools we need to do our jobs but who are charged with deciding anyway.

Ameel thoughtfully concludes that IT departments would be wise to add their own in-house analysts to match IT tools available to those in the company who might need to use them, lest services be blocked somewhat arbitrarily.

What is often missing is…:

  • In-house IT Consulting: the people who liaise directly with different parts of the business and use the latest technologies to improve the way those people work
Without that fourth part, IT departments have a hard time keeping up with what people in the organization believe are the most effective and efficient ways of doing their work. They also don’t keep up with the latest technological solutions for various business problems.

I couldn't agree more. I'd like to think that my former team in Melbourne Business School performed that function admirably. Often, we would just connect business users with simple off-the-shelf services that would dramatically effect productivity. Three examples would be Confluence, Google Groups, and Google Desktop, but there are many more.


0

Minor Thesis: Inference of Enumerated Types In Java

| Wednesday, September 2, 2009

If you're not from the Computer Science discipline, you can safely skip this post.

After doing some hard drive spring-cleaning, I came across the Latex files relating to my master's thesis at the University of Melbourne. Although I undertook a Masters of Software Systems Engineering by coursework, I was able to write a minor thesis in lieu of 2 subjects.

At the time, compilers and type analysis were of particular interest to me, having thoroughly enjoyed the Compiler Design class at McGill several months earlier. In that class, we wrote a compiler for a toy language called WIG and added features to an existing compiler for the JOOS language, a subset of Java. We used the SableCC lexer/parser, an open source compiler compiler written by another McGill student. I remember staying up several late nights before the project was due. It was great fun.

The forthcoming language enhancements in Java 5 provided a good platform for static code analysis and enhancement; a similar paper inferred generic types, for example. I had also competed a survey of programming languages class which compared functional, logic and imperative language (Haskell, Prolog and Java respectively) taught by Peter Schachte. Peter was kind enough to supervise.

With that background, I thought I would post the PDF of the paper I wrote. I'm not sure if this is the exact paper I submitted, and it certainly includes some typos and, having reread it recently, I can see that my writing needed a bit of work. It is very difficult to decipher some of the content. I suspect I used the most complex symbols and wording possible, but I had slaved through reading similar papers during my research so I must of thought that was the best way to do things.

Without any further ado, please find my paper, Inference of Enumerated Types In Java in PDF format. Note that this paper has not been published in any journal, and has had minimal peer review. It is presented for educational purposes only. However, if you'd like to chat about it, do get in touch.


0

Microsoft and Google Compete To Supply E-mail to America's Universities

| Tuesday, August 18, 2009

From Time:

Students have been howling that school e-mail accounts are too small to handle their daily deluge of mail and attachments.

This is the same technology gap I blogged about the other day. Most universities are taking note:

In the 2008 national Campus Computing Project (CCP) survey, 42% of schools reported that they had already migrated or were about to migrate to an outsourced student e-mail service. Another 28% said they were considering switching.

This can only translate into corporate adoption of similar practices. Google hopes this leads to mainstream (read: corporate) adoption of web e-mail.

Even if it doesn't boost short-term profits, Google hopes serving schools for free will help broaden acceptance for Web-based e-mail and software services, says Jeff Keltner, who heads Google's Apps for Education team.

I hope he is right.


0

Writing User Stories - Use Your Cucumber

| Monday, August 17, 2009

I previously wrote a post with some tips about running a user story workshop. It's received a fair amount of traffic, so I thought it'd be worthwhile mentioning a tool I used as a developer which made the idea and implementation of a user story much clearer. It's called Cucumber and it's a behaviour-driven testing framework for Ruby.

If you are a regular Ruby user, there is no good reason why you shouldn't be using Cucumber. If you're not a Ruby-ist, but can program, consider learning enough Ruby to use it, or find out if there are any similar frameworks in the language/platform of your choice. But - and here's where it gets interesting - if you are a business analyst who doesn't know the first thing about coding, get someone to walk you through the basics of how Cucumber works.

Here's why.

Cucumber allows you to write your stories in plain english, but also helps to systematize the ways stories are written so that their scenarios and acceptance criteria are easily (read: automated) testable. For those new to writing user stories, or even those with a bit of experience will find a few worked samples in Cucumber enlightening. It will definitely make you, your stakeholders, and your developers "speak" the same language.

Here's a quick video to get you started.


3

The Technology Gap: The Street vs. The Enterprise

|

I remember reading an article in a men's fashion magazine a few years ago. It said that because the "street" trend was to wear pants lower and lower, this caused the style of "corporate" pants to also have a low waste.

First of all, thank God for that. It was have been difficult transitioning from student clothes to corporate attire had that attire being up to my navel.

Second, this highlights the natural trend that things happen "on the street" before corporations adopt it. This is an interesting phenomenon by itself, and it is interesting how it applies to technology.

Here's a typical scenario.

At work, you probably use Windows XP. Your e-mail experience is either Outlook, which crashes often, or Outlook Web Mail. No doubt, you have mastered the art of sorting your e-mails by date then recipient to track conversations. At home, you probably use GMail. You're conversations are nicely clustered together, and when you can't find something, a quick search is all it takes.

At work, you might even be using Internet Explorer 6. At home, you might be using Firefox, Safari, Internet Explorer 8 or Chrome. All of these things have the killer web browser feature: tabs. Tabs, of course, have been around for nearly 10 years. However, you likely have several windows of IE 6 open, and naturally, because you are using Windows XP, this slows down your system considerably.

Even at Melbourne Business School, I'm somewhat appalled that my Data and Decision class is designed for those running Windows XP and Office 2003. These are technologies from 2001 and 2002 respectively. I use a Mac, but the class relies on a plugin (StatPro) that only works on Windows. I refuse to buy a Windows license, so I'm running a VM with Windows 7 RC and Office 2007.

If the technology and ease-of-use gap between your corporate (and study) technology life and your home life frustrates you, you're certainly not alone. Gen Y and beyond are going to start demanding that their technology experience is not degraded when going to the office. Employers would be wise to take note; the productivity savings could be enormous.

Upgrading Internet Explorer 6 would be a good place to start.


0

Learning Tip: Speed it Up!

| Friday, August 14, 2009

I have recently come of a contract at Tricycle Developments, and one of the projects I was working on was a site called Podshifter. The concept is simple: take a podcast URL, look at the MP3 enclosures, and speed them up. The new iPhone OS likewise has a feature that will play back your normal podcasts at so-called 2× their normal speed (I think it is actually 1.5×).

The revelation here is that we can process audio much faster than we hear it. This is often why we tune people out, even when they are right in front of us. They are simply speaking too slooooooowly. [We sometimes hear tips when presenting to talk slowly. I find this to be a bad idea.]

So, for audio, check out Podshifter or upgrade your iPhone/iPod Touch if you've got one. If you have existing audio files that you'd like sped up, you might give Huffduffer a try to create Podcast with audio enclosures. Then, feed that podcast to Podshifter.

For video, things aren't as straightforward. If you're taking video podcasts on the go, you're probably out of luck. However, if you have a PC or Mac handy, VLC does a good job of speeding up videos. Just press + when your movie is playing. Each time you press it, your movie will play faster. Unfortunately, there isn't an easy way that I know of to export the faster video. If you know, do leave a comment.


1

The Case of the Shaver Shop and a Broken Shaver

| Tuesday, August 4, 2009

In this blog post, I bitch about the Shaver Shop.

Wednesday: The other day I was sifting through some of the remnants of my unpacked boxes from the move when I came across the receipt and extended warranty for an electric Braun shaver I had bought about 18 months ago. It was valid for another 6 months.

Thursday: The next day, the shaver broke. Actually, the trimmer bit broke, which is part of the main shaver.

Monday: I took the shaver, receipt and warranty immediately to the city store. No, they didn't have the model in stock. In fact, this model has been discontinued. But there was a better model in the same series in Highpoint, about a 20 minute drive away. I was told someone would bring the shaver to the city store by Thursday.

Wednesday: I have a very itchy beard.

Friday: A trip to the Shaver Shop quickly revealed that, in fact, no shaver had been brought from Highpoint. Apparently, someone who works in both stores who might bring it fell sick, and that was the end of it. Obviously, I wasn't impressed. They could have easily couriered the item to the city, or just given me something they did have in stock. In the end, all I asked for was some shaving cream (I had some razors, but no cream and I didn't want to buy any). This was rejected: "we can't just give you shaving cream... We'll have your shaver in on Monday."

Sunday: I have a very itchy beard.

Monday: Yes, my shaver did some from Highpoint to the city store. I watched as she accepted my broken shaver and opened the box on the brand new Braun 360 shaver. I thought that this would end up being a great; I would get a new, better shaver 18 months after the original purchase. This is why people buy the extended warranty, isn't it.

Here's what the girl in the Shaver Shop did. She opened the box. Took out the main shaver and removed its head. She then took my broken shaver and removed it head. She placed my old head on the brand new shaver and said "Shaver heads aren't under warranty" and handed me the new shaver with the old head attached. So yes, I now had a shaver with a working trimmer. But still, for my troubles, they could have just as easily given me the whole box, new shaver and all. Instead, somewhere, there is an old Braun 360 shaver with a brand new head (and cleaning base too).

Today: Will not buy another warranty from the Shaver Shop. I suggest you don't either.


1

Melbourne Business School Goes Web 1.9

| Thursday, June 11, 2009

Recently, Melbourne Business School has started participating in various online social communities such as Twitter, YouTube and Facebook. When I worked at MBS, I advocated using some of these services for different reasons and to see them using all of them at once leaves me with some mixed feelings. I thought I'd drop some initial thoughts on the use of some of these services.

Twitter

MBS is using Twitter to promote the "Melbourne Experience." This is definitely targeted at international students and tweets point to things like Melbourne bars and breakfast spots (aside: for those considering Melbourne, we have plenty of such venues). I've been using Twitter for a while now, but I have NEVER used them to scope out a future destination and I probably wouldn't. If I was interested in Melbourne, I would follow a known MBS student and if I was interested in Melbourne, I would follow someone (anyone interesting) who lived in Melbourne.

Advice: Tweet for the benefit of current students. Potential students might take an interest.

YouTube

I advocated YouTube as a no-frills way to host video on someone else's server and get maximum exposure. MBS has gotten this one right; now that the videos are on YouTube, they are easy to embed on their web site and someone else can foot the bill for bandwidth.

Advice: Replace existing videos on the website with their YouTube embeds.

Blogger

Again, this blog seems to target those international students considering studying in Melbourne. I'd say its a better choice than Twitter for this purpose; you really need pictures and a good amount of text to give Melbourne its full accolades. I'm much more likely to browse this blog when considering MBS than I am to do Twitter-related activities.

People's experiences in Melbourne are diverse, and Melbourne has a lot to offer. For example, I don't care much for footy, but I do know a lot about where to eat and the IT industry in Melbourne. I'd like to share, but I don't have a proper outlet.

Aside from this blog, students also have a Dean's Blog and I see no reason why they can't be combined.

Advice: Combine multiple blogs into one. Consider guest authors covering niche topics for potential students.

Facebook

The most likely to be vandalized or result in some PR disaster (except for perhaps MySpace which I'm not going to cover because I'm not a teenage girl), Facebook is a high risk, high return adventure.

The duplicate content between here and the blog worries me, mostly because if this process is not automated, it can become very difficult to manage. But let's face it, people are Facebook-addicted and what kind of social media experiment would be complete without Facebook?

Advice: Try to synchronize content across the blog, YouTube and Twitter to Facebook. Watch the posts carefully.

LinkedIn

The problem with LinkedIn is that it fails to draw a distinction between people who work at MBS and those who study there. This a problem, as students generally don't care about the career path of former MBS employees nor do they particularly care to link up with, say, a former IT business analyst there. New students are not "new hires" and seeing that on LinkedIn just seems wrong.

Advice: Keep LinkedIn for staff. If staff, especially faculty, keep their engagements up to date, this will intrigue potential students who are interested in research and general academia.

Conclusion

This post is really nitpicking. MBS has taken a great step forward and should be commended for pursuing different channels for delivering their message and connecting to current and future constituents.


1

Bicycle Registration Article in The Age

| Sunday, May 17, 2009

Update: Someone has noted in the comments that Flip is female. It was probably Flip herself. Apologies to Flip for this unfortunate mixup. This is why I'm not a journalist. I also removed some harsh wording that was, frankly, a inappropriate.

In today's age, Flip Shelton talks about cyclists on Melbourne's roads:

AS A cyclist, I say bike registration is a must — but not so narrow-minded car drivers can ensure that the few cyclists who flout the law can be held accountable.

OK, so he she doesn't exactly get most people on his her side by calling them narrow minded. I'm so ambivalent about this article that I just had to put out there for discussion.

On the one hand, he she makes a good point the drivers do not understand what it is like to riding a bicycle or a scooter with cars. He She argues that since she occasionally rides a scooter, she has a better appreciation for those on the road riding scooters.

This seems like common sense, but consider this. After riding my scooter for a couple of months, I was nearly hit by car on King Street who, without indicating, switched into my lane, forcing me to swerve and stop short. I fell and received some nasty scrapes and bruises. A few scars remain, reminding me to always listen to my mother. Who was the driver that hit me? A very apologetic motorcycle rider who happened to driving a car that day.

So strike one against Ms. Shelton. Let's not go and base public policy on your singular experience.

Ms Shelton recommends that all road users gain experience cycling, driving and riding a scooter. But come on! This is surely too narrow. Has he ever considered the plight of a tram user who alights on Swanston Street at 9am to be nearly hit by a minivan driving by Chinese tourists (also me). And what about those pedestrians that have to dodge cyclists on the footpath who try to squeeze in between families with little kids as they are walking down Lygon Street near the busy pizzerias (also me, minus the kids).

Strike 2 for not being ambitious enough.

And finally, as the above exert says, Flip wants me to pay her for assuming the risk of riding a bicycle. She thinks we should be thankful that she is decongesting our roads. How noble! What about those who chose to live close to where they work? Should we receive government incentives? (In fact, the converse is true; new homes, usually in the outer suburbs receive the highest grant from the government). What about public transport users? To think we actually pay to use the tram! I've got it all wrong: the ticket machine should be paying me for staying off the road!

Strike 3 for being so self righteous.

Let's have a little compassion, sure. You ride on the road and not on the footpath and I promise to try very hard not to hit you. For the most part, I'll take the tram, relieving congestion on the road for cyclists and cars alike. And I'll continue to pay for it and not feel too bad about it. I'll occasionally assume a higher risk than you by riding a scooter, but I won't expect a cent from you. And yes, I have paid a premium to live close to the city too. I enjoy my walks to the supermarket.


0

Apologies for the Reposting

| Friday, May 15, 2009

I edited an old post to fix some minor typos and most of my posts were redelivered via RSS yesterday. Sorry if this annoyed you, but I can't promise it won't happen again.


5

Buying a Puppy

| Thursday, May 14, 2009

I've settled into my new apartment and have recently started a new job. The next thing on my to-do list was getting some company. This is my first time living alone ever and while I'm getting used to it (and frequently have friends over), I just couldn't resist the urge to get a dog.

I had considered many different breeds and did quite a bit of reading. In the end, I had narrowed it down to a few pure and "designer" breeds including pugs, puggle (pub x beagle), pugalier (pug x cavalier king charles), samoyed, labradors and golden retrievers. And yes, I know there is quite a variation between the beginning of that list and the end.

In the end, I saw a litter for sale of a combination just too good to refuse: a samoyed crossed with a gold retriever (a "samriever" if you like).

I put a deposit on "Tigger", a male samriever about 2 weeks ago. He's about 4 weeks old now, and he'll be coming to Melbourne in a couple of weeks. He's a picture I just got from the breader.


1

Moving to Ruby Full Time

|

I recently started new job, which has involved near full time Ruby on Rails development. I have previously done some minor projects in Ruby and Rails, but for the most part, I have been using some combination of ColdFusion, Java and PHP for most of my professional career. I thought I would note some of my observations about using Ruby as compared with some of the other languages.

Readability: Ruby is well known as the "glue that doesn't set" meaning that Ruby code remains easy to read, even after a leaving it for a significant amount of time. This is hard to argue with. Anyone who has ever explored a Rails model or read an RSpec test can easily see some of the virtues of Ruby. Compared to most language, Ruby wins hands-down. But, the problem arises when it comes to

What-the-hell-is-going-on-ity: The readability of Ruby comes from its many metaprogramming features. RSpec does a great job of adding the right methods to Ruby classes, as does Rails. But this means that a lot of code or methods are added for you. Control flow and the definitions of methods become difficult to pinpoint. The more simultaneous frameworks you use, the greater chance of confusion. All this while your code remains quite easy to read. But what about trying to debug or add new features. This is where the problems start to creep in. By using the much more verbose Java, we can still have our dependancies documented and explicitly referenced in our code. Yes, this creates noise which makes our code harder to read, but it also leaves breadcrumbs as to what is happening.

Community: This is sometimes overlooked when considering which language to learn. It doesn't just matter the size of a community, but the quality of it. ColdFusion has a relatively small community, but is active and friendly. I can easily name the hot-shots of ColdFusion and I can subscribe to their blogs with too much information overload. In contrast, the Java community is probably too big. Frankly, I wouldn't know where to start when looking for blogs to subscribe to.

Ruby is a funny creature. The Ruby community seems small. On the other hand, the Ruby on Rails community is large. It's rare to find a Ruby programmer who doesn't use Rails. And Rails certainly has its "key people" and finding Rails tutorials and podcasts is pretty easy. You're not likely to find such a wealth of knowledge for most other frameworks like Model-Glue or Spring. But if you're interested in Ruby qua a programming language, you can get a great start here, but good luck after that. This can keep you from writing really excellent Rails code for quite some time, somewhat delaying superior readability of your Rails code.

Perception: Justified or not, ColdFusion gets a bad rap as dying and/or expensive platform. I've been hesitant to dive head first into the world of ColdFusion since I'm unsure of its future. Ruby, by all accounts, is, has been and will continue to be on its way up in the world. Rails too. With its adoption on the JVM and .NET, its attraction will only grow. Java, in comparison, seems stale and while its probably not going anywhere, it's best days are probably behind it.

Employability: Most Ruby jobs are Rails jobs. Knowledge of other frameworks are usually not required. Although Rails incorporates features from a number of frameworks in the Java world (Hibernate plus Spring MVC, for example), it is still a single framework. You either know Rails or you don't, and it is rare you will receive a Ruby language exam when applying for a Rails job. In contrast, Java jobs often require in depth knowledge of Java (garbage collection, intricacies on serializability, the Liskov Substitution Principle, etc) and knowledge of several Java frameworks (Java EE, Spring, Hibernate, Axis or whatever). This is a lot know, and it forces Java programmers to pick their niches early in their career and makes it hard to break out of it. For example, can you really go from being a Spring middleware guy to write UIs using the Google Web Toolkit? Not easy, to be sure.

ColdFusion has the opposite problem: if you know the language, that is usually sufficient. Sometimes, experience with an [any?] MVC framework is desired. Of course, if you know Rails, for example, then you do know an MVC framework and really shouldn't hesitate to apply.

Sum it All Up

So what does this all mean for you? Well, if you're interested in the web space and you don't mind somewhat limiting yourself there for the time being, Rails is a good place to start. But because you probably don't know Ruby of Rails, there is going to be a steep learning curve.

If you have confidence in ColdFusion and its future, I have certainly enjoyed my team in that space, but you should really force yourself to understand and integrate with the Java world that powers it. That should cushion you, just in case pessimists like me are right. Learning an MVC framework like Model-Glue, or learning to integrate with Flex front-ends would be time well spent too.

If you've just finished university, chances are you already speak Java. This is great, but is really just the beginning of the skills you'll need to work in the Java world. Learning a couple of Java frameworks (Spring and Hibernate go well together) should help you find that first good job.

If you are otherwise an experienced Java guru, look at Rails with JRuby. You might realize you have been writing way too much code that nobody else can read.


1

Tools of the Trade

| Wednesday, April 1, 2009

When at work, many of us are using Windows when are hearts might be elsewhere. As I wind down work with my current employer, I'm taking not of the tools I installed over the past 18 months which has significantly boosted my productivity. Here they are in no particular order.

Confluence

An enterprise wiki developed by a very switched on Australia company, company has been a great tool to share knowledge. Since we adopted it, I don't believe there has been a single file stored on the shared drive. Everything in Confluence is searchable, taggable and can be edited without opening Word.

Mingle

I've blogged about Mingle before, but its worth repeating: Mingle is a great tool. Its easy to use and does a very small amount of things reasonably well. Unfortunately, it was introduced into a team which wasn't very disciplined with project management (and our one project manager left several months ago) or time tracking so it didn't transform the way we work as much as I would have liked. However, if anything was going to work, Mingle was it.

ObjectDock Plus

ObjectDock is a Windows utility which mimics the dock on Mac OS X. Aside from the nice looks (it does suprisingly well, even with very low quality icons), it definitely increases your productivity. I have basically eliminated using the Start menu and can quickly open documents with specific applications just by dragging them to the dock. I use the Plus version and it money worth spending. I am able to move my system tray to the top of the screen (like the Mac menu bar) which makes a bigger difference than you would otherwise expect.

Google Chrome

The early adopter that I am, I quickly tried out Google Chrome when it was released. It turns out the speed is the killer browser feature. I've strayed to other browsers on occasion (Safari 4 Beta isn't bad) but I keep coming back to the Chrome. Lots of you out there rely on Firefox and her extensions. I hear you, but that's just not me.

Excel 2007

Nothing has improved my ability to analyse data more than Excel 2007. It seems to crash less than most Office applications, and the way it handles pivot tables is surely the way nature intended. The is extended to how it works with OLAP cubes; Excel is definitely my preferred OLAP client. For added value, impress your boss by using the data mining plug-in to do some incredibly useful tasks.

E

E is a text editor for Windows based on Textmate for Mac. I still prefer Textmate, but E comes close. I was never able to get the Cygwin integration working, but then again, I'm not as big a Unix geek as some. Still, e is a great lightweight text editor that gets out of your way, quickly opens files as text (even if they're not) and is always a right click away.

Jing

Jing is a very lightweight tool that allows you to quickly take screenshots or screencasts. It is free and has almost no features, but I wouldn't use anything else. It sits on the edge of your screen as a translucent sun, waiting for you to click it. When you do, you decide, image or movie, and off you go. You can't edit videos, but you can draw, highlight and annotate screenshots. Its always available, doesn't consume many resources and "just works". Combining Jing and Confluence can create a very simple but powerful platform to document your software systems and create how-to guides for your users.

This is an image taken using Jing that brings it all together: Chrome + Confluence + Jing + ObjectDock.

image
0

The Biggest [Fake] News Story

| Saturday, March 14, 2009
This week, a very public war of words erupted between John Stewart of The Daily Show and Jim Cramer, host of Mad Money. If it wasn't obvious to me before, but I now I realize two things: the media can be an important advocate for the public, and they failed miserably at that task.

[Unfortunately, Viacom isn't so progressive as to allow embedding of their video clip, but the full, unedited video is on their web site.]

I'm thankful that we now have so-called alternative news sources. One, unfortunately, is The Daily Show. It seems that John Stewart really cares about America. Cares in a way that allows him to ask the difficult questions and hold those responsible to account. If anything, I hope this financial crisis in the States helps people to realize the bias or poor job their news network of choice is offering, and also to take some responsibility for finding things out on their own.

I think Americans (including me) can blame their leadership for some of this blase attitude towards the truth. Its easy to blame W., who praised people like Michael Brown, head of FEMA during the Katrina fiasco. But lets not forget Clinton and Nixon.

But, of course, we need to take some responsibility ourselves. Here's a simple way to start. Before you forward an e-mail, usually one with a political agenda, but most e-mail forwards would do, double-check that it is factually accurate. I still get a bit angry every time my father forwards an e-mail that is totally inaccurate. A simple Google search, taking no more than 30 seconds of your time, can quickly debunk almost any e-mail you are about to forward. A good place to start is Snopes.


0

You Know You're A Geek When...

| Monday, March 2, 2009
Today I got an e-mail with the subject "Lightweight Layers for Spring."

I thought it was about the Spring Framework. It wasn't. 

It was for the new clothes line for Spring for a shop in the States.
4

Running a User Story Workshop

| Saturday, January 24, 2009

Today, I tried to run a workshop to gather user stories for a project over in Mt Eliza. (This meeting was also notable because of the ratio, 9-1, of women to men.) I took the approach outlined here which basically suggests several iterations of user story writing, followed by several iterations of writing acceptance criteria. I've run a couple of workshops like this before and a lot of similar things keep coming up which I think limits the benefits. Here are some things I'm going to try next time to help improve these workshops.

Address "How Do this Project Affect Me"?

Many of the users at the workshop are our frontline employees, those with the most to gain (and lose) from any new system or change in process. As with any good IT project, there is always the potential to make existing employees obsolete. Any changes should be communicated to the employees so they can feel secure in their job and comfortable that they can still perform well.

Know Your Audience

In this particular meeting, there was about 15 people there. They all had different needs and requirements, some thinking that this project probably didn't apply to them. An informal catchup with groups of like-minded stakeholders would smooth the user story exercise.

Stories First. Platform Later.

Many IT projects are run in near reverse order: first the technology platform is chosen, then the stories are written, estimated, and prioritized. I've italicized estimated because this is step most affected by your existing technology choices. Quite simply, using off-the-shelf software makes some things trivially easy, while others are outrageously difficult. Choice the platform (or build it from scratch) in a way that will minimize estimates across the board. To be successful here, intuition becomes key since there are and will be just-in-time requirements.

Education Your Constituents

"We don't know what we don't know." "Is this even possible?" "Here's a stupid question: ". These are comments I hear all the time. The problem stems, at least partially, from people simply not knowing what IT can do. I think this quite unfortunate and I'm often puzzled by those who claim to "not be computer savvy." Who hired these people, and why aren't they receiving training?

Before these workshops, we should fill some of these gaps. If we know this is a content management-type project, let's demo three very different kinds of content management systems. If anything, this can be fodder for people's imagination during the workshop. Hopefully, it stimulates discussions between people and their managers and can often put people at ease on the relatively low learning curve involved in new systems.

Come with Examples

It's hard (at least for me) to give good, relevant examples of user stories on the day. Bring a few user stories that were actually implemented in a previous, high profile project. Show the life of this story, from workshop, refinement, implementation, testing and so on. Ask: given this user story, do you think it is done? How could this story have been written better?

Wrap It Up

In the end, these workshops are important, but the project really takes shape after a few of those first stories are implemented. Don't be afraid to change direction nearly straight away. It's way better than throwing something away after it is completely "finished."


0

Microsoft Has Technical Support Too

| Friday, January 16, 2009
I'm convinced that Microsoft indirectly employees thousands of help desk employees throughout the world. These are the brave soldiers troubleshooting problems with Windows and Office in most corporate offices facing angry office lemmings just trying to do their job. In a  way, I'm grateful to Microsoft; my first real job lasted so long primarily because of all the bugs in Windows and Office and the fact that most Windows applications tend to conflict with each other, not cleanly uninstall themselves and consume system resources inversely proportional to the utility they offer (I'm looking at you, Outlook).

One thing I never did though, was call up Microsoft Technical Support. We just accept that software will break and crash and hold Microsoft to zero account. Instead, the world's help desk employees can go through various troubleshooting steps which often involve either reinstalling the offending application or the entire operating system (a so-called rebuild). 

Why the reluctance? I suppose this can be expensive (I've been told that in one company, they treat the hours on the phone with Microsoft like "gold"). This assumes, of course, that the idle employee waiting for someone to troubleshoot their computer is a better alternative. Sometimes, companies can be so misguided. 

It also assumes that will actually be charged by Microsoft. From what I hear, Microsoft is fairly liberal in waiving charges for things that were its fault.

So I'm putting the challenge out there to the world's help desk workers. Next time someone brings you a problem that you can't easily solve (Outlook losing calendar invites, for example) insist on calling Microsoft before running through the ridiculous step of uninstalling the application or worse. Help desk should be for helping with the day-to-day operations of a computer, not for rectifying the arrogance of a monopolistic software vendor.
0

Using Google Analytics to Track My Job Prospects

| Monday, January 12, 2009
I use Google Analytics to track visits to both my blog and my personal web page. One feature present in most analytics systems is tracking the keywords people used to get to your site. This helps with such dark arts as search engine optimization where you might try to increase your relevance in searches using so the so-called "organic" listing.

My blog generally receives traffic form Google searches, and the eclectic nature of my blog is reflected in the multitude of search terms people use to get here. Common topics are ColdFusion, marketing, Microsoft and Melbourne Business School. I think that's a pretty good mapping to the actual content.

On the other hand, traffic to my personal site, which has almost no content whatsoever, is driven almost entirely by a single keyword search: Scott Arbeitman. Again, that's a pretty good mapping to the content of my personal site. But who are these people who Google me? From the topic of this post, you might have guessed: recruiters. IT recruiters, to be exact. They usually find my name on LinkedIn or some forum discussing technologies they might be trying to find someone with skills in.

Recently, I have seen the traffic to my personal site drop off considerably. People just aren't googling my name as much as they used to. The reason, no doubt, is that there are simply less recruiters trying to hire IT staff in Melbourne with my credentials. That's not a worry to me at the moment, but for my peers looking for work, hang in there! And for God sakes, start blogging. At the very least, you'll know if people are googling you.
1

Accounting for Managers... Applied

| Thursday, January 8, 2009
In Melbourne Business School, one of the core MBA classes is Accounting for Managers which covers many topics in accounting that are important for managers. One cornerstone of accounting is when to treat a cost as an asset (capitalized) and when to treat it as an expense. A cost can be capitalized when:
  • it is likely that future economic benefits will arise
  • that amount can be reasonably estimated
Apparently George W. Bush, himself a Harvard Business School graduate, does not understand this distinction, or doesn't apply conservatism -- another key accounting principle -- when dealing with the American people. I immediately recognized this when reading this article from the New York Times:
But one reason that the agency’s deficit estimate was higher than those of outside analysts was that it added in hundreds of billions of dollars in spending tied to the government’s existing bailout programs, which the Bush administration has thus fare treated as “investments” it would recoup rather than “spending” or “costs” that are down the drain.
In other words, the bailout cannot be treated as an asset; it doesn't fit the above criteria and therefore must be expensed.

That worries me.