kdmurray.blog

Thoughts and opinions of a technology enthusiast.

ASP.NET MVC Tutorials

A couple of weeks ago at Mix ’09 the ASP.NET MVC team announced the RTW (release-to-web) version of the MVC framework. I’ve been looking at the framework and playing with pieces of it for a few months now, but due to school & work commitments haven’t really had a chance to give it a good run through, or build anything meaningful with it.

This past week I’ve gone back to the ASP.NET website and discovered that there is now a long list of tutorials which have been put in an order to help make the major features of the MVC framework more learnable, particularly for those of us who haven’t had that MVC-heavy comp-sci education.  The tutorials come in either written or video form (there is some overlap) and do provide some good step-by-step instructions for exploring the new methodology.

Expect me to get into more detail about the ins-and-outs of the MVC framework in upcoming editions of the new podcast (more details soon, I promise!!)

You can, of course, download and use the MVC framework with Visual Studio 2009 without the tutorials, but I would highly recommend giving the first few a once-over.  Have a look at the tutorial site and see what you think.

Security on the Mac

Recently I came across a discussion on a Mac forum with some people discussing how shocking it was that Apple had been recommending that its Macintosh customers consider using anti-virus software.  This is a discussion that has always raised my ire, as the supposed superior security of the Mac has always been an issue of numbers.

No operating system is perfect, they’re all designed by people and are full of flaws as a result.  It’s important to keep in mind that one of the reasons that Mac OS X has had precious few problems with viruses and other nasties is market share.

Writing viruses is much like sending out mailers for advertising your new business. The more people you reach with your message (or malware) the more people you’ll connect with (infect).

If you want to infect lots of people, you write your malware for Windows.

Five years ago the market share of the Mac was in around the 5% mark, meaning that if you wrote a virus for the mac and distributed it to 20 million computer users you’d infect 100 people (at a rate of 1 in 10,000). If you write for Windows and infect people at the same rate, you’ll infect 1900 people.

With the market share of the Mac increasing, so does the surface area for attacks. Many Mac owners have become complacent over the years believing that they are safe because they use a Mac. As a result the infection rates of Mac systems could be much higher than Windows-based PCs if malware authors decide to target the Mac platform.

Food for thought.

5 Things You Did See At Apple’s September Announcement

So now that all the hubbub has come and gone, I’m pleased to announce that I was 100% correct in my non-predictions for the Apple event.  So I thought I’d come back with a review of just what did make the cut, and tell you about the my top 5 from the “Let’s Rock” announcement.

New iPod Nanos — No surprise here, at all.  Announced today, shipping sometime between now and Christmas, a return to the slimmer, sleeker design of the iPod nano.  The screen is much larger than the Gen 1 and Gen 2 nanos, and the ipod is now oval shaped (read: won’t sit flat on a table).  It also comes in about a dozen different colours.

“New” iPod Touches — Though not receiving anywere near the revision that the nanos did, the iPod touch now sports new side-mounted volume controls and a small external speaker.  Both of these will make the App-store games much more fun to play.  I’m sad that they’ve chosen not to integrate a microphone (though the exclusion was one of my predictions), the external volume controls will be a very handy new feature.  I wonder how hard they had to convince Jobs to abandon his “no buttons” policy?

Apple & NBC Kiss & Make up — Again, not a big surprise, NBC is returning to the iTunes store.  All your favourite syndicated NBC crap will once again be available in iTunes.  Meh…

iTunes 8 — The next version of iTunes is out, and it sports a fancy new “genius” feature whereby Apple takes a look at your listening habits and makes recommendations.  It’ll also build playlists for you.

iPod Touch / iPhone Software 2.1 — A revision of the software for the two fanciest iThings to hopefully fix the bugs and constant crashing that have plagued the devices (even 1st Gen iPhones / iPod Touches) since the 2.0 and 2.0.1 releases.  I sure as hell hope it’s stable ’cause I’m planning to get a new iPod touch to replace the one that “disappeared” somewhere in the Minneapolis airport.

So there you have it.  5 things that actually did happen, to go along with the 5 that didn’t.

5 Things You Won’t See At Apple’s September Announcement

