Autonomy Day

I watched Tesla’s “Autonomy Day” event yesterday and these are my notes.

According to Tesla, a self-driving car is best served via visual/camera input, just like a human driver. “Lidar” and detailed maps are crap compared to simply seeing the world as a series of still-framed images — visual cues are best. But in order to recognize what all these visualized objects are, the car needs access to a vast human-annotated database. In other words, humans must create a collection of labeled images so that the car can meaningfully interpret the shapes it detects.

But because of variances in every object, the car needs to make guesses about what it sees. In order to make guesses, a “neural network” is necessary. By inputing and labeling many pictures, the computer learns to identify images that are more likely to be one thing rather than another, in other words, it’s “close enough”. So now when the car sees an object that’s reminiscent of all the pedestrians it was previously shown, the car can assume that the unique object currently on camera is a pedestrian too.

Tesla’s self-driving technology relies on a vast array of cars-in-the-field sending data back to feed the ever-learning neural-network, which then sends updated instructions back to those cars, in effect teaching them to drive better based on the shared-experience of all the networked cars. When one car encounters a unique experience, a human at Tesla analyzes and annotates the scene and updates the database so that all cars can benefit from the experience of the first car.

A couple other things to note: For times when vision is obscured, such as fog, a forward-facing radar does come into play. For the most heavily congested areas, an aggressive driving mode seems to be necessary. The car will likely engage in a “game of chicken” where it attempts to force itself through — this means that there is a non-zero chance of “fender benders” under these conditions (but the level of aggression is going to be optional per driver).

More things to note: The cars being manufactured right now are NOT fully autonomous but they have all the necessary hardware for self-driving — and will only require software updates when ready (possibly within months). Tesla does have experimental self-driving cars on the road right-now that run with impressive results. Their timeline to a self-driving car has been incredibly fast, perhaps about 2 to 3 years.

Also something to note: Tesla’s taxis. There will be a fleet of self-driving cars available to be summoned via an app. This will be a cheaper option than current solutions from Uber/Lyft. Tesla itself will have dedicated cars for this purpose and Tesla owner’s can also add their own cars to this network (for a financial benefit).

Elon predicts that human-driven cars will become a thing-of-the-past very quickly. He expects the reliability of computer-controlled cars to become so undeniable that human-driven cars will seem reckless in comparison.

And of course: I, for one, welcome our new autonomous overlords.

Future Wishlist 2018

Things I’m looking forward to in the future.

Robotic self-driving vehicles. I want to enter a vehicle and get carelessly whisked away to my destination while I play on my portable computing device.

Mechanized birdlike wings. These aren’t for travel per se, but mainly for flights of fancy, soaring through the sky. In a sense, these are bionic wings you strap-on, powered by motors with batteries that’re attached-to and activated-by your arms.

Long-distance travel surprise. Something new and awesome or even something old and quaint — either a more efficient way to travel or more entertaining (or both! having different options is fine).

Full-immersion viewing experience. Imagine someone calls you, and with these glasses on, it feels like you’re right there with them. They could be walking around a store and you’re virtually there, browsing along. Or, you’re playing a video game and it feels like you’re inside of it. Or, you’re watching TV feeling like you’re in the audience of a stage-play.

Maintenance-free surfaces. From counter-tops, to shower-stalls, to walls and floors — these surfaces will be maintenance free. No scrubbing or vacuuming or whatever else you usually do to keep them clean.

Instant shower. Step in, the washing process begins and ends automatically, step out.

Instant toothbrush. Stick it in your mouth: bing, bang, boom – teeth are cleaned automagically.

Smart-sleep systems. Temperature, pressure on parts of the body, ambient light and noise, even smells are all regulated by the sleep-system of tomorrow.

Unified on-demand library of all media. Movies, books, music, shows – whatever it is, is all available immediately on-demand via your portable computing device.

Utopian Government. Oh, might as well tack on a Star Trek-style united-world government. And with a colonized Mars, there could even be a United Federation of Planets.

Golden Age of Chat

