Avatar

carter in code

@cartersowers-blog / cartersowers-blog.tumblr.com

integrator
Avatar

I chose Tetris as my somewhat bigger project to practice TDD.

It all started when one friend told me about some company that would ask the aplicants to develop Tetris as the interview process. At first I was “wow! that’s crazy!”, five seconds later I was like “yeah, the board would be a matrix...

Niiice!

Avatar

DevBootcamp Final Project

I just have to preface this post by saying my cohort rocks! Gopher Snakes for life! I was so impressed by all of our final projects, it's crazy how far we've come in 9 weeks! 

The last 7 days have been incredible. It started with pitch day. Phase 3 students get to pitch product ideas. The cohort votes and the most popular pitches become final projects. 

I pitched FridgeFriend and my cohort voted it up!

Here's the idea:

FridgeFriend lets you know what’s in your refrigerator and enables you to share that information with everyone in your household. Users can create collaborative grocery lists, search and save recipes, and plan meals with multiple FridgeFriends across multiple fridges. FridgeFriend helps you save money by preventing food waste, and encourages you to cook more often with friends and loved ones.

I'm so proud of what we accomplished in such a short period of time. Yesterday people kept asking me if we were going to keep building out features and turn this into a bonafide product, and it finally dawned on me, other people see the value in this concept! It's not all in my head anymore!

My team was incredible. They validated, solidified, improved, and expanded on the original idea. I'm truly humbled and honored to work alongside such talented and hard working people. Steven, Cricket, Annie, y'all are simply the best. I hope we have the chance to work together again. Annie's tumblr regarding our project is really good, it doesn't make sense for me to try and re-create it so follow the link if you want to read more:

NOTE: We're using Heroku's freemium service which means the app goes to sleep after a certain period of inactivity. Sometimes it takes a minute to wake up the dyno. Disclaimer there's still a few bugs that need squashing.

Avatar
Avatar
raorao

As I’ve been telling phase 2 and phase 3 boots, JavaScript is a stupid language, and I don’t mean that as an insult. For example, where Ruby has 50-ish enumerable methods to iterate over collections, JS has, basically, two. But that’s okay! That just means you have to build any complicated...

Avatar

Phase 1 in the rearview

It was great to see the Mule Deer graduate. Their final projects were very inspiring. Twilio, Google, and Phillip's Hue API's (among many others) were in the house. I'm so psyched. 

We got acquainted with ActiveRecord on Thursday and Friday and my oh my is it powerful. Two different DBC coaches suggested that its important not to let SQL skills fall by the wayside. Pure SQL is necessary when scaling. I think its the .to_sql method lets you see what every ActiveRecord call maps to in raw SQL?, so I'll be sure to look under the hood as much as possible throughout Phase 2. 

Got a intro/crash course in Sinatra today which was really fun.

I'm excited to meet my new teachers. Zee has already sent out a list of prep material that he expects us to have completed by Monday Morning. Let's do this. 

Avatar

DBC Week 2

Week 2 is OOP week. All Object Oriented Programming all the time. You down with OOP? Yeah you know me. You down with OOP!? Yeah you know me! Sorry I've been holding that one in for a while now. That song was one of my first record store purchases, I was 7 years old, true story. Anyway, a few take-aways from this week:

Objects model the world around us. Objects have attributes. A Student object for example might contain the following attributes: first_name, last_name, student_id, major, gpa, etc. How do we make student objects you might ask? We instantiate them from the Student class. Somewhere exists a piece of code (the class) that's like a blueprint for building Student objects. We can instantiate as many Student objects as we'd like by calling Student.new pretty cool eh?

Inheritance vs. Composition rules of thumb

  • If something "is a" something else, then perhaps that something should inherit from that something else's class. For example a primate "is a" mammal so it might inherit attributes from the mammal class. class Primate inherits from class Mammal. Saying a mammal "is a" primate just feels, well, stupid really.
  • If something "has a" something else, then perhaps that something should be composed of that something else. For example a hospital "has a" doctor so that hospital would be composed of doctors. the hospital object can contain any number of doctor objects. A company object would be composed of multiple employee objects among other things. No inheritance needed.

MVC

Towards the end of this week we've started thinking of our classes in terms of the software architecture pattern known as Model-View-Controller or MVC. The main idea behind the MVC mindset is to keep your model and view completely decoupled.

  • Model - is essentially the data and all the classes that wrap database operations. A model is made up of any number of tables. Table rows map to an instance of a class. One of our instructors Lora told me last night that class methods map to an entire table (an 'aha' moment for me). So for example if I wanted to search for all students in an entire database of Student objects with gpa's higher than 3.0, I would use a class method. If I wanted to update a field aka column aka attribute on a single student, say, change her major to Philosophy, I would use an instance method. Week 3 is Database week and I'm really looking forward to it. 
  • View - HTML, CSS & Javascript files that are rendered by the browser. The view is what the end user sees and interacts with. This is what Phase 2 is all about. Front-end developers are experts in this area.
  • Controller - receives HTTP requests via servers and orchestrates activity and communication between the model and the view. In Rails its an ordinary Ruby class that extends ApplicationController.

