Your browser is not supported.

This website is optimized to work in modern browsers like Safari 3+, Firefox 4+, Chrome 10+ and IE9+. If you are using a different browser, you may experience visual glitches or other problems.

Posts tagged with software

Injection Grammars & Project Variables

TextMate 2 now has a way to write references for issues inside source code: issue://157. The reference will be automatically underlined, and when the user presses enter (fn + return) with the cursor inside the reference, TM2 will check for the TM_ISSUE_URL environment variable inside the project-specific .tm_properties file, insert the issue number into the URL as specified in the variable, and automatically open it in your default browser.

Boom! Read the article for details on how this elegant solution works.

When Allan Odgaard

open sourced TextMate just 5 days ago, there was a lot of skepticism around the web and a general consensus that this meant TM2 was shortly to be abandonware. However, in that time, at least a few patches a day have been submitted and merged into master (the bundle menu is finally accessible from the menu bar, e.g.), and further development looks to continue apace.

Call me crazy, but I’d have to say that things are looking good for the future of my favorite text editor.

There is one piece of software,

one, more than any I’ve ever used, that I could not do without. And no, I’m not talking about Mac OS X, though that’s up there—if I had to switch to Linux or Windows for a day or two, I wouldn’t like it, but I could take it. No, that’s not what I’m talking about.

What I absolutely could never lose is TextMate. I spend the bulk of my day using it; it just stays open all the time, like my mail client and browser. It is central to everything I do, and hands down my favorite piece of software. It’s paid for itself a hundred times over.

“Wait a second,” I hear you say. “This is just a text editor, right? Why are you so fired up about a text editor?”

See, but it’s not just a text editor. It bills itself as “the missing editor,” and they’re totally right; it’s everything I never knew I needed in a text editor, but now that I have it, I won’t give it up for love or money. I do not exaggerate when I say that like the iPad, TextMate was magical and revolutionary—it totally changed the face of that part of the software industry. It was so far ahead of its time, in fact, that no one since has made a text editor that measures up, let alone surpasses it, though many have tried. What’s really amazing about it, though, is that this software is over six years old. The last major update it got was in 2006. For six years, no one has come close to making something I’d consider switching to.* Six years? That is simply unheard of in software.

“Ooookay,” you say, while subtly edging away. “So you like it a lot. Then why consider switching?”

Well, after that last major update (from 1.0.2 to 1.5, in January 2006), the author decided to do a complete rewrite of the application, and announced that he would release that rewrite as TextMate 2.0. But months, then years went by without any word of a new version, to a growing sense of unease among its loyal user base. People started wondering whether it was destined to become abandonware, whether they’d have to start looking for a new editing solution, since it was a matter of time before an OS update rendered it useless.

Every so often you’d see the odd forum post or hear from someone who knew someone that no, it was still in development, but not close enough to a releasable state to put a firm date on it. But that was hardly reassuring, and I had this growing dread in the pit of my stomach that I would eventually have to switch to some comparatively inferior product just because it was actively developed and kept up with the latest Mac OS X releases. So I searched for alternatives, tried out a few, but until the recent release of Chocolat, itself still in alpha, I didn’t see anything that was promising enough to consider seriously.

So imagine my cautious excitement at the announcement a few months ago that there would be a public alpha of TM 2.0 before the end of 2011. Cautious because I was wondering what they could possibly have added in that five years that would make the wait worthwhile. I figured it’d be more efficient and responsive, generally faster, but without a ton of new features, since the original product had been in my mind so good to begin with. I was fully prepared to think, “I waited six years for this?!”

But what do I know? Obviously I don’t have the foresight of TM’s authors, because it’s looking like TextMate 2.0 is going to be pretty awesome. This program is a Unix geek’s wet dream. Easy to use, but powerful and almost infinitely customizable. I can hardly wait until the official release, but until then, I think I’ll play a bit with the alpha.

*Which is not to say that TextMate got everything right. There were definitely some annoyances and UI quirks that could have used improvement, but even so, it was so far and away beyond the competition in my mind that these were small inconveniences.

I know everyone's all

