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.

Cafe Abandonment

Barry's stuff: laptop on chair and scanner on table.
I've been coming to my neighborhood cafe for many years. You can find me sitting in the back with my laptop or iPad for a few hours on most days of the week.

Today, after sitting for about an hour, a young woman came over to me as she was leaving and asked me if I wanted to sit at the big table she had been sitting at. It's my usual spot but it was unusual for her to give me first dibs – especially since I had never seen her before. When I said, "Yes," she then asked me for a favor. She wanted me to watch the laptop and scanner at the next table. I had seen the stuff when I sat down, an hour earlier, but I never saw a patron sitting at the table.

The woman told me that the owner of the stuff, Barry, asked her to watch it for "about half an hour," but that was three hours earlier and now it was time for her to leave. I told her it would be no problem and took over guarding his gear. About half an hour into my watch, Barry returned. I said, "Hi, Barry," and he smiled. He figured out exactly what happened, "Oh, you're now in charge of watching my stuff?" he said as we both laughed.

A few minutes later, a buddy called me so I told Barry it was now his turn as I stepped outside to take my call.

Tuesday, June 18, 2013

Reactive Computer Security

Wouldn't it be great if a computer operating system (OS) could prevent data theft by reacting, after the data was stolen, even without an Internet connection? I'm sure that the State Department and the NSA would love that.

When I was in the Marines we used to hit the beach in amphibious tractors (amtracs). Packed with a couple dozen troops, they look like light-weight tanks and they could swim on the surface of the ocean and then transition onto land. Since the amtracs were made of aluminum, not steel, they didn't offer much protection against rockets such as RPGs and other shaped charges that focused their explosive force in a single direction. However, to combat the threat of rockets the amtracs were covered with reactive armor that was designed to prematurely detonate and deflect a rocket blast – it worked very well.

Preventable Data Theft

Yesterday, I was at a Tech Coffee Meetup in downtown San Diego where we discussed how reactive security could be implemented in an OS. The process works in much the same way that iTunes implements digital rights management in music. To play a song purchased from the iTunes Store a user must enter his/her credentials (login and password) which is authenticated with a central iTunes server.

In a similar way, data on a hard drive running a reactive security OS (RSOS) would be encrypted. The data could only be read with the proper pair of passwords – one entered by the user and the other stored on a central server. Additionally, the RSOS would only allow data to be copied to another location (flash/thumb or hard drive, etc) with the proper passwords and each copy would have its own pair of passwords. The target destination must be running a RSOS before the data is copied. Once the data is copied onto a flash drive it would be erased after a certain amount of time unless the RSOS on the flash drive checked in with a central server, for a pairing password, before expiration. Alternatively, the pairing password on the central server could simply be erased rendering the encrypted data undecipherable. Additionally, every time the secure data checked into the central server its pair of passwords would change and the data would be re-encrypted, in place, with the new passwords similar to frequency hopping radios used in the military.

The key to making this work depends on two parts. First is using strong encryption with two keys (one password is entered by the user and the other password, which changes each time the file is copied, is stored on a central server, AKA double integrity). Second is having the RSOS properly implement the reading and copying process in a way that couldn't be circumvented (hacked). It's a very doable solution.

New Job Prospect: Astronaut

STS-127: Endeavour 
NASA just announced their newest class of astronauts – I wasn't one of them.

Everyone wants to be an astronaut but few actually apply. The basic requirements for a mission specialist or flight engineer are simple:

1. American citizenship.

2. Bachelor's degree in engineering, biological science, physical science, or mathematics.

3. Vision of 20/100 or better correctable to 20/20.

4. Blood pressure of 140/90 or better, sitting.

5. Height between 62" and 75".

While there's no age limit, I would have been one of the oldest astronaut candidates selected – a daunting statistic considering only Russia and China currently have the ability to put people into orbit. Obviously, beyond these basic requirements, it gets highly competitive. Astronauts have resumes and experiences that are humbling. 

Once an astronaut class is selected, the astronaut candidates (affectionately referred to as ASCANS) begin two years of basic astronaut training which includes learning Russian. After that, they're officially called astronauts and they're assigned to a mission, usually a few years in the future, which begins with more, specific, training.

As glamorous as this job sounds, it involves very little time in space with a lot of time, training, and travel away from home and family.

Application
I applied to be an astronaut in January of last year. I was contacted by NASA a couple times to provide some additional information. After reviewing the basics, NASA selected, from over 6,000 applicants, a group of one or two hundred highly qualified (HQ) candidates to visit Johnson Space Center. That group was whittled down to several dozen for another week of interviews and medial exams until NASA officially announced their eight ASCANS for the NASA class of 2013.

