HOLY CRAP! It’s Day 180! I have officially hit my goal of building 180 websites in 180 days. I am so freaking happy and excited I have no words.
Today’s website is an ode to the old Hello World app. At the beginning of many textbooks and tutorials you’ll find a Hello World…
Started the final day at DBC with a bang. We have group check-ins every Friday. The idea behind these check-ins is to let other people know how you are doing. You get two minutes of full attention from a group of 12 or so people. Great chance to share a part of yourself in a totally safe setting. I felt cheated after the last two sessions. Too many people talking about programming and not about themselves. I started the session this morning by putting everyone on the spot and challenging them to share something real. The group responded and the check in turned into an amazing moment. Four people cried. That was not the goal mind you, just giving an idea of the level of emotional investment people brought today.
The hiring day event was intense. Two and a half with employers rotating every eight minutes was exhausting. Thought the format worked well - you can learn enough during eight minutes to know if you want to continue the conversation.
Day ended with a short graduation ceremony followed by merriment at Murphy’s Pub. Last time with all of us in a room together. Hard to think about that right now. Early in phase 1, Eno said Dev Bootcamp felt like the only life he’d ever known and I shared his sentiment. Now, this singular, all consuming experience is over. What next, other than the obvious?
I can’t wait to learn more things. It’s who I am and it’s what I do. Looking forward to reading Jesse Storimer's Working With Unix Processes and Working With TCP Sockets, starting the Land of Lisp, and picking up a client side MVC frame work or three. I haven’t knocked out a problem on Project Euler in over two months! Also going to dig in to a few side projects. Will necessarily get some rest and cut back on the intensity.
I will continue to blog, but if you are looking for another 62 days in a row (counting from zero!), you may come away disappointed :’).
Hope you enjoyed the ride.
Not sure how much more dynamic one can look whilst discussing algorithms :)
We presented our final project, What’s the Plan?, this afternoon in front of the other boots. We got a round of applause afterwards and, for whatever reason, I allowed myself to enjoy it. I typically refrained from enjoying wins or taking much satisfaction in my work for fear it would breed complacency, but that’s no way to live. I choose to believe it is possible to be proud of your work, yet always hunger to improve yourself.
About the app - What’s The Plan? is a day planning app. It uses the Yelp API and Google Maps to help you find activities. Then it takes those activities, and it runs some crazy algorithms to figure our which ones group well together to cut down on your travel time. Finally, you get a map with your itinerary. I think it’s kind of useful! Alas, we are bit too late to apply for YC's summer cohort :).
I should probably be exhausted right now, but I feel weightless and even radiant. Good place to be with hiring day tomorrow.
We made it. The final product looks great and does something useful. Will follow up with more details after we present tomorrow. It is my no means perfect, but I am damn proud of what we accomplished in a week. In light of where we were nine weeks ago, it seems impossible.
Excited about the future. The learning curve went vertical over the past couple of weeks. God willing, I’ll keep it that way.
"Let’s argue about whether Haskell or Clojure is better while somebody else ships products using PHP and duct tape." —@agentdero
We ship tomorrow evening.
Struggling to find something positive to say right now. Dev Bootcamp is, at a fundamental level, about trading time for health. Mentally exhausted to the point where it is almost impossible to work. The only thing that will solve this is the one thing I can’t get right now - rest.
With the MVP in the bag, Nigel and I set about using Sidekiq to add asynchronous background processing to our app. We targeted two areas for background processing:
1. Calls to the Geocoder API
2. The route optimization algorithm
Some really interesting issues came up. Making route optimization alone asynchronous was borderline trivial. The trick comes in when moving the Geocoder API calls to the background. Sidekiq workers create new threads. Combine this with the fact that everything runs asynchronously, and you have a problem.
All of the calls to the Geocoder API effectively happen in parallel. Sounds neat in theory, but in practice, the API chokes on simultaneous requests and some of the jobs end up failing. Route optimization effectively happened in parallel with the API calls, so this also bombed looking for fields not yet populated in the database. It appears we actually need synchronous background processing, but only within the scope of a single form submission. What an interesting problem! Areas we are exploring:
Friday fast approaches.
This program only works because people have no concept of what they are signing up for when they apply. Not sure what to make of the overall experience, but when I figure it out, I’ll let you know. Will try to keep it under 50,000 words.
Spent the day working with Justin to specialize our TSP implementation. Very interesting work! Thinking through and testing all of the edge cases was exhausting, but I am confident this will pay dividends the moment we start refactoring or extending functionality.
On deck: Background processing and front end work. Love how things are coming together. Rock on.