Picking up the Pieces

June 26th, 2009

We’re all fully aware of the number of blog posts, littered about the internet, which start with some variation of the phrase “I know I haven’t updated in a while…” I’ll spare you.

(see what I did there?)

My life is suddenly, rapidly changing, and I’m in desperate need of getting things said. Of course, due to the nature of these thoughts and feelings, I’m gonna need to start posting a lot more “private” entries, not for public (or friends’) consumption. But I need to write. And if I just go ahead and start posting, I’ll eventually find a way to write my thoughts in such a way that I don’t offend any readers (I’m sure the whopping two or three of you are picky buggers).

Anyhow, public posts will hopefully be coming soon. I’ll also be kinda bifurcating this blog, separating the technology posts from the personal ones. I’ve already got categories set up, but I’d like to have a more distinct “separation of church and state.” Like separate RSS feeds and everything. I’ve just got a constant stream of ideas and observations that are currently either being mishandled/ignored, or posted to some crappy forum or comment thread where the point is guaranteed to be lost on roughly everyone. I’d rather hurl the words into the void, and if people stumble upon it, and enjoy it, and keep coming back for more, then I win.

I recently moved punkassjim.com off of my old host (too much a pain in the ass to deal with), and moved it onto a server that I control, a Power Mac G5 that sits about 15 feet from me at my office. It’s not the most reliable box (unresolved mismanagement by a third-party), but I have 100% control, and can install whatever the hell I want. I’ll worry about reliability if/when I ever get real traffic. Anyway, along with the new digs, I’ll be setting aside some time very soon to upgrade my WordPress install, dust off my checklist for new theme creation, and put some creativity into it.

Big plans, stay tuned.

Chromeless Web Apps on iPhone

January 14th, 2009

One thing I was really looking forward to in iPhone OS 2.0 was the advent of chromeless web apps. The promise was, as a web developer, you’d be able to add a line of code to your site, and it would unlock a fancy new feature: in addition to just adding an icon to your home screen, you could now make it a standalone “app.” No URL bar, no navigation chrome, all screen real estate. Here’s the code, situated in the head tag:

<meta name="apple-mobile-web-app-capable" content="yes" />

And the result is a nice, clean, chromeless browsing experience:

Hahlo Chromeless — Landscape

 

The problem is, it’s not perfect, so a lot of web app developers haven’t been using it. Take Hahlo, for example. It would be a spectacular standalone Twitter client. However, the site’s developer, Dean Robinson, found very quickly that external links simply don’t work properly from within this chromeless wrapper. You tap on a link, and, if it’s supposed to spawn a new window, it simply doesn’t work. Or, if it’s a normal “go there right within this current window” type of link, it’ll pop you out to MobileSafari. No good.

Also, as Craig Hockenberry has pointed out, all chromeless web apps must load a fresh new WebKit instance every single time you load the app. Compare that with Safari.app, which is almost always running in the background, ready for action. It’s not a huge wait time when you launch the “app,” but it’s enough to be a little annoying.

So, in answer to these flaws, developers like Dean, Shaun Inman of Mint fame, and the Flickr Mobile team have all decided not to include that one magical line of code. No chromeless web apps for you!

iPhone shortcuts with fancy iconsThankfully, there’s a way around it. It’s roughly the same method we used to use for assigning our own preferred apple-touch-icons for WebClips, back when they were the hot new item. Anyway, it’s pretty simple to just make your own “bounce page” with all your favorite web apps, and enable them as chrome-less web apps without the developer’s consent. Now, of course, you’re not really messing with their code…but do keep in mind, you’re messing with their intended user experience. If you use this method, and you get all bummed out about your links not working, don’t blame Dean or Shaun or Flickr. It’s not their fault, they’ve all written some amazing code. You’re circumventing their delivery decisions, so you have to kinda own that. If you’re cool with that, have fun.

If you want to leech off my shortcut page, I guess, go right ahead. I’m not likely to add any suggested items to it, unless they blow my mind. And my Mint bookmark ain’t gonna do you much good, but it’s a good example of how to get it done for your own installation. View source, and go to town.

You’re doing a disservice to your people, man.

January 7th, 2009

I was “mugged” yesterday.

I put it in quotes because I wasn’t hurt, nobody hit me, and they didn’t get anything from me, even though there were three of them. I didn’t do what you’re “supposed to do.”

Let’s take a step back for a moment.

When a white man or woman walks down the street and clutches their belongings to themselves if a black man walks by, that’s a fucking tragedy. When I walk down the streets of Oakland, I make eye contact with the people I see, and if I happen to be holding my iPhone, I don’t shove it in my pocket when I see someone whose face doesn’t look friendly. White, asian, black, hispanic, whatever…I’m a trusting guy, at least to some extent. Now, there are places I don’t like to brandish my iPhone, and there are times I’d prefer not to take it out of my pocket…I’m not entirely stupid.