NASA doesn't disclose specifics figures at each step, but I realized when a college buddy, Karl, got the call, last fall, to visit NASA several months ago that I hadn't made the HQ cut. After Karl didn't receive a call back, he too realized that he hadn't been selected. But it's not set in stone until a new NASA class of ASCANS is officially announced.

Despite my disappointment – tempered with the realization that it was a long shot – I do get a huge source of pride in the fact that another college buddy, Chris, is currently orbiting aboard the ISS. I was very fortunate to watch Chris launch into space on his first mission, aboard the space shuttle Endeavour, in 2009 accompanied by a college ball cap that I presented to him the previous year.


Chris Cassidy shaving his head in space last month.

Wednesday, June 12, 2013

Touché, détente, then quid pro quo
(Annapolis Practical Jokes)

The graduates of the U.S. Naval Academy Class of 1993.

Last night I had dinner with a buddy who went to Marine Corps OCS but decided that military life wasn't for him so he DOR'd before graduating. Even though he only spent a few months on active duty he still had a taste of military life. We started talking about practical jokes from The Great Santini so I shared a few experiences from my time in the military.

Beat Army!
At the Naval Academy, the week leading up to the last regular season football game – which is against our rival, West Point – is appropriately referred to as Army/Navy Week. It was, and still is, a week of little sleep and practical jokes. Exchange students from West Point received the brunt of the horseplay, but that didn't stop the rest of us from playing jokes on each other in the spirit of "beating Army."

One tradition, during Army/Navy Week, was to "Beat Army" an exam. This simply entailed writing "Beat Army" on your test and handing it in without answering any questions. After all, what could show more spirit than sacrificing your grade, and getting a zero on your exam, in the spirit beating Army?

In practice, I only recall this happening to me once. It was a de facto rule that professors avoided giving exams or quizzes during Army/Navy Week since the following week was final exams week. But, one time, the conditions were just right when my math professor handed out a pop-quiz and then walked out of the classroom. Walking out of the room isn't a big deal since cheating wasn't an issue. But someone joked that we should write "Beat Army" on the quiz and turn it in. It took less than thirty seconds for all of us to agree.

When the professor returned twenty minutes later he noticed what we had done as he collected the quizzes. He was a Marine officer. Mutiny like this would never fly in the "real military" and even though he wasn't a graduate of the Naval Academy, he was well aware of the tradition of the stunt we had just pulled. He was not happy since we had just challenged his authority. But he didn't say anything about it. I suspect that he sought advice from other professors as he debated whether to give us all a zero for the quiz or allow us to retake it the following week. Lucky for us, he chose the latter with clear instructions that the grade for the retest would stand.

Practical Jokes
Casey trying to fit in on the opening day of boating season.
Casey Garwood was my roommate all four years at the Academy, from Plebe Summer until graduation. My Youngster (sophomore) year at the Academy I played a joke on Casey by setting his alarm clock ahead four hours after he'd gone to sleep. I told my other roommate, Kevin, what I had done so he was in on the joke. At 2:00 AM, Casey's alarm went off. Since it was early December we were used to waking up well before sunrise. When Casey woke up Kevin and I, we told him that we were both standing duty which meant that we'd get to sleep in since we had a later muster to attend.

As Casey followed his morning routine of shaving and showering I left the room to tell some fellow Midshipmen what was happening. Even though it was 2 AM, students were still awake, studying. They helped out by performing a mock chow call outside our dorm room to make the morning routine seem more realistic.

Thirty minutes after Casey awoke he stepped outside into the hallway to go to, what he thought, was 6:30 AM muster. Instead, he found a bunch of us laughing as I pointed out, on the wall clock, that it was only 2:30 AM. He was a great sport and laughed. I got him good. But I should have known he wouldn't let this pass without some sort of retaliation. I began to realize that, when I least expected it, my time would come.

Casey slept on a single bed and I slept in a bottom bunk bed while Kevin slept in the top bunk. My bunk was surrounded by walls on the head, foot, and one side. In the middle of the night, a few days after pulling off my 2:00 AM alarm clock joke, Casey carried out his revenge. He removed his bed springs rack and used socks to tie it, vertically, to the side of my bed. When I woke up the next morning, I was caged into my bunk. Touché.