Yeah I remember those times. For me it started around Christmas of 96 (or was it 95?). Ant’ny was over with his family and I was showing him my new Compaq Presario. Probably had 16 meg of ram and a 1 gig hard-drive on that baby, a minitower attached to a 14 inch monitor that was deeper than it was wide and weighed 40 pounds. But anyway, we fired up one of those promotional cd-roms that came with the computer. It was for an internet/chat service. Back then there was Prodigy, Compuserve, and America Online.

The dialup-modem made it’s strange haunting sounds and we were connected! Rip-roarin’ at 28.8! We selected a chat name, something like NRA911, we were just makin’ up something crazy, for laughs. Back then ya see, you’d enter into a chatroom with about 20 other people all “chatting” at once, just typing away. Sure it was sometimes hard to follow, but back then most people weren’t fast typers — plus a lot of folks just sat there watching the conversations scroll by.

Not me though. I was active, pickin’ out my prey and teasin’ the heck outta them. In a good-natured way of course. I’d break the ice and get the room all whipped up, boy you shoulda seen me go! Nothin’ like my quiet, reserved everyday self. Eventually the room would settle and I’d select someone to talk with privately. I loved those deep one-on-one conversations. But anyway, I’m getting ahead of myself. Long-story short is that me an Ant’ny had a great time that night and I was hooked.

You had to pay for so many minutes of usage back then, it wasn’t until a bit later that they offered unlimited hours. I went through free-trial-disk after free-trial-disk. I’d be on all night chattin’ up a storm. Imagine it, I rarely had anyone to talk to in meat-space, always just watched TV or sat quietly in class. But now, there was a constant flow of people all itchin’ to chat. Sure there’d be quiet nights with minimal fishies to catch, but eventually someone interesting would show up.

Heck, it was even in a chatroom where I met my best friend twenty years ago. I was busy tearin’ it up in a Lobby on AOL and something about her style caught my attention — she was different. I singled her out and sent her an instant-message. I think I was vexed in some way, perhaps it was a bit of that hard-to-get stuff. Well I added her to my buddy-list and hoped to see her whenever she was signed-on again.

Soon after that we started exchanging emails. Deep thoughtful letters. Again, somewhat different than what I was used to. From then on we’d skip the public chats and just chat with each other. That went on for awhile. These were the olden days we’re talking about, not many people had digitized photos of themselves — you had to literally mail stuff or know someone with a scanner. But the only picture she ever mailed me was one of her 6-year-old self holding a tin of cookies at Christmas time.

We eventually moved over to phone calls, which were “long distance” and kind of expensive. We’d talk for hours and eventually she got in trouble with her mom for racking up big bills. My mom was happy I found a friend — heh. That’s how I laughed in chat by the way: heh. None of that “lol” stuff for me. Maybe a “haha” if it was really funny though. But anyway, it was 9 months until we finally met in person and I saw her for the first time. She non-coincidentally applied to a nearby college.

It was in the summer and she was taking some placement tests. I had a general idea of what she looked like and I knew what building to be in. Everyone didn’t have mobile-phones back then. The last time we talked was before she left her house the previous night. But lo and behold I spotted someone matching her description talking to her parents. She eventually made a solo trip to the restroom and I was in pursuit. “Michelle?!”, she turned around and it was her. Long black hair and racing-stripes on her jeans.

What a time. It was only a few minutes before her dad showed up wondering why she was taking so long. I left but I was on cloud 9. In a few weeks she’d be moving to be near me — oh and to go to college of course. But anyway, that was pretty much the end of chat for me. Oh sure, I went back a few times after that but never for too long. And eventually, high-traffic public chatrooms stopped being a thing. But at the exact time I needed them, they were there for me. Thanks chatrooms.

Great Again

My mother was a kid in the 1950s. She lived with her divorced mom and felt self-conscious about not having a dad around. She was considered fat and as an adult she was always following the latest fad diets. She knew some neighbors but nowadays she knows even more and feels safer than ever. Her biggest fear as a kid was being kidnapped, she had some incident with a guy asking her to find his lost puppy. She was born around the time WWII was ending, a little before the first nuclear bomb was detonated over a city full of people. She saw the end of laws that specifically persecuted the descendants of slaves, although it didn’t really mean much to her. When she was a young adult her peers were being drafted into a war they didn’t support. A president during her young-adulthood was assassinated in office and a later one was disgraced out of office.

