WildBill's Blogdom

Mongo only pawn, in game of life.

Minor Car Rant on A-Pillar Design

| Comments

I'm about to go a little ranty on my car, and most modern cars. Yes, I love my car - most of you know that already. But there's ONE thing about my car that bothers me from time to time, and when it does bug me, it REALLY bugs me – and that's the size of the A-Pillar. (That's the first pillar in the cockpit - the piece the windshield attaches to.)

You may think I'm nitpicking again, and you may be right, but today's cars have HUGE A-Pillars. Usually, as in the case of my 2009 Pontiac G8 GXP, these are due to airbags being placed in there. Yes, Virginia, airbags DO save lives – but they're also annoying under certain circumstances. In my case, if I'm making a left turn on a windy road, frequently the A-Pillar will block my view of the oncoming lane, so I have no idea if there's a car coming at me.

Damn A-Pillar

Take a look at the picture on the right. See that light coming off the A-Pillar? That's a car in the oncoming lane. I'd have never known he'd be there if he didn't have his headlights on. On some left-hand curves, I have to totally rely on faith that there's no one crossing the double-yellow line, because I can't see. (And don't stress, I took that shot by holding the camera next to my head and mashing the shutter until I got a usable shot. Only took 108 exposures!)

On really tight corners, I can't even see the line of the road ahead of me due to the A-Pillar blocking my view. That REALLY annoys me, as I've got to just try to keep the car in its lane, but I can't start mentally setting up for the next turn. Feels wrong and unsafe as hell to me.

Yeah, I know, I'm picking nits. But this has bothered me for a while, and I felt the need to vent about this. Thanks for listening, or whatever.

Apple Predictions, Where I Was Right (and Wrong).

| Comments

So, for those of you playing at home, let's see how I did in the iPhone 5 Feature Sweepstakes when it comes to guessing what was going to happen at the Apple Event on Wednesday:

  • 4-inch screen:
    • FAIL. I said that the iPhone 5 wouldn't have this. I failed utterly. Apple shocked me here - I thought for sure that this would be a fragmentation issue for them.
  • Screen resolution:
    • FAIL. This ties in with the screen size.
  • Mini Dock:
    • WIN. I got this right. Apple's shrunk the dock connector, and called it Lightning. Now you have to buy all your accessories over again. AND YOU WILL DO IT WITH A SMILE AND A THANK YOU.
  • iPad Mini:
    • INCONCLUSIVE. Apple didn't release a low-cost, 7” iPad Mini at the event. While this is a partial win, it won't stop them from doing it at a later event. However, they've got the iPod Touch smack in the proposed price bracket. I think as long as the iPod Touch lives, iPad Mini will be stillborn.

So, the tally is two fails, a win, and an inconclusive. Apparently I suck at being a pundit. Oh well, you get what you pay for. ;)

Regarding iPhone 5 - and iPad “Mini”

| Comments

Everyone’s got their own opinions and ideas as to what the latest iDevices are going to be coming out of Cupertino next week. I figured I’d throw my hat in the ring too.

So, let’s just get it out there right now. I don’t think the iPhone 5 will have the “stretched” 16:9 screen that everyone else thinks it will have, though I’m pretty sure it will have a mini-dock. As far as the iPad Mini goes - I don’t see this being a product Apple would release, at all.

Let’s start with the iPhone 5. Yeah, I know I’m going against places like iMore who say the iPhone 5 will have a 4-inch, 16:9 aspect ratio display, but I actually think Apple’s experimenting here at best, and trolling us all at worst. The thing to remember here is that Apple’s Jony Ive has stated repeatedly that the iPhone design isn’t fashion, it’s function. So, let’s look at function, then, and let’s start with ergonomics. I’ve had a lot of opportunity to fiddle with all makes and models of devices at my day job, and I’ve always felt that the current trend of ever-increasing phone screen has made the devices less ergonomic. It gets harder and harder to use the device single handed - which is a big use model when using a phone. (Think about using the device when you’re in a store, pushing a shopping cart, not what you thought about when I said single-handed. Perverts.)

I’m going to steal a shot I saw on Dustin Curtis’ blog that shows off what I mean here…

Four Inches - iPhone/Android Comparo

The green area denotes about the arc the average hand can sweep through on an iPhone-sized display. Look at the Galaxy S II’s screen and you can see there’s at least 20% on the right side you can’t access. I can’t believe Apple wouldn’t pick up on this. Remember, the iPhone is about function for them, or so they say.

Also on the function front is screen resolution. The original iPhone thru iPhone 3GS shipped with a 320x480 display. iPhone 4 and 4S upped that with a 2x “retina” display at 640x960 resolution. The folks at iMore and other tech reporters out there seem to think that Apple’s moving to a “taller” design at 640x1136, changing the aspect ratio to a cinema-style 16:9. That would require new UI design, and new application packaging across the board, and would fragment the resolutions that developers would need to support into three factions: Non-Retina, Retina, and “Extended” Retina. Fragmentation’s been something Apple’s avoided at all costs so far, and I don’t think that sacrificing their function is worth the application developer headache to them. Now, I’m aware we’re seeing leaked parts on the Internoodle that look like a longer iPhone 5 is in the cards, but these could very well be Apple experimental prototypes, or flat out red herrings designed to keep us (and Apple’s competitors) guessing.