Eww
Casey, seated second from the right, wearing
a 'Hug Me' shirt with a teddy bear otter.
At times, the practical jokes between Casey and I were a tad more sophomoric and slightly disgusting. I had clipped off a hunk of my big toenail and placed it on the speaker near the head of Casey's bed, next to his alarm clock, while he slept. There was no way he could miss it when he woke up. I had forgotten about it until later in the day when I noticed it was gone. I presumed that Casey had seen it and thrown it away; and I didn't ask him about it.

The next morning, as I brushed my teeth, I noticed something that felt like glue in my toothbrush. I pulled the toothbrush out of my mouth but it seemed fine as I glanced at the foamy bristles. When I resumed brushing my teeth I realized that there was something very wrong with my toothbrush so I reexamined it in detail by sticking my fingers into the bristles and discovered where my toenail clipping had ended up. Once again, touché

All Grown Up
To this day, Casey and I still play practical jokes on each other. Last December, he invited me to a party at his house and told me it was French themed. I spent several hours running around town looking for a beret to wear for no reason since no one would attend in costume. And the goofy photos of Casey, in this blog post, is yet another joke that I'm playing on him. One day, months or years from now, he'll google his name and find what I wrote here. Of course, all kidding aside, I couldn't have asked for a better roommate since I can be a pain to live with and he is one of the most easy-going guys I know.

Saturday, May 25, 2013

The Art of Coding at Any Age

May 26, 2013 update: Dave responded to this post with a podcast.

I've written many lines of code sitting here, where I wrote this blog post.
Yesterday, Dave Winer shared a New York Times interview with Billy Joel where the Piano Man said, "I thought there was a mandatory retirement age at 40, but then the Stones broke that barrier."

Dave was born the same year as Steve Jobs, Bill Gates, and Yo-Yo Ma. That means Dave is well past 40 years old which was thought to be the age when computer programmers (coders) were brought out back and shot. For most programmers, a successful career in Corporate America means up or out. You start off as a software engineer, then you become a tech lead followed by forgoing coding to manage direct reports.

People like Dave and I, who enjoy the trenches of coding past 40, are not the norm. A 30 year old software engineer looks upon a fellow programmer, 20 years senior, as out of touch. (Except, in rare circumstances, when they're looked upon as one of the greats who works close to the kernel meaning that they really know what they're doing.)

While Dave has successfully created and sold businesses, his first love is programing. A couple days ago Dave made a point that if he were a visual artist or musician then no one would bat an eye at the fact that he's closing in on 60 while still coding every day. No one asks, "Why is Yo-Yo Ma still playing the cello? Why hasn't he moved on to conducting?"

Elegant Code
Dave also asks, "Why can't people see that this [coding] is an art?" That's a very good question and I love Hugh MacLeod's comment, "Art’s purpose is to express consciousness." While software usually serves a process purpose, we still write it much like we'd write most anything else in a text editor such as a novel. But is it fair to consider it a form of art?

What is the purpose of art? To create. To inspire. To express one’s self. To make one aware of one's surroundings. To make life better, etc. There's no simple definition. To me, holding most any modern Apple product feels like holding art, albeit a highly functional piece of commercial art.

The problem with code, as a form of art, is that people don't see what was created, rather they only see what it does – its function. Code has function. Art has design. Code is a means to an end application. Fine art focuses more on aesthetics than utility. I cannot think of a form of art where the work created is not what's seen which is different from a computer program that gets translated into machine code. Consumers of code only see the interface, not the implementation. Again, this seems very different than, say, a movie since the general public critiques and studies the film, not how it was made.

Art is displayed or performed. Where would people observe code? In its raw form or its final application form? One could argue that an Apple Store is a museum for displaying products of art like a gallery, but the challenge with code as an art is it doesn't exist without a medium. While that's technically true of, say, a poem, I can still hold O Captain! My Captain in my hands in its final form.

The creative process of programming is definitely more art than skill, much like writing a story, suitable for someone to do at any age. Perhaps the ageism in high tech is due to the ever changing technology as more senior programmers stick with older, more comfortable, systems? But, in software engineering, like rock and roll, perceptions will change regarding age.

Chances are, though, if you're still coding on a daily basis, into your 50s, using current technologies, then you're undoubtedly very, very good. To Dave, I ask, "Who else, past 50, codes like you?" Maybe it's time for a Museum of Computer Programming with Ada Lovelace and Grace Hopper inducted into the hall of fame.

Tuesday, May 14, 2013

Golden Gate Bridge Toll Flaw

Yesterday, I drove over the Golden Gate Bridge and discovered a small chink in its armor.

As I approached the southbound tollbooth I noticed that there were no cash payment lanes and my rental car wasn't equipped with a FasTrak transponder. After driving through the tollbooth, I wondered if the car rental company would receive my bill for the delinquent toll and then tack on a $20 administration fee.


