TextWrangler Reminder

If you’re getting started in programming, or you just need a way to sanitize text you copied before pasting it into a web editor, you will want to look at TextWrangler from the guys at Bare Bones Software.

While the interface is considered dated by some, it still has one of the best grep-based multi-file search and replace tools available on a Mac editor, and one of the best file comparison tools I’ve seen. It’s also free, and available via the Mac App Store.

 

New Options for Version Control for the Mac

If you’re writing code. Ever. Be it Java, Python, Objective-C, Perl, or plain old C, you really, really need to get in the habit of using a version control system for managing your code. It allows you to experiment, and to easily roll back your code if you completely mess something up.

There are several excellent and simple systems available. My preferred system is Git, but Mercurial is also an excellent, modern system to use. It’s also fairly easy to set up. And if you don’t want to mess around with the command line a lot, or don’t want to pay for the (excellent) Tower, then there’s a new, free option for managing your git repositories at the popular online service GitHub. (Note – you don’t need to host your repositories online – they never have to leave your computer. Unless you want to share them with other people not in your home or office).

Version Control – git and OSX development

I really can’t do much more than recommend this quick how-to, and point out that I entirely agree. 

I dearly love time machine, and it has its place, but when it comes to tracking changes in anything more complex than a couple dozen lines of code, or more importantly, figuring out what changes you made and why, nothing beats having the convenient log of what you did and why that version control provides. The recommended gitX makes it pretty easy, though I find the branch merging to be a bit lacking (I prefer to use Tower).

Drobo – Stuff That Works

While not quite under “stuff I have at home” – but definitely under stuff I have my clients use – the “drobo” series of drive cases from Data Robotics, Inc. is a fantastic series of drive cases that do far more than allow you to hook up external storage or set up RAID arrays.

Most external drives are limited to the maximum size of one disk, and when your computer drives are near that maximum, backing them up with any sort of history you can dial back becomes a problem. Well, RAID is a solution to this kind of issue, but RAID is finicky to setup, and even more finicky to change or expand.

Hook up a Drobo, and slot in two drives. Now, if one of those drives fails, the other one keeps chugging with all of your data intact. All you have to do is yank the failed drive and slot in a new one, and it automagically rebuilds itself.

Need more space? Add a drive.

That’s it. No fuss, no muss, no reformatting or commands. Just. Add. A. Drive. The Drobo does all the work.

Need more space? Add another drive. Used up all your drive bays? Yank out your smallest drive and replace it with a bigger one. No need to shut it down, etc.

At every stage, the Drobo takes care of everything else.

We even had a client who’s Drobo had gone bad (the top bay failed) pull all the drives out under power, slot them into a new drive bay, and power it up. The drive rebuilt itself and is working just great.

Needless to say, I can’t recommend it highly enough. It’s expandable drive space for backups or storage, for people who don’t want to think about technical details.

Update: Over time this has become a recommendation I’ve reversed. At first, many of these worked, but over time flakiness with dealing with drives (even if you carefully shopped off the compatibility list) and network connectivity and access speeds drove us to finding other solutions.

Providing Reliable Backups for Friends, Family and Very Small Businesses

Tying in with my ode to Dropbox under the “What I Use” section, is this recent Lifehacker article that does an outstanding job of covering how to make reliable backups for the relatives most geeks provide tech support to, that are also transparent enough to pass the Aunt Hattie test. The article also points out how to set up fairly painless password storage (I also love 1Password for that), and remote access for giving them a hand. While it doesn’t cover much on local backups, modern Macs have the excellent Time Machine, and for Windows, the recommended Mozy will not only backup offsite, but will also back up to a local drive for faster recovery than the offsite backups. 

In short, this “for your relatives” solution is also perfect for the small, home-office or one one-or-two computer type of business for setting up reliable backups and remote support.

Accessibility

Recently stumbled into this excellent programming related article on how to make iOS apps handicapped “accessible.” 

If you’re interested in programming for the iOS, you should read it. What’s interesting to note for everyone else though is this point – how easy it is for visually impaired people to use iOS (iPhone, iPad) devices, how much of that support is just simply “there” courtesy of the standard Apple interface toolkit, and how easy it is to make that support complete for many utility apps.

A number of the biggest iPhone/iPad fans I know of are visually impaired.

Getting Started With Programming: Tools of the Trade