As far as the mini-dock goes, yeah, I think Apple WOULD do this. It’s in their interest to keep connectors as small as possible to increase the interior volume of the phone available to components, and the current 30-pin dock connector carries a lot of legacy baggage. Also, Apple’s never been afraid of breaking backward compatibility in the pursuit of moving forward. Take the Magsafe connector on the MacBooks as an example: Apple’s recently made it thinner and wider on the newer laptops, requiring either “Magsafe 2” power adapters or a little adapter to put on your existing Magsafe units. Apple’s also gone from Firewire to Firewire 800 to no Firewire to Firewire 800 to Thunderbolt on their systems, all with the express desire of moving forward in feature set and speed. A mini-dock may seem like a dick move by Apple, but it’s totally within their MO to do such a thing.

Now, moving on to the iPad Mini rumor – that is, a 7” iPad I don’t see Apple doing this. It’d erode current iPad sales, even while they COULD use iPad 2 style hardware in it and keep the costs down and margin up, I don’t see them cannibalizing their cash cow like that. On the function front for them, there’s one compelling thing I keep coming back to that makes me think Apple will keep the 10” screened iPad as the only iPad: the keyboard. You see, the iPad’s keyboard, in landscape mode, has almost the same size, spacing, and layout as a MacBook or Apple Wireless Keyboard (minus the numeric keys on the top). This isn’t a coincidence. Again, from a function standpoint, this is incredibly logical. Take a look at this shot I took with an iPad 2 and Apple Wireless Keyboard:

iPad Keyboard vs. Apple Keyboard

See the similarities? There’s no way a 7” iPad could have that layout. If you look at everything through a function-based lens as if you’re Jony Ive, you’d say that an iPad Mini just doesn’t make much sense. Yes, it leaves Apple at a slight market disadvantage, as Google, Amazon, and Samsung all have 7” tablets that fit a lower-end market, but Apple’s proven time and again that they don’t generally like to play in those spaces. If Apple does decide to play in those spaces, they just discount their previous generation of gear and call it a day. (Look at the iPhone 3GS and iPad 2 for examples of this.)

We’ll see in a week if I’m right or wrong on this. I don’t have a crystal ball, but this seems like the logical move for Apple to me.

Mac OS X Memory Management: You Kinda Suck, Yo.

| Comments

