Archive for the ‘rant’ category

tmux and bash tab completion

August 14th, 2012

In a move of wt[h], somewhere along the Ubuntu 12.04 LTS, tmux, bash development chain someone decided to add this little gem of a key binding:

bind-key -n     Tab clear-history

I found this using tmux list-keys from the command line.  You have to have a running tmux session for that command to give you non-error output. I digress.

SERIOUSLY?!?!?!?!? I mean, the tab key.  You know, the one you hit at least 1 gajillion times per terminal session.  When you’re typing in your editor.  When you’re CDing around the filesystem.  When you’re <insert favorite command-line activity>.  You probably hit Tab without the command modifier in front.

They mapped that to clear the history, shutting down whatever else it may have done.  This one is SO ODD, that I can only imagine there was some really good and crazy reason for it.  I can’t imagine what that is, but perhaps someone could enlighten me.

To overcome this “feature” add the following to your .tmux.conf.  I did.

unbind -n Tab

How to run OS X in one language but certain apps in another

April 20th, 2010

Ever want to run your OS in French but you live in America and type mostly in English?

Because if you want to use more than one language at a time on your computer you’re Doing It Wrong, because if you were doing it right, Apple would have provided a way to do it that way.

Astounding that this requires a 3rd-party application. Yes, it is possible to change the language in your document, but if you also use paragraph styles, they have a set languge.  And that set language doesn’t change when you set the language on the whole document.  And you can’t highlight the whole document of mixed languages and set the whole thing to one of them.  Usability at its finest.

Apple, some computer users do know how to operate computers.

Installing Ruby gems that require building native extensions on Snow Leopard

December 18th, 2009

I haven’t tested this on all “machines” running Snow Leopard, but on the brand new one I had to get today for work, I found that the default Ruby / Gems install doesn’t support installing gems that require building native extensions. The error message I was treated to contained the following:

MacBook-Pro-de-Ethan-Garofolo:~ juanpaco$ sudo gem install thin
Building native extensions. This could take a while...
ERROR: Error installing thin:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install thin
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/ext/gem_make.out

The solution was hyper-intuitive. Install XCode. Because of course that's the first thing you think of.

SubSonic Post 1

November 29th, 2009

I’m trying out SubSonic for my personal finance management tool, Budgeteer, that I’m creating.  The experience thus far has been frustrating. I’m quite keen on straightforward documentation.  The creators of SubSonic are not.  They are quite keen of being “clever.”

Take for example the first bit you’re likely to read at SubSonic’s webpage, bit which I presume is meant to explain what SubSonic does.  “SubSonic is A Super High-fidelity Batman Utility Belt that works up your Data Access…”  I like Batman, especially since Christopher Nolan rebooted the franchise.  But I don’t care about Batman with relation to software projects.  I still don’t really know what SubSonic is after having read that.  Is it an ORM?  Is it a set of functions similar to MySQL access in PHP?  I don’t know, and they don’t seem to want to tell me.

I can stomach cleverness to about the same degree I can stomach horseradish.  It ought to enhance the content, and it can in the right hands.  The SubSonic authors WAY overdo it, and their writing style hides all the content behind a shroud of utter nonsense.  Hopefully they code better than they write English (a common engineering foible shared by this author as well).

They also use a LOT of screencasts.  Screencasts have their place, when done well (example).  However, the 1 that I’ve looked into up to this point goes on about how easy it is to set up SubSonic while scrolling past the code the author is adding after about 1 second.  Screencasts don’t have the best pause mechanism, so it’ s pretty easy to miss what the author is typing.  You also can’t copy/paste from a screencast.

More will follow.  Since there isn’t actually anything useful on how to set SubSonic up in a client application, and that’s what I’m writing, I’ll do that once and if I figure it out.  The frustration had risen to a point where I needed to vent, and where better than the solitude of a blog?

Convenience fees and the nature of government

October 22nd, 2009

I cannot understand how government entities operate. Actually, I can– deficits.

