Archive for the ‘Everything Else’ Category

Finally Moved to Java 1.7.0_13 on My MacBook Pro

Tuesday, February 5th, 2013

java-logo-thumb.png

Well… I've really held off about as long as I can, and even then, it's probably a bit too long for what I'm doing. This morning I downloaded the Oracle JDK 1.7.0_13 with the latest security fixes for my main laptop. This is a big switch as I'd been holding out for Apple to step back in and really do Java right, but I think they are past that now, and it's up to Oracle to make Java work on Macs, and I pray that they do.

I'm doing more clojure coding, and with that, I really need to have the 1.7 JDK underneath, as there are optimizations that are done in the compiling if it's on the 1.7 platform. Since we're using that on the linux boxes at The Shop, and I have 1.7 on my work laptop, it makes sense to give it up, and switch.

I guess it's like my 17" MacBook Pro… legacy hardware. I'll move to the 15" with retina display for my next machine, and it's a beauty, and it's nice that it's smaller and lighter with the same pixel count, so it's a win - really, but it's a big change from all the years I've had these 17" machines.

Face the future, Bob… it might not be what you want, but it's all you have.

Google Chrome dev 26.0.1403.0 is Out

Tuesday, February 5th, 2013

Google Chrome

This morning I noticed that we have a new drop of Google Chrome dev to 26.0.1043.0 with some really nice release notes. OK… maybe they are just bug fix titles, with the Jira (?) tracking number, but it's nicer than the SVN commit logs of the past. And I think I mentioned this last time, but it bears out saying again - The update they have done to the page is really very nice. Clean, sharp, nice.

Thankfully, we're still getting a nicely optimized rendering engine so that we're not getting a lot of flash in repainting the same page on refresh. That's a nice touch, I must say.

Horribly Slow Time Machine Backups

Wednesday, January 30th, 2013

TimeMachine.jpg

Yesterday evening - as I was packing up to leave work, I noticed that my Time Machine backup hadn't completed. True, there was a new Xcode release yesterday, and that was bound to make the first backup after that large, but still… to have it take a full day and not be done? Well… I had to pack up, but this morning I wanted to get to the bottom of this and figure it out.

What I found was that the backup was working, but horribly slowly. I started googling, and it appeared that the convict is between Spotlight's indexing and Time Machine's backing up. Since I'm not a huge fan of Spotlight (I use LaunchBar, and always have) - I was ready to turn it off. But as I read on, I learned that wasn't the best idea either.