I find it strange whenever I hear people claiming things were better in the past. I wouldn’t trade the Internet era for any time in recent history. When I grew up, my biggest aggravation was the unrepentant reruns the TV would air, especially compiled clip-shows of the current season’s episodes. Being the 80s, I did consider global thermo-nuclear war a viable threat too.

When people complain about social media, I find it odd. My childhood consisted mostly of sitting alone in my house watching TV reruns. Calling someone on their house-phone was torture, as anyone could answer, or it could be a busy-signal, or the person wasn’t home — it was inconvenience-cubed. I like the connectedness of today, the new content, I like watching shows whenever I want. And when I was a kid, I just assumed I hated music because I disliked what the radio played — it turns out I like music now that I can select what I want to hear.

When I wanted a specific book, I had to ask the bookstore to order it for me and then wait until they called. When I ordered stuff from a catalog (toys, trinkets, clothes, whatever), I tore out the order-form, meticulously filled it in, mailed it along with my mother’s check, then waited three weeks until the check cleared and the item arrived in the mail. When I missed an episode of my favorite show I waited weeks until it aired again as a rerun. When I wanted to watch a movie I had to go to the movie theater to watch it, that is until video rentals became a thing, then I could choose from a selection of crappy movies because that’s all they had in stock.

I love mobile-phones. When I was a kid, you just showed up hoping other people would be there. If you had the wrong time and your mom dropped you off, you were outta luck. Incessant waiting without knowing was a thing. It was nerve-wracking, what if no one came, what if I had the wrong date, I’d be stuck.

When I thought of cities when I was a kid, I pictured violent crime, gangs, graffiti, vandalism, riots, pollution. When I think of cities today I picture culinary adventures, tech hubs, gentrification, and hipsters. When I thought of Europe as a kid, I thought of spies and cold-war stuff, iron-curtains and oppressed peoples, hijackings, bombings, post-war aftermath, and bad food. Nowadays when I think of Europe I picture modern well-taken-care-of citizens in charming old-world settings. When I thought of nature, I pictured endless litter and toxic dumping. Nowadays I picture beautiful beaches and well-maintained woods.

In my opinion anyway, this is the best it’s been (there’s even robots on Mars!) — screw the haters that say otherwise.

Fundamentals of Programming

A programmer compiles a set of instructions into a program. So at its essence, a program is simply a bunch of instructions that perform a given task. Those instructions use branching and repetition to form a kind of narrative.

For instance, imagine you need to go shopping for groceries. First, add items to the shopping-list. While scanning kitchen, if milk is less than half full, add to shopping-list; if container of popcorn is empty, add to shopping-list. Now goto the store. While not at store, drive – if impeded, press brake, else press accelerator. Now enter the store. For each item on shopping-list, add to cart.

function scanKitchen():
  if(milk < milk.contents / 2)
    list.add(milk)
  if(popcorn == empty)
    list.add(popcorn)
  return list    

function drive():
  while(!atStore)
    if(isBlocked)
      pressBrake()
    else
      pressAccelerator()        

function shop(list):
  for each item in list
    cart.add(item)
    
//call these three functions in the appropriate order:   
list = scanKitchen()
drive()
shop(list)

if statements take the program on different paths depending on whether a condition is true or false. Whereas while / for statements create loops that keep certain commands repeating.

Putting objects in groups, such as the shopping-list, is another fundamental concept. An array of items is easier to keep track of as a whole, and such a list can be quickly scanned and processed.

To tell the story, you’re going to need some action commands. For instance scanKitchen is a function you call upon to look through the pantry and fridge. You simply invoke it, and it returns a list of needed items. You can then print those items onto paper — or order them online — the list is yours to do as you wish.

Different programming platforms provide various built-in commands to play with. Some programming environments offer minimal pre-made functions and some offer extensive libraries of functionality to call upon. The work that goes into a program comes from assembling the provided building-blocks. This includes finding the appropriate commands and properly invoking them, as well as placing those instructions in the right order — and of course you can adjust this order by using conditions and repetition.

