« Posts tagged mac

Trying Out Vim; or, When the Geek Says “Get Off My Lawn, You Noisy Kids!”

There seems to be an age that people reach at which getting a new computer stops inspiring us to paroxysms of joy and starts making us cranky that things aren’t all set up just the same as they used to be. I fear I’ve reached that stage.

What’s the Tech Term for ‘Ossuary’?

I like working on Web things. Working on Web things means writing code. Geeks like me write code in programs called text editors — that is, apps that give you the most tools possible (fancy syntax-based coloring, predictive text completion, powerful find-and-replace, and more) to edit only the simplest kind of file (plain text, no font sizes or bold or even typefaces).

Being at said more mature stage in my life, I’ve gotten tired of trying the latest new app or switching when I change from Mac to PC or when they stop developing the text editor I’m used to or whatever. Plus, since I’m cross-platform now at my new job, I’d rather appreciate something that I could run on Mac, Windows, and Linux.

Okay, that’s a tall order. And, if you’re a geek, I bet you can guess where this is going. Well, you’re entirely right. For the rest of you, the story is this: they basically make two powerful, proven text editors that run everywhere: emacs and vim. Picking a side in this argument is pretty much like picking a side in Catholic vs. Lutheran or Mets vs. Yankees.

Naturally, this being a blog, I plan to pick a side.

Digression: Far Too Much Backstory

So my first exposure to these guys was back in college, when I used a text editor on a Vax to write scripts to do data analysis with SPSS. Depending on which specific server you signed on to (which was itself a function of traffic and of which tools you wanted to use on that server), you could edit that script with vim’s predecessor, vi; emacs; or pico. The server with emacs always had too many users on it, so I never really got a chance to try it out; I usually ended up on the server with vi and pico.

And I most certainly used pico. Vi has — vim too — this quirk: it’s modal. In one mode, it lets you enter text; in another mode, it gives you powerful tools to edit that text. You’re in the one mode or the other, which means that it’s hard to write text when you’re editing or edit when you’re writing. I generally hate modal apps and in college I quickly found myself hating vi. Pico, while almost entirely feature-free, at least got out of my way with that mode crap.

After college I was taken in by the newer-fangled text editors with actual graphical user interfaces and menus and buttons and all that good stuff. There was a long, passionate affair with BBEdit that ended only when I switched to OS X and needed a new version I didn’t want to buy. There were desultory years spent with Espresso, which looked good from afar but, close up, was far from good. HomeSite was of course mentioned above. Heck, I was even special buddies with the quirky Tex-Edit for quite a while.

Back to the Present Choice at Hand

So with all that under my belt, you can maybe see why I would be appealed to by an emacs or vim that had been around for thirty-ish years now. Plus, making all of those switches from one tool to the next certainly added up to more time spent learning than I’d burn learning emacs or vim just the once. So I decided to try the two. But, to be honest, I was pretty sure I already knew how it’d turn out.

Now, remember, I hated vi; so I was confident I’d hate vim too. And emacs sure seemed the right tool in abstract: I’m past the age at which I’m excited to see new stuff on my computer, and emacs has the advantage that it’s actually basically the world’s most powerful program and you can choose plug-ins and usage methods that actually let you accomplish virtually anything at all using just emacs, so I’d never need to learn another program again. (I’m pretty sure there’s an emacs web server out there somewhere, and I think they have an emacs first-person shooter as well.) Plus, you make it do all these awesome things by hitting control-something and typing in what you want it to do. Easy-to-remember and, actually, sounds just like a bigger version of my beloved LaunchBar.

So it was much to my surprise that, ten minutes into the tutorial, I’d already developed a deep loathing for emacs. I had to do that to move the cursor? That to edit the text? Remember that four-key combination to do the other everyday task? No thanks.

Another twenty minutes later, I was having great fun with vim (to the extent that one can have fun with a tutorial, anyway). All of a sudden I was starting to understand why I would want a text editor that actually was designed around editing text separately from writing it. I realized that vim may be crazy, but it’s my kind of crazy.

Tl;Dr; What’d You Choose Now?

So I decided to do the only smart thing: learn the hell out of vim by customizing it. Since it runs on every platform, I got it up and running at work, too. Then I set said customizations up on github so that I could keep them synced between home and work.