In programming, the actual “code” programmers create is merely written text, and programs are little more than text files. As a result, the most important tool anyone can have is a solid, reliable editor. Sure, you can use Notepad to whip up a batch file, or TextEdit on the Mac, but most projects require more than Notepad provides, while the rich text features of Wordpad or TextEdit will only get in the way.

The nice thing is that to get started you don’t have to invest a lot of money in fancy IDE’s (integrated development environments) or hours downloading the hundreds of megabytes of XCode or its equivalent. The Eclipse IDE for Java – while fairly large still smaller than Xcode – is free, and most web or Perl/Python/etc. development can be done quite nicely with a broad selection of free editors. Outside of Java and Cocoa (Mac) programming, all of my coding is done in BBEdit.

On the Mac-only side, I recommend getting started with Textwrangler – the “lite” version of BBEdit. Despite missing some advanced features it has the critical ones – syntax color hilights, multiple-file searches, regular expression searches that let you search by pattern definitions, and my favorite file comparison tool for displaying the difference between two files.

For Windows, check out Notepad++.

Finally, for free, ridiculously powerful, and cross-platform (including Linux) there’s Vim and Emacs. Both have all the features you need and then some, come in command-line and GUI variants, and have fanatical adherents who will tell you at the drop of a hat why Vim/Emacs is awesome and the other one sucks. No matter which one you choose, you’ll end up with an editor powerful enough to handle your needs for years (One of the guys handling FX for the movie 2012 uses Emacs for handling 3D render programming…).

For more suggestions, take a look at this lifehacker page on the best text editors.

Recommendations

Antivirus
If you need to have a free antivirus for home use,  try Microsoft’s “Security Essentials.” It’s fast, it works, and best of all, it’s free. Even for businesses.

If you have the cash to spring for antivirus (or have to because you are a business and have lots of computers) try out Kaspersky and ESET Nod 32.

On the Mac side, I’d stay away from both of the Norton and McAffee products. Both have a reputation for causing weirdness that should have also been earned on the Windows side as well (I’ve run into some totally showstopping bugs over the last few years). If you NEED an antivirus there is a graphically-driven version of ClamAV for the mac that is free, and will scan files.

Routers
For home gear I now generally recommend stuff from Netgear. Their current boxes seem to generally work more reliably than equipment from Linksys or D-link (though they generally also work well), and are readily available. They also tends to upgrade fairly easy.

Wireless
If you’re willing to spend the extra money, the Airport WAP/routers fromApple are high-quality pieces of equipment with excellent security, signal strength, and ease-of-setup features, as well as allowing their use as a repeater, and a decent Windows/Mac print server for USB printers. The repeater functionality is especially slick and well done. Last but not least, the Time Capsule allows for wireless home storage and across-the-network backups (for Macs). Otherwise, I’d usually go for a Netgear.

Browsers
Windows: IE8 is a huge improvement in many ways. It is somewhat safer from hijackings, has tabs for browsing, and best of all for all too many people I’ve known, finally fixes a printing bug that would cut off the right side of wider web pages.

That said, in combination with all of the various security updates and antispyware and firewalls and such, Windows starts running like a crippled turtle with IE7 on it unless you have a lot of RAM. 512MB, even 756MB, no longer cuts the mustard. 1GB on a Vista machine is asking for trouble.

So if you want a browser that won’t punish your system as much, and is still more secure, nevermind more extensible, do yourself a favor and use Firefox or Chrome wherever you can.

Firefox is a solid browser with support for many useful plugins, but getting away from its origins as a small, light, standards-compliant alternative to IE. Chrome is a browser provided by Google that uses the same “webkit” rendering engine as Safari (also available for Windows) but with an emphasis on speed and a minimalist interface that I wish Firefox would emulate.

Mac: A matter of taste. While there are other good options available such as Camino, you really can’t go wrong with either the built-in Safari, Chrome (intel macs only), and Firefox for those occasions where Safari just won’t work, or vice versa. Firefox is slower but far more flexible, and on the newer intel-based Macs, the differences are far less noticeable.

Memory
As much as is humanly possible. Neither an up-to–date copy of XP nor OSX run comfortably with less than a gigabyte of RAM. Two Gigabytes or more are recommended for OSX or Vista. Check out 18004memory.com for good prices and a great return policy. Another good place to check out is crucial at crucial.com.