An Old Friend

I’m nearing the end of the official Python programming-language tutorial. My interest in programming was recently rekindled and Python seemed a decent re-entry point — especially because there’s a fully operational scripting environment, known as Pythonista, that runs on the iPad.

I suppose you could say I used to develop software professionally — until I stopped a few years ago. It feels kinda good to get back into programming. I don’t have any professional aspirations, it’s just a hobby like when I first started many years ago. At that time, coding seemed like such an impossible feat, then it clicked and off I went.

My first experience with programming was Microsoft’s Visual Basic, almost 20 years ago. I was excited to install and begin coding — yet I couldn’t decipher the code, it just didn’t make sense, like trying to read a foreign language in an unfamiliar alphabet. Then I read an intro-to-programming book, one used in college classes — it used the C language and some included libraries to teach. After finishing the book, I went back to the Visual Basic development environment and surprisingly it made sense. The process of working-through the book seemed to unlock an ability to program.

But I still struggled with programming in the sense that doing anything interesting was complicated. Sure you could effortlessly place a button and update a text-box, but things got complex real fast when going beyond the basics. I was stuck with too-simple or too-hard so I stopped programming for a bit. Then a new way to write for Microsoft Windows came out, called the .NET Framework. I really liked C-Sharp and the large library of functionality that came with it.

But unfortunately, it still had its limitations. Just like before, writing long lines of complicated C/C++ code was the only way to do the most interesting activities. Yet .NET was decent enough at developing moderately interesting applications. I had also tried web-programming, like PHP and such, but found that a bit cumbersome compared to desktop-app programming. I liked visually-oriented programming rather than slinging and storing data into databases.

Yet when it came time for finding a professional outlet, PHP and ASP.NET were the easiest positions to find so I did that, learning as I went. I was pretty good though, very meticulous. I didn’t much care for the business side and eventually burnt out. Not too long afterwards I tried my hand at developing Apple Mac Apps in Objective-C but found the language too unwieldy and old-fashioned especially coming from C#. I did sell a few apps in the Mac App Store but nothing significant.

I do appreciate Apple’s new Swift language. I really like their Swift Playgrounds app for teaching kids about programming. Although I think anyone using it might need access to an experienced programmer because it seems a bit too challenging otherwise. X-Code on the other-hand, Apples’s full-featured development environment needs a serious paradigm shift in my opinion. I was not pleased with what I recently saw in an official tutorial — linking up code to the graphical parts of the program seems cumbersome. It makes me miss the ease of C# and .NET from over a decade ago.

In a sense, I think of programming as a means of expression. Like a painter expresses with brush on canvas, a programmer expresses with code in compilers — or a writer expresses with words on paper. I often try my hand at art/drawing apps but eventually abandon them because I fail to enjoyably express myself — I typically can’t create something I admire. Whereas in writing, I’ve written a lot of things that amuse or impress myself. I can’t say that I’ve made anything impressive with programming, but I often find the process fun because of the learning and problem-solving involved.

But that’s been my underlying issue with programming, an inability to create things I’m impressed with — thus I can’t completely express myself. Instead, I regularly come up against insurmountable limits that stop me on my path. Oftentimes the complexity rises to a point that shuts down the fun. Although, perhaps my impatience is to blame. Many of the programs we use daily are like living breathing entities that have their creator’s souls poured into them. Maybe I wasn’t willing to put that much effort into an individual project.

Yet I suppose that was another issue I had with programming: finding a worthwhile project in which I could pour my essence. Which is why I’m writing words nowadays instead of code. I enjoy writing words and I can express myself to a great degree. But similarly, I don’t like large writing projects, I’d rather just transcribe some snippets of thought on a regular basis. Writing, programming — really, they’re just a means to entertain my mind, giving my thoughts something to do, a purpose.

I have no point in my late-night rambling beyond an acknowledgment to an old friend that’s come back to visit. Will he stay? Who knows. But it’s good to see him while he’s here. I’ve missed you buddy. How many late nights did we spend together? All alone in a world of our own. How many guises have you worn? C, C++, Visual Basic, Java, PHP, Javascript, C#, Python, Ruby, Objective-C? You old son of a bitch, stumping me whenever you could. But I got my licks in here and there.