Thanks to the magic of the internet, you can read all about my progress with vim here and laugh both at my work practices and at the code I write. So, enjoy. And soon enough, enjoy my blog entry on A Month With Vim or Switching to Vim for GUI Geeks or something like that. And, of course, if you’re a vim user (or an emacs buff who thinks I made a horrible error), give me your hot tips here so that I can put them in my .vimrc straight away!








Five Days with Lion

I’m a notorious late upgrader, but Mac OS X Lion caught my fancy back on Thursday; my new job doesn’t start ‘til the 28th, so it looked like either update now or update in December, the way new jobs tend to go. So I updated now. My first impression is: wow, but yikes. There’s a lot to love and a lot to be scared of.

What Kind of a Mac User Am I?

The thing about reviews of any sort is that, the closer the reviewer is to the kind of person you are, the more likely it is that the review will be relevant to you. Here’s who I am, so that you can decide if what I say is in any way useful, or if it’s just my usual claptrap. (ed. note — my bet’s on the latter!)

I’m the type of Mac user who writes Applescripts to get things done. I’m comfortable with the Terminal (or, what my lovely wife calls “that scary black screen”). I use a variety of Adobe products, and Office, and a bunch of Mac-specific tools (Things, OmniGraffle, MarsEdit) that you couldn’t pry me away from with a crowbar. I prefer to launch my apps with LaunchBar, although I used to be a Quicksilver user.

And I’ve been with the platform a long time. I remember OS9 and 8, yes, but I was a master of System 7, cut my teeth on System 6, and even worked on a Mac so old that it didn’t have an operating system number. Now I know my daemons and plists, but before I knew my Extensions and my DAs and that I had to use Font/DA Mover to move those around. I understand the concept behind a suitcase. I once considered getting a tattoo of Clarus. If this is you, you might find this review useful.

First, the Verdict

Definitely upgrade. Generally love it. Keep your eyes wide open, though: the big killer is the lack of Rosetta. If you need Rosetta, you need to stay on your existing OS.

Upgrading & the Mac App Store

The very first thing you experience when you upgrade to Lion is the upgrade process itself, and Lion’s is amazing. You just click on the Lion icon in the Mac App Store, the darned thing downloads — it didn’t take nearly as long as I feared, and I downloaded it on launch day, so I’d bet anyone with a cadle mobem or better would have it done by the end of dinner. The upgrade ran quickly and easily, and much sooner than I’d expected I was up and running in Lion.

Part of what made that up-and-running seem so fast is that Lion boots straight to the login screen, and only after you log in sends you to the ol’ blank gray screen with the spinning wait cursor that the OS shows during boot. I don’t know if boot overall is faster, but I sure felt better-served!

Does Lion Play Well With My 4-Year-Old MacBook Pro?

Yes, yes it does. I’ve got a MacBook Pro with a 2.4GHz Core 2 Duo (a MacBookPro3,1 for the geeks out there), and it’s noticeably snappier with Lion than it was with Snow Leopard. Leopard was itself snappier than Tiger, so I think Apple’s on a bit of a roll here. The speed increase is perhaps most visible in the Finder — which was rewritten in Cocoa, so should be a lot faster — but app opening and closing, and file opening and saving, are noticeably faster as well. Memory usage might have gone down a smidge as well, although I’m still happy that I have 6 gigs of RAM.

Lion’s Look

The first thing I noticed was the new square corners and tiny close-minimize-maximize chic lets. I have to say, those latter I think don’t look much good at all, but the squarer corners are a change that’s really grown on me. Replacing many Aqua-themed control widgets with flatter controls with fewer colors definitely makes the screen less-busy and easier-on-the-eyes. Some have speculated that it could be easier to miss controls with these looks, but I haven’t had that problem. Frankly, I think it looks slick.

Scrolling

The first part of this look that’s a noticeable change is the new scrollbars: no arrows, no handles; heck, there’s no scroll thumb in newer apps that take advantage of the latest controls. This is kind of shocking to look at, but, I have to admit, I can’t remember the last time I relied much on the scrollbar; I generally work with 30-60 page documents, and the traditional scrollbar just isn’t that much use there. Gestures have also been changed: you drag down with two fingers to scroll down, and up with two fingers to scroll up. It sounds stupid, but it’s just like the swipes you do on a smartphone. I never really used the gestures to scroll before, but now I do, and I love it. I don’t miss the old way at all.