Yesterday, I was walking through Chinatown, on my way back to the office, reading an article on my iPhone. All of the following happens in the span of one half-block. I saw a couple highschool-aged black kids jaywalking across the street toward me. One tall pudgy kid with a backpack, one shorter and skinnier with a burgeoning mustache, and one tall and skinny with huge baggy black/white/silver Raiders hoodie and hat. The latter two were behind me after they crossed the street, and the big pudgy kid looked like he just got ahead of them. He doubled back around me, I assumed to just go back and stay walkin’ with his buddies. I kept walking at my pace, and I kept my iPhone out, now half-reading, half paying attention to my surroundings.

The skinny shorter kid walked a little faster, and was soon walking on my left. I looked over and made eye contact, since he was closer than I’d expect. “How you doin’,” he said with a smile. I said “how you doin’?”

We had just stepped off the curb where the old asian lady usually collects cardboard boxes, just near the 880 overpass (it’s dark and secluded under the bridge, but we weren’t quite there yet). She was there, we had walked past her. There were one or two other asian people walking close by.

“Gimme everything you got.” And I was surrounded. The tall kid in the black hoodie had his hand in his baggy pocket, aiming it at me.

And I did exactly what you’re not supposed to do.

I said “Man, I got nothin’,” and I held onto my phone with a death-grip, and kept my other hand in my jacket pocket with my wallet. I didn’t utter another syllable. “I’ma shoot this nigga right here,” said the black-hoodie kid. I looked at his bulging pocket, and immediately turned my head to look at the asian lady across the street. She was still there, but I wasn’t sure if she saw what was going on. The other two people were still in the vicinity, but again, I don’t think they saw me.

I turned and started struggling through them to walk away. “I’ma shoot this nigga right here,” he said again, no louder than before, while his buddies were trying to grab my arms and get me under the overpass. I squirmed out of their grip, yanked my arms every which way to get free.

Maybe they knew they couldn’t do anything within view of other people. Maybe they were just fuckin’ around with the dorky-lookin’ white dude to see if he’d just hand over all his shit at the slightest threat. I don’t know. I got free quickly, I didn’t get shot, still had my phone in my hand, and it quickly went in my hip pocket as I walked back into Chinatown, looking as if nothing had just happened.

I turned a corner a few blocks in, and went another way back to work. Along the way, I saw a patrol car stopped at a traffic light, but he was in the middle lane of a high-traffic five-lane one-way street…not safe to walk out and flag him down. I made eye contact with the cop, but I decided against it, and he drove away when the light turned green. The only thing I could think as I walked back to work was this: I’m glad I’m not in Baltimore. My shit would be gone, and I’d probably be shot anyway.


On the one hand, I’m proud and surprised with myself for not just caving in and surrendering. I walked away with all my shit, and I didn’t get hurt. I didn’t challenge the dude to prove he had a gun. I didn’t say anything pithy to provoke them. Sure, it’s a bit strange to hear a guy say “dude, I got nothin’” while he’s holding a $500 phone…but it’s not anywhere near challenging, like “that’s a gun?” Anyway, I think I did the right thing by saying almost nothing. It’s probably what kept me from getting (at the very least) beat up.

And on the other hand, I’m a fucking idiot. I’ve got Liz and my family to think about. What if I’d gotten shot? What the fuck was I thinking? Liz, Buddy, Kathy, Gary et al: I’m sorry. Next time, I hand over my shit.

Hidden Treasure

January 3rd, 2009

When my dad passed away in December 2005, a close family friend took up a position as pallbearer for his funeral, just as he did when my mom passed away in 1992. Outside the church, he said “I think I got the heavy corner…the one where his heart is.” I still get choked up just thinking about it. It’s probably the sweetest and most poignant thing anyone said.

A few days before Christmas this year, a camera body arrived in the mail, a gift from my sweetie to me. I’ve already got a bunch of lenses to use with the body, and I’ve been keeping them in an aluminum hard-case, all of which I “inherited” from my dad. When I first opened this case, while cleaning up his house in that fateful December, I remember bursting out crying to see a couple of combs and a little bottle of cologne. You see, this was the camera case that he had recently been taking with him while shooting weddings for my brother’s photography business.

It’s a little sad to say, but at the time, my brother and I were both a little concerned about having Dad shoot weddings. It was becoming clear that, with age, Dad’s eyes weren’t doing him any favors. Most of his candid photos were completely out of focus, and his “artsy” shots often didn’t seem to have any rhyme or reason to them. This, compared to the tack-sharpness of his photos throughout our younger lives, and the creativity he had always exhibited.