Basically if you don't have some sort of strategy for writing an elegant extendible decoupled codebase you're going end up with some wonky impossible to maintain software reminiscent of how my daughter tied my shoe this morning. I mean its tied alright, there's no disputing that, but wtf am I supposed to do with this? 

Avatar

Phase 1, Day 1 & 2

I need to sleep more than I need to write, but I told some friends and family that I'd be blogging and I really want to share at least a small sliver of what DBC has been like for me. SO here it is, a small streaming consciousness sliver.

Day 1 - All the new boots are standing outside the threshold of the Dev Bootcamp sanctuary when a thunderous rhythmic pounding starts to excite the large wooden door like a snare drum. This goes on for several minutes, and I'm thinking, wow, this is a fresh brand of psychological warfare. What's going to happen to me in there? 

The door opens and we run down a human tunnel of screaming, cheering, and high-fives straight into the main pow-wow area where meet and greet / icebreakers begin. My nervous energy is pretty high at this point, the icebreakers helped bring it back down to a manageable level. My face already hurts from smiling so much. Everyone is so welcoming! I can literally feel the love. THIS is where its at! The suspenseful energy I've accumulated for months in anticipation of DBC is starting to leave my body.

Within minutes I met more than 25 people whom I previously only knew through the innerwebs.

We had the whole morning to marinate as a cohort, relax, soak in the space for a moment. Coding started in the afternoon and I eventually left at around 11:30pm

Day 2 - Coded most of the morning, had our first Engineering Empathy session where we were encouraged to have frequent open and authentic communication with our programming partners. Feedback needs to be specific, actionable, and kind. This is highly beneficial, essential even.

First yoga session at the local YMCA, much needed.

Lunch.

more coding... We split up into groups of 5 and threw together a 2 minute skit depicting/bringing to life an Enumerable method of our choosing. 

more coding...

more coding...

writing this haphazard blog entry where I change tenses every other sentence.

going to sleep now.

Avatar

What is programming?

Throughout my time at the Ohio State University I keep coming back to this one seemingly simple question, what is programming? The concept has finally solidified in my brain. I think I can reduce it down to one sentence. Programming is managing complexity…
Avatar

The Non-Innovative Innovation of the Keurig Machine

 Thoughts on coffee by Derek Bronish

Sometimes there are right and wrong answers in matters of taste. We all believe this tacitly, even when we pay lip service to high-minded relativism. No appeal to subjectivity or cultural context will convince any serious person that Encino Man is a better film than Rear Window. This is a glorious fact—it unites humanity with shared aesthetic experiences, and helps us identify criteria that underpin our predilections. One common criterion is simplicity. From Occam’s Razor to In-N-Out Burger to the iPad, simplicity engenders confidence, providing subconscious reassurance that the world is not insurmountably chaotic.

Consider your morning cup of coffee. It tastes good and provides some quick energy, but it also feels right. It’s traditional, natural, simple. The simpler it is, the better one feels about it: people brag about drinking theirs black or making an unvarying minimalistic ceremony out of its preparation. But increasingly, coffee consumers are streamlining their java rituals with the help of a gizmo called a Keurig.

Avatar

Babies Like Music

Before my daughter was born I was planning what music to play for her. It's my responsibility as her parent to fortify her musical sensibilities right? I need to do something to help her navigate the mainstream musical wasteland every young American eventually encounters. Initially I really didn't want to play her baby music. I wanted her to cut her teeth on the classics whatever that means.

Once she was old enough to sit up, I set the volume as low as possible on my best headphones, placed them on her ears and proceeded to blow her mind: The Beatles, Ella Fitzgerald, Bach, Motown and beyond. 

Avatar

I just applied to Dev Bootcamp!

After working on my Dev Bootcamp application video for most of the afternoon, I just finished and submitted my application! I'm so excited. I've been thinking about applying for a while now. I've been daydreaming about it so often that I'm starting to have trouble concentrating in class! Its not hard to drift off to the sound of a lethargic professor droning through a powerpoint on C four days a week.

I'm in school for a second bachelors degree in computer science. I found out a month ago that due to my schools transition from quarters to semesters my graduation date has been delayed! This new information combined with my awareness of Dev Bootcamp and other full immersion education programs like it, have forced me to do a serious gut check. 

You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.