Haircut In Place

I was getting shaggy long before The Virus came to town. The other day, the Official Sweetie of Muddled Ramblings and Half-Baked Ideas floated an idea. “Maybe I could cut your hair.”

For background, as a kid, my dad cut my hair many times, and while I was young enough to be oblivious to the quality of the result, I enjoyed those times. (As I reached my teens the thinning shears in the home haircut kit were an object of fascination to me, allowing me to be shaggy while not overheating my cranium. Dad and I both appreciated the engineering behind those shears.)

So there I was with way more hair than I wanted, and the Official Sweetie offering a fun project of togetherness. No arm twistage was required. “It will not be the best haircut you ever had,” OSoMR&HBI said. I will not tire you, dear readers, with a litany of the bad haircuts I’ve had in my life, but I was reasonably confident that this one would not be the worst.

Plus: The difference between a good haircut and a bad one? Two weeks. By the time anyone saw my lovely locks, time would have passed and evened things out.

The cut went down. Of course we documented the adventure.

shaggy jerry
My hair goes from 70’s to 80’s as it grows, but the transition from there to 60’s is messy.

My new favorite hair stylist arrayed her tools: My heavy-duty hair trimmer (I lost all the guides over the decades, but my good pal John gave me the 3 from his set a while back, so it was 3 or nothing that night), scissors not intended for cutting hair, and a sweet comb from roughly 1978. Add a couple of hair clips and we are ready to go!

“Wow! That’s short!” The Official Sweetie said. She had made a few exploratory passes with the trimmer, but finally she put the guide against my scalp and made a run, bogging the mighty trimmer for a moment with the sheer power of my thick hair, but leaving behind a summer-length swath of almost-naked scalp. I felt the breeze and smiled.

Byng was not OK with all this.

Meanwhile, our little dog Lady Byng was not OK with any of this. Clearly pack members were doing terrible things to other pack members, which might have been all right were it not happening in the room that exists only to torture dogs with baths.

At one point The Official Sweetie stopped. “I kinda want to stop right here,” she said. Although without glasses my image in the mirror was indistinct, I could see what she meant. Kinda reminded me of the bad guy in Fifth Element.

I asked that we carry on, however. I wanted a haircut with staying power.

For the next few minutes I came to appreciate barber’s shears. When in the big chair I hear “snip snip snip” at an impressive rate; that is the product of scissors that are both sharp and quick. Loose-hinged but somehow tight. Cutting hair with slower scissors requires a great deal of patience.

OK, I promised I wouldn’t belabor bad haircuts of the past, but my worst haircut was also the most time-consuming and most expensive. Jason (a friend’s favorite) fiddled with my hair for an hour, cutting one goddam strand at a time, and while the final look played to my hair’s Ultra-80’s feather-the-fuck-out-of-it-and-make-David-Bowie-weep strength, that was not what I had asked for. I just wanted my hair to be shorter.

My needs are actually pretty simple. My hair is long. I want it to be short. Even my regular hair-cutter has a hard time believing the transformation I want, and she’s done it several times.

My sweetie knows this. She hacked away with scissors and trimmer, and while the result was maybe not what a trained professional would have pulled off, it was not too shabby.

Over the last couple of days I have found a couple of places the clipper missed, and there is some choppiness. But overall, an unquestionable success.

Before you even ask, I will not be returning the favor.

Damn You, Bauhaus

I’m trying to write an episode that is actually interesting, but it hasn’t been going well. And that was before “Bela Lugosi’s Dead” came on the TV/Internet/Radio music distribution system.

It all starts with the simple bass line and the clock-ticking percussion, and I get sucked in. Then Peter Murphy takes direct control of my brain. It’s haunting, and even when it’s loud it’s all somehow far away.

It’s over now, and I just have to remember what I was writing about.

Forward to the Past

I’ve spent the last few days learning Ember, which is a software framework for making apps that run in your browser. It’s fun to learn new things, and it has been fun to learn Ember, which to me is a less-awful-than-most javascript framework.

(Things are going to be technical for a bit; please stand by for the rant that is the foundation of this episode — which is also technical.)

The good news: I have never taken a tutorial for any framework on any platform that put testing right up front the way Ember’s did. That is magnificent. The testing facilities are extensive, and to showcase them in the training can only help the new adopters understand their value. Put the robots to work finding bugs!

Also good news: Efficient route handling. Nested routes that efficiently know which parts of the page need to be redrawn, while providing bookmarkable URLs for any given state is pretty nice.

But… I’m still writing html and css shit. WTF?

Yeah, baby, it’s ranting time.

