Nothoo - Jeff Clark's Blog

Software Awakenings

Language Bigotry

I once was a language bigot. I paid the bills creating SaaS and SOA enterprise software using Java. All the while I secretly loathed Java and everything that it stood for. At night I would dink around with Ruby and Haskell and Erlang and … you get the idea. Always thinking that if only I had a job that used those langauges I would be happy and awesome, all at once. Then came the day when I was free to do what I wanted, I was working for myself; a clean slate, no legacy code, no customers pushing for those pesky features (and bug fixes). So what did I do? I created an iOS app to help teach language to kids with Autism. Objective-C is nowhere near a super clean modern quasi-functional language. Instead it is kind of a mess. A mess it may be, but I soon realized that languages are just a piece of the puzzle. A means to end. Suddenly I was no longer a language bigot. Good riddance.

What I Have Been Up To

I have been absent for some time but not without reason. I have spent the past several months reengaging my mind in the wonderful world of Mathematics and finally engaging my mind in the absolutely stunning world of Physics. My one and only university degree is a BS in Mathematics. Pretty much from the day that I received it I have spent my time either creating software or teaching and raising my 2 kids. Come this summer I will be reengaging with the world of software. This past November my oldest son, who was previously home-schooled by yours truly, entered public school.

These two events have given me both the motivation and the time to re-learn some of my Mathematics and to learn a bit about Physics. I have always been interested in Physics but have never had any formal Physics education, other than whatever I got in high school 20 some odd years ago. Being, possibly, a bit of a masochist/over-confident I started with General Relativity. I have since moved on to a “basic” text in Astrophysics.

Now that I have gotten that out of my system I have moved on to learning Clojure and looking at Haskell again.

Shameless Self Promotion: Stack Overflow Careers

I recently setup my profile on stackoverflow Careers 2.0 site. I really like what they have done with the site. I also love the idea that I can put myself out for employers to see without having to use the monstrosities that Monster, Dice, et al are. This should at the very least cut down on all the annoying recruiter emails/calls that I still get (after last having my resume on Monster/Dice nearly 3 years ago!). I highly recommend checking them out.

OS X Oddness - Permissions on TMPDIR

I recently bought a new Mac. My first non-laptop Mac in fact. It is a gorgeously awesome 27” iMac. It replaces my old and mostly trusty MacBook Pro that I have had since late 2008. Right before I updated to the new machine I upgraded the old one to OS X 10.7, Lion. Overall it was pretty decent though I did have some issues (Flash was even worse than with Snow Leopard and Safari has become unusable). One other issue I had was with various applications not being able to save new documents. I poked around trying to figure it out and was given the advice to Repair Permissions from the Disk Utility. I did this and the problem persisted. I then forgot about the problem as my shiny new iMac had arrived.

I decided that it was time to do a clean install. The old MacBook Pro had been upgraded from Tiger to Leopard to Snow Leopard to Lion. There was much cruft and even some flakiness, due I am sure to the long life and many upgrades of the OS. So, I started over with the new machine. A fresh factory install of Lion. Liberating. I have been installing things as I need them and manually moved over my documents, music, and such. Good riddance to the cruft! Today I needed to create an OmniOutlier document. I installed the application, added my license, and off I went.

After a minute or so I faced the same damn error message that I was having on my old laptop. Lion telling me that it can not save my ‘Untitled’ document! Uggghh. I ran the repair permissions task from Disk Utility, it fixed a few things but it made no difference, still no luck saving any new documents from OmniOutliner. I then tried OmniGraffle, same thing. BBEdit, no problems. TextEdit, no problems. iWork, same problems as the Omni products. What is going on here?

After some googling and poking about I discover that the TemporaryItems directory in my $TMPDIR does not have group write permissions. A quick sudo chmod g+w $TMPDIR/TemporaryItems later and all is well. Why the hell is this happening? And why did it happen twice to me on two totally separate installs (with no migration between them) of Lion. And finally, why if this is such a seemingly common problem is google not aflame with others having this same issue?

I never saw this pre-Lion. I had at first thought that it was an issue with Lion’s file versioning feature, but this does not seem to be the case since TextEdit did not exhibit the behavior. Upon figuring out the permissions issue it is even odder since the inability to write to the TemporaryItems directory would seem to affect all applications that allow document creation, but yet it didn’t. I am fairly sure that applications do not ever deal with the writing of the file to the TemporaryItems directory before it is moved to the place that they user has chosen to save. So it does not make much sense that some applications worked and others not.

A mystery…

Starting From Scratch

I wish I could say that I boldly decided to abandon the previous 10 years of my spotty blogging life and make a clean-break, but instead it is simply that I did not properly respect the power of rsync. Let me just say, thank goodness for backups! Losing the entire www directory on my hosted account made me think about whether I even wanted to carry all of that baggage forward. I have decided for the clean break. Now I can look forward to 10 more years of writing stupid banalities before I rsync my way to a reset again.