Software Tools


July 7, 2009: 5:47 pm: DanSoftware Tools
Notepad++ Shortcut Mapper
Notepad++ Shortcut Mapper
A quickie regarding a favourite app: Notepad++.

It is generally rock-solid, so I was rather startled earlier today when I accidentally hit F11 (thought I was in Visual Studio) and Notepad++ disappeared.   No “save changes” warning, no error message, just “Hasta La Vista”.

It turned out to be a conflict with the HexEditor plug-in.  F12 has the same conflict.  One fix is to remove the HexEditor plug-in, by deleting HexEditor.dll from the Notepad++\plugins folder.  However, since I like the HexEditor and don’t particularly like the F11 “Full Screen” shortcut, I’d prefer to remove the shortcut.

I was entering an override into AutoHotKey (which can kill any shortcut) when it occurred to me that Notepad++ is so complete that it probably supports key bindings.  Sure, enough, it does – with a full GUI editor under Settings->Shortcut Editor, as shown on the right.  Goodbye F11, welcome back HexEditor.

I love this product!

January 24, 2009: 7:35 pm: DanSoftware Tools

Um, in case I’m not the last netfirms user to realize this: the reason why the WordPress version hasn’t been upgraded from 2.0 is that we’re supposed to do the upgrading ourselves.

According to netfirms’ support, new WordPress blogs are currently created at version 2.6, but the user needs to handle the upgrading of existing blogs.

The good news is that this is a quick and painless process.  I just followed the instructions in the WordPress codex to upgrade from 2.0 to 2.7, and I didn’t run into any snags.  You can do the entire process with nothing more than an FTP program — no command line stuff required.  As suggested by the Codex, I disabled all of the plug-ins first, and I manually edited the wp-config file to copy and paste my 2.0 settings into the 2.7 config file.

Wow, WordPress 2.7 certainly has a lot of nice features worth upgrading for.  And, as an added unexpected bonus, the upgrade fixed the problem I recently began having when posting to the blog from Zoho Writer.  Sweet!

May 4, 2008: 1:49 pm: DanProgramming, Software Tools

The other night I had one of those “senior developer’s moments”. After checking some files into SourceSafe from Visual Studio I noticed a red checkmark next to the project file. I hadn’t touched the project file for days, but thinking that I had inadvertently checked it out I right-clicked on it and selected “Undo checkout”, then clicked OK on the dialog warning me that I would lose my changes.I then scrolled down to the file that I had been working on all day, and was startled to notice that it wasn’t checked out. My heart sunk, then raced, as I scrolled madly through the code looking for some assurance that I hadn’t done what I was afraid that I’d one. So such luck. Thanks to a misplaced checkmark, Visual Studio’s hierarchical source file management and my own inattention, I had just thrown away a day’s worth of changes to this file.

I don’t suppose SourceSafe puts the file it overwrites in the Recycle Bin? Nope. I rather hopelessly ran UnDelete Plus — this is a fast, simple and, for the present, free file recovery tool, but it wouldn’t be able to retrieve the file if SourceSafe had just overwritten it. Naturally, it had. I frantically searched Google for “Sourcesafe undo delete”, but those who had previously made the same dumb move weren’t admitting it to the world.

That’s when it hit me: I did have a backup, of sorts. One of my favourite open source software gadgets is an expanded clipboard named Ditto. This loyal sidekick silently keeps track of everything that you’ve put in the Windows clipboard for days – by default, the last 500 items.

Almost any coder will accumulate a lot of stuff this way. Any time you cut a piece of code to move it to another class, or reposition it within the class, or even just to get rid of it, Ditto saves a copy for you.

Of course, this sort of snapshot tool is really handy for things other than coding too. In fact, once you get used to the fact that Ditto is there, you routinely make a copy of text before changing it even if you don’t need it in the clipboard, just in case. Ditto allows you to find data either chronologically or by searching for a string, so it’s usually quite easy to find what I want later.

For things like screenshots I use a commercial tool called SnagIt, which can be configured to automatically store screenshots to its Catalog. SnagIt also has a cool feature that allows you to extract the text from a screenshot. When I come across a bug, invariably while working on something more urgent, I just take some snapshots using Ditto and SnagIt then carry on with the job at hand. This ensure that when I later get around to reporting the bug, I have more to offer than a vague memory.