Window Management

Another big change is window management. Since back in the early days of the Mac, you moved a window from the titlebar at the top and resized it from a special control at one corner. Now, you can resize from any edge. Honestly, having moved back and forth between Windows and the Mac, I never really thought resize-from-all-sides was a big advantage for Windows, and I don’t care now.

Lion offers true fullscreen windows — not just maximized, but occupying the sole layer in a given space, and with no menubar or other chrome. (The menu pops up if you mouse to the top of the screen.) This is great for apps, like Mail, which you manage mostly through buttons in the interface or through key commands, and for apps like OmniGraffle that you control through palettes. Be careful, though! If your app really, really isn’t written for full-screen — like, say, Chrome — then you can get it to full-screen without the button that gets you out of full-screen ever appearing!

Of course, window management isn’t just sizing and moving windows, it’s seeing where all your windows are. Lion replaces Exposé and Spaces with Mission Control, which seemed super-cool in the demos and so far has only disappointed. Honestly, this is the piece that I wish I didn’t have the most in the entire upgrade. The big problem for me is that I used to group windows by activity in each space — one for mail, one for notes, one for to-dos, and one for each project. That was easy in Leopard and Snow Leopard, because you could just hit F8 and see all your Spaces and drag windows from one to the next. Unfortunately, with Mission Control, you have a two-step process to move windows between Spaces: you need to first navigate to the starting space, then enter Mission Control from there, then drag the windows over. That’s twice as much work. Plus, everything’s in a straight line, instead of a grid, so you can’t move directly from, say, Space 1 to Space 4 like you used to be able to.

Worse, full-screen apps don’t play well with Mission Control. Full-screen apps each get their own space, but there’s no way to directly switch to that space — it’s not numbered. The only ways to get there are to go into Mission Control or to command-arrow over there.

Frankly, Mission Control has left me with this pattern of using Lion in which I move back and forth in my spaces, as if along a ribbon of film. It reminds me of the good ol’ System 4 Switcher days, back before even MultiFinder.

Mail, iCal, and Address Book

iCal and Address Book have been re-done in new skeuomorphic looks. Skeuomorphic is a word I learned reading about iCal and Address Book’s new looks, and it means “look like real things.” They sure do! Address Book’s new look is skin-deep only; it works about the same, but now it looks like a book, rather than Baby’s First User Interface Design Project. It’s a meh.

iCal’s redesign, despite it’s stupid leather look, is awesome. The year view now gives you a heat map of how busy your days are, so you can see when you have time and when you don’t; it’s brilliant for setting far-future events based on free time. The month and week views are the same as they were before, which isn’t bad since I used to live in my week view; but the day view is my new favorite. You get the usual view of your day, but, instead of a bunch of wasted space, there’s now an agenda view of the whole week right next to it. Definitely the best way to look at your schedule!

Mail is similarly brilliant. Everyone talks about the 3-pane view, which is nice, but, to me, the other details are better. One is that the three-view is really a two-view: there’s a button to toggle the folder list opened and closed, which is great since we all mostly spend time in our inbox and only refer elsewhere sometimes. Most of the time that list can be out of the way, but it’s still easily at-hand when you need it.

The other is the new threaded mail view. Basically, the right-hand reading pane looks like GMail’s, but prettier. Brilliant! Honestly, with Mail’s great new look and powerful rules, plus Mail Act-On’s flexible rules and filing commands, I can hardly imagine needing more from my mail client.

If you live in iCal and Mail, then the $29.95 update to Lion is worth it just for those two apps; you’d easily spend more on third-party apps of a similar caliber.

Other New Features

One thing I rather don’t like is the new dialogs the system pops when it needs an Administrator password for something: you used to be able to click on a disclosure triangle to see exactly who was asking for something, but no more. I liked that info, and, thanks to the disclosure triangle, I can’t see how it would’ve gotten in anybody’s ways.

User account icons are circular with a fairly prominent beveled edge. Just looks stupid!

The Guest account is gone, which I can’t see how that’s an improvement.

E-mail and Calendar account prefs are now in the Preferences, rather than in a given app. Potentially useful, if all your apps can eventually draw from this.

Autocorrect in spelling works like on the iPhone, with little pop-up suggestion boxes and autocorrect. I think I have to get used to this, but I’m not sure what the point is on a non-multitouch screen. A portent of the future?