BUT, point is, renewing car registration costs an extra dollar if you mail it instead of going in person. That used to be a 20 mile drive, but is now only 10 or 15. If you do it online, $3 extra. So, it’s worth $1 to avoid all that driving for myriad reasons. That would be a kick below the belt for the planet too–  40 miles just to buy a sticker.

City water/trash utility, $1.95/month to pay online instead of mailing it. They call it a “convenience fee.” They don’t call it, “cover our costs of operating online payments.” It’s a fee because online payments are convenient. What if I punch myself in the face while paying online? Will that wave the fee?

I don’t get this. It does cost money to operate payment servers, but a fact of the tech world is that people cost a lot more than hardware. It is cheaper to do online payments. Not only that, but “online” allows for “automatic recurring,” which has been embraced by every entity that actually has to operate in the black, probably because it 1) cuts costs and 2) increases the likelihood of payment occurring on time. It’s an opportunity for a classic win-win.

But that is not the nature of government.

i(Tunes | Pod) deficiency or Deserves a Pizza #2

July 31st, 2009

Apple, the reigning champion of “intuitive” design, strikes again has another winner.

“Podcast” is a useless, branded neologism for audio files that come out on a regular basis.  Nevertheless, audio files that come out on a regular basis are enjoyable.  I “subscribe” to the Dave Ramseypodcast.”  I also bike to work.  Those may seem unrelated, but in fact the latter is the cause of the former.

Biking to work falls into the high-risk class of activities, but is closer to the moderate-risk class than, say, sky diving without a parachute.  Folks who don’t bike to work don’t much notice those who do. I’m all for live and let live, but this lack of attention can sometimes break that pattern for bikers.  The point is that just how a pregnant woman has to eat for 2, I have to pay attention for 2, or 3, or 4, depending on how many motorized vehicles cross my path during my commute.  That payment of attention only requires a visual debit, leaving many spare brain cycles during which my mind sits idle.  I like to fill that with sound.  Sound where I learn something is even better.

Enter audio files that come out regularly.  But sometimes I don’t listen to the Dave Ramsey audio files that come out on a regular basis, giving me a backlog.  This means that there’s more than that I haven’t heard.  Now, the genius of mp3 players is that they hold more than 1 song, and mp3 players can, generally, play all their contents without user attention between each track.

Enter the iPod.

Audio files that come out regularly are a magical class of audio file for the iPod.  The iPod, by default, cannot play 1 such audio file and then go on to the next without user interaction.  In fact, at the end of 1 such track, it repeats the same track, even though the menu is showing a list of all availabe Dave Ramsey audio files that come out on a regular basis.  Now, I realize that desiring this feature just means I’m using the iPod wrong, because only holiness emanates from Cupertino.  Nonetheless, academic freedom dictates that I must challenge such dogmas and question all authority.

Assuming all cows are perfect spheres, this as a default behavior makes perfect sense.  And it gets better!  If we define “intuitive” as “difficult” or “requires somewhere-above-average-but-less-than-expert knowledge of system to use,” then Apple has provided an intuitive way to overcome this problem.  This blog post describes the solution.  I mean, who wouldn’t have thought to create a “Smart Playlist” to do something so basic complicated as playing the next track?  Who actually uses their mp3 player that way anyway?

However, if not all cows are, in fact, perfect spheres and we define “intuitive” the same way that Merriam-Webster does, then to get the next track to play, one should just have the next track on the device.  Ergo, this is an Apple fail.


  1. danandchoka deserve a pizza.
  2. The fact that goole has just over 400k hits for “ipod podcast play next” seems to indicate that I’m not alone in this problem.

Besides venting another Apple-related spleen, I wrote this post to bump up danandchoka’s post.  I really did appreciate finding the answer to this problem.

use != utilize

July 3rd, 2009

Today Dell upset my homeostasis.  I quote from Dell’s product information on their 30″ LCD:

“To fully utilize your new 3007WFP-HC monitor and enjoy the ultra-high resolution settings…”