So I’m lying here, unable to sleep, not because I’m dreaming up what Apple is going to announce tomorrow, but it has given me some time to think.

There’s been lots of ideas floated around, so I figured I should jump into the mix now before the news so I can call these predictions of things you definitely WON’T see

The iPod Touch with a built-in microphone and bluetooth — This would harshly cannibalize iPhone sales, particularly given the cost of iPhone data plans.

iTunes Music Subscriptions — People like to own their music. ’nuff said.

iPhone Revisions — Not a chance, with the 3G iPhone barely 3 months old, there’s no way that Apple can justify a revision already.  The backlash from iPhone early adopters last year will be a lesson.

The “MacBook Touch” — Even though a niche of Apple fans would love to see a Mac tablet to compete with all of the Windows based tablets out there, it just doesn’t make up a large enough piece of the overall computer market for Apple to try to carve out a piece.

Beatles Music in the iTunes Catalogue — Despite recent notions from some pundits that the Fab Four’s music will be part of the “Let’s Rock” announcement, there have been far too many false alarms for this to be the case.  Besides, the music is being remastered right now and will probably go through some kind of digital release next year once that’s done.

So there you have it, the five things you definitely won’t see at the Let’s Rock announcement.  Now we can sit back and see what the all things “i” maker will announce later today.

We’re Back! Aussie Geek Podcast Episode 001 Is Out!

We are back!!

It’s been a long month but after a couple of early glitches and a fight between WordPress 2.6 and PodPress the first official episode of the AGP is out.

We all missed doing regular shows during the forced hiatus and it showed in the show.  There’s a lengthy out-take at the end of the show.  If you haven’t subscribed to the new feed yet, do it now! Either by RSS or through iTunes.

Investigating the ASP.NET MVC Framework

Over the past few months I’ve been hearing more and more about a new framework being developed by Microsoft and the ASP.NET community.  It’s something that will bring a very common coding practice from the Java world and that’s the pattern of the model view controller (MVC) framework.

Due to the covoluted nature of my own school experience, I haven’t had much in the way of formal exposure to MVC concepts.  In fact it wasn’t until about 18 months ago that I first heard the term when we were rolling out a new Java framework at work.  This was a pretty major shift in direction for my team as we’d been using ASP.NET and webforms to do web application development for the past few years.

The transition hasn’t been an easy one.  Most of the folks involved in the project are new to the company, new to the working world in general and the training on MVC was at a minimum.  (I’m leading a team to replace that framework now, but I’ll talk more about this in some future posts.)

So over the past few months I’ve been reading posts by Scott Guthrie and listening to every episode of the Polymorphic Podcast that I can get my hands on.  The PMP in particular has proven to be an excellent resource for information relating to the ASP.NET MVC framework.  Craig Shoemaker regularly brings on guests who are experts in the field of .NET development and key players in development of the framework.

Over the next few months (in amongst my myriad other projects) I want to take a closer look at the MVC framework and see what all the hype is about.  I need to figure out how to get a decent windows development environment up and running.  For that I’m thinking about returning to a Boot Camp setup to give me a bigger boost when running my Windows environment locally on the Macbook.

Since my new role doesn’t involve a lot of development work, I’m really looking forward to getting my hands dirty again, and diving under the hood once again.

New Desk – Recycling for Geeks

Getting organized… setting up your geek space.  These are things that some of us find very scary propositions.  My physical life has always been something of an organized mess.  Recently I made (or was suggested to make) a drastic change in the way that my office was laid out (read: it was time to clean it up).

First, the before.  Click through to get a full view of the disaster that was my office.

In taking the opportunity to do the cleanup, I decided it was time to replace the small Ikea computer desk which had served me faithfully for about five years, but is just too small to accomodate all the gear that I use on a regular basis (podcasting setup, flat-panel, printer, server, etc. etc.).

To set up the new desk, I decided pretty early on that it wasn’t going to be another $149 Ikea special.  Though the products work well for me in most cases (judging by the amount of Ikea stuff in the house) it just isn’t rugged enough to go into my daily-abuse-cycle in my office.  No, I decided that I needed something stronger and more durable.

I also decided that I wanted to have a hand in designing and building my desk but at the same time put as little effort into it as possible.  I finally decided on a DIY geek project involving only three main components.