Even though I write for Linux Journal, I’ve made no secret that I use Apple’s OS X as my laptop/desktop OS choice. This angers a lot of people, and I’ve even heard a semidrunken near-hour long rant about how I was the “worst person ever” for doing so. (To the ranter: You know who you are, and that’s still one of the funniest hours in recent memory. My main reason for using OS X is similar to Miguel de Icaza’s, in that it gets out of your way and lets you work. While its fun to dig into the internals of a system and fiddle and figure things out from time to time, its not something I need to do in the middle of a work day when I’m pressured to do tasks that directly impact our product’s release schedule. Hence the move to OS X on the desktop. Whatever. I’m off topic, so I’m going to veer back to the topic at hand: OS X’s memory management.

I’m going to go out on a bit of a limb here and state that OS X’s memory manager is just a little bit schizophrenic, and quite possibly out and out insane. What do I mean by this? Well, I’m going to have to explain a little bit about how Linux’s memory manager works first, as I think that’s a “sane” implementation. (Whether or not it really is, is open to debate.) Below is an example of the “free” command’s output in Linux.

bill@miranda:~$ free total used free shared buffers cached Mem: 2053032 1916744 136288 0 252540 323288 -/+ buffers/cache: 1340916 712116 Swap: 4016212 1000016 3016196

What does this mean? Well, to understand that, we need to understand the different categorizations of memory listed above. The “Mem” row refers to actual physical memory, and the “Swap” row refers to virtual memory in the form of a swap file or partition on the hard disk. Of course, you want the system to avoid swapping if it can help it, as the increased I/O activity by thrashing the hard disk will bring the performance of the machine way down. The columns refer to what state that memory is in. So, the machine has 2GB of physical RAM, of which 1.9GB is used, and 136MB are available to be allocated but that’s sort of misleading. It’s misleading because Linux has an in-RAM file cache where it stuffs files that are frequently accessed, so often-used file access is nice and fast. That’s represented by the buffers and cached columns in the listing above (I’m oversimplfying here, because once again, I’m off topic.) The in-RAM file cache is dynamic, though, and the kernel can grow or shrink that based on the memory demand of the system. So, the answer to the question of “How much RAM is available for use in this system?” is really the number in the center of the output: 712MB.

bill@miranda:~$ free total used free shared buffers cached Mem: 2053032 1916744 136288 0 252540 323288 -/+ buffers/cache: 1340916 712116 Swap: 4016212 1000016 3016196

Again, Linux dynamically adjusts the file cache based on system load and a few other variables – and you have at knobs like the “swappiness” setting that allow you to control the tendency for the system to swap to the disk for virtual memory. Let’s contrast that with OS X.

OS X is designed to be a desktop OS. That means the workload is typical desktop applications: mail, web browsing, word processing, photo editing, etc. A desktop user’s workload differs from a power user or developer. A desktop user might open a mail program, send an email, then close email and open a word processor for a bit, then close the word processor and re-open email you get the idea. Every one of those programs might request a couple hundred megs of RAM from the OS, use it, and then relinquish that back to the OS. OS X is optimized for just this case. It has the concept of “inactive memory”. Basically, when a program shuts down, the system will block that memory as “inactive”, so that if the user fires the same program up again, the program can start up extremely quickly. That’s fine and dandy for small memory blocks, but a developer’s workload generally is to use huge blocks of RAM at a whack. A developer might open a VM that consumes a couple of gigabytes of RAM, then close it, then compile a big program that might consume a huge whack for memory and as OS X marks those huge tracts of memory to be “Inactive”, your system looks like this:

Before Purge

Do a few more things, and your system will be OUT of physical memory and start to swap, and you’ll get the dreaded “beachball”. About this time is when you’re head desking and force quitting apps to try to get the system to be responsive. Fortunately, there’s a couple of workarounds, and maybe even a permanent fix.

The first workaround is to run the command “purge” in a terminal window when your system looks like it may be getting into trouble. Purge, at a high level, will reap inactive memory and push it back to the system so it’s available. Here’s a shot of the Activity Manager in OS X immediately after I ran the purge command:

After Purge

Note that where I had 480MB of RAM before, I now have 4.04GB available to the system. I’ve also avoided a beachball scenario. Happy Bill is Happy.

The second workaround is to install a wrapper around the purge command. There’s a great free little program called FreeMemory in the Mac App Store. FreeMemory will sit in your menu bar and display the amount of Free RAM – and when you get low, you can simply click on it and hit “Free Memory” and it’ll run the purge command under the hood. No muss, no fuss. I suppose you could run “purge” in a cron job if you were really nutso about this, but if you’re doing that you may as well go for a more “permanent” fix…

Turns out you can totally disable the dynamic pager in OS X. Not sure if this is a good idea, but if you’ve got 8GB of RAM or more it seems like this is a viable thing to try. It’s easy to do and easily reversible. To disable the dynamic pager, run the following command from a terminal and reboot:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

If you want to re-enable the pager due to some bizarre behavior, running the following command in a terminal and rebooting will do that:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

So, give these things a try, and see if your system responsiveness gets better. The “purge” command’s come in handy for me so far, but I have yet to be brave enough to disable the dynamic pager. If you DO try it - let me know in the comments how that’s worked for you!

Introducing #FlashbackFriday! Might as Well Go for a Soda…

| Comments

I’m instituting a new feature on the blog here today – #FlashbackFriday. What is #FlashbackFriday? Well, it’s nothing more than a nugget of memory, from either the 70s, 80s, or maybe even the 90s. I’m going to warn you now, though, that this may get rather obscure from time to time – so just hang on and enjoy the memories. Hopefully these little memory snippets will jog your own memories, faithful reader.

So, we are going to kick off #FlashbackFriday with something really obscure: Kim Mitchell’s tune from 1985: Go For Soda. I heard this recently on XM Radio’s 80s channel, and for about four minutes and nineteen seconds it was like everything about 1985 exploded in the cockpit of my car. Since I’m a complete jerk, I’m going to share that love with you right now…

httpv://m.youtube.com/watch?v=MXnTbmPxv5g

You watched that all the way through, right? Seriously, there is so much 80s in this video, that my shirt spontaneously changed its color to pastel pink and my collar unpopped itself. Make sure you watch till the end – they actually named the primary special effect in the video “SodaFlex”. Wow.

I can hear you all now, though: “Bill, I NEVER heard that song and I was so 80s my Izod gator had an Izod shirt on.” Well, that song was a number one hit in ‘85… in Canada. So there. It was also used in an episode of Miami Vice, which is probably where my malleable teen brain picked it up. According to Wikipedia, it was also used by a Mr. Pibb commercial, so that proves there’s no accounting for taste… but it wouldn’t surprise me if that song made its way into the recesses of my teen brain via ONE of those paths, and all it took was one errant play from XM Radio to bring it bubbling back up to the surface like last night’s pizza.

The best part about this is that this song is such an infectious earworm that it’s now gotten into Conner’s head. I’ve caught him humming it around the house and a new generation of 80s appreciation begins. :)