Well goodnight old friend. May your loops never be infinite and your memory always well-managed.

New Chief

An excerpt from the fictional tales of The Bytekings.

Tell me, are you familiar with the concept of air supremacy?
Yeah, it has something to do with controlling the skies in battle.
Those who control the sky, determine who will die. I assume you’ve heard of the rockets my company produces?
Yes of course, they can even land themselves.
That’s right. And you’ve probably also noticed that my company makes semi-autonomous automobiles as well?
And I’ve seen the solar work you’ve been doing, it’s all quite fascinating.
Decentralized electrical power is decentralized political power.
There seems to be an underlying theme to all this.
Indeed there is. The way in which humankind is currently organized is outdated. I am going to fix that.
And those currently on top will allow you to do this?
How easy would it be for me to weaponize my rockets? How quickly could I weaponize autonomous vehicles? And I need no electrical grid to produce my power.
Just what are you saying?
Relax, I’m simply telling you what I could do, not what I will do. Tell me, are you familiar with the Simulation Hypothesis?
Yeah, the idea that our world is only a virtual reality.
Exactly, and I’ve been well aware of this condition for some time, hence my recurrent success. I lack the the fear and doubt that plague those that believe themselves living in an organic world.
Then what are you going to do?
I am an engineer by nature, a creator of systems, I am designing the foundation of the next era. I have my hands in banking, robotics, energy production, as well as transportation: terrestrial and beyond. Think of how early industrialists made their money, I have seeds in all those fields and soon my crop will establish itself.
But then what?
Then power goes to the people.

New Year’s Tech

When I was a little boy, a mother’s lap was the only car-seat a kid needed. Dictionaries were large books with finger tabs for quick access by letter. Encyclopedias were purchased at the supermarket, one book per week. We often browsed catalogs and filled-out order-forms that were mailed-in with personal checks — we received our packages at some indeterminate time in the future.

Fancy TVs had real wood cases surrounding the picture tube, they were thick and heavy. To change the channel we got up and turned a dial that clicked into place for each corresponding number, luckily there weren’t many channels to choose from. We watched TV shows at designated times. If we missed an episode we could catch it again in a rerun. With limited TVs, fighting or tantrums often controlled what was watched.

If we wanted to talk to a friend we called his house, asked his mom or dad if he was home, then talked until someone else needed the phone. A busy signal meant we kept calling over and over until whoever finally hung up. If events were cancelled, people would call around to let everyone know, some wouldn’t get the message and just show up, waiting for the party to begin.

If someone left the house, we typically wouldn’t hear from them until they got back home. Trends often traveled by cousins or clubs or camps. If we had questions about life we could ask a parent or sibling, our friends, or a teacher. If we needed a more extensive answer we could go to a library and browse through some books in the related category.

If we wanted to rant, we wrote cursive inside of notebooks that nobody read. If we were bored or lonely we had to make do. We had little to no contact with those outside of our immediate surroundings. Games typically required other participants. TV had limited programming and at times aired only reruns. Stores had limited hours and required transportation.

I appreciate the technological advances of today. When the Internet came into being it was like discovering a new world. Through the Internet I found companionship and purpose. I’ve spent about half my life within this virtual realm — exploring, observing, and interacting. It turns out that the next frontier wasn’t outer-space, but cyber-space — the world-wide interconnected consciousness of mankind. And through communication, we find unity. So it is with this thought that I welcome in the new year.

Technological Hubris

That those of old knew less is ridiculous.
What do you know, modern man?
You know how to press buttons.

Your survival relies on what you misunderstand.
As trust in technology grows, so does frailty.
A break in the chain and it crumbles away.

At least those of old knew life was beyond control,
and knowing, gave thanks for things received.
Yet you modern man, not knowing, thank yourself.

Imagining someone somewhere knows something,
depending on the surety of answers for solace,
believing in the fantasy of factuality.

A machine may function as expected,
but the underlying why is never known.
In your understanding, it might as well be magic.

So what do you know, modern man?
Living within a world beyond comprehension,
speaking spells into the ether.