The rental car rep at the San Francisco Airport explained that the new toll system required me to pay the toll on the FasTrak website using the license plate number of my rental car. If I paid within 48 hours the toll bill wouldn't be sent out. It turns out there's a key flaw in this system since I couldn't pay for a specific trip over the bridge. On the website, when I entered my credit card info and selected an effective date, I'd have to agree to pay for 30 days worth of trips.

I called the FasTrak customer support number and they could only narrow my payment down to yesterday and today, not a specific trip or amount, which means I may end up paying for other people's trips across the bridge in the car that I rented. The rental car service rep told me that 800 cars were reserved on the day that I picked up my vehicle so it's reasonably possible I may end up paying for more than my share. We shall see.

Friday, April 26, 2013

Mundane Military Intelligence

James Bond doing mundane things.
In the military, intelligence is information that can be exploited to accomplish a mission.

In the spy world, the NSA monitors signals intelligence while the CIA collects human intelligence.

In the movies, spies are people performing clandestine cloak and dagger operations.

In reality, gathering intelligence is very mundane.

In the Marines, part of our mission planning included a briefing from the S-2 (intelligence officer). For training missions, this briefing was usually just a real world weather report along with notional info about the simulated enemy.

Overseas, where real world intel is collected, this process can be very basic. It starts with documenting weather, roads, and attitudes regarding the climate (political, economic, social, military, etc). From there, it extends to monitoring places where attacks against the U.S. or our interests can be launched.

Monitoring North Korea's military forces may seem obvious given our heightened state of alert, lately. But, most of the time, intelligence gathering can be routine and almost passively collected. Trust me, it's not a James Bond mission to document cyber cafes where international phishing attacks are launched from in developing countries.

Of course, collecting the data is easy, it's processing it, to figure out what it means, takes time.

Monday, April 22, 2013

Goodies At My Door

Telephoto lens coffee mug and emergency radio/charger.
Two goodies showed up at my front door, today.

The first item was a zoom lens travel coffee mug. It's a simple, yet neat looking, 12 oz mug that resembles a SLR zoom lens. As soon as I opened it and washed it out I took it for a spin at my local Starbucks with a Tall Caffè Americano where the cashier mentioned that she'd seen this mug on Pinterest. She liked it so much that, after asking me a few questions about it, she wrote down the name of the company where I bought it.

When I returned home from Starbucks a thank you gift for my donation to KPBS had arrived. It's called a Microlink FR160, but I'm not sure what category it really falls into other than emergency preparedness. At first glance, it looks like an AM/FM radio that can also tune in the weather band (NOAA) along with a built in LED flashlight. But when you look at it closer, you can see that it has built in solar panels and a hand crank to charge its internal batteries.

Even better is the fact that the hand crank can be used to charge your cell phone or other USB devices (in theory). I tried it with my iPhone 5 and a warning kept popping up, "Charging is not supported with this accessory."




I'm guessing that the power it puts out is too dirty for delicate solid-state devices. I'll try one of these as a buffer and report back.

Monday, April 15, 2013

Don't Enter Unnecessary Markets

1 Infinite Loop
Since the turn of the century, Apple has had a history of not entering many markets, unnecessarily. Unless they can put a "dent in the universe," they'd prefer to leave well enough alone. But, that's not always the case. Apple knows how to experiment and "fail fast." Most recently, they tried to displace Google Maps with their own mapping app. It was a noble attempt and Apple will continue to improve it, but a key point is if they hadn't entered this market, no one would have been critical of them. Google Maps is a great product as it stands, now. How do you beat Street View?

Apple has made minor marketing missteps like this before such as the introduction of the Cube computer (a thing of beauty), iTunes Ping social network (it only lasted two years), or Find My Friends (meh, it just never caught on since it's a creepy "pull" location based social networking experience compared to the "push" feature of Foursquare and Facebook Check In). In these cases, not too much was lost by Apple and the latter two apps teach us that Apple should probably not enter the social networking market. As a matter of fact, they've been categorized as the "anti-social company" due to their secrecy regarding their products, strategy, and stock.

One area that Apple has done modestly well, but hasn't yet dented the universe, is in TV and broadcasting. Steve Jobs referred to their current Apple TV solution as a hobby while they refine their go-to-market strategy. Investors feel that Apple is overdue to enter a new market, either by way of television or an iWatch. One thing that Apple has always been good at, under Steve's leadership, was to say, "No!" until a product was ideal and ready for the masses; and, lately, Apple certainly doesn't seem to be rushing any products out the door.