A week ago we wrapped up our first group project. My team decided to create a Omaha Code School Wiki. It’s a wiki about anything related to Omaha Code School. Anyone can read the articles we put together so far. You have to sign up for an account in order to add or modify the articles, but anyone can do it. Make sure you provide a legitimate email, because we figured out how to send email to confirm before we activate your account. We’re pretty proud of that.
Here is the link for your enjoyment. Let me know what you think. It’s on a free hosting service, so I apologize in advance if it’s a little slow to respond.
We work hard at Omaha Code School. We show up every morning at 9, and sometimes don’t go home until 8pm, then go home and work some more. Throughout the day we need small breaks to keep our mind fresh and give our minds a break. I thought I would elaborate on some of the things we do during our down time.
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. We worked on it every day over lunch until it was done. Each person who wanted to contributed their own part. Johnathan is supposed to be brining in another puzzle for us to work on, but he keeps forgetting. Hopefully we will have another one to work on soon.
By far the most popular way to waste some time is an online game called 2048. It’s one of those mesmerizingly simple games that you get hooked on. If you haven’t played it before, you have numbered tiles. You have to slide them back and forth. If 2 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 Cara is the only one to have made that happen, but we are all desperately trying to be the next.
Sumeet likes to play chess on his small breaks. He plays speed chess online in quick little 3 minute games. He says that 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. Brandon introduced me to the Syma X1. It’s a cheap, $30, quad-copter that comes completely ready to run. It’s remarkably stable. 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.
A lot has been happening at Omaha Code School. Looking back, I can hardly believe we’ve only been class 3 1/2 weeks. Let’s recap and make sure everyone is up to speed with where we are at.
OCS is structured in a very deliberate way. Learn the basics, and then build on top with more advanced topics. During the first week, we learned Ruby. It’s a programming language that prides itself with having readable code. It wasn’t hard to learn, and we were writing our first command line programs in no time.
Just when we thought we were understanding everything we switched from the command line to the browser. This was a game changer. I have had more experience than most in my class coding, but nothing like this. Defining routes and methods is a completely different way of thinking and took some time to get my head around.
After a little practice, it began to make sense. Unfortunately, we weren’t standing still. We learned about file storage, then SQL, then ActiveRecord. It was a lot to take in, but every step seemed to make life a little easier. Each layer added methods and helpers that can be used like Lego blocks to build whatever your heart desires.
This week we put it all together. We switched to using Rails as our framework and web server. It seemed pretty intimidating at first, but it’s started to grow on me. Rails is a framework, a set of rules. These rules force you to build your application a very particular way. Rails is also stubborn. If you don’t follow the rules, Rails refuses to work. It can be maddening at times. But once you get everything just right, it works beautifully.
With what we have learned so far, we can create almost anything. We even created our own blog from scratch. It’s amazing how a little Ruby, a database, and some CSS can create a sophisticated website. I can’t wait until we get to build some of the projects I have had rattling around in my head for the last couple years. Hopefully we’ll start publishing our sites online so I can share some of the things we are building.
This morning Silicon Prairie News(SPN) published my guest blog recapping our first two weeks in class. I’m going to do this about every-other week as a way to get the word out about what we are doing at Omaha Code School.
If you don’t know about SPN, they are a technology blog that focuses on the midwest. Primarily Omaha, Des Moines, and Kansas City. They are pretty well-known and have very loyal followers, so having the opportunity to write for them is a huge blessing.
People have asked me what programs we are using in class. At its core, a website is a collection of text files, so you don’t need much. I remember using Microsoft Notepad to create my first website. At Omaha Code School(OCS) we use a program called TextMate. It is a text editor specifically designed for development.
At first, TextMate and I were not friends. I think it was more to do with my unfamiliarity with my new MacBook then the program itself. I was having a problem remembering menus and shortcut keys. As time passed, I started to see the power of using this program. Specifically, built-in GIT and code bundles.
At OCS we upload all our code to a service called GitHub. This forces us to save and commit our code frequently, and makes backups of what we are working on. TextMate is aware that we use GitHub and shows us the current status of each file. It’s really helpful when I make a mistake and need to roll my project back to my previous commit.
The feature that separates out TextMate from the other text editors I’ve used is code bundles. Bundles are small pieces of code that you can insert into your code. It doesn’t sound major at first, but it could eliminate almost all my stupid human syntax errors.
To use a bundle you select Bundles -> Select Bundle Item, or use the keyboard shortcut ^ + ⌘ + T. This will show you the bundle search window. TextMate is aware of the type of file you are working on and will only show you the applicable code bundles. Once you find the bundle you need you can then import it into your file.
Ruby requires that almost everything we do be a member of a class. To create a class, there are about 10 lines of code that are almost identical. Using a bundle, all you need to type is the following: ^⌘T + “class” + return
If you look closely, the class name is highlighted. TextMate bundles know which keywords need to be modified. You can type a value and then press TAB to move to the next field. This allows you to update everything you need without having to use your mouse or arrow keys to move around. It doesn’t seem important at first, but after using it to create a couple of objects I know I will be using it a lot.
The built in bundles are helpful, but I have already found that I have a slightly different style. Fortunately, TextMate has a built in bundle editor. I’m the first to admit that I don’t fully understand what is going on in the editor. I can make my way around enough to add another line or change the style a little bit, but that is about it. As I continue to learn about formatting and syntax I’m sure I’ll start to understand more.
I know I’ll be using these features a lot, hopefully you will too.