Looking for Something?

Newest Updates

what people are saying

Friday
May182012

Code Academy Weeks 5 & 6 + HACKATHON!

In the past two weeks, Code Academy has become an all-you-can-eat buffet of knowledge and, much like an all-you-can-eat buffet of Chinese food, I'm feeling full and kinda pukey, but ya know, in a good way.

We really started ramping up at CA lately. I was previously comfortable coming to class and staying a few hours afterward every Monday, Wednesday & Friday, but in Week 5 I was in school for 10 hours a day. In Week 6 I've been here every day for at least 8 hours a day, but it's always been an incredible experience. Over the weekend, CA hosted a hackathon for students, where we were tasked with forming groups, making up an idea for an app, and then making that app. I had suggested an app for Mother's Day, which was last Sunday, the day we would be presenting our apps in front of a panel of judges. 

I paired up with two really, terribly smart guys, Haseeb & Nikhil, both of whom were filled with suggestions on building an app that would allow you to buy a gift for your mom via Groupon based on her city & state. We had just learned about how to pull data from an API that day, but like so many other parts of class, it was important to set a goal, no matter how lofty, and try our best to pull it off.

That Friday, I was at school from 8AM to 11PM, working on the idea with my teammates and trying to flesh it out with the skills we had learned. On Saturday, our team reconvened around 10:30 and immediately got to work. Haseeb got some help from another classmate Ted, who believed he knew how to make a search bar that would allow a user to find location by address. Nikhil worked on the structure of the site and I worked on the design of it. We've been in a class learning Ruby on Rails, so my design skills were low, but I wanted very much to push my boundaries when I realized I had bitten off more than I could probably chew. I went through a series of online tutorials on how to configure HTML & CSS to make a site look good and to still function with elements of Ruby. By around 9PM, the guys in my team were asking me for my progress and I didn't have anything to show them yet. It was embarrassing because, by that point, they had put together the backend of the app and managed to search via location, address, or even a zip code. I told them I would stay until the work was done, and I ended up at school until 2:30AM until the thing looked as good as I could make it. The next day, mother's day, we got to school at 10:30 again and we polished everything as best we could until our 3pm deadline. We hit a major snag using Groupon's API, which unfortunately didn't allow us to have their customers sign in to their site from our own, nor would it redirect after a purchase back to our site. These are things we might have found out had we knew more about APIs, but we only started learning about them 72 hours prior. Our website still worked, however, and even if it wasn't great, it was something.

We presented our apps in front of a panel of students and judges and we all had a very good time and I gotta say, I learned SO MUCH those three days it was insane. I have to give a special thanks to Red Bull because (no shameless plug) I drank about 42oz of the stuff to make it through the weekend and am now able to see into the future. 

Week 6 has been jam packed with information concerning making log ins and generating cookies so that our users can log in and remain logged in upon revisiting the site. I am nowhere near comfortable with it, even though I've been at school every day this week, but I know that, with enough practice, I'll be able to handle it.

Finally, yesterday, we pitched the ideas we have for Demo Day, the day that we finally present the project we've been working on all week. I'll detail more of that info soon, but right now, I'm off to chat with my mentor about the myriad of ideas I have and how to implement those ideas in the next 4 very fast-moving weeks.

Monday
May072012

Code Academy Week 4

There's an episode of The Twilight Zone (the bad Twilight Zone. The 80's Twilight Zone) where a salesman struggles to learn a handbook full of medical jargon for work. He wakes up one day and everyone is speaking a version of English that seems close to his own but they use word combinations that don't make any sense -- saying "where should I go for dinosaur?" instead of "where should I go for lunch?", for instance. As the day rolls on, everyone around him has formed an entirely new English language, and the next thing he knows, he is the one spouting jibberish. He sits down in his son's room as he comes to terms with his predicament, picks up a book for babies and starts the process of learning to speak all over again.

That's me in school right now.

The hardest part for me so far in learning this new programming language is hearing words that I already know being used in ways I've never heard before. "Putting" and "posting" things basically mean the same thing to me in life, but putting and posting things mean very different things to Rails. If I try to use one word where the other word belongs, I get error after error. I keep adding words to my Word Wall, a little handy guide that has been helping me since Week 2, but truthfully until I get my head around those terms, I will continue to feel like a newbie, regardless of how awesome my app works.