What it seems was the best alternative was to start fresh with Spotlight. SImple wipe out it's cache, reboot, and let it churn for about an hour rebuilding the indexes, and then the two would peaceably co-exist. So to that end, I said:

  $ sudo rm -rf /.Spotlight-V100/*

then a quick reboot, and about an hour of indexing later, Spotlight was back in the saddle. Time Machine then backed up it's 6+ GB very quickly after that, and things were fine.

Sometimes, it takes a little help, but this technology is about the most wonderfully designed stuff I've ever had the pleasure to work with. Amazing.

Xcode 4.6 is Out

Tuesday, January 29th, 2013

xcode.jpg

This morning I saw that Xcode 4.6 was out, and so I had to get it for my laptop. It included an update to the command line tools, as you'd expect, and the release notes indicate that they have pulled in all the Cx11 additions for C++, which - to me, is a great win. This includes the move semantics which makes a lot of the code I've written just a while lot more memory efficient - sweet!

There are also updated to the rest of the tools, and I was thinking, as I was updating just now, that Xcode has been my very favorite development environment of all time. It's just wonderful. Complex, yes. Hard to find things, certainly. But in the end, an amazingly powerful tool.

iTerm2 is Good, but Terminal.app is Better

Wednesday, January 23rd, 2013

Terminal.gif

I switched from Terminal.app to iTerm2 about a week ago because I liked the way it's double-click selection was controllable in preferences, and each tab in a window was selectable with the Cmd-1, Cmd-2, etc. whereas Terminal.app uses this to switch between windows. Not typically how that hotkey is used in other apps I use.

Plus, How different could it be - really? kept running through my mind. It's a shell. Should be pretty simple. Well… it's not that simple, and I've finally had it with iTerm2.

In the past week, large outputs to the terminal have crashed the entire iTerm2 app. I'm not saying that if it were like Chrome or Safari, and only the one shell session crashed, I'd be "ok" with it, but to have multiple windows with multiple tabs crash on you due to one tab is more than a little annoying to me.

So I'm heading back, and I'll probably never switch off it simply because Terminal.app never crashes on me. Just never. The convenience of the selection and tab switching would be nice to have, but I just can't have a crashing terminal program. Nope.

Acorn 3.5.1 is Out!

Tuesday, January 22nd, 2013

acorn152.jpg

Well, I'm happy to see that Acorn 3.5.1 is out with a nice set of release notes. It's just an amazing app that I keep turning to over and over again for my image work. That it keeps just getting better and better is pretty amazing to me. What a great piece of work.

Great Languages Hurt by Horrible Communities

Tuesday, January 22nd, 2013

Sad State of Affairs

I was talking to a very good friend the other day, and we were chatting about what I thought of the Ruby world, and even the Clojure world, and I had to say that what I've seen of the two languages, and jruby as an implementation, is very nice - but the communities that sprout up around these two languages are really far more destructive than I've ever seen in my 30+ years of development experience. The ruby community especially is almost toxic in it's adoption of the "Lazy Coder". Don't get me wrong, I'm all for the Magic of the Gem, but there's a point when a library - be it boost or a gem, has to expose what it's doing so that the user can see if it's worth using in their implementation.

What I see most often in the tubists I work with is a complete blindness to what's really happening in the gems until such time as they are tracking down a bug, and trace it to one of these gems. Then they either abandon it for another gem, and re-work their code, or they fork it, make a pull request, and carry on.

I think the latter is admirable, but I think far too little thought is put into the code, and therefore the gems, before a bug hunt is underway. This means that if things work - and in most cases, these are simplistic web sites/services so they don't focus on edge cases, and "production" means "usually up, and mostly working", so things typically work with these gems, and the truth of the cost of these libraries is totally unknown to the user.

If I were doing this for fun, that'd be OK. I'd live with it because it's only a "fun project", but when I'm getting paid for this work, I know that performance matters. Heck, everything matters - from the documentation to the runtimes, to the maintainability, to the ease of deployment. It all matters. So you can't pretend that dropping a gem into your app is magically going to do anything. It's going to extract something for it's service, and that something you need to know about.

But that's the rubyist way… to have "magic" gems. You drop this in, and by convention you have a named method/function and all the rest is done for you. I can really appreciate that - JavaBeans was all about that. But it's how it's taken and abused that makes me shake my head. Use it, but understand what it's really doing. Then you can know when it's no longer the appropriate tool for the job.

Anyway… this is never going to change. In fact, I'm guessing it's only going to get worse with time. I'm an old-timer now. A dinosaur that looks to most like I'm more interested in using stone knives and bear skins, but I tell you this - lack of real understanding is the true source of bugs.

Google Chrome dev 26.0.1386.0 is Out

Friday, January 18th, 2013

Google Chrome

Seems the Google Chrome guys have been busy - this morning I noticed they dropped dev 26.0.1386.0 and with it, some great release notes. Seems 'Tanya' is taking over, and she sees these as important. Lots of nice little changes, but what's really important to me is that someone new is in charge, and they care about communication with the people using their product.

Very nice to see!

Google Chrome dev 26.0.1384.2 is Out

Wednesday, January 16th, 2013

This morning I checked and Google Chrome dev 26.0.1384.2 was out with the now common lame release notes. It's like they aren't even trying. But hey, it's fast, renders pages nicely, and it works. In the grand scheme, I can live without the release notes if they keep making good software.

Google Chrome dev 25.0.1364.26 is Out

Tuesday, January 8th, 2013

This morning I noticed that Google Chrome dev was updated to 25.0.1364.26 with it's now typically terse release notes. It's loading fast and rendering just fine, so I'm not going to complain, but you'd think that an engineer at Google would have a little more pride in their work than these lame release non-notes. Kinda sad.