Let’s just start with this: HTML is awful. It is a collection of woefully-shortsighted and often random decisions that made developing useful Web applications problematic. But if your app is to work in a browser, it must generate HTML. Fine. But that shouldn’t be my problem anymore.

When I write an application that will run on your computer or your phone or whatever, I DON’T CARE how the application draws its stuff on the screen. It’s not important to me. I say, at a very high level, that I expect text in a particular location, it will have a certain appearance based on its role in my application, and that if something changes the text will update. That’s all.

I don’t want to hear about html tags. Tags are an implementation detail that the framework should take care of if my application is running in a browser. Tags are the HOW of my text appearing where I want it. I DON’T CARE HOW. Just do it!

When I came to work in my current organization, the Web clients of all our applications were built with a homegrown library called Maelstrom. It was flawed in many ways, being the product of two programmers who also had to get their projects done, and neither of whom were well-suited for the task of ground-up framework design (in their defense, the people who invented HTML were even less qualified). But Maelstom had that one thing. It had the “you don’t have to know how browsers work, just build your dang application” ethos.

There was work to be done. But with more love and a general overhaul of the interfaces of the components, it could have been pretty awesome.

Why don’t other javascript libraries adopt that approach? I think it’s because they are made by Web developers who, to get where they are, have learned all the HTML bullshit until it is second nature. The HOW has been part of their life since they were script-kiddies. It’s simply never occurred to them that the HOW should not be something the app developer has to think about.

There have been exceptions — SproutCore comes to mind — but I have to recognize that I am a minority voice. Dealing with presentation minutiae is Just Part of the Job for most Web client developers. They haven’t been spoiled by the frameworks available on every other platform that take care of that shit.

My merry little band of engineers has moved on from Maelstrom, mainly because something like that is a commitment, and we are few, and we wanted to be able to leverage the efforts of other people in the company. So our tiny group has embraced Ember, and on top of that a huge library of UI elements that fit the corporate standards.

It’s good mostly, and the testing facilities are great. Nothing like that in Maelstrom! But here I am, back to dealing with fucking HTML and CSS.

Robots and Safety

Earlier this month I mentioned that the streets of San Jose are awash with robot cars (five out of a sample of several thousand along a particular high-robot-volume street qualifies as “awash”).

I mentioned that one of the cars was a test vehicle for an outfit called Nuro, and I further mentioned that almost all the content on their Web site is a big treatise on safety. I went on to say that I had not read that document.

Well, today I was thinking more about it, and I went back to Nuro’s site to poke into their safety information. First impression: A document for non-experts that tackles very complex technical issues, but it seemed pretty legit.

Final impression: Nuro must have some pretty serious cash behind it, to take this long and winding road to achieve public trust.

The safety paper opens with the observation that 20% of car trips in the United States are people going shopping, and another 20% are people running errands. For many of those trips, the human is there simply to ferry stuff around. If robots can accomplish that task, that directly reduces the exposure of people to injury in automobile accidents — they’re not in their cars at all! Instead they are home moving the American economy forward by playing Candy Crush.

Nuro also mentions near the start of the document that 94% of all traffic accidents are due to human error. Remember that number when someone someday says, “30% of all robot-car crashes are due to software failure!

Nuro is creating a vehicle that doesn’t have people inside it. That gives it some very interesting advantages in the safety realm — the vehicle can choose to crash into a light post rather than hit the idiot that ran out in front of it. Self-sacrifice is an option for a vehicle without people in it. And the vehicle itself can be squishy, since it doesn’t have to protect occupants. The “windscreen” is a shiny panel on the front of the vehicle designed to give humans visual cues about the behavior of the car, but it doesn’t have to be layered tempered glass. It’s just shiny bouncy plastic.

Not having an impatient human to appease means the robot can putter along at a speed that increases decision time and shortens stopping distance. I think that’s important… but 25 mph max might be a little too slow for the streets around here, until we can get rid of all the impatient humans.

There are many, many words used in the document about when the robot decides it can’t operate safely and will pull out of traffic until a remote human operator can take over. While I see the necessity of that short-term, I expect with a few improvements to civil traffic control (flagman signs that can interact directly with robot cars springs to mind), that before too long the robots will learn to outperform the human backup.

I chose the word “learn” because there is a sort of cyber-attack I had not heard of before. You have probably heard of machine learning, although it’s frequently (and incorrectly) labeled artificial intelligence. Many companies have developed sophisticated systems that, after exposure to countless examples, are able to generalize information. It’s super-slick.

Nuro’s cars work that way. They are constantly gathering data from the environment and using that to refine their behaviors, and they share that information with the rest of the fleet.

