Gigabit Challenge Finale

I attended the Gigabit Challenge finale yesterday and I was left with one word to describe the experience; underwhelmed.

That said, I feel the need to quantify that one word description. I framed my viewing of the final 18 pitches within the following context: The business must be financially viable, and the business would require the use of the incoming google fiber network. It was this fiber network requirement that was the downfall in my expectations. Several of the businesses pitched would make decent businesses, they just wouldn’t need the speed of google fiber to accomplish their tasks.

In all I felt that two, possibly three companies would even see a decent benefit from the increased bandwidth. Of these three companies one of them did win the grand prize awarded in the competition. In my opinion the competition judges did a fine job and certainly a top tier business plan won in the end.

What I do disagree with is the structure of the prizes. There were three prizes awarded among the final 18 competitors.

The Peoples Choice Award (or more appropriately; The How I Gamed The Online Voting Award) which was valued at $100,000 in services provided by Think Big Partners and their sponsors.

There was a second prize which I don’t know the name of, but I believe it was provided by Gramercy Venture Partners. This amounted to a $250,000 convertible bond investment and coaching for a Series A funding round. This was a prize awarded by the individual judge from that company and not the judging panel as a whole. As such it should have been named The OMG This Companies Business Plan Must Have Kicked Ass On Paper Because Their Pitch Sucked Ass Award.

The Grand Prize package was the same as the Peoples Choice Award but it also included a $20,000 cash prize. This award should have been renamed as the WTF, Those Other Guys Got A Shit-ton More Money Than We Did Award.

Perhaps it’s a perception issue and the bond award will not be as beneficial in the end, but damn it’s hard to look past the numbers.

API Security – let me count the ways

One thing I hadn’t considered fully with tgt.me was how to secure the API calls.

I originally was looking at using a user API key (see the database diagram) but that would be transmitted in the clear. Thus not a very secure solution. The user could change their key if the account began to be used by unauthorized parties, but that doesn’t provide much in the way of comfort.

There could be the addition of requiring the calls to be over https. This would prevent (or at least hamper) a man in the middle attack. A downside still exists though if I ever want to have 3rd party apps use the API. The user would have to entrust the key to a 3rd party.

Another layer could be thrown on with a “secret” key that would hash the request. This would lock a call into a certain authorized app, but not eliminate the need for the user to share full access to the account with the 3rd party.

That leaves me with an OAuth implementation. This has become the standard for API integrations and who am I to buck that trend. This also gives me the opportunity to build an OAuth server so expect some new articles on that whole process as well.

Happy New Year!

01001000 01100001 01110000 01110000 01111001 00100000 01001110 01100101 01110111 00100000 01011001 01100101 01100001 01110010 00100000 01100110 01110010 01101111 01101101 00100000 01010100 01100101 01100011 01101000 01000111 01110101 01111001 01010100 01101111 01101101 00101110 01100011 01101111 01101101

Project: Requirements and a Database

Continuing where we left off yesterday it’s time to define some requirements.

A high level view of what I want to capture on an informational basis:

  • Original URL
  • Shortened URL
  • User
  • # of clicks for short URL
  • IP address of clicker
  • Location of IP of clicker
  • referrer of short url

With that I generated this DB scheme: MySQL InnoDB

I’m considering creating another table and splitting out the IP address and the geolocation from the clicks table. Those items could be duplicated quite a bit if I generate enough traffic. What do you think? Should I? What would I gain other than DB size?

Introducing a Personal Project: tgt.me

I’ve recently started a personal project that I’ve decided to chronicle here on the blog. Mostly because I never post anything and I want to change that, but also because I usually don’t have much free time. This may lead to taking a week or two off from working on it and this way I’ll have a diary of events to come back to that will refresh my memory.

The project revolves around a url that I’ve had for a while now but done nothing with. That url is tgt.me. A nice short url that would be well suited to a personal url shortening service. “Wow, that’s nothing new”, your saying, and you’re right. There are plenty of personal shortening services out there and even some free self hosted open source options. My response; It’s the journey, not the destination.