?!?! over iPhone 4, and I kind of am too, but I gotta tell ya, what’s really making me go ?!?! is Safari 5. Included:

  • Safari reader, a feature that works much like Arc90′s popular Readability bookmarklet by detecting when the currently loaded web page has an article, and allowing the user to reformat the page in an easy-to-read, scrollable view that cuts the obnoxious ads out. What’s more, they actually go through every page of multi-page articles and concatenate them together for one seamless, easy reading experience. Say it with me: ?!?!

    Now, you might be thinking, “How are the content providers going to let this stand, when it could wreak havoc with their ad sales?” Well, grasshopper, its at least partly because when Safari is concatenating the pages’ content, it does a full HTTP request on each page, so the innocent kitten publishers who artificially split up short articles into 3 and 4 and more pages just to maximize ad annoyance views don’t have to worry about losing their accustomed number of ad-frame loads.

  • A smarter address field, that no longer requires you to remember exact URLs; it searches within (rather than at the beginning of) the URLs and page titles in your history like Firefox has been doing for months (perhaps years) now. I’ve got two things to say to that: hallelujah, and about damn time.

  • Never expected this, but sanctioned, easy to install, secure extensions, that can be developed in HTML, CSS and JavaScript. ?!?! Also, ROCK.

  • Then, of course, is the improved HTML5 support and the ever more feature-packed web inspector, the icing and the cherry, respectively, on the sundae.

All in all, pretty ?!?! for me.

I gotta tell ya something else. Humble pie tastes terrible. Turns out my new cheapie phone doesn’t have much going for it other than its cheapness. I can at least get calls on it more reliably than the iPhone 2G, but text messages don’t work. At all. Seriously. All my friends have stopped sending me text messages, because literally more than half of their messages to me never get there. Not get there late, which sometimes happens too, but never get to me at all.

Then there are the times when I myself am trying to send a text, and the phone (a $*@#!^% Motorola i465) reports that the message was sent, though it actually wasn’t, and I’ll have no idea that the message never got out the door until I happen to reboot my phone days later, and all the recipients are asking me why they’re getting replies to their messages so late.

In fact, if I had an actual piece of crap the size of my phone, it’d be more useful, because then I could use it as fertilizer. This…thing isn’t worth the plastic it’s made of. So, well, iPhone 4. As much as I loathe and detest the idea of giving AT&T my money again, at least I’ll get a nice phone in the bargain.

Speed up Mail.app

In these times of effectively unlimited quotas, there’s no need to ever delete email. And I don’t—all my various accounts’ inboxes combined add up to somewhere around 20,000 emails. Having all your emails is great, but accessing them quickly is at least as important as having them on hand. However, of late, I’d been experiencing some severe performance problems in Mail.app—it was taking literally on the order of minutes for Mail to start up and shut down for me. Just brutal.

Today, in an effort to alleviate some of that pain, I stumbled across a solution that worked magnificently for me: cleaning up Mail.app’s SQLite database.

Here’s how you do it:

  1. Quit Mail.app.
  2. Launch Terminal, then type cd ~/Library/Mail/.
  3. Back up Envelope Index in whatever fashion you prefer. I did cp Envelope\ Index EnvelopeIndexBackup.
  4. Open Envelope Index with SQLite: sqlite3 Envelope\ Index. At the sqlite> prompt, type: vacuum subjects;. Once the prompt returns, type Ctrl-D or .exit to quit SQLite.

This reduces the size of Mail.app’s database and cleans it up, usually to dramatic effect. I reduced my database from ~34 MB to ~22 MB, and Mail now starts up in seconds, not minutes. Boom!

References: procedure and information about the vacuum statement.

Take heart

After an entirely-too-long absence, TextMate developer Allan Odgaard posted yesterday on the TM blog that he is working on TextMate 2.0 (in fact, rewriting it from the ground up), and that its release is on the horizon, though admittedly not soon.

It’s nice to know it’s not fated to become abandonware. For me, TextMate is an indispensable part of my day; it’s one of the apps that I always have open, right along with Mail and Safari and Finder. I’m very relieved to hear that arguably my most frequently used app will have a future.

Why I'm switching to NetNewsWire.

For years, I’ve been using NewsFire as my RSS reader of choice, because of its intuitive, elegant interface, but I recently made the switch to NewsGator’s NetNewsWire instead, for 3 reasons:

  1. The three-pane interface – As nice as NewsFire’s implementation of a 2-pane interface is, I still like to view the available articles at a glance, because, for example, I don’t read every single post on Slashdot; I like to pick and choose what I read.
  2. Easily customizable post view styles – You can write custom CSS and markup to view items from the feeds in both apps, but in NewsFire, it’s inside the app contents, whereas in NetNewsWire, all custom themes (and there are many) are available in the ~/Libary/Application Support folder. The drawback to how NewsFire does it is that your styles get wiped out every time you upgrade the app. Not so with NNW.
  3. Syncing – I have two laptops, and I couldn’t sync my feeds or read items across them except by manually exporting from one client and importing into the other. NNW syncs across either NewsGator’s own server, or through MobileMe. Now I always have my most recent feeds, whichever computer I’m on.

Other NNW features that are nice but not necessary for me include the built-in browser and the ability to blog an item you read in your feed.