Archive for January, 2010

Using VS.NET Key Commands in MonoDevelop on the Mac

Jan 29 2010 Published by under Programming

optimus-keyboard_300

One of the more frustrating aspects about switching to MonoDevelop on the Mac after many years of developing with Visual Studio on the PC is the key commands. We all know that programmers are typists first, and programmers second so I’ve spent a good amount of time learning to do everything with the keyboard rather than the mouse.

The problem is I’m now hardwired to hit certain commands (ctrl+shift+b) when developing and it’s tough to fight that muscle memory. When I started using MonoDevelop, I would unconsciously start hitting the same key commands only to see them fail in various crazy ways.

Let me be clear that many of these issues are due more to how the Mac works than anything that MonoDevelop is doing. With that caveat in mind, here are some tips to get MonoDevelop on the Mac to behave a little more like Visual Studio.

Take Command

The very first change you will want to make is map your keyboard control key to the mac command key. This will make simple actions like copy (ctrl+c) and paste (ctrl+v) work like a PC user expects. You can put it back to “normal” by using the following tip:

Tip: Go to System Preferences > Keyboard & Mouse > Keyboard > Modifier Keys > swap the Command and Option keys.

Go Home

In VS.NET, I am forever pressing Shift + End or Shift + Home to select entire lines. Not having the Home and End buttons working on the Mac is a cardinal sin in my depraved PC mind. This one took some research to solve because there is no built-in solution. Luckily, there is a third party program that can help:

Tip: DoubleCommand is a free program that you can download on your Mac which allows you to configure your Home and End keys by setting “PC Style Home and End keys” on the dialog.

Bind Your Own

One awesome feature of MonoDevelop 2.2 is that it allows you to set the key bindings to whatever you like. For example, I’ve set ctrl+L to delete a line like it does in VS.NET since I use that command all the time. By default it executes “Go to line” in MonoDevelop, but it’s a great feature to be able to set your own key commands.

Tip: Under the MonoDevelop->Preferences menu, go to Key Bindings and set the keys to whatever you’re most comfortable with.

The Nuclear Option

If it’s all just too overwhelming for you. There is a small faction of the MonoTouch community that is pioneering the ability to open MonoTouch solutions inside VS.NET on the PC.

ManniAT has even created a stand-alone converter that you can use to open MonoTouch projects in VS.NET. It’s not quite there yet because you can’t compile on the PC, but he’s getting there. I actually used this solution to do some simple MonoTouch dev on my PC and it worked pretty well.

Tip: Open MonoTouch projects in VS.NET by using ManniAT’s converter.

Nirvana

The ultimate solution would be for someone to put together some VS.NET-like key bindings in a file that you can import into MonoDevelop. I haven’t been able to find this yet, and I’m not even sure if you can import key bindings into MonoDevelop, but I’ll cross my fingers because you never know what the Mono team or community will come up with next!

“I was trying to figure out which is the most important computer science course a CS student could ever take, and eventually realized it’s Typing 101.

The really great engineers I know, the ones who build great things, they can type.”

- Steve Yegge

View Comments

Google Chrome – Now with Extensions!

Jan 25 2010 Published by under Programming

chrome-logo-elements

Google Chrome has reached a turning point. In the past, I’ve liked the speed and simplicity of Chrome, but never enough to discard my beloved Firefox. Why? Well, as everyone knows, it’s all about the extensions!

Extensions

I just couldn’t part with AdBlock Plus and Firebug for Firefox. But that’s all changed with the release of Google Chrome 4 Beta. Chrome now supports extensions, and out of the gate it has the ones I need:

  • AdBlock: The web is a much different (and better) place without ads. Ad Block takes you to that happy web by obliterating nearly all inline, flashing and dreaded pop in-front ads.
  • IE Tab: I frequently use Outlook Web Access (OWA) for checking email and it’s optimized for IE. The interface is totally different if you use any other browser so I like to have the ability to switch to IE rendering inline.

Developer Tools

Another requirement of any browser that I commit to is a developer toolbar such as Firebug for Firefox or the IE 8 Developer Tools. These tools let you trace CSS styles, debug JavaScript and generally make a web developers life much easier.

Chrome now supports its own built-in set of Developer tools. They are somewhat hidden, but can be summoned by pressing Ctrl+Shift+J. It looks similar to the developer toolsets built into the other browsers.

image

Blazing Speed

Finally, the best feature of Chrome is its speed. As Jeff Atwood often says, “Speed is a feature”:

Maybe I’m just impatient. However, there’s a lot of concrete data to support the theory that unless you make it load fast, nobody will stick around long enough to find out what you have to offer. For instance, a recent study found that most shoppers will only wait four seconds for a page to load before abandoning the site entirely.

