Six weeks, officially half way. It feels like we have been here three months already, but at the same time, like we just started. Long days are starting to catch up with me. I can hardly keep track of the days of the week anymore.
My language has changed from English to a weird set of acronyms and terminology I had not heard until recently. I literally code all day, over meals. I even dream about code. But this is what I signed up for, and I’m having a blast.
We had the opportunity to meet with a couple of really talented people. The Flywheel team came down, talked about how they make WordPress hosting easy and some for being truly successful. We learned about some of the problems they face, and how they make plans to overcome them. We also heard from Lemonly, a startup that turns data into infographics. It was really neat to see how their problems differed from the other speakers we have heard from and the unique ways in which they overcome geographic problems within their companies.
Omaha Code School students are working on projects like creating a wiki for the Code School.
We’ve begun shifting our time to projects, which is a kind way of saying we are really busy. In week five we completed our first group project, an Omaha Code School wiki. We started with some wire frames, created a feature list, assigned responsibilities and got to work.
The wiki has features, including:
- Articles to have a history stored as many updates.
- Admins can roll-back an article to a previous update.
- Updates are written using the Markdown format, giving the author freedom to organize, format, add links and pictures.(Gem RedCarpet)
- URL should be human readable, not just a bunch of ID numbers. (Gem FriendlyID)
I was given the task of developing everything needed for an article on the wiki. This involved the article itself, a way to store many updates and categories. At first this seemed pretty challenging. We knew how to update a single object, but this was three separate objects. After trying to figure it out on my own, Sumeet told me about ‘accepts_nested_attributes_for‘. This feature saved me a ton of work. It essentially allowed me to create a new article and prompt the user for category and update information at the same time. It really does seem like magic, even though we all know better than to believe that.
Lectures were light all week to give us time to complete our projects, so by Thursday we were close to having a working product. My partners had got users setup with authentication and session management, the front end complete with some sweet CSS to make our pages look nice.
When we are working on projects, we have daily SCRUM meetings in the morning. If you are unfamiliar with that term, it just means we go around the room and talk about what we accomplished in the past day, and what we hope to accomplish the rest of the day. It really helps outline what you need to get done. Since we were working on Thursday, my goal for the day was to break our application—I succeeded.
I acted like I had no idea what I was doing on our site. Clicking on things randomly and on pages with no context to my action. I found that we had broken links, incorrect links, form inconsistencies and style problems. We wrote down everything we found and divvied up the work again. By Friday morning, we had the whole thing running on Heroku and working well.
On Friday afternoon, we presented the Omaha Code School Wiki to the class. We got to demo the app, and talk about one thing we did in code that we thought other people could use. Everyone seemed to like it. As we watched the other groups’ presentations, I learned a lot about what they had done. That weekend, we went back and refactored some of our project to incorporate what the other teams had taught us and we’re pretty proud of the outcome.
Last week was very challenging. We started learning about JavaScript(JS) and AJAX. This was a fundamental shift in the way websites work for me. I always thought simplistically. Servers send HTML to a browser and it is displayed to the user. JS adds another very powerful layer to that, allowing a website to be modified directly in the browser. It’s a lot to take in, especially after everything else we have already learned, but it’s starting to make sense.
This week we start our first individual project. We need to incorporate a complex database relationship, AJAX calls and a great front end—it’s not going to be easy and we only have a week to do it in. Hopefully we can put together all of the techniques we have learned to make something worth showing off on our Demo Day in May—only six weeks away now.
Work hard, play hard
We work hard at Omaha Code School. We show up every morning at 9 a.m., and sometimes don’t go home until after 8 p.m., only to go home and work some more. Throughout the day we need small breaks to keep our mind fresh and give our minds a break.
A bunch of us have put together a puzzle. We’ve officially branded it “Puzzle Club.” Our first puzzle was a picture of a cat coming out onto some grass.
By far the most popular way to waste some time is an online game called 2048. It’s one of those mesmerizingly simple games you get hooked on. If you haven’t played it before, you have numbered tiles that you have to slide back and forth, and if two tiles with the same value collide, they combine and the number doubles. The goal is to get a tile with the value 2048 on it. So far only one of our classmates has made that happen, but we are all desperately trying to be the next.
Our instructor, Sumeet, likes to play chess on his small breaks. He plays speed chess online in quick little three-minute games. He says he plays a pretty unconventional game when going fast and because of that his ranking has dropped quite a bit. He jokes that he gets upset when he gets a draw because he’s probably playing against a 6-year-old, and he should be able to beat a kid.
My personal favorite is flying quad-copters. Omaha Code School is meeting in a 8,000 square-foot retail space with 18-foot ceilings. That makes it the perfect space to fly small, light-weight remote control vehicles. Once you get a little practice, you can zip from one end of our space to the other pretty quick. We have even started to stack objects and practice flying between them. It’s the perfect break activity since you have to get back to work once the battery dies.
As you can see, even though we put in a lot of work, we also find time to have a good time. I would love to know some of your favorite activities for when you need a little break. Leave a comment below and we can debate which is best.
If you want to get more frequent updates, check out my blog. Or, if you have any questions, shoot me a message on Twitter.