So, with the help of Ditto I was able to piece together most of the code that I had deleted, an exercise which set me back by only an hour rather than a full day. For me, Ditto was a tool that I didn’t think I needed until I gave it a try — now, I’d hate to have to get by without it. If the phrase “clipboard extension” makes you think of the clumsy and intrusive feature that Microsoft added to Office then you have the wrong idea. Ditto is more like Google Desktop for all the stuff that you didn’t save to a file, but now wish you had.

April 7, 2008: 5:36 pm: DanProgramming, Software Tools

It has been many a year since I’ve darkened the door of a public library. It’s not just that I object to my tax dollars being used to organize the siphoning of profits from publishers and authors by — to steal a line from Stephen Colbert’s I Am America (And So Can You!) — card-carrying library card carriers. (Note that I said “steal“, not “borrow“.) Libraries are objectionable on so many other levels: long waiting lists for anything popular, computer books that date from a previous millennium, librarians who wear rubber gloves (whether they are afraid of germs or paper cuts, I object!), and the fact that all their books come in just one form: paper. It’s all so analog.

I was therefore surprised and highly-skeptical when I read an article on TeleRead (great blog, terrible name) about a library service named Overdrive. Overdrive is launching a publicity campaign at libraries across the US to show people how they could borrow (their word, not mine) ebooks and audiobooks over the Internet. My skepticism turned to envy when a Google search showed that Overdrive offers more than the usual “Project Gutenberg” public domain books by long dead authors and government agencies. My envy turned to glee when I found out that Overdrive is also available in Canada, including my home base of Toronto.

Now, I’m a little unusual for a developer because I a) read things other than software manuals and Slashdot, and b) don’t have a problem with DRM copy protection. Other developers might be put off by the fact that Overdrive doesn’t offer programming or IT books, and its ebooks and audiobooks are available only in secure formats that require special readers or players. (I was pleasantly surprised that most of their ebooks and all of their audiobooks are in formats that are compatible with Windows Mobile Pocket PCs. Linux zealots, on the other hard, are out of luck).

The real prize for developers, though, is what I noticed when I visited the Toronto Public Library’s Overdrive page. Jump up one level from Overdrive and you’ll find a “Download Books, Music, and Video” page. On there are links to 2 other sources for ebooks: NetLibrary and (gasp!) Safari Books Online.

I’ve written rapturously of Safari before. Toronto Public Library offers their academic version, which compared to the commercial version offers a much smaller selection (about 340 books, vs. 5300) but a much bigger bookshelf (unlimited, vs. the 10 titles per month for an entry-level paid subscription). You also have to do without a few small amenities: downloadable PDF chapters, online notetaking, and bookmarks. (Actually, you can create bookmarks, but you share them with everyone else using the service — weird!). Otherwise, the layout and features are pretty much the same as the paid version: titles are easy to find, either by subject matter or using its search facility, and books are displayed in a browser using standard HTML unencumbered by any DRM restrictions.

NetLibrary is a mixed bag. The version offered on the Toronto Public Library’s site includes 7000 ebooks, many of them technical non-fiction titles. It’s hard to say how many of these cover software development since the site sorely lacks a list of books by subject matter, but a search for “programming” as a subject yielded about 80 books, “linux” 16 books, “XML” 10. Unfortunately, many of these are as obsolete as the tomes weighing down the shelves in your local branch. There are a few pearls in there, though, and your access to them is unlimited: as with the academic version of Safari, you can read any book in a browser anytime you like, without any time or usage restrictions.
NetLibrary
And the best thing about it? It’s all ours! Mention these services to any non-geek, and you’ll get a quizzical look followed by mutterings about having to print out and carry around hundreds of 8-1/2 x 11 sheets. They don’t get it! Geeks ride for free, everybody else has to stand in line and wait their turn.

Sorry, Stephen, but I’m now a shameless card-carrying library card carrier. I love your book, but the irony of reading “for the record, we’re not offering this book to libraries” in an ebook downloaded from Overdrive is just too sweet.