To me Chrome feels faster than Firefox and IE in nearly every way – from cold startup to page browsing. It’s obvious that Google has been doing some heavy optimization.

I also like the sheer simplicity of Google Chrome (ie – one box for searching or typing URLs). Will it win out in the end? Who knows, but now that it has extensions I’m trying it as my main browser. What about you?

View Comments

Home Backup Smackdown!: Time Machine vs Carbonite vs iDrive

Jan 23 2010 Published by under Programming

Home backup systems are the ugly step-child of technology. No one likes to talk about them or think about them, but they’re still an important part of the family. In fact, they’re becoming even more important as families store all of their digital memories or writing on their computers.

It’s getting to the point where I don’t even get prints of pictures anymore and just assume that I’ll store and share them digitally. So if a hard drive goes, there go all my memories…

So what’s a home user to do? Backups of course!

Once you decide that backups are a good idea, you have to decide which backup solution you’d like to use. Hopefully, I can help with that because it seems like I’ve tried them all….

The Brute Force Method

The simplest and cheapest option would just be to regularly burn DVDs or even better regularly copy the data to an external USB drive. This was the very first back method that I used back in the day.

The problem is that it is an extremely manual process and there’s a certain amount of weight that hangs over your head because you have to remember to do those annoying backups.

621px-DVD

The bottom line is that I would not recommend this approach any more as there are many better options. Computers are supposed to automate this stuff. Right?

Where’s my Time Machine?

If you are lucky enough to have a Mac, backup is relatively easy and built-in. You just plug in a USB drive and all the sudden this nifty program called Time Machine just starts using it to regularly backup your machine.

20090329time-machine-step-1

The best aspect of time machine is that it’s built-in to OS X and it’s all very seamless. You just don’t have to think about it.

This is a great option if you have a Mac. For example, we have Macs and PCs at home, but we copy all of our photos to the Mac and let time machine back them up to an external USB drive.

Frankly, I wish the PC had an option as simple and intuitive as Time Machine, but sadly it does not so If you’re a PC user, read on…

Trapped in Carbonite!

Carbonite is probably the best-known online home backup system. The way it works is you install an application on your machine that runs in the background and backs up your system to their online data storage.

They have plans for around $50/year so it’s affordable for the average home user. In theory this is great idea because you can set it and forget it. And you get the added benefit of having your data backed up offsite, so if your house burns down your priceless family photos are still safe. What could go wrong?

After using Carbonite myself for about six months, I have two problems with the service. The first is that backing up lots of large files over the internet can be very slow. Now your mileage may vary depending on your internet speed and the amount of stuff you want to backup and this is true of any online backup.

But, by far, the biggest issue I had with Carbonite was that when a machine did fail, I wasn’t able to get my data back from Carbonite. I tried all of their restore options and their program just kept crashing. I even installed their program on fresh machine and logged into my account to no avail. It just kept crashing.

After trying to call them and waiting on hold forever, I finally gave up. My data was essentially trapped in Carbonite!

han-solo-frozen-in-carbonite_3

This illustrates an important point of backup solutions. If you can’t restore your data, then the backup is worthless!

iDrive (no it’s not an Apple product)

iDrive works much like Carbonite in that it’s an online backup system with a monthly cost of roughly $50/year, but that’s where the similarities end.

First off, iDrive has a totally free version that lets you backup 2GB of data. This is a nice solution for folks who don’t have a ton of pictures to back up.

Secondly, iDrive has a great web interface for restoring files whereas Carbonite forces you to install their software before you can restore. This makes it MUCH easier to your data back.

Carbonite needed me to install their software before I could get my data back, and when their software kept crashing I was stuck. With iDrive, you can simply login to their site and grab the files you like — right from your browser.

That combination of easy “set it and forget it” along with simple restore options have me sold on iDrive. It’s what I currently use for my PCs.

Others

The above are the solutions that I’ve had personal experience with. I’ve also heard good things about Windows Home Server, but have yet to try it myself. Mainly because it requires a dedicated machine. It’s hard to pull the trigger on a $400 machine dedicated to backup. I think it’s probably overkill for the average home user.

Acronis True Image or even the built in Vista and Windows 7 imaging are also good options to consider. My only problem with these is that imaging often is beyond the average home user, and I typically end up buying a new machine when one crashes. An image requires the exact same hardware to be restored, so it doesn’t work if you end up buying a new machine.

Conclusion

If you have a Mac, the built-in Time Machine is an excellent solution for the regular home user. It’s extremely intuitive, and for the cost of a USB drive you are all set. Just remember that it requires a blank USB drive and provides no offsite protection.

For the PC, my choice is iDrive. It provides inexpensive, offsite backup and because it has a web interface, you can always get your files back from nearly anywhere.

View Comments

Next »