Followups

A few things to follow up from my last post.
  1. I forgot to mention that I had changed from an Apple Magic Mouse and my ancient Microsoft Natural Keyboard (which I spoke at length about here) to the Apple Wireless keyboard and trackpad. Now between that keyboard blog post from yore and the comments here where I complain bitterly about Apple mice and trackpads everywhere you might be going "What?" and you'd have justification. Lemme 'splain. On the keyboard: I wondered if having the keyboard at the right height might be what I needed and the Apple keyboard is much smaller than the MS behemoth. Also, it is wireless which is nice. I figured I'd try it and worse case, if my hands hated it I'd pull out the MS keyboard. So far it's OK. We'll see. On the trackpad: one part of this that it's clear that Lion's iOS-ification of OS X was built to require a trackpad. The other part is that multi-touch makes all the difference on a trackpad. It's maybe not as good as a mouse for pointing but it's great for gestures. I tweeted yesterday that I found out by accident that the two-finger swipe that works for back/forward in Safari does the same thing in Xcode. Man that is just bananas great. Really, really great. Three fingers swipes switch desktops so I can do what I used to do with Spaces and need no keyboard shortcuts to flip from "Development" with Xcode, Simulator, & Safari tabs to "Normal" with iTunes, OmniFocus, and email. So yeah. So far I love the trackpad+Lion combo, and I'm willing to live with the straight keyboard for a smaller footprint and no dangling wire.
  2. Lion. I wrote on Sunday that "I haven't switched over to using Lion full time yet" but Monday I copied over enough files to starting considering Lion my main OS and in fact I haven't rebooted into Snow Leopard since before writing that post. So I think it's fair to say I use it full-time now. I don't really care about Launchpad, but the instant-resume nature of everything plus the gestures … I really like it. There are a handful of apps I need that I haven't installed yet but so far it works great.
  3. iOS 5. I wrote on Sunday that I might want to look at iCloud storage for my app in the future. Well then I downloaded all of the WWDC 2011 talks and started watching them. I immediately ran into a "Oh crap, I want that for what I am working on right now" point. (Sorry to be cryptic but I think the NDA on iOS5 is more serious than the one on Lion at this point.) So I ordered an iPod Touch from Amazon and today I've been working on the simulator which can run a beta OS without fear. I finally gave up, renamed the RoadTrip codebase to RoadTrip Classic, and made a whole new project so I have a modern iOS5 project setup and UI and now I'm porting the logic from "Classic" into the new project. That's also a really nice breakpoint to switch from Subversion to Git so I did that as well.
  4. The standing desk. Blake asked me via email about the shelving units I bought from Target - what I got and whether I bought them locally or online. It's a bit of a funny story because what actually happened was convoluted. See back around Christmas time last year I had convinced Karin that we should get a PS3 to hook up to the monitor in the bedroom for the exercise bike. The reasoning was that I wanted to watch Blu-Ray discs while exercising (oh, and she could as well, naturally :-)) OK, we did that and I hooked up a couple of different choices for video switchers as I messed about and I finally got to a solution that I thought was workable. Problem was there were cables everywhere and I needed a shelving unit to corral the cables, the Mac Mini, the PS3, and the switcher. So I harassed Karin to find something she wanted and she came up with something that I guess is now discontinued but was perfect. In the meantime I had been reading a bunch about standing desks and really thinking I wanted to try it without spending $600 or more on a real piece of furniture. So when I saw this unit I thought "Hmmm. Something like that on top of my current desk would work. If I hate it then I have some shelves to put in the garage. If I like it I can eventually get something more permanent." So I bought a larger version of that cube with a vertical divider to put my monitors on, then put the version with the horizontal shelf in front of that for my keyboard, trackpad, and notepad. Cost about $110 and like I said, if I hated it I had shelves to put somewhere else! I also bought an "anti-fatigue" mat and of course I needed Mini DisplayPort and USB extensions to get the monitors that far from my Mac Pro's chassis. But all in all I was able to build a very functional "See if I like it" standing desk for under $200. And it doesn't look completely hideous. I mean the shelf units are cheap but they aren't flimsy, and it's not like the Ikea desk they are on top was all the much better. It's all particleboard but it looks decent.

Ch-Ch-Changes