February 21, 2008: 8:08 pm: DanSoftware Tools

Every once in awhile I come across a piece of free software that I would gladly pay to use. I love to write about these gems because a) they deserve the publicity (if you call being mentioned in my blog “publicity”) and b) as a software developer I have a great deal of respect for coders who are great at what they do and haven’t sold out to one of the industry’s Goliaths.

Today, I’m singing the praises of Zoho.com.

It wasn’t that long ago that the idea of a browser-based word processor or spreadsheet was laughable. In a browser, a document was a giant text box, and a grid was a bunch of little text boxes lined up in rows and columns. The only way to provide a rich GUI was to use the browser as a launching pad for other executables, like ActiveX or Java. And if you were going to end up running executables, why bother going through the browser to run them?

Then along came AJAX, fast Internet connections and gigabytes of remote storage, and the browser wasn’t so laughable anymore. My own experience with browser-based document editing began about a year ago with Google Docs. Being a Google product I expected something that was fast and easy to learn, and I wasn’t disappointed. The convenience of having documents accessible from any PC on the Internet without shuttling files between servers outweighed the disadvantage of having to live with Google Docs’ sparse set of tools. Speed wise, Google Docs is almost as good as working with files on a desktop Office suite. Usability wise, not so much. The user interface is constantly reminding you that it’s not that far removed from the previous generation’s giant text box. I’ve lost track of the number of times that I became so entirely frustrated with the unpredictable reformatting of a document that I had to click the “Edit HTML” button and clean the thing up manually.

I first came across Zoho a few months ago. My first reaction was “yikes, how did it launch an executable from the browser without even notifying me?” The GUI is that good! In terms of features, Zoho is to Google Docs as Word is to WordPad. The user interface hardly ever reminds me that I’m working in a browser — on the contrary, it constantly makes me amazed that things like drag-and-drop and pop-up windows can work so seamlessly in a browser. If a browser can do that, they why can’t all other sites work like this? (Actually, as a programmer I know full well that the answer is “because it’s damn hard!”). As proof that there isn’t some Windows-based sleight-of-hand going on, Zoho runs on any browser based on the Mozilla engine, including the built-in browser on my N800 palmtop.

Not only do I never use Google Docs anymore, but the only time I use Microsoft Office or OpenOffice is on the few occasions that I’m offline or need advanced features like VBA macros. (Zoho actually has support for using Google Gears to work with documents offline, but I haven’t given that a spin yet.)

As with desktop-based productivity suites, Zoho is so packed with features that I haven’t tried out all of them. One that I’ve recently discovered is its ability to post articles directly to your blog. My blog is hosted by Netfirms (a fellow Torontonian, eh) using the Multi-User version of WordPress, so I don’t have much control over how WordPress is configured. Still, it works as seamlessly as the rest of Zoho, including embedded images. Given that WordPress’s built-in editor is to Google Docs as Notepad is to WordPad (to wit, it sucks), this is way, way cool.

Zoho’s FAQ entry tells you pretty much all you need to know, but since I had to make a change to one of the settings I thought it might be worth documenting the process:

  1. Click “Publish”, then “Post To Blog”
  2. A pop-up window (not a browser window, but a slick GUI window imbedded in the current browser page — again, how do they do that?!) will appear. Click on Change Blog Settings, and you’ll see the dialog shown at the right.
  3. Fill in whatever you like for the name. The URL that I used is the one setting that I had to change from what is listed in Zoho’s FAQ — your mileage may vary. The API is metaWeblog, as shown.
  4. Click the Save button, and you’ll see a “Blog Settings” dialog. Fill in the same user-ID and password that you use to login to your blog’s admin console, then click the “Get my blogs” button.
  5. In the case of WordPress, at least, it should actually be a “Get my blog settings” button, since it retrieved my blog’s categories and other WordPress-specific settings, as shown on the right. This dialog is one you’ll use in the future to post blog articles. The article’s title will be the same as the Zoho document’s name.

The coolest thing about Zoho is something that it doesn’t have, and doesn’t need: an “Edit HTML” button.

« Previous PageNext Page »