I picked up a couple of basic filing cabinets from a local office-supply store to make-up the legs of my desk.  The cabinets are two drawer letter-size (A4) filing cabinets which are about 29 inches in height, and 26 inches deep.  Long deep file drawers were a must, because I found a very special desk top.

The top of the desk came from the Habitat for Humanity ReStore.  The ReStore sells donated building supplies to contractors and DIY-ers with all proceeds going to support the local chapter of Habitat for Humanity.  The unit itself didn’t start out life as a desk, but as a door.  That’s right a door.  I picked up an eight foot by three foot door that sits proudly atop the two filing cabinets, and gives me a huge open expanse of desk top to store all my gear.

Surprisingly enough, within days of me devising this particular desk strategy, Knightwise did an episode of the Knightcast entitled “KC0013: A Geek’s Palace” in which he described an almost identical desk setup.  Nice to know I’m in good company. :P

So anyway, the office is much tidier, and my new workspace is working out brilliantly.  I now have sufficient room to spread out all my gear, and not have to sit a secondary keyboard on my lap if I need to access another computer.

The image above shows all the stuff in “the nerve centre”.  From left-to-right:

  • Ubuntu Server (with my wife’s photo, box-o-batteries and 500GB WD MyBook)
  • Keyboard and Mouse for the server (I don’t have a USB KVM yet…)
  • Coasters from the Grasshopper
  • Behringer XENYX-802 mixer (for podcasting)
  • Behringer C-1 Condenser mic (also for podcasting)
  • Labtec speakers (I’m too lazy to crawl down and look up the model number on the sub)
  • Samsung SyncMaster 2253LW flat screen
  • MS Natural Keyboard Pro
  • RSA authentication fob for VPN at work
  • Apple Bluetooth Mighty Mouse
  • 13″ MacBook
  • HP PSC (P.o.S?) All-in-one printer
  • Obligatory tin of Altoids

So be good and organize your gear.  Get yourself a nice flat surface and get your geek on.  :)

Hardy for the Home – Part One: Gearing Up

One of the projects that’s kept me busy for the past couple of months (30 minutes at a time…) has been the realization of my home server strategy.  I’ve decided to start a multi-part series on both the hardware and software setup that I’ve chosen and will link to some key resources for anyone who might want to take on a similar project.

In the house, we’ve got four computers running various editions of OS X and Windows.  What I’ve been looking for is a solution which would serve all these platforms seamlessly.

The first part of the project was to sift through the guts of all the computers that I had in my house and see if I could get something put together which would serve the duty of the home server.  The server needed to perform a few specific functions:

  • Backup Server
  • Web Server (LAMP)
  • SFTP Server
  • DNS Server

In addition, I may extend the capabilities of the server to include:

  • VMWare Server
  • TorrentFlux Client

With those requirements in mind I set about scrounging through the working, and not-so working hulks that I had laying around the basement.  I was able to come up with the following configuration:

  • P4 1.5GHz
  • 512MB DDR SDRAM
  • 3 NICs (Onboard + 2 — will explain later)
  • DVD Burner (just in case)
  • 2x 80GB IDE Drives
  • 1x 40GB IDE Drive

The first priority is to get some backups going for the house and get some of our data copied.  There were two priorities for the backup: seamless and automatic.   This last item is particularly important because as many experts have noted a backup is useless unless it will happen automatically for you.  If you have to think about it, you won’t do it.

After looking at the hardware configuration it was obvious I was going to need some additional storage.  2 80GB drives would hardly do to backup data from four separate computers.  So I picked up a 500GB Western Digital MyBook.

And with that the gear was complete.  Now all I had to do was image the franken-box with a copy of Hardy Heron and actually put it to use.

Technological Dependence

At what point did I become completely dependent on my technology?  I mean, I can remember a time when I didn’t carry  a cell phone.  Sure my life was simpler back then, but even doing some simple tasks today seems all to difficult without the phone.

Photo Credit: Marcin Wichary on FlickrAs these devices have made their way into our lives, the concept of convergence has helped them stick.  Two hundred years ago, the only way to communicate with someone was either in person, or by post.  Then came the invention of the telegraph.  This would allow someone to send a text-message to someone in another city by way of an electrical current.  Really, this was the predecessor to email, fax and text messaging.