A lot of things have been afoot lately, some major, some just the march of time, and some that are minor. Shall we dive in?

 

  1. I got a new grill. No I didn't convert to the heathens with gas but I plain wore out my old Weber so I bought a new one. I did switch from red to blue though. The new grill has a few changes - the handles are plastic instead of wood and it doesn't have the hole for sticking a themometer into the lid. Also instead of an external rail to catch the lid the lid has a hook internally. I'm not sure I'm wild about those changes but I can see an argument for them and I haven't used it enough to be used to them so I'll reserve judgement. I took some pictures - see them here.
  2. The contract work I've been doing for the past year or so has dried up, leaving me less-employed. I'm taking some time to work on iOS and Mac apps and we'll see if I can really make a go of selling any of them in the various App Stores. I haven't done much of anything in Xcode in about a year and a half so it's taken some time to blow the rust off my Objective-C skills. I've also been hassling with updating my iOS app that was written against iOS 2 code back in 2008. It wasn't even called iOS back then and Interface Builder wasn't really useful for iPhone apps. A bunch has changed by iOS 4 :-).
  3. Sort of tied into being self-employed again is the fact that I've been needing to reset my OS and start over. Something is really wrong in Safari which beach balls all the time (and sometimes crashes at the end of that), and there's just generally a lot of old cruft installed on TinyGod. When I suddenly didn't have deadlines and OS X Lion (10.7) is around the corner that meant the stars were aligning for doing a fresh install.
  4. I decided not to buy a new computer - I think there's still plenty of horsepower in this old Mac Pro but since I was going to install fresh anyways … it seemed like jumping to SSD was a good move. After some reading I ended up deciding on getting an OCZ Agility 2 SSD. Note to anybody thinking of doing the same - although that unit does come with an adapter for a 3.5" bay it doesn't have the screw holes in the top surface that you need to put it on a Mac Pro drive sled (it would work in a old-school drive bay where you're screwing the sides of the drive into the bay, but that isn't how it works on a Mac Pro). I bought a fairly generic convertor and it seems fine. Man, it's CRAZY how fast Lion boots on this drive. I haven't switched over to using Lion full time yet, although I am writing this blog post in it. Anyways, I recommend the SSD upgrade if people are considering it. I'm not sure about the TRIM command - it's not on, but there's some sort of garbage collection on the drive itself so I've seen stuff on the web claiming TRIM is harmful in that case. I guess I'll wait and see. Then I plunked a 1Tb drive in for my document & media storage, leaving the SSD for just programs.
  5. I have not installed iOS 5.0 on anything yet. These early builds are apparently really–for–serious–not–for–use–on–a–primary–machine and I don't want to consign either my phone or my iPad to it. At some point I'll want to look at iCloud storage and maybe if I get that far before a solid beta arrives I'll buy a development-only iPod Touch.
  6. I also recently decided to try a standing desk. I'm not going to lie to you Marge, for about two weeks it was killing my feet but I've rounded the corner on that and I think I do like it better. Rather than spending a ton of cash to try out something I wasn't sure I wanted I bought some cheapie particle-board shelving units at Target and just plopped them down on my desk and used reams of paper to tweak my monitor height. In a while I might think about wanting to get a nicer standing desk - either by going to IKEA or by going crazy-nuts and splurging on something really sweet, but either of those will have to wait a bit, as the discretionary funds were devoured by the bathroom remodel. I put some pictures of the evolution of the setup on Flickr.
  7. Oh yeah, the bathroom remodel. We had some water damage on the floor in the master bathroom and I had started trying to pull up the icky lineoleum and then decided that I wanted a pro to look at the floor and that we needed something more waterproof than vinyl tiles. That was back in March and the project is almost done now (sigh). In fairness some of that is my fault - it took a couple of months before we even got contractors in to look at it. And at that point the prices were reasonable enough to decide to just redo everything - not just fix the floor and tile but pull out the extant shower, toilet, and vanity and whatnot. We're keeping the vanity itself but we got a new countertop and sink for it. It's still the right call, I'm really happy with how it's going to look once everything is here but that's the rub. Not everything is here yet. The floor and tiled shower walls are done, a new toilet is installed, and the new countertop is at Lowe's but the glass walls & door for the shower are still pending.

 

State of the (Boy) Cat Address, 2011

