BBEdit 8.5 Turns Up the Heat with Indented Soft Wrapping

BBEdit — a “professional HTML and text editor for the Macintosh” — has just had its version 8.5 release and it comes with a healthy dose of new hotness:

  • […] The price has been dropped from $199 to $125.
  • […] The toolbar as been redesiged and some functionality moved around to make it look more OS X-ish.
  • […] Code folding has been added, and works great.

Most exiting to me, though, is the addition of indented soft wrapping. The feature goes by many names, but, even if the name of it doesn’t sound familiar, there’s a good chance you’ve seen it with other editors. The basic idea is that for a line which is wrapped several times — such as a paragraph of copy in HTML — the indented parts of the line will line-up with the indention of the original line.

I’ve been looking for an OS X-based editor that I can live with for some time now. Sure, TextMate has its strong points, but up until this recent BBEdit release, I haven’t been aware of any OS X text editors that included both indented soft wrapping and a tabbed interface. For what it’s worth, there’s been an enhancement request filed to add indented soft wrapping to TextMate but the TextMate team (which is to say, Allan) hasn’t quite gotten to that one yet.

A decent text editor is one of the last puzzle pieces in transition toward OS X. Up until now, it seemed that BBEdit was just resting on its laurels, virtually begging TextMate to take away its text-editor crown. With this most recent release, though, it looks like they’ve been reinvigorated. And, if BBEdit 8.5 lives up to the write-ups, I may just be well on my way toward a Redmond-free OS. Of course, if Uncle Steve were to release Merom-based MacBook Pros, that wouldn't hurt either ;). (Fortunately, that may be not be too far off.)

Ditto — Clipboard Manager with Type Ahead Find

The OS clipboard is pretty handy — except that it can only hold one item at a time. For a few years, I’ve been using a clipboard manager which fixed that and kept track of multiple clipboard items as I added them. (Essentially, it keeps an internal list of items which have been in the clipboard, updating the list each time something is copied to the clipboard.)

However, since upgrading to Windows 2000 (yeah, I’ve been using it that long), this utility acquired some consistency problems — sometimes it’d just stop working. I’m not mentioning the app’s name here since I’m not even sure if it’s the component at fault.

Anyhow, I recently sought a replacement clipboard manager. And, my first stop was at SourceForge since there’s a wealth of good open source goodies there. I found a couple good utilities there and finally settled on Ditto. It’s free, natch, and it works great.

If you’re new to the idea, here’s how a clipboard manager works in general:

  • Say you have a text document with the three biographies, one for “Alice”, one for “Bob” and one for “Carol”.

  • Then, suppose you were to copy Alice’s biography to the clipboard (to paste into a side document). So far, the built-in OS clipboard can handle this much…

  • After that, you copy Bob’s biography to the clipboard and paste that elsewhere…

  • So, Bob’s bio is now in your clipboard… But, what if you need quick access to Alice’s bio again? If you were using the regular clipboard, you'd be stuck.

  • However, with a clipboard manger, you can hit its hotkey and get a list of your past clipboard entries, choose the one you want, and that item is ready for pasting again.

All this may sound a bit esoteric if we’re just talking about biographies, but imagine this scenario with snippets of code or segments of a proposal which you’re editing. It can be a real time saver.

And the best part about Ditto — its killer feature which set it apart from similar apps — is that it supports type-ahead find. Also called “find as you type”, this feature was first seen in editors such as Emacs and became more widely known when it was built into Firefox. What this means is that finding stuff kicks in automatically. There’s no Ctrl-F or Edit -> Find; rather, you just start typing stuff and the program starts narrowing down the list as you’re typing.

For example, suppose that you had these entries in your clipboard:

  • Mozilla — An open source Web browser and toolkit from the Mozilla Foundation
  • Monkey — Any of various long-tailed, medium-sized members of the order Primates
  • Modern — Of or relating to recent times or the present

