Sunday, July 28, 2013

Joyce Maynard Just Got Married

Joyce Maynard on the far right.
Joyce Maynard just got married.

This past May I attended Joyce's writing workshop at her home in Mill Valley about 20 minutes north of San Francisco. It was a day long affair where Joyce, along with seven of us, reviewed and commented on our manuscripts. While having lunch on her deck, which overlooks Mount Tamalpais, she pointed out the regrettable reality that her fame is too closely tied to the fact that she lived with J. D. Salinger – the recluse author of The Catcher in the Rye – for the better part of a year while writing her first book. Prefacing her bio with this makes it seem she's riding Salinger's coattails which couldn't be further from the truth. Her initial fame, that caught the eye of J. D. Salinger, was a feature article she wrote for The New York Times magazine, An 18-Year-Old Looks Back On Life, while a freshman at Yale.

Joyce Maynard's kitchen.
I've never attended a writing workshop before Joyce's. Although I've published paid and unpaid journalistic articles, interviews, and blog posts, I wanted to work on improving my writing ever since sticking my toe in the waters of fiction writing, last summer. Although Joyce has written fiction, her true talent is the personal narrative.

I don't recall exactly how I discovered Joyce's workshop other than it percolated to the top of my Google search results. I sent off an e-mail to Joyce with great timing. She promptly responded even though she was at her rural place in Guatemala on Lake Atitlán for her ten day writing workshop with limited Internet access. After a few e-mail exchanges I was signed up for her May workshop.

Joyce taught me more about writing in one day than I had learned anywhere else.

Joyce showed me how to quickly detect when there's a story to be told:
"I used to do ________ but now I do ________."
Every time I filled in those two blanks with my real life experiences I had a story to tell.

My manuscript autographed by Joyce Maynard.
A key point she taught me was to write personal narratives that only I could write. She said, "Don't be a reporter. Tell the story that only you can tell." This concept was new to me since much of my paid writing was exactly that: reporting. Very quickly, with each one of us at her workshop, she could figure out the story behind the story. As I listened to each writer's backstory I noticed myself leaning in to hear more. As Joyce asked me a few questions about my manuscript I realized where my deeper, more personal, and interesting story really was. She even gave me a resounding opening line for my manuscript rewrite.

I clearly understood her lessons; especially about how we should use symbols in our writing. Her biggest point that hit home with me was to write less, not more, much like my favorite author, Ernest Hemingway. Leave out small, unimportant details, and let your reader conclude how to get from point-A to point-B. The idea isn't to shut out your readers, but leave out just enough to pull them in like a mystery novel.

At the workshop, Joyce told me about her upcoming wedding plans and I've been following her updates ever since.

Saturday, July 27, 2013

Oversimplifying Simplicity

The Way to Eden.
I'm reading Ken Segall's thoughts and experiences while working with Steve Jobs. He's had so much interaction with Steve while at Apple and NeXT that he's a cornucopia of best design and marketing practices.

Segall talks about how "one" is the simplest of concepts. It's an intriguing philosophy – there was even an entire episode of Star Trek dedicate to this concept and its followers.

This belief in "one" is why Apple's mice, track pads, iPhones, etc., from the beginning, have only one button. One is where it all begins.

What's the simplest numeral system? It's not base 10 (decimal) since you have to memorize 10 different digits. Is it base 2 (binary)? After all, computers and human DNA use binary to store information (ones and zeros, or A-T and C-G combinations). Certainly binary is the simplest? Au contraire; how many people can convert 1010 from binary to base 10? Not simple... not simple at all.

The simplest numeral system.
It turns out that unary is the simplest numeral system for representing natural numbers – in other words, unary uses just ones. This is how a cave man would keep track of "How many?" things he owed, even before there was written or spoken language. Take a pile of rocks and for each one of something, you move a rock to another pile. Do the reverse when taking inventory.

This is how a bouncer counts people at the door or how the simplest of card counters tries to beat the house at blackjack. We've all used unary to keep track of things when we tally items with four slashes and then a diagonal.

Something Simpler?
Where I disagree with Segall's thinking is when he points out "zero is the only number that's simpler than one." Ironically, this not the case as I learned from my assembly language professor, Mr. Lee. If you think back to when we learned Roman numerals in grade school (I, II, III, IV...) you'll quickly realize that there was no numeral for zero. This is also true in other ancient civilizations' numeral systems such as Chinese and Arabic. As simple as zero seems, it's a fairly complex concept to have nothing of something – just try to ask any handheld calculator to divide by zero and you'll see that it does not compute.

Trying to be simpler than the simplest makes things more complex.

Wednesday, July 24, 2013

How to Become an Astronaut

What's the first step to becoming an astronaut? Apply.

Click to enlarge

It was fairly obvious, last month, that I wasn't accepted as an AsCan when the Astronaut Class of 2013 was announced, but this letter I received today makes it official.

I've never been so fond of a rejection letter for a job I truly wanted.

Surprisingly, the basic qualifications to become an astronaut are fairly simple.


Sunday, July 21, 2013

Personal Services via Mobile