Seventy years later, Alexander Graham Bell was busy working on a device to help his wife hear, and in the process managed to invent the telephone.  Imagine, being able to have a conversation with someone across the country much the way you would if they were sitting in the next room.  Before long these technologies began to make their way into every home in the Western world.  You could contact anyone, at home or at their place of business and speak to them directly.  The information age was upon us.

By the time I made my way on the scene in the early 1980s phones were commonplace, analog phones were beginning to give way to faster and higher-capacity digital phone systems.  With these came the advent of the modem — a device solely designed to translate analog telephone signals into digital signals for processing by a computer.  The age of the Internet was beginning.

This brings me to the 1990s and the start of my serious involvement with technology.  I was fascinated by the ability of computers to connect and talk to each other pretty early on.  Being able to exchange files with my friends via the local BBS was quite amazing to me at first, but soon became a primary method of communication (even if it did take an hour to download a file over ZMODEM on my 2400 baud modem!) for passing geekery, photos and games back and forth with a few friends who “got it” early on.

As technology continued to improve, so did my Internet experience.  We soon upgraded to a 56k modem which allowed us to download more than 20 times faster.  I could download the new 1.2MB Wolfenstein Demo (which wasn’t really new) in only several minutes.  But this really was only beginning, because a few short years later came ADSL.  This may have been the beginning of my technological dependence.

Photo Credit: rebelniko on FlickrAs things were progressing on the home Internet side of things, things were also progressing with my own personal communications.  By the mid-1990s (sometime between 56k and ADSL) I managed to convince my parents to buy me a cell phone.  A communications device of my very own.  We had tried to convince our parents to get us a second phone line, just for the kids.  Something they begrudgingly did as the Internet became more popular because, well, they couldn’t get or make a phone call after we came home in the evening.  But back to the cell phone, my first phone was what I liked to call the Motorola “Brick”.  I don’t know the exact model for it.  This phone lasted me for about three years and quickly became my constant companion.   This may also have been the beginning of my technological dependence.

When I speak of my technological dependence, I do so in the context of activities that I used to be able to do unassisted, but which now seem to require some sort of technological intervention.  Let me provide an example.  When I go to a large event, or even a shopping mall with friends or my family, often times we’ll split up and explore individual activities.  If one of us has forgotten their cell phone, or has managed to run out of batteries this tends to propose a rather large problem: how will we meet up later if I can’t call Jimmy on his cell phone?  In these instances I’m reminded that I haven’t always had a cell phone, and at some point in the past nobody did.  How did they manage to co-ordinate their activities?  Pre-arrange a meeting time with friends?  Wow.  What a concept.

In other cases the technological dependence has taken the shape of changes in the fundamental ways that we conduct certain activities.  For this example, I’ll employ an experience from a recent trip to the airport.  When checking in at the airport the airlines now have a vastly reduced number of check-in agents.  Why?  Because all they need to do now is check your bags and place a sticker on them.  Your boarding pass?  You deal with that at a computer terminal before you queue up.  Not handy with computers?  Well, you’ll just have to figure it out for yourself.  The process is entirely computerized.  Add to this that all the security equipment is powered by computers and you’ve got a pretty technology dependent industry.  Never mind a power failure.  If there were to be a major failure in an airport’s computer network (border router failure, cable cut) it would put the entire airport out of commission until it was fixed.

Photo Credit: AlexMuse on FlickrIn still other cases our dependence shows in our inability to follow the guidelines that technology gurus have been spouting for years.  The one that comes foremost to my mind is that of “Backup! Backup! Backup!”  The majority of people who use computers on a daily basis don’t back up their data regularly, if at all.  I’ve been guilty of this myself on occasion, and have been remarkably fortunate with relatively few disastrous events though I’m far from immune to the data-loss syndrome.  Our lack of ability to simply copy and paste data into another location is astounding.  As with most things in life it’s the people who’ve had the most dire failures who tend to be the advocates for helping people to avoid future catastrophes, so considering their wealth of knowledge, why don’t we listen?