If you wanted to recall the entry on Mozilla, you’d invoke Ditto with its hotkey (configurable by you) and then type M… O… Z… and, at this point, Ditto would have automatically highlighted the entry on Mozilla since none of the other entries would have matched that third letter (the “Z”).

Another cool feature in Ditto is that you can, either manually or automatically, share clipboard items with another computer that’s is running Ditto. One use would be that you could have a unified clipboard among two computers that you used. Or, and this idea is more intriguing to me, you could sparingly use it to place stuff in a coworkers clipboard. Of course, the recipient would have to be expecting it at the time (otherwise he/she might be confused to find that entry in his/her clipboard).

Anyhow, if you want to try Ditto, there’re two bits to download. First there’s the main installer for Ditto and then there's a DAO installer (I can’t say that I’m completely sure about what DAO does but its acronym stands for “Data Access Object” and I would conjecture that it’s some type of database toolkit). They can be installed in either order, for what it’s worth.

Ditto’s hotkey is configurable (Options -> Keyboard Shortcuts) and I’ve set mine to Ctrl-Alt-Y (which was the hotkey for the old clipboard manager that my fingers were already used to typing). And, as for other configuration options, I’d also recommend poking around in the Options -> Supported Types area which, as I understand it, defines what types of clipboard data Ditto keeps track of (text, images, and so on). There, I’ve added “CF_BITMAP” to the list (using the “Add” button there and selecting) which should enable Ditto to keep track of images in the clipboard as well.

PS I’m open to suggestions if anyone can recommend a clipboard manager for OS X (which runs on my other box). Unfortunately, a climate of shareware licensing engulfs that platform and I'm not holding my breath on finding a free equivalent for that OS.

Update 2005-06-18: Apparently, Quicksilver (for OSX) can be used for clipboard management. I may have to give that a try.

Foxit PDF Alternative to Adobe Reader

While browsing BetaNews over the weekend, I came across Foxit PDF Reader. It’s a PDF reader and that concept may seem a bit redundant at first since Adobe has a PDF reader that works fine, eh? Well, the only problem is that the basic Acrobat Reader could read PDF documents years ago and yet Adobe needed something to put in the new versions…

So, for the last few years, Adobe has released new versions of their PDF reader, adding obscure features which only served to slow down the app for the rest of us. That's where Foxit’s PDF Reader comes in. In contrast to Adobe's PDF Reader which — at least on my system — weighs in at 70 MB (?!), Foxit PDF Reader is about 2 MB. And, it’s just a single .exe file, so there’s no complicated install, either; just unzip and go.

I must say, I was skeptical of of Foxit Reader at first. I mean, how could such a small app display the same documents that needed a 70 MB app previously? Well, I was pleasantly surprised — this thing loads almost instantaneously and it properly rendered all of the documents which I tested with it. On top of that, my mouse wheel actually works this time around (for some reason, my mouse wheel was perpetually ineffective in Adobe Reader).

The only downside to Foxit PDF Reader is that it doesn't support PDF-based forms. Sure, you can view the forms (and print them if you wanted to) but it doesn't support filling out the forms right within the PDF Reader. So, at least for those rare occurrences, it’d make sense to keep Adobe Reader tucked away somewhere. On the other hand, Foxit Reader does have a feature which is similar and, depending on the situation, may be better or worse than native form support. In what they call “typewriter” mode, you can type on top of any part of a document. So, yeah, you could fake filling out a form by placing text right on top of the form fields. More importantly, you can add your own text to any form this way — whether or not they were designed with PDF form support.

PDFs used to be a real drag; I never looked forward to having to open them. But, I can open a PDF document faster than I can open a Word document these days — and I never thought that would happen. (And if you're up for it, I’d recommend trying the 1.3 beta over the current release; I’ve not had any problems with it.)

Process Throttling for Windows

While I was looking over Beta News the other day, I came across a handy freeware utility called Process Tamer. It implements an idea which I've had for a few years but didn't have the programming skills to implement ;). Essentially, it runs in the tray and keeps watch on the currently running process (your web browser, your word processor, and so on) and if any of them starts becoming greedy and eating up all your CPU cycles, Process Tamer puts the hammer down and lowers that app’s priority until it gets back under control.