As I type this, Betsy and Joel are here cleaning my condo – I scheduled this cleaning with Exec Cleaning. Since I've been spending more time downtown San Diego, to be closer to the tech scene, I've started using more and more personal services that I schedule with my iPhone such as Car2Go and Lyft.

Obviously, mobile and GPS are the key elements to the proliferation of these personal services. From the get-go, user-generated content and markets were the first to democratize the World Wide Web with the launch of eBay in 1995; and now, YouTube, Facebook, and Twitter brought all of it into the social media realm.

The really nice aspect of these services is, like craigslist, there can be anonymous contact between the customer and the service provider and each can rate the other. Plus, customers can see photos of their service providers before they arrive.

Betsy checking in to begin cleaning.
Leading up to my cleaning, an Exec Cleaner contacted me via in-app texting. Even better is that a Lyft driver can call me (or I can call my Lyft driver) without our caller IDs showing up on each other's phone. When was the last time that you could track a taxi as it made its way through town to your front door?

I doubt these services will be a fad. Everyone needs to clean their home and travel around town; and the nice thing is that these services are becoming easier and easier to use. Of course, there's always room for innovation. I'm sure it won't be long until we see self-driving Car2Go vehicles.


Sunday, July 14, 2013

Changing Business Models Through Technology

Innovation can be defined as anything that reduces the cost of a transaction.

It has been years since I washed my car in a self-serve carwash bay. Usually I get a carwash with a gas fill-up or go for the full detailing when needed.

Since today was a warm, sunny day I decided to try the self-serve carwash route. In the past, I'd have to bring singles and use the change machine to get quarters. Each quarter might buy me 15 seconds of wash time. The problem was I had to guess, ahead of time, how long it would take me to wash my car. How long was enough? Four minutes? Six minutes? It was either a race against the clock or money down the drain.

Nowadays, credit card readers are places I never considered five or ten years ago, from smartphones to parking meters; and, of course, at self-serve car wash bays. Much like Car2Go's pay-by-the-minute rentals or Amazon's pay-by-the-hour servers the self-serve carwash bays now let you pay for only what you need. Just swipe your credit card and turn the dial from pre-wash, to soap brush, to rinse whenever you're ready. A much better UX.

Monday, July 8, 2013

Neat iPhone Photography Trick


I love photography with my iPhone. Since I got my iPhone 5 I have taken well over 11,000 pictures. One thing I wish I could do is take a photo with a remote shutter release. Sometimes – especially in low light – just depressing the virtual button on the screen (or the volume control) to snap a photo is enough to blur the image.


Today, I discovered that pressing the volume button on the iPhone's earphone cable will take a photo. Very handy – especially when you're trying to take a selfie at arm's length.

Of course this works equally well on other iOS devices as well as with third-party earphone volume controls.

Monday, July 1, 2013

On the go with Car2Go

I've been looking for a better way after spending $10 – $15 each time I took a two-mile taxi trip from my place to downtown San Diego. Luckily, yesterday's San Diego celebration of Social Media Day was sponsored by Car2Go.

Car2Go lets you rent electric Smart cars by the minute, for only 38¢/minute with no minimum and the first two minutes are free. (Zipcar, a competitor to Car2Go, rents vehicles by the hour and their pricing seems more expensive and complex.) Additionally, you can drop off the car most anywhere in city. There's a $35 application fee and the most you'll pay per hour is $14 with a $73/day limit.

I was talking about this service with some buddies at this morning's San Diego Tech Coffee and they told me that the local office was only about ten blocks away. So, I hoofed it over to the Car2Go office and signed up. Normally, when you sign up it's a few days until you receive your RFID membership card in the mail. Since I walked into the office they issued my card on the spot. There was one slightly frustrating gotcha that involved obtaining a copy of my driving record, for $2, from the DMV. The DMV site was a little difficult to navigate on my iPad. Other than that, the process went smoothly. I paid my application fee and was issued a Car2Go card.

The receptionist took me out front and showed me the simple steps to get going. After a quick walk around the tiny car to check for damage, she showed me how to unlock it by placing my Car2Go membership card against the reader in the windshield which started the billing clock. Likewise, swiping your access card at the end of trip ends the billing cycle. Once I sat in the driver's seat I accepted a terms of service agreement on the display and then noted any damage while rating the interior and exterior for cleanliness.

The car key is stored next to the computer screen which I removed and placed in the ignition. I don't have much experience driving electric cars so I'll need to get used to the fact that when I place the key in the ignition and turn it, nothing happens other than the radio and air conditioner come on. Since it's all electric, the giddyup of a traditional car isn't there. Pressing on the gas pedal – I mean accelerator – has a small, but noticeable, amount of lag.

Reservations, Parking, & Refueling
The beauty of this service is that you can reserve a car 30 minutes ahead of time, via their website or smart phone app (there is no shortage of cars in my neighborhood after work hours), and you don't have to pay for parking. You can park in most any spot as long as it allows parking for more than an hour and the city parking enforcement officers don't ticket these vehicles. One other key stipulation is that there can't be a parking restriction within the following 24 hours such as a street sweeping. The city also has special electric vehicle parking spots. Additionally, the car comes with a refueling card so you can park it in specific parking lots with charging stations.

I'm in love with downtown driving now that getting there is half the fun. The only thing better will be when Car2Go has self-driving vehicles.

High Tech Food Service

Is high tech better? Sometimes, yes, but not always; especially as we try to navigate a touch tone phone menu when calling customer service.

This morning I had breakfast at a cafe where customers only interact with the cashier when placing orders for coffee. Ordering food is done via one of four iPads next to the cash register.

I had never used this system before, so today's experiences will probably be my slowest. The first step was to swipe my credit card and then select the type of meal I wanted such as breakfast or lunch. Once I selected breakfast, I could choose from a few categories such as egg sandwiches, fruit, or pastries. The choice of egg sandwich toppings was more than I expected. Generally, when I place an order with a cashier and have to select a cheese I usually only consider the basics such as American, cheddar, or Swiss; but this iPad ordering system had unexpectedly more options – after all, there are a lot of cheeses in the world. So, having more options, without being overwhelmed, is a good thing. As I selected each topping, my choices were reinforced with a photo the item.

While placing my order – a task that took about two minutes – I could feel the coffee drink line, next to me, moving much faster than I was moving as drink order, after drink order, was being placed and filled. I felt a bit like I was being left behind.

The last step when checking out was to pick up a pager, next to the counter, and enter the pager's number in my order so they could let me know when my food was ready. Once I clicked the final button I felt like something was missing even though my order was complete: I hadn't tendered payment. Don't we pay after we order? Since the first step was to swipe my credit card, payment was already taken care of.

This system felt a bit odd and it's certainly impersonal. But, I totally understand the benefits from the business's point of view. Why hold up quick and simple coffee orders because of complex and lengthly food orders? Also, customers can quickly get used to the process as they see that they have more options when ordering food.

I was struck by an irony after ordering my breakfast. We, as customers, want personal service when ordering face-to-face even though we can't hide our identity, yet we find it creepy when Google ads pop up as we surf the web based on our personal, yet anonymous, habits. But, for those who want to forgo the the HCI at this cafe, there's a lone cash register where a customer can belly up and order the old fashioned way.


Sunday, June 30, 2013

Technical Interviews: The Missing Piece

Typical Interview Question: Write a Java method to reverse a string.
TechCrunch had a recent piece about the demise of the technical interview. In software engineering, the technical interview involves writing code. Companies like Amazon and Google have a reputation for asking brain-teasers such as, "How many gas stations are in the US?" or "How many Ping-Pong balls can you stuff into a Boeing 747?" The idea is to see the job candidate's thought process. While these questions are mentally challenging, it's probably not the best indication of how good the candidate is at programming.

I've been through a number of software engineering job interviews where I've been asked to write code and discuss fundamental computer science questions. Writing code is an important part of hiring software engineers and it definitely has its place in the job interview process. And, it's perfectly okay for the candidate to make typos or have syntax errors when writing computer code on a white board. The idea is to see if the candidate understands the fundamentals of computer science such as Big O notation when it comes to a binary tree [O(log n)] or hash table [O(1)] or the basics of recursion and language syntax.

The Missing Piece
One thing I've noticed missing from all my job interviews over the past 15 years is that no one has ever asked me to show code that I've already written, refactored, and trusted for many years. The beauty about reusing code that either I or someone else has previously written is that code you don't have to write is code that you don't have to debug.

Software engineers who live for and love writing computer code have many side projects. You'd be hard pressed to find a good software engineer who doesn't have something currently deployed whether it's a web application or smart phone app. Just like an artist has to paint, or a poet has to write – regardless if they're paid or not – a coder has to code.

The Alternative
The current software engineering interview at a decent tech company involves a series of 45 – 50 minute long interviews where a pair of employees ask the job candidate questions. This process can last four to six hours and the key part that's missing, today, is where the job candidate gets to show off what they've previously written and released. This is especially important for a 40+ year old job candidate who should have a massive bag of tricks since they've probably been coding, on a daily basis, for more than a quarter of a century.

Instead of multiple 45 minute interviews with two employees and a job candidate, it would be much more effective to have a couple 90 minute interviews with four employees where the candidate can show how they architected, coded, and deployed a website or smart phone app. Ideally, the candidate could ssh into their live servers to show the details, challenges, and architecture of how a web app works while showing off the code that he/she has written to accomplish it. Writing code on a white board is very academic; seeing code that a candidate has deployed and maintained over several years is about as real as it gets.

No company would hire a graphic designer without seeing the job candidate's portfolio so why don't tech companies demand the same thing from software engineers?

Friday, June 21, 2013

Smartphone Lock Feature

I was at a tech event, earlier this week, sitting next to a guy who pulled out his smart phone to read a text message. As I casually glanced over to see what kind of phone he had I could easily see him enter his four digit PIN. With touch screen phones, whether they have a keypad or you drag your finger across the numbers, it's very easy to see the PIN entered based on the position of the numbers.

This got me thinking... a simple solution to this problem would be to randomly display the numbers on the keypad. You'd still enter the same PIN, but, to a causal glancer, they'd not be able to figure out your PIN simply based on the position of the numbers you touch.