Ongoing Project: EasyALPR – Parking Enforcement App

I’ve been working on series of parking enforcement products using license plate recognition technology called EasyALPR.

Several years ago I was working on a privacy and crypto-currency application, Gliph. Apparently, this was the first venture-funded crypto-startup because we raised our first round prior to Coinbase.

That company did not make it, so with funding from some of my previous investors, I started another one.

This time I flipped privacy on its head by building a live video streaming application. Any old smartphone becomes a webcam.

That product concept, Perch, was real art: see-all-the-things type stuff. The world in a fishbowl. Police action, puppies, perpetrators, you name it all live and archived in high definition. I go into more details in this EasyALPR company blog entry.

The tech was sweet, beat Facebook Live. Beat Twitch Clips by months. But the concept was too artsy, and too expensive to operate. I shuttered that product but kept the company.

When a user caught some perpetrators at a gas station in Oakland on Perch I stumbled again on the power of LPR. Ya, it only took me five years to come around worrying about it to working on it.

I did consider building some more scan-all-the-things type stuff as I explored five years ago on this blog. But I am not into that whole vibe really.

I am trying to focus with this product and so far it has been terrific for patrolling parking lots. So I’ve become interested in parking even though I don’t own a car.

It is really about automation and putting away manual processes. It has a license plate recognition app you can download free from the App Store, and a web application that does a lot of cool stuff too.

I explore that some in this entry on ALPR databases and more.

Not the most artistic idea in the world, but I built most of the product entirely myself, and I’m pretty happy with it so far. I have two product releases out so far, Parking Hero and Parking Defender. I have another, new one, in beta right now.

Unlocking a Verizon iPhone 4S for International Travel

iphone 4s 5 unlock micro sim verizon

Are you planning to travel internationally and want to unlock your iPhone? This post explains steps related to unlocking an iPhone 4S using the United States carrier, Verizon. It may also work for Android phones on the service, but my experience is with the iPhone. The process takes between 10 and 20 minutes to complete. Be sure to read the “Once you arrive” steps so you are able to finish the process.

Before you get started
You should be aware of restrictions Verizon puts on device unlocks. Some but not all of this was covered in a Venturebeat article.

  1. Your account must be in good standing. i.e. you can not owe them money.
  2. They say that your account must have been in good standing for at least 6 months, but I do not believe they enforce this rule.
  3. You may only unlock one device per phone number every 10 months.

Unlock your iPhone with Verizon

  1. While still in the United States, dial *611 from your iPhone. Continue reading Unlocking a Verizon iPhone 4S for International Travel

iOS / Objective-C App Delegates Explained Using Birds

As I build upon my understanding of Objective-C, I’ve been working to better understand the concept of a delegate and when they should be used.  In searching for clarity, I came upon an explanation by Mark Hernandez the administrator of iPhoneDevForums.com.

For posterity, I’ve copied Mark’s explanation here. For his full explanation and his code example, follow the link above.

My favorite way to explain how delegates work involves animals.

Let’s say you are going to create a particular bird. You start with a predefined class definition of a bird (provided in the existing framework as, say, CFBird). The existing framework class assumes all birds have certain things in common — they hatch and grow the same, poop the same, fly the same, and lay eggs the same way, etc. (tee hee, I said poop.  ) But different birds look different, are different sizes, chirp differently, eat different things, and may mate differently. Continue reading iOS / Objective-C App Delegates Explained Using Birds

Fix for Terminating App Due to Uncaught Exception 'NSInvalidArgumentException'

I’ve been experimenting with a multiview iPhone / iOS app with a tab-based navigation and came across an error and solution for “unrecognized selector sent to instance.”

In one of the tab’s views I had a standard button with a Touch Up Inside event that I had connected to a buttonClicked method in the view’s controller.  For some reason, when I tapped that button the app would crash.  This was not happening when I built the same stuff in a single view app.

I went searching and was happy to find that the problem was well described and solved in the developer forums of MacNN.  It turns out that when you have have multiple view controllers for separate .xib files being controlled by a Tab Bar Controller you need to take an extra step of setting the Class Identity for that particular view. Here’s how: Continue reading Fix for Terminating App Due to Uncaught Exception 'NSInvalidArgumentException'