I’m taking this opportunity to do some things I don’t get to do in my professional work.

  • Create a restful api interface
  • Create a custom MVC framework

I will more than likely host the code on github so stay tuned for that info.

We’ll start with the requirements tomorrow.

A “Find My iPhone” Success Story

For lunch today I decided to hit up Buffalo Wild Wings since they have $0.60 boneless wings on Thursdays. The service is often slow but the wings are good so it makes up for it. After an enjoyable mountatin of medium sauced boneless I took a trip to the restroom then headed out to a coffee shop to finish my days work. Everything was progressing according to plan, until while sitting in the referenced coffee shop I tried to grab my phone. It wasn’t there?!

Not in my pocket, not in my seat, not in my car, not in my bag… oh shit I left it in the restroom at BWW. Since I’d been gone for about 30 minutes I had no hope of it still being there but in an attempt to rally against hope I headed back to the restaurant. The hostess, though sympathetic, reported that no one had turned in a phone. The bar didn’t have my phone and the bathroom didn’t have my phone either.

With despair rapidly setting in I began the journey to the nearest Verizon store to report my phone lost. I had learned during a trip to Austin the year before that it was of utmost importance to have a lock code set on the phone at all times. You never know when someone you haven’t authorized to do so picks up you phone. I of course had since removed the lock code and now every bit of my personal information was available to the perp who now had my second brain in their hands.

As I pulled into the parking lot of the Verizon Store I remembered that my phone has the locator service attached. I fired up my portable hot spot and opened the browser on my laptop. At least I might be able to walk up to the perps door and try to get the phone back. I really didn’t want to pay for another one and my bravado was presently at a high mark. Once I was logged into icloud.com I discovered that my phone was still sitting in BWW without me. I immediately did a remote lock on it and considered the remote wipe. The popup warning me that the locator service would quit working prevented me from doing so.

Now it was back to BWW and this time I entered with my laptop open. I told the hostess the phone was still in the building and I was going to send a tone to it. After receiving confirmation that the tone was sent we wen’t off looking again. Still coming up empty the manager came storming out of his office a few minutes later complaining that he couldn’t get the phone to quit beeping. Turns out they thought the phone was the night managers when they checked the office earlier.

Many apologies were sent my way (but no free food coupons… just sayin’). So now I am once again complete and happy. So if you take anything from this post, it’s that you should set up your phone to auto lock. The discomfort involved in thinking someone could have all your information is enough to give you an ulcer.

Sequel to TRON

I postulate that the sequel to the new TRON film is The Terminator. Here’s the flow:

  1. Quorra interfaces with an Encom system
  2. She spreads to other systems and gives birth to AI
  3. The AI evolves into Skynet
  4. Skynet creates the T-800

Thus the sequel to TRON is The Terminator

Recognition In Print

I was directed to a nice post today written by Shawn Kincade.  Over at his blog Aspiring Business he mentions Adcuda and the tool that I built as my first internal project.  The Local Search Visiblity tool was fun to build and the plans we have for version 2.0 are going to make it even better.  Thanks Shawn and if any of you have a small business that could use a local boost, check out the tool at the link above.

jQuery Conference Day Two

Used under Creative Commons

As expected day two didn’t quite live up to day one for me. That’s not so say it was that way for everyone. In fact I talked to several attendees who disagreed with me. That said, the highlight of the day for me was the better lunch spread and side conversations. Even with that though, the conference was well worth attending and I hope to attend next year as well.

For me I think the problem with day two wasn’t content, because the talks all had decent content, it was the dryness/lack of public speaking experience by a few of the presenters. That and the crowd new more about a subject than one of the presenters. Combine it with a general lack of concentration (and tiredness) on my part and it adds up to a slow day.

My takeaways from the conference were plentiful. I have several items to explore further and some of them will be incorporated into my workflow. The code testing talks were especially helpful. I’m not sold on coding javascript in an MVC manner but the concept was interesting.

That’s my quick and dirty wrap-up, see ya next time.