But, all the same, it was clear that my dad really perked up when he had a gig to do for my brother. I’m not sure he’d have been able to put it into words, but it made him feel needed, important, special. And he was really all about other people, so he was just the perfect person to interact with a family on their wedding day. It was all about them, and he knew it, and he made it clear he knew it.

So, my camera arrives. It’s a good bit smaller than the older film camera I was using, and I’ve got to do a little shuffling of lenses to make sure they’re all protected in the case. I began customizing the foam in the main (bottom) portion of the case, and I noticed that the foam in the top of the case was kinda bulging a bit. I pulled it down, and out pops a big ZipLoc bag containing a manila folder full of papers…

Now, a little explanation for why this would make my heart skip a beat:

My dad didn’t leave a will, or at least we never found one. The assumption was, if he had one, he likely hid it from my stepmonster. He didn’t like her. Anyway, when a hidden folder of papers falls out of your dead father’s camera case, you sit up and take notice.

I opened the folder, and out popped one paper program after another, from every wedding he ever shot for my brother. Little snippets of happy days from people he probably only ever met once or twice. Commemorative napkins. Invitations with directions and maps on the back. Hand-written notes from a bride or groom, thanking him for being so kind, or maybe just directions on what photos they’d like him to take. These things, these days, these events, and these people…meant enough to him that he wanted to collect some mementos that he could maybe look back upon with a smile someday.

And the heavy corner was indeed where his heart was.

Programs

You get to drink from…

January 2nd, 2009

So, I’ve got this parking ticket. Bastards. And I went to pay it today.
And they were closed.

Bastards.

Anyway, I took this photo of a fire hose fitting on the side of the building. In case you hadn’t noticed, I’m a “little details” kinda guy. I like taking pictures of things that just give me a little joy every time I look at them.

You get to drink from...

View on Flickr

On days like today, when I don’t have my camera on me, I’ll be attempting to take artistic shots with my iPhone. The camera on this thing, while far better than just about every other camera phone I’ve seen, it’s rather well-known to be absolute shit. Enter CameraBag (iTunes Store link). A fine way to make your shitty iPhone photos resemble those from a Lomo or a Holga, among others.

Full disclosure: I know the ticket is my fault, and I know they’re not bastards for being closed.

Photo of the Day

January 1st, 2009

Or, “Jesus, That’s Quite the Commitment”

So of course, it seems like everyone’s doing it, but that doesn’t diminish my drive to do it too: one photo every day.

I just received a Nikon D80 as a combined Christmas/birthday gift, and I couldn’t be happier with it. I’ve been an amateur photographer for many years, and it’s the one major thing my dad actually passed down to me directly. I kinda got my interest in tinkering with cars from him, but photography is something he actually showed me how to do, and taught me the lessons that stick with me in every photo I compose.

I’m hoping to actually take one photo per day, but I may wait a few days between posting them. On the other hand, when time is hard to come by, I may not be able to take a photo every day, but I’ll try to post something from a day when I got more than one good photo.

Rather than just fluffing up my Flickr feed, I’d also like to document what the hell’s going on, in case you’re interested, and fill in why I shot what I did. Tell a story, if there’s a story to tell. I guess we’ll see how the process settles in.

So, here’s my first entry to ring in the new year. Liz and I went hiking yesterday at Arastradero open-space preserve, and apparently we were on a kick, so we went to The Dish over near Stanford today. Walked about 4 miles today, with lots of ups and downs. It’s been really hazy and foggy around here lately, so landscapes haven’t been too easy to shoot. This photo was about the best I could come up with considering the conditions. I’m hoping the weather clears up a bit, but honestly, it’s just nice to have the moisture in the air for once. I don’t want to wish it away too soon.

The Dish

View on Flickr

Under my Control

December 30th, 2008

So I’ve had a long, strange journey toward independence. From Livejournal to MySpace to Livejournal to Facebook, and now to Wordpress. Oddly enough, even though I’ve been building websites and related content for ten years, I’ve never owned my own domain name or hosted my own site until now.

It’s about time.

So, this past weekend, I took some time to finally do something I’ve been dreading: I migrated all my old posts (with comments) from Livejournal, MySpace and Facebook over to my own Wordpress installation. It’s nice to finally have my own CMS, so I can share, back up, control, and amass my own content without having to deal with restrictions and lack of stable APIs from service-providers (I’m looking at you, MySpace). It’ll also be nice not to have to host my shared images on MobileMe, which has been a minor pain in the ass for years.

But, for me, syndication has been the biggest goal. To put my words in one place and one place only, and have that content be visible from multiple other places via RSS and other means. Interoperability (like with Flickr and Facebook) should be easy and as non-redundant as possible. Facebook’s “import from blog” function is a joke.