On Friday of last week, we created profiles on Github and Heroku, two websites that work in conjunction with Ruby on Rails to allow developers to collaborate with one another by storing their applications in the cloud, and to have a working application that anyone can view and use. Mine is not anywhere near ready for public consumption, but it's getting closer and closer. I'm also using a web app called Pivotal Tracker, which acts as a collaborative To Do list for both developers and their clients. It's amazing. It was recommended to my by my mentor Adam, who has been a pillar in my learning and in getting my own app put together. I still have a long way to go, but at least now my goals are defined and my site has a general layout that I'll be able to continually tweak until we show it off in t-minus 7 weeks.

Monday
Apr302012

Code Academy Week 3

When we started working on Ruby, I felt like a genius. This was in the first week of Code Academy. I would take the stuff that I learned in class and write it out on my laptop, showing my girlfriend all the cool computations I could do using Terminal & Textmate, the same programs we use on the iMacs at school. "Ooh, great" she'd say, feigning interest as best as anyone possibly could, staring at lines of code that mean nothing to mere mortals. It wasn't anything to look at, considering we had yet to build an actual application yet.

At the end of week 2 though, we started working with Ruby on Rails, a framework that uses the programming language Ruby to create applications. I would work along with our instructor, Jeff, during class and feel like I understood what was happening, but as I mentioned last week, I would get home and feel totally lost. Every time I tried to do even simple things at home, my computer would respond the same way it would if I had put a slice of ham in the SuperDrive, showing error after error. I would get frustrated and stop working only to go to class the next day and have everything work just fine.

Finally in Week 3, after Wednesday class was over, I had brought my laptop to school and I tried to do EXACTLY what I had done in class that day. To my chagrin, it didn't work. I ran into CodeAcademy co-founder Mike McGee in the hallway and asked him if he could show me what I was doing wrong. Helpful as ever, he came over and started messing around with my computer to see if he could figure out what was happening. After about 15 minutes of searching Google to figure out all the error messages I was getting, he looked at me and said, "Wait, do you have Rails installed on this computer?" 

Rails is essential to the class and essential to building my web app, so of course I assumed that I had it installed, but to be perfectly honest, I had absolutely no idea whether it was on my computer or not. Mike typed in some commands in Terminal and found that NOPE! I had never installed it. How embarrassing. Luckily, with just a few more commands, he got Terminal installed on my computer and it started working swimmingly. At this early in the game, something as simple as figuring out whether I have the right software set up on my laptop or whether I'm just too dumb to figure things out away from the classroom setting is crucial. I'm not one to get embarrassed easily though, and I'm glad I asked in week 3 instead of suffering through to week 6 or 7. Better still, since Wednesday, I've become more and more comfortable writing simple apps using Rails and I'm sure it will only become easier through repitition. They announced that we will be presenting our apps on Wednesday, June 20th, in front of our classmates and others and I'm confident that I'll have the knowledge and the tools at my disposal to put out an app that I'll be proud to put my name on.

 

 

Sunday
Apr222012

Code Academy Week 2

This week I was bombarded with information. Information about how to code, information about how to manage my time, what these {} and these || and these [] and : and <> all do and how they work together. I went to a seminar with Learning Architect (and my mentor) Adam Lupu to find out how best to digest ALL this info. Sometime around Thursday, I made a startling conclusion. I HAVE NO IDEA WHAT I'M DOING.

I can't stress this part enough. I was in class my first week and I felt amazing. I told Adam in our first meeting that it had been a very long time since I last sat in a classroom and felt like I understood what was going on. "Do you think you'll always be able to keep up?" He asked. This was a valid question and I assured him that I would try my best, but only time would tell. Welp, by Thursday night, I was working on a little homework equation to make an automated shopping cart and EVERYTHING I DID WAS WRONG. I went to class on Friday morning with a lump in my throat, feeling like no amount of work I put into this would change anything. 