So about that darn cat. He's diabetic again. We've known that for about six weeks now but it took a month to establish that he was just not going to respond to glipizide this time. At least now I've learned that "Hey I'm going to start peeing in weird places" means "I've got diabetes, check my glucose levels", plus I had the glucose meter on hand. All that means I'm about a week into giving him insulin injections. Hard to say what's that's doing for certain. I haven't done a full glucose curve for him (we're supposed to wait two weeks for his blood chemistry to stabilize), but I have been peeking roughly daily. Truth is halfway between his breakfast and his dinner the numbers still seem bad, which probably means I'll need to up his dosage. But then there's the anecdotal side of it - the pee volume is down (locations are still wrong, damnit cat!), and he's definitely more active since the injections started. I hate to read too much into his behavior when it might be just that I'm watching him more carefully, but this really was a matter of the day I gave him the first injection he was considerably more underfoot and playful that day. So maybe the insulin is giving him good numbers for a big chunk of the day, and just at the nadir between injections the numbers are bad again. I'm no expert …

For reasons I don't quite understand, the doctors insist that there's no interaction between any of these diabetes treatments and the Metacam (for his walking). Which I would believe – it's not that I don't trust them – but the thing is that the reason I thought there was an interaction was that they told me there was back in 2009 when all of this diabetes & walking stuff started. As far as I can tell they didn't want to start him on Metacam while he was having diabetes because kidney function is weird in diabetics. But now that we know Metacam is OK with his chemistry it's OK to add the glipizide or the insulin on top of the Metacam - even though they weren't willing to add Metacam on top of glipizide before. Either that or something new is known in 2011 that we didn't know in 2009. I'm not sure which.

At any rate, that's the deal now. He still gets his Metacam syrup every three days and he gets a shot of insulin with every meal. I was dreading that but the truth is that he doesn't notice the needle. He appears to think it's normal for me to pet him after each meal and so he's more than happy to come over and sit with me and get the shot.

Of course, the first time I won't be around at the feeding I'll have to convince Karin that the needle isn't "gross". We'll see how that goes …

Cleaning up a D&D Character File

A couple of months ago Wizards of the Coast "upgraded" the Character Builder program from the downloadable .NET application for Windows to a Silverlight program that can run on a Mac. In theory I support this. However, one crazy thing happened: the new program doesn't send text to a printer and instead sends big images. This means if you print to a PDF file two things happen: the file size is obscene (12 or more Mb for a four page file), and the text is blurry as all get out.

After some struggling with this I had an epiphany: if WotC wants to give me images go ahead and work with that, process the images, and get a smaller, sharper file. After some messing about I came up with a process that works well for me. If you have a Mac and you want to play along here's an Automator app. You'll also need a scriptable image editor - I use Acorn from Flying Meat software. (You might ask why not Pixelmator. The answer is Pixelmator seems crashy when run from script. I have a version of this that uses Pixelmator but I have to run it 5-6 times to get a successful output.) Here's what you do:

  1. Run the Character Builder and hit the Print button.
  2. When the print dialog opens use the PDF button in the lower left and choose "Save PDF to folder as TIFF". Pick someplace (I use the Desktop) and let it run. You now have a TIFF file for each page in the character file. These are fat and they are blurry but we'll fix that next.
  3. Select all of the pages and drop them on the Automator App.
  4. The Automator app uses Applescript to tell Acorn to open all of the TIFF files, run an Unsharp Mask on them, and save them again.
  5. The Automator app then creates a new PDF from the Images. This will be named Character.pdf and it will be on your Desktop. You can now delete the TIFF files and enjoy a readable PDF that can put on an iPad (for example.)

To be clear, this is still a work-around. The Character Builder ought to output text and then you could just use the print to PDF button normally. This workaround isn't great - there's still some definite halo effects on the text and the files are still pretty fat. My sorcerer (Gurdrian) was a 471 Kb PDF file with the old builder and my current version is 6.1Meg - over an order of magnitude larger, while looking worse. This is sucky, but it's less sucky than the 15 Mb version simply printing from the app to a PDF create

Anyway, if this helps somebody out there, here's my Automator app. No warranty, etc, blah, blah but it does the trick for me. If you try it and have an issue drop me a line and I'll see what I do to help.

Character Builder Cleanup App

Awesome Shop Vac Video

I almost didn't watch this because I worried that "kinetic typography" meant people nattering about how Helvetica is better than Arial (yawn). Nothing further from the truth. This is a very cool video and it's surprising to me how much having the right font really adds to the imagery. Anyway, if you haven't seen it yet it's worth taking a look.
(via Twitter. I first saw it from Len Peralta, but it's been well retweeted since then.)