Anyhow, step number one was to make sure my old content was safe and organized.
Step two will be to consolidate the features and functions I’d like to present on the blog.
Step three will be to create my own theme, designed from the ground up.

So, if you’re reading this, stay tuned. You’re looking at the blank slate (albeit, with lots of prior content). The design and functionality should change relatively quickly.

I shouldn’t be standing here

December 29th, 2008

I shouldn’t be standing here

She used to lay there, right between the fridge and the lazy-susan. We had to do this weird version of Twister whenever we were both preparing dinner with Rascal at our feet.

I couldn’t be standing here

Every morning, as I swung my legs out of bed, I had to be careful not to whack her across the nose. She was almost always there, snoozing by my bedside. I’d leave her there when I went to shower, and she’d always be in another place when I came out. More than likely, in front of the fridge.

I wouldn’t be standing here

More than a few times, while Liz and I were having a knock-down drag-out fight, right at the cusp of one of us leaving (perhaps for good), Rascal would interject with a loud, clear burp. And we’d take a step back from the precipice.

Surveying all that is hers.

accomplished today:

November 11th, 2008
  1. Put 50¢ into the jingling cup of the guy on the corner.
  2. Tell him he’s welcome.
  3. Walk into Chinese take-out place.
  4. Turn around to see guy from corner walking in and ordering 80¢ worth of food with the five dimes I just gave him (plus what he had).
  5. Leave the Chinese-food shop and interrupt the eating guy on the corner so I can place my newly-acquired 50¢ change into his hand.
  6. Smile and tell him he’s welcome.

All else about today, I’ll likely forget.

need your input: calling all geeks

November 7th, 2008

This is something I’ve been looking forward to, but my brain is experiencing a little cognitive dissonance in trying to parse the data. This requires a little lead-up:

Barack Obama’s campaign website was (and, so far, still is) a pretty stellar example of modern, standards-based web development. The people responsible for it not only had a fantastic grasp of typography and smart graphic design, but also put to good use some of the most up-to-date methods of producing a website. It’s at least as progressive as the candidate that it represented. It’s forward-thinking (supporting new and future browsers), but it’s also pragmatic (catering to antique browsers like the now-seven-year-old Internet Explorer 6). I said to my friend Libby yesterday, something I never in a million years thought I’d say: I just learned a cool new IE6 .png fix from the website of the President-Elect of the United States. WTF?

Yesterday, in case you hadn’t seen it, the office of the President-Elect put up a website. It’s the first fulfillment of Obama’s promise to bring transparency to the White House, and I can’t wait to see where it goes. Of note, most of the stuff on the site is simply a verbatim list of his campaign promises, which seemingly haven’t gone out the window since he was elected. They’ve got a digital Press Room, which is the thing that has me geekin’ out right now:

Watching the President-Elect on my phone.

Watching the President-Elect on my phone.

I just checked my RSS feed reader on my cell phone, and saw that there was a Press Release from the Office of the President-Elect. There was a link to a YouTube video of the President-Elect’s comments. I watched it. What he said didn’t change my life. But the way I experienced it did.

This is the first time I have taken an intensely personal interest in an election. I’ve been interested before, but I’ve been so disenfranchised by the BS over Clinton’s escapades, and by the subsequent election of a scoundrel-idiot, that I simply wanted it to all go away after election day. I won’t get too deep into the subject, because my friend Libby has already expressed what I was thinking.

But now I’m awake. And I fully appreciate the fact that my modern digital life allows me to quickly peek at what the guy we elected is doing, easily and efficiently. This guy gets it, or at least understands how to pick people who do.

I’ve been working on websites for years. Any website that has any government ties at all, is pretty much always gonna suck. It’s a hallmark of bureaucracy. I’ve worked on sites for businesses that were required to use the State of California’s web template, and I was astounded at what a pile of shit the government was forcing me to use. But here’s the new website of the President-Elect, and it’s effing beautiful.

But here’s where I need your help: They posted a video to YouTube. I mean…is that ok?

Sure, it’s ok by me, but there are always connotations. That’s why bureaucracy sucks so badly. It’s because government institutions simply can’t do anything without worrying about unintended repercussions. What if Yahoo puts up advertisements that are offensive, or are contrary to the beliefs of the new administration? And what about Vimeo? By directing traffic to YouTube, in the President-Elect’s website effectively snubbing other video services, or showing favoritism?

You see why I’ve got this itch on my brain? What are your thoughts? I know it’s a really geeky concern, and a bit odd of me to sweat it, considering my hatred of bureaucracy…but that’s why I described it as “cognitive dissonance.”

Set me straight.