Something great happened on Friday though. As we worked on our problems in class, I realized that one of my biggest problems is simply that I don't know the words. These words, like array, and attribute, and operators, keys and values, they are english words that I've known for the better part of my life, but they are being used in a way that I don't fully understand yet. I thought back to the learning seminar and remembered that one of the most important things we could do was create a word wall. It's simply a list of words that we use in class every day that, when written down, seemed immediately less scary. As Jeff, our instructor was getting into detail about attribute accessors, I started writing down every word I could in my journal. The point is not to create a definition for every word, mostly because, as class has gone on, the definitions of these words has already morphed, and will continue to change as my grasp on coding becomes more firm. At the end of every week, the class forms a semi-circle and we discuss what parts of class work, what doesn't work and what might work if we tried it. To my great surprise, I found that I wasn't alone in my frustration. There were several students that felt like geniuses while class was going on, and when we went home, we were overwhelmed. Adam, who was sitting in on the class at that point, chimed in. "It's supposed to be frustrating," he explained. "The only way you'll learn this much information in 11 weeks is to become fully immersed in the concepts until it finally clicks with you."

Here's hoping that's true.

In better news, if we're Facebook friends, you may have recieved an invitation to "That Time You Met Mr. T at the Mall" a rudimentary idea for a web app I'm building as a final project for class called http://onceimet.com . The idea is, essentially, an online autograph book of sorts whose specifics I'm still working on and that I demoed for some people at school on Friday. The good news is, my photoshopped diagram of what the site will look like and how it will work was applauded by those who saw it. The harder part lies ahead, converting a series of sketches and photos into a series of working web pages. Pray for Smooth Lou.

Until next week friends.

Saturday
Apr142012

Code Academy Week 1

So I've been telling my friends that I decided to go back to school and the response has been pretty uniform. It usually goes something like this:

Me: "Dude, I'm going back to school."

Friend: "You hate school."

Me: "Basically."

And then we go back to our competitive sandwich eating or waterskiing or whatever awesome thing you thought of when you were picturing this conversation.

I have good reason not to like school. I've been a lifelong ADD sufferer and when the teachers start yammering away, I normally end up looking around the room and picturing everyone naked and the next thing I know I took the same Algebra class 5 times. Besides that, what is higher education really teaching kids these days anyway? How to use a gravity bong and rack up debt? Sheeeit, I learned that stuff without having to sit through Calc 101. Not having a diploma has put me at a disadvantage professionally because in this tough economy, many employers want to know that you got a BS in business before they'll let you work the fry machine. Meanwhile, I have about a decade's experience in liability insurance, a career so soul-deadening that I would have to remind myself that retirement was only 30-40 years away on a thrice-daily basis.

So after a few years of struggling to decide what I would like to do with myself, I heard about CodeAcademy, an education startup right here in Chicago. Their mission is to give people like me the building blocks to learn to code web apps, using the Ruby programming language. If I'm being honest with you, I had no idea what I was getting myself into, but like so many things in my life recently, I decided to dive right in and see what might happen. I'm a guy with a lot of ideas, so maybe, just maybe, this is right up my alley.

I interviewed a few weeks ago and was immediately impressed. The founders of this school are all young and impossibly good-looking, racially diverse and they smell really good. We met in their temporary home in the John Hancock Center, where they let me sit in on a class. The teacher, Jeff, a kind tempered man with a keen wit, captured my attention and my imagination, talking about what this programming language could do. 

The school is only one quarter (11 weeks long) and in this, the first week, I've learned an incredible amount already. If you had asked me what Ruby on Rails was a week ago, I would have told you that I have no idea. If you ask me now, I can tell you with great certainty that... we will be covering it next week. That's a good start, right? 

Seriously though, we've been learning basic code using terminal and textmate on our Macs and it's actually sticking in my brain. Besides our official class on Mondays, Wednesdays and Fridays, we're given the opportunity for meetups with some seriously smart people, a book club to learn more about Ruby and online chat every day of the week.

The school--now located at Merchandise Mart in the 1871 space--has an emphasis on collaboration, and there are two of us to each computer in the computer lab, aiding each other along the way. We each received a mentor whom we will meet up with once a week. My mentor is a brilliant learning architect who actually went through the course last quarter and, in our meetup this afternoon, recommended that I write a blog once a week to recap what I had learned in school that week. 

Now for some nerdery. I learned about hashes, variables, arrays and method chains this week, as well as strings, string interpolation and symbols. All of those things sound complicated but I'm impressed that I can actually use them in a sentence now and more importantly, I can implement them in my code. 

My final project will be a web app and if you're reading this right now, I'm likely going to reach out to you for a little snippet of info that I can use as content for said application. I'm as surprised as anyone to say that I actually LOVE this school experience so far and I can't wait to see what happens next.