“There are many times when a process will hog your cpu, such as when converting audio/video files, or working with compressed archives. Because these processes completely consume the cpu, your system becomes sluggish to respond and using the computer for other tasks becomes impossible while these processes are running.” “Process Tamer solves this problem by identifying such these degenerate conditions and temporarily reducing the priority of the offending processes in order to allow your system to respond to other requests. Stop being a victim to an overloaded cpu — let Process Tamer keep your system responsive no matter what you're doing. […] ”

If all this talk of “processes” and “scheduling” is Greek to you, I’ll try to go over the general idea. As you’re likely aware, modern operating systems can multi-task which allows them to run multiple programs at the same time (such as viewing a web page while your e-mail client runs in the background). But, at the micro-level, your CPU can only pay attention to one application (“process”) at a time. So, it cycles through each application, doing a few calculations for one of them, switching to the next one, doing a few more calculations, and so on.

And, each process can also have a priority assigned to it which means that higher priority processes are given a preference if there’s a mad grab for CPU cycles. One example of priorities is your mouse cursor which, if I recall correctly, has nearly infinite priority — that is, even under heavy load, your mouse cursor is always supposed to remain responsive. So, what happens if two applications have the same priority but one of them becomes greedy? Well, the meek app just loses out.

And that’s where Process Tamer comes in. Say you're ripping some CDs and the ripping application is hogging the CPU, making your e-mail client sluggish; well, Process Tamer notices that and temporarily lowers the ripper’s priority, leveling the playing field for the other applications.

Thunderbird – Now with On-The-Fly Spellchecking

If you’ve used Microsoft Word — or really any word processor released within the last decade — you’ve probably seen those squiggly red lines underneath misspelled words. And, that’s now been added to Thunderbird as well. (Thunderbird is the free e-mail client from the organization that made Firefox.)

The thing is, the feature has been added to the Thunderbird codebase but there hasn’t been a Thunderbird release since then ;). Bug 278310 dealt with adding inline spellchecking to Thunderbird and that bug was fixed on February 2nd which means that the last release (1.0) from December 7th doesn’t yet include that code. Fortunately, the Mozilla Foundation (the people that make Thunderbird) release “nightly builds” which are built every evening from the current codebase.

[If you’re not running Windows, you can skip to the last paragraph of this entry.] While the Mozilla Foundation releases nightly builds for each platform, some third party developers also release optimized builds — these are designed specifically for the processor in your PC and run faster than the all-purpose official builds. And, when it comes to Thunderbird, a fellow named Moox releases several optimized builds. Just go to the “Thunderbird Trunk Builds” section of the page and download the build with the most recent date that corresponds to your processor:

  • M3 for Athlon Opteron/FX/64/Sempron and Intel Xeon/Pentium M/Pentium 4/Celeron D
  • M2 for Athlon XP/MP/Sempron/Duron, Pentium 3 and Celeron processors
  • M1 for AMD Athlon/K6-2 and Intel Pentium/Pentium2/PentiumPro

Suppose you’re running an Athlon XP system — the build for you would be “mozillathunderbird_20050218_trunk_ce_m2.exe” (which is the latest “M2” build as of this writing). The builds from Moox are self-extracting .exe files which include a “Thunderbird” base directory; so, if you want to run Thunderbird from C:\Program Files\Thunderbird\, set the self-extractor to extract to C:\Program Files\.

Once you’ve installed the new Thunderbird (from Windows, above, or for other platforms, from the official site), you’ll need to activate it. Just load up Thunderbird and go to Tools -> Options -> Composition and checkmark “Enable spell as you type” (I’d also recommend checkmarking “Check spelling before sending”, just to be sure). And, while you’re in the “Composition” options area, you may also notice another new option, “AutoSave every xx minutes” — I find that pretty handy and I’ve turned that on as well.

PS Need spellchecking for input elements and textareas in Firefox? Give Spellbound a try.