Now despite my deliberately negative slant on the first two examples of technological dependence, the news isn’t all bad.  Technological dependence is simply and indication of how society has developed technologies which are so useful that they’ve permeated the daily lives of billions of people around the globe.  What we need to do as a collective in the years and decades to come is to develop methods to keep the technology we use sustainable and mitigate failures of the technology so that only the most disastrous events could ever disrupt the service.  Some of these solutions will be high-tech solutions that will require investment in infrastructure or new product development.

For the airport example, and admittedly this is something that is probably already done to some degree, ensure that there are multiple points where a network connects to the outside world.  By ensuring that network infrastructure is made redundant and is kept as physically separate as possible, the airport can continue to operate with little or no time spent with systems being offline.  The same would apply for connections to the power grid.  Though simple in concept, a solution like this is relatively complex compared to those for some of the other problems I presented.

Photo Credit: Kevin on FlickrThe backup problem represents trying to a fundamental behaviour in people: we’re lazy.  The only backup solutions that tend to work very effectively are those which are automated and which we don’t have to think about unless disaster strikes and we need to recover our data.  To solve this problem there are a few possibilities.  Backup services which with only a few clicks of the mouse we can connect to and have them store our data.  Easy enough for most people, and as long as you’re happy with your information sitting on some company’s servers this is a viable solution.  The second (and admittedly more complex solution) is to back up everything to an external hard drive and store that in another location.  This requires planning, forethought and at the very least a spare drawer in the desk in your office to store the drive offsite.  This also requires more up-front investment than the previous example, but doesn’t have any ongoing monthly charges.  In both cases the backup can be relatively automated and off your mind.

Let’s not forget about that pesky dead cellphone problem either.  There is one really easy solution for this one too.  Plan ahead.  Try it sometime, all the cool kids are doing it.  By agreeing on a predetermined time and place to meet up, you can avoid those nasty “Where’s Jimmy??” scenarios and save on precious cellphone minutes to boot!  Now if anyone raises their hand and says that “but I use my cell phone to tell time?  I can’t check the time if I don’t have my phone!” — I have two solutions for you, ask someone or build a sundial.  Oh wait; you probably need the internet access from your phone to get the sundial instructions off Google… scratch that.  The second solution is to bring your iPod.

Photo Credits: marcin wichary, lady madonna, rebelniko, alexmuse, kevin

Emailing the Mayors from Boston’s Free Wi-Fi

As I promised in last night’s post, I’m using Boston’s free Wi-Fi network to drop a quick email to the Mayors of both Burnaby and Vancouver.  The gist: Free Wi-Fi in urban centres is a great thing.  I decided to include a copy of the email on the blog for anyone who might be interested.

Good morning Your Worships,

I’m writing this letter to you from the city of Boston where I’m currently on vacation.  The subject of this letter is also the service which is allowing me to send it; Boston’s first open-Wi-Fi project.  The city has partnered with local companies to provide free Wi-Fi access to residents and visitors of the city’s Faneuil Marketplace.

I would like to promote the idea of starting up a open Wi-Fi project in the Lower Mainland.  With the pending influx of international visitors to the region, providing an easy way for them to stay connected to their families and report back on their adventures in BC would cast a brilliant light on our ability to embrace new technologies and the region’s vision for the future.

While covering the entire region in time for the Olympics is hardly a feasible option, placing the free access in some key locations around the region could be both cost-effective, and provide basic access to a large number of people.

A couple of examples would be:
– Key Olympic Venues (GM Place, Skating Ovals etc.)
– Library Square, Vancouver
– Robson Square, Vancouver
– Pacific Center, Vancouver
– Metrotown, Burnaby
– Deer Lake Park, Burnaby

I know there was talk about placing Wi-Fi access points in Vancouver a few years ago, in fact I believe it was mentioned on Mayor Sullivan’s blog.  With the  coming international attention on the city, I feel this would be an excellent opportunity to showcase the region’s growing technology sector and to make the Olympic and Paralympic games that much more accessible to the world.

Thank you,

Keith Murray

That’s it!  I’ll let everyone know if I hear back from either Mayor.  It’s really windy, and I’ve chosen an outdoor location.  Time to run!