It’s Sunday night and startup weekend is officially over. I didn’t participate on a team this time but instead attended as a coach/mentor. This was an interesting and enjoyable experience but I may have to participate in the next one. These weekends are always inspirational and I missed the camaraderie of the team.
I spent a day at Union Station last week and managed to take some photos. This is a new hobby for me but I’m enjoying the hell out of it.
Arrived in Austin after what amounted to a horrible flight out of KC. Where it was a bit chilly but perfectly acceptable at home, it was cold and freezing rain at the airport. We sat on the plane for two hours waiting to be de-iced. Seems counter intuitive to make people wait that long, let us off the plane till your ready to go.
Once in Austin it was time to decide what I was going to do for the evening. The choices were the Freshbooks party & BBQ1, or the Startup Crawl. I chose the Freshbooks party since it was located south of town and I wouldn’t have to worry about paying to park the rental car. I was beginning to think I’d made the wrong choice once I arrived since the temperature was down in the 40′s and it was windy. Not exactly conducive to an outdoor event. In order to fight off the cold I ventured outside the tent to ride the mechanical bull, for a whole 3 seconds.
Just before the food was to be served I struck up a conversation with a guy who had a very interesting story. His name is Ricky Benjamin and he wasn’t at the party because he was attending the festival. He had answered an ad on Craigslist to help Freshbooks at the airport2 and then he tagged along to enjoy the party. Ricky is only 22 years old but he’s visited 48 states and has made several TV appearances. He wants to be an actor which doesn’t make him that unique, but he’s also a little person and a professional wrestler, and that does. Ricky is a member of the Micro Wrestling Federation and will be a part of season two of Half Pint Brawlers. He said he got into wrestling through a friend and that it was fun and the money was good. He’s also hoping it helps him get more acting gigs.
Here’s one of his YouTube videos. He’s the guy in the wrestling singlet.
1 KC BBQ is better.
2 They run a free shuttle service every year from the airport to the convention center.
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.
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.
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
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
- # 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?
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.
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.