“Utilize” is not the more formal/pretentious form of the word “use,” even though swarms of would-be writers utilize it as such.  No, “use” means “the act or practice of employing something.” ( “Utilize” means “turn to practical use or account.” (

Thus we see that “utilize” is a special case of “use.”  In a similar manner, “cat” is a special case of “useless 4-legged animal,” which is in turn a special case of “4-legged animal,” which is a special case of “animal,” and so forth.  All cats are 4-legged animals, but not all 4-legged animals are cats (as an example, see “dog,” which is a special case of “useful 4-legged animal”).  Similarly, one can bludgeon a sentence and use “use” wherever “utilize” is appropriate, but some meaning is lost. One cannot, however, utilize “utilize” wherever “use” is used, because the former is just not up to the task.

So when is it appropriate to use “utilize?”  Whenever one doesn’t have to utilize “utilize.”  As the dictionary points out, “utilize” brings with it the connotation of being used for something other than its original purpose.  You cannot, for example, utilize a hammer to drive in a nail.  Since hammers were made for that purpose, driving in a nail with a hammer is an example of “using” a hammer, not “utilizing” it.*  In a pinch however, one could utilize a wrench to drive in a nail.  As a further example, one can very well utilize a Macintosh computer to accomplish serious work.

If you’re still here after all this time, you may wonder what this has to do with Dell.  Well, they say, “To fully utilize your blah blah blah.”  First, since I haven’t purchased it, it isn’t mine.  Second, what does it even mean “to fully utilize?”  “Fully” would imply that there is some intended level of use.  But since I’m utilizing it, I’m using it for something other than what it was intended– some other use that I came up with.  Well, how would they know if I’m fully using something when they haven’t even come up with the use?  I fail to see how Dell is the authority on whether or not I’m succeeding in some tangential use of their product.  Thus, I am left spinning in an irreducible cloud of logic, which frankly irritates me to the point that I will not be purchasing the 30″ Dell LCD any time soon.

Why does this even matter?

“Clear language engenders clear thought,” wrote Richard Mitchell in his masterpiece The Graves of Academe.  As human beings we really can’t function and explore the full potential of our existence without one another.  We accomplish more in society than we’d be able to individually.  The trouble is that we aren’t mind-melded in the same way that Vulcans can be.  Our sole means of communication is translating our thoughts to words and communicating those words to another who must the re-translate those words into thoughts.  At each step of that process, intent is lost.  Words mean different things to different people (see discussion of “cat” and “dog” above).  And it is through words that we teach brain surgeons to be brain surgeons, for example.  Since we’re already at an inherent disadvantage, we ought to labor to use clear language.  This sort of thing can cost lives (

I concede that “use” vs. “utilize” will probably not kill anyone; I am unable to contrive an example.  But 1 cigarette won’t kill you either.

* -  Sledge hammers are an exception, but note that they are a special case of hammer.

Apple strikes again

December 18th, 2008

This time it’s with TextEdit, which is probably WAAAAAY better than Notepad, because Micro$oft didn’t write it.

Well, true to Apple’s form of thinking its users are too dumb to know how to use a computer, I found out that TextEdit does not let you choose what extension to put on a file.  I’m doing a MySQL create table statement, and copying/pasting the results of a show create table statement was overloading the terminal window– really weird text was coming out, and MYSQL couldn’t make sense of it.  So I decided to paste it into a simple text editor, save that as a .sql file, and then import that into the database via the command line.

Now, I know that file doesn’t have to have a .sql extension.  I like it that way though, and seeing how I’m the user, the computer should listen to me.

So what happens when one goes to specify one’s own extension on a file in TextEdit?  One is treated to the following dialog box (which is modal, of course):

An Apple staple

It isn’t particularly difficult to save a file with a different extension, and Apple’s philosophy of hiding any sort of file-system-level issues from ALL users weakens TextEdit’s usefulness.  When I’m using a Windows machine and need to quickly test something in HTML (for example), I load up Notepad, quickly enter the snippet under test, and then save it as an HTML document.  I would not have any such luck as a TextEdit user.

Am I left the option of changing the extension in Finder after?  Sure.  But that requires leaving TextEdit, finding the file, praying that I can even see the extension, and so forth.  Not the gold standard of usability.  Do I have a more able text editor on the machine?  Yes, TextMate, but it’s a bloated monstrosity (ever done a ‘Find in Project?’) without the power of Visual Studio, and it doesn’t come to mind for quick editing tasks.  And yes, in this particular example, the extension didn’t actually matter because thankfully mysql is better software than TextEdit.  The point is, I should be able to use a different file extension if I want to. Not all users are as scared of the file system as you think Apple.  Leave us the option!

This is yet another reason why I would never spend any of my own money on an Apple computer.

Edit: So, I got mad and wrote the post.  Then I gave the file the extension I wanted and tried importing it into my database, only to be greeted by the following error: ERROR 1049 (42000) at line 1: Unknown database ‘tf1ansiansicpg1252cocoartf949cocoasubrtf350′.  I thought, “I sure don’t remember specifying database tf1ansiansicpg1252cocoartf949cocoasubrtf350.”  TextEdit is serious when it says it only does .rtf files.  That polution of a .sql script is quite normal for an .rtf.  So Apple does not provide a plain text editor, or if TextEdit does do plain text, it isn’t readily apparent.

2nd edit: apparently it does other file formats, if you choose them from a drop-down menu on the save dialog box.  However, you’re still locked into the extension associated with the format.  And it doesn’t have a plain-text option.  TextEdit still loses.

Apple gripe: Pages file format

December 5th, 2008

Since Pages is from Apple, one would expect it to be awesome and without flaw.  Unless of course one hadn’t been baptized in the Church of Apple.

I know that the standard when there is a problem with something Apple is that it’s the user’s (my) fault, but I’m not so sure on this one.  I’m trying to upload a Pages document to Basecamp.  Now, Basecamp is made by 37Signals, some of the most rabid Apple fans out there (but also the origin of Rails, so they get just a snicker on their stance).

It turns out Pages saves “documents” as a directory with several files below it (they call it a “package,” but calling my unwrapped Christmas presents wrapped Christmas presents doesn’t make it so).  I’m sure there is a reason for that, just as I’m sure there’s a reason for the obnoxious screen capture behavior built into OsX (OSx?  Who cares?).  The problem is that browsers don’t do folder uploads, so one can’t just upload their Pages document without first zipping it up.  Then, presumably one would have to unzip it to read it again.  Zipping/unzipping isn’t a terribly painful process, but neither is stubbing my toe– not exactly the gold standard against which I measure an action.

Of course, this could just be the fault of every browser, because if it weren’t, then it would be Apple’s fault.

Come on Apple! Or is that one should never have to transfer a Pages document?  Stuff written in Pages should only ever be viewed on that same machine?  Did Apple just miss the existence of the Internet, or do they expect everyone to only use Apple products which, presumably, are equipped to ship a folder around? If Pages is any indication of Apple’s quality (and it seems to be), why on Earth would someone want to switch?

Of course, on all the message boards, all anyone talks about is how bad Microsoft products are, WHILE THEY’RE HAVING PROBLEMS WITH AN APPLE PRODUCT! It would be funny if I didn’t have to work with Apple products.

New Apple gripe

October 6th, 2008

I hope it’s a new one anyway.

So yeah, Mac OSX provides a screen capture utility that makes a cute little camera sound when a user takes a “snapshot.”  How sweet and usability-enhancing that is.

Well, it appears that Mac OSX makes the sound and then tries to take the screen grab.  Often I’ll take a screenshot to attach to a bug report at work.  I hit the buttons for the screenshot and then immediately go to look at the resulting file to make sure it was correct.  The problem though is that since it makes the sound BEFORE it has actually taken the screenshot, when I hit F11 to see my desktop, the resulting picture shows my windows on their way out to being hidden.

Apple, USE CONFIRMATION NOISES ONCE THE PROCESS IS COMPLETE!  It’s little things like this that are so frustrating with Apple because of how obnoxious the devotion of its acolytes are.