But when your data comes from the environment around you, assholes can manipulate that environment to teach the machines falsehoods. Sometimes yield signs are octagonal and red, things like that. (Although to be successful the false data would have to be about something subtler, I suspect. I can easily imagine college-me arranging traffic cones differently every time a Nuro vehicle passed by. It’s an obvious parallel to my “yeeech” experiment, which shall not be documented in this episode.)

Of course there’s all the other usual stuff to keep the vehicles from being hacked, and one advantage of “safety as a priority before the first line of code is written” is that security also can be built in at the ground level.

Also mentioned more than once: the “whole widget” concept. If the software and the hardware are developed together for a single focussed purpose, it will work better and be safer. Steve Jobs would be proud.

And if you consider air quality to be a safety concern, then something like this makes everyone safer.

Nuro recognizes that the biggest obstacle to their success is social. Will people seeing Nuro’s placid robot cars poking along through the neighborhood think good thoughts or bad thoughts? Will appreciation of reduced traffic congestion, better air quality, and a more convenient life outweigh the fear of a robot uprising, and perhaps even worse, the fuming rage of being stuck behind a little robot car doing 25 in a 35 zone?

Reflecting on how Fortunate I Am

It is not surprising that Silicon Valley has active Coronavirus cases. This is a hub of world interaction, especially with Asia. The capital-V Virus is here now, has been for a couple of weeks.

For the past few days my company and all the other tech companies in the area have been encouraging their employees to work from home. Starting today, I will have to pass a health quiz and fever check to enter my office.

What a luxury my company and I share. With some minor technical complaints, I can work anywhere. I just need my brain and a computer for it to manipulate.

There are kids who will literally starve without their school lunches. There are hard-working wage-earners who won’t get the hours they need, and others will simply lose their jobs.

Then there are the many, many people who will go to work and risk exposure every day. I will be on the couch with my dogs, wishing the screen on my laptop was bigger.

At Least Get a Sandwich

Tonight I have seen ads from two entirely distinct restaurant chains offering a free sandwich in exchange for your personal information.

I’m all right with that. Your info is yours to sell. Just be sure you understand the transaction. And here at least, you can establish a concrete value for your personal information. One sandwich.

So every time you give your information out, ask yourself: Am I at least getting a sandwich?

When you fill out an online quiz, are you getting a sandwich? When you sign up for notifications, are you getting a sandwich? When you send email to someone with a gmail address, are you getting a sandwich? If you use a gmail email account, are you getting a sandwich for every email you send or receive?

Google gives no sandwiches. Google pays you nothing for your personal data, and despite legislation in Europe and California, is skating around your ability to force them to delete your data. Facebook, also. All the social media assholes. They make three sandwiches of profit off you, but give you no sandwiches.

What is called for is a data marketplace, where your information is yours to sell, and you can negotiate terms. The cornerstone of that is that your personal information is NOT something someone else can sell.

Just Another Commute in Silicon Valley

Today as I used public transportation to go to work, I saw five robotic cars, operated by three different companies.

Three of the five cars were Urban Automated Driving vehicles operated by Bosh and Daimler, running (human monitored) robot taxi service along the same corridor my bus takes. The Mercedes c-class vehicles are equipped head-to-toe in lidar units (lidar is like radar… with lasers!) and if I loaded the app I could ride in one. Which… is tempting, for purely journalistic reasons. My biggest question: How bored is the human monitor? Super-bored means things are going smoothly; super-bored also means that the human will never spot the emergency in time.

The second company was Nuro. The vehicle was a Toyota or whatever with sensors all over it, but what the company is actually developing is an autonomous vehicle that doesn’t have seats in it at all. Their dream: order your groceries and have the robot bring them to you. The vehicles are electric and since there is no need to account for human comfort, they could theoretically be much, much cheaper. It is easy to imagine that many companies that sell stuff would be interested in having something like that. Nuro’s Web site doesn’t have a lot of information, except for a pdf with a major discussion of safety (that I didn’t read).

There was a third, but my most humble apologies, dear readers, I don’t remember the company name painted on the car. It was not Google; I haven’t seen one of those in a while. Apple, should they even still have experimental cars, would keep them anonymous (which, as I think about it, would be just as definitive as putting a neon logo on the side — no other company would operate vehicles with a bunch of extra gear strapped on without missing the chance to brag about it).

As cities go, San Jose and the rest of the unplanned, disorganized sprawl that is Silicon Valley is… meh. And the cost to live in meh is staggering. But one thing I do enjoy is that it feels like we are just a little bit closer to the future here. And there’s nothing like Bay Area traffic to make you really, really, look forward to the day when people are not in control of giant deadly machines.