I’ve had some trouble with the new DVD player. Hopefully, that’s more the DVD I tried than the software itself!

Did I mention no Rosetta? This is a Do Not Upgrade if you’re reliant on, say, Microsoft Office 2004.

My Verdict

I really need to get better used to the desktop- and window-management paradigms from Mission Control. I suspect they’re good at the end of the day, but I need to learn how to use them.

Mail is one of the best e-mail clients I’ve ever used.

With the exception of Mission Control, I’m not really bothered by anything, and overall my computer is definitely faster. Lion’s a good upgrade! At $29.95, it’s a no-brainer for pretty much any Intel Mac user.








Things I Thought Would Be Simple By Now Include Personal Finance Programs

I need a personal finance program. You know, to track money on hand and budgets and stuff. I figured it’d be pretty easy, what with it being a major product category for something like a decade and a half now. Not so much; apparently I’m a demanding customer. Said demands — not letters-cut-out-of-magazines-pasted-into-message-sent-anonymously-style demands, just plain old consumer expectation-style demands — included:

  • I can enter transactions (you know, rather than just having them auto-downloaded for me)
  • Auto-reconcile download transactions from multiple banks and credit cards
  • Multiple separate budgets (you know, so that I can have one for me and one for the family)
  • View budgets on iPhone app
  • Enter transactions on iPhone app and sync to desktop
  • Runs on Mac

That’s all! That doesn’t seem like much to me. However, it’s been harder than I’d expected; nothing out there so far has made the grade. I’ve tried:

What about Quicken?

Quicken is the obvious answer, unfortunately there’s no matching iPhone app. From experience, I know that, if I don’t enter the transaction shortly after I make it, I’ll just end up with a pile of receipts and an out-of-date budget. Similarly, Moneydance and Moneywell both have iPhone apps coming but… not yet.

What about Mint?

I was happily using Mint for a few years, but it just didn’t match my life anymore. It didn’t have multiple budgets, which was an annoyance. But the killer is that I can’t enter transactions in it. We pay our rent with a check, since our landlord is just some lady who owns a few houses, and there are a few other people we pay with checks every month too; none of these fine people deposits checks promptly, so cash in our bank account can exceed cash actually available by thousands of dollars for a couple of weeks every month. This makes Mint’s picture of our finances pretty unenlightening.

So I tried the rest:

iBank

iBank has a great desktop program. It’s easy-to-use, good-looking, and is one of the few that lets you budget by more than just category. Unfortunately, the iPhone version doesn’t have budgets, and is designed in such a way as to suggest that they don’t really mean to include budgets. That’s a killer for me. However, if you want direct download from your bank, like Quicken offers, iBank is one of the few with this feature.

Cha-Ching

Cha-Ching actually does everything mentioned here! Feature-wise, it’s a clear winner. Otherwise, it doesn’t appear to be under active development anymore and so I just didn’t feel comfortable committing to it. It’s hard to put all your financial data in a program that won’t be updated to match future changes.

Money

Money was the early leader here, with all of the features… except it’s not very smart about auto-reconciling. If the transaction date in the download doesn’t match the date you entered it, Money doesn’t know to match it and Money offers no way to manually match downloaded transactions to existing ones. This is more frustrating than it seems, at least to me, since my bank and credit cards provide the posting date, rather than the date the transaction occurred, in downloads. The posting date is sometime between the same day and up to 5 or 6 days later, depending on the practices of the place you buy, I believe. Naturally, I entered transactions on the date they occurred. Having dozens of duplicated transactions because of this date disagreement was a killer to me. However, if that’s not a problem for you, then the budgeting here was as good as iBank.

Squirrel

Squirrel is almost perfect. The desktop version is actually rather lovely, although you’re limited to budgeting by category. But the iPhone version crashes every time I look at my budget. So there goes the whole budget thing.

iCompta

Same date problem as Money. Also, weird and French.

I’m not sure what’s next. Do I abandon the requirement for a budget on my iPhone and either accept Squirrel, with the promise of maybe future budget bug busting, or iBank, with no budget but the only support for Direct Download à la Quicken? Do I choose Quicken and give up on having “an app for that”? Do I wait to see if Moneywell and Moneydance have good iPhone apps? What do you think?