Flatiron Blogger Magazine

My First Post on Octopress by on 03/14/2017
“Gooooooooooooooood Mooooorning, Vietnaaaaaam!” Still learning and getting familiar with git and GitHub. Today school was canceled due to snow. Yesterday was our first day of school. It’s hard to write that sentence without feeling like a 7-year-old, but in a way, I do. Everything is new, exciting and a bit intimidating. It was challenging for me to control all the emotions. I was stressed, anxious, excited, happy, ambitious, often all at the same time.
I'm Slippin', I'm Fallin', I Can't Get up.times 10 by on 03/16/2017
Little progress. Not much to report. We’ve been dealing with ice breakers and some group pairing. I’m still struggling with some basic level code. Today I will ask an instructor if I can have a one-on-one to go over some hash fundamentals.
Hash = { } vs. Hash.new(0) by on 03/23/2017
Same Same but different? As a budding programmer, I tend to find myself in a perpetual state of confusion. I’ll often research topics for clarity sake and wind up stumbling across so much knowledge, it leaves me with more questions than I had to begin with. Although there’s a massive amount of information out there, an answer will come your way, or at the very least, find out about a lot of other cool stuff!
Pry In A Nutshell by on 03/22/2017
As programmers, we test out our programs, it can be daunting to see many failures within one tiny program. After all, speaking for myself, I can surely claim and coin on the fact that I am a baby programmer. And now speaking as a baby programmer, I need tremendous amount of work from humans who know what they are doing as well as computer programs if it exists.Pry is to help you debug your program.To Pry is to InspectSo in short, binding.pry changed my life.Also might I remind you (again) to go easy on me as I am a baby programmer blogging for the very first time, it would only be natural to speaker according to my comprehension level in Ruby; very elementary bordering on Lehman’s Terms.From what I have utilized binding.pry thus far, it simply helps us as programmers inspect lines of code at where we may suspect there is a problem or confusion on a certain return on blocks, methods, etc..How?As hinted as the title of this post, it essentially stops time in Ruby to help you take out lines to see how it’s working at the line of your choice to pry into.Here is an example of how it helped me see the code I had written up were nonsensical until the point I infiltrated binding.pry.Now, test it out yourself!All you have to do is at the very first line of your .rb file, insert require 'pry' before any line of code. Then put in binding.pry within a method or outside. However, (this however is paramount so pay attention) if you have binding.pry as the last line of code that you does anything, it simply kills the magic powers of stopping time for your pleasure, instead it will just skip your request and pretend it never happened (meaning it will just run your program as if you did not implement in pry).First, on line 1:Next, go into your terminal within your file’s directory and just run the file and you will see again this:And once you can get what you need from pry, input in exit!When you are done with pry delete or comment out binding.pry within your program.
Octopress init by on 03/14/2017
Octopress init
Site updated at 2017-03-14 18:31:58 UTC by on 03/14/2017
Site updated at 2017-03-14 18:31:58 UTC
Octopost Bundle Install Errors (Solved) by on 03/14/2017
An error occurred while installing yajl-ruby (1.2.1), and Bundler cannot continue' I began the lab instructing us on how to build our own blog using Octopress to teach us how to use git more confidently since Octopress is
On Pair Programming and The Jam by on 03/04/2017
On Pair Programming and The Jam I come from a background of music. Listening to it, appreciating it, and pushing music in all of its forms was a career I consider myself lucky to have had in a now previous life.
The Seemingly Simple Splat Operator by on 03/06/2017
The Seemingly Simple Splat Operator So I just finished week 4 of the Flatiron School’s web development immersive program. I’m officially ⅓ of the way through and I just have to take a moment to reflect on how much I’ve learned in such a short amount of time.
Abstract Art, Technically Speaking by on 02/21/2017
Abstract Art, Technically Speaking Abstract art explores the relationships of form to create a composition that seems a step or two away from reality. It requires you to have a basic understanding of the underlying structure and to use your imagination to visualize the final form. The first time that the idea of abstraction clicked for me was back in the old days of high school art class. We did an exercise where we had to draw a figure model using only three lines. Of course, at the time, this was a hilarious exercise because everyone in the class got a chance to stand up on the table and show off a ridiculous pose. However, it proved to be a meaningful example of just how powerful abstraction can be. Humans are complex creatures both physically and mentally and yet, with just three simple lines, you could see beyond the structure and visualize the model posing.
Learning to code after 40! by on 02/18/2017
The clearest way into the Universe is through a forest wilderness. John Muir What am I getting my self into? I have decided to learn how to code and this blog will be my companion. Let’s set some reference on why this is not suppose to work.
{”String”} Theory by on 02/14/2017
“If you were going to be sent to a desert island and could only bring one ruby documentation with you, bring the String documentation.  You will not be disappointed.” - Steven NunezI am a complete beginner to this thing we call “programming”.  And like most beginners, there is this intense desire to feel like I am making “good” code.  This generally means that it should:Function and do the thing I want it to do.Take up as few lines as possible.As a result, there is this weird pressure make fancier, more complex, and more ‘awesome’ code.  We quickly start focusing on memorizing useful methods, iterations, and ‘enumerables’.So when our instructor mentioned the importance of understanding the “String” class documentation, it kind of surprised me.  I mean, what’s there to learn about strings?  To me, a string represented just a mixture of letters that sometimes form words.  It wasn’t sexy like iterating through a hash.  But soon, I realized that:Because “strings” can be anything, it ends up being used in everything.So here are a few things I learned reading through the Ruby DevDocs documentation on strings as well as a banging my head against the wall on some of our lab modules.How I Stopped Worrying and Learned to Love GsubI remember our API lab. We made Rest-Client calls, parsed that baby with JSON, and slammed the resulting that hash into an iterator to get the data we wanted.  It was glorious.Then, we did our CLI API App project.  “No sweat!” It’ll be just like our Star Wars thing.  Let’s call the NYC Open Data API and get a nested hash to make our queries.  Piece of cake.  Wait.  What the hell is this?  Why isn’t it returning a result for #37?  Wait.  The code is actually “37-39″?Say whaaaaaaaaa?And that’s when I realized, I’ve been given these nice clean data sets in our labs to make nice clean array.map iterators for a nice clean hash results.  But the real world don’t play like that.  It throws a couple extra spaces and random symbols at you just to see you suffer.  It’s kind of a jerk like that.And that’s when I realized the importance of string.gsubstring.gsub(”pattern”, “replacement_pattern”)=new stringString.gsub essentially takes in a “pattern” and then replaces all occurrences of the pattern with a substitute.  It’s a nice and easy way to clean up data-sets that just don’t want to play ball.  Let’s say you have a database of names that you’re parsing for inserting into an SQL table.  Uh oh!  Look at some of your data below:Patty O’haraShaun M’landanRemember, that extra apostrophes can cause havoc when you need a string value in Ruby to initiate the SQL command.  We have two options here.  Either we can ban all Irish/Scottish names from our database, or we can use the gsub to replace the apostrophe with the “\’” so we can escape the symbol.The backslash “\” basically tells ruby to not to treat the following symbol as special.  Just treat it as itselfString Sanitization & Bobby TablesSo remember how we talked about how Ruby can make SQL commands, but they generally have to be placed in between apostrophes?  Well I didn’t.  Which is why I had to look up the explanation for the Bobby Tables comic.It turns out that SQL has a very specific syntax when it reads commands.  For example, it normally ends a command with a semicolon “;”.  As a result, there is an issue/vulnerability called SQL Injection where you’re basically inserting potential commands due to an extra symbol here or there.Not cool.So how do we avoid this?  Remember our friend Mr. gsub?  Well we can use him to replace these symbols with that backslash to treat our symbols properly.  In addition, we can make double extra sure to keep our data clean by passing in values as variables instead of using any kind of interpolation or appending string.  See this nice example from StackOverflow Baddb.execute( "INSERT INTO Products ( stockID, Name ) VALUES ( #{id}, '#{name}' )" )Gooddb.execute( "INSERT INTO Products ( stockID, Name ) VALUES ( ?, ? )", [id, name])
The Zen of Ruby by on 12/13/2016
“In Japan we have the phrase shoshin (初心), which means ‘beginner’s mind.’ The goal of practice is always to keep our beginner’s mind… This…Continue reading on Medium »
Practice: Project Euler by on 01/04/2017
You can’t connect the dots looking forward; you can only connect them looking backward. So you have to trust that the dots will somehow…Continue reading on Medium »
The Power of Object Orientation by on 01/20/2017
When the student is ready, the teacher will appear. When the student is truly ready, the teacher will disappear.Continue reading on Medium »
Prime Primer by on 02/16/2017
The fundamental theorem of arithmetic states that every positive integer (except the number 1) can be represented in exactly one way apart…Continue reading on Medium »
About Me by on 02/11/2017
My name is Holt Walborn and if you’ve somehow ended up on this blog, congratulations. I moved to New York in 2010 and got a job with RIOULT Dance NY. If you don’t know Pascal Rioult, take a moment and look up his choreography. Go ahead, I’ll wait….See, aren’t you happy you did that? To me, RIOULT is the most underrated dance company in the NYC area. Every dancer works hard and passionately to create work on grueling tours. The payoff is not in your bank account but the satisfaction with creating. Whether it was creating a new work entirely or finding ways to personalize established moves, we were always making something.More recently, I have retired from dancing in pursuit of a career in technology. Most people seem shocked at how drastic of a change that could be, but I believe that the two are more related than most people think. Currently I’m a student at the Flatiron School and am very excited to find the ways in which my past, present, and future can relate!
The Abstraction of Contraction by on 02/12/2017
What is happening????!!!?? Aren’t ballerinas supposed to be graceful and beautiful? This is weird… I’m uncomfortableThis is actually from an evening length work from George Balanchine called “Jewels” and has been known as the first “abstract ballet”. Why are we watching this? Jewels has three sections and this section is titled “Rubies”. Ahhhhhhh… Now I get it. If you don’t, maybe you should check out another blog…When I found out that I would be learning the Ruby language from Flatiron School, my brain instantly went to George Balanchine. But that’s alright. Because–like his abstract, plotless ballet–the Ruby Language thrives in the land of abstract.What does this actually mean, though? Let’s dive a little deeper into the use of abstraction in other ways and then apply it to the methods of abstraction in the Ruby programing language.Ahhhhhhh… Martha Graham–a choreographer who developed in the land of the abstract. Known as one of the three creators of American Modern Dance, Martha Graham developed a technique based on the contraction and release of the body. Graham believed that a simple contraction of the solar plexus could represent emotion of any kind. This means that instead of blatantly stating “I feel sad” or “I am happy”, you could manipulate the body to represent that emotion and the viewer could then interpret this as the desired emotion. Graham built on this method to create a whole technique of dance that is totally abstract: never overtly stating what the audience should be experiencing. Simple, precies, and elegant.Ok, ok, I could talk your face off about the Graham technique, but I’ll leave it at just that paragraph for now. Shall we continue to another instance of abstraction? The contraction. Not in the Graham technique as I just mentioned, but in the English language. The contraction simplifies a sentence so that it means the same thing to the reader, but is more efficient. It abstracts the phrase “can not” into “can’t”. Without a beat, we completely understand what the writer is conveying. Thank you abstraction, for the contraction!Now what does this mean for Ruby? We know that Ruby uses abstraction, but how? It’s basically a contraction! Programers are lazy, as I’ve found out this week. We don’t want to write the same code over and over and similarly, we don’t want to read the same code over and over. Wouldn’t it be nice to be able to represent some snippet of code once and use it for several instances? Like a contraction in the Graham technique, you don’t need a lengthy description of how your feeling, just something to represent it and the viewer can make connections from there.Alright, lets say we have a code:
Day 1 At Flatiron by on 02/06/2017
Today I learned that instead of spending a ton of time iterating over arrays and/or hashes, it makes more sense to create methods.
A Day In The Life Of A Flatiron Student: My Story by on 02/12/2017
I was very comfortable in how I was living my life but I realized that being comfortable isn’t enough.  Just being comfortable doesn’t push you to be better …but let me rewind a bit.  I graduated with a degree in Economics from
Hello world! by on 02/12/2017
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
A Little About Pair Programming by on 02/14/2017
What is pair programming, exactly?It’s pretty much what it sounds like. Two programmers work together, on one computer, on some code. Here’s an interesting definition from a study on pair programming in 2005. “Two developers collaborating as a single individual on the same programming task”* However, both partners aren’t doing the same exact work. In this technique, roles are clearly defined and pairs are supposed to switch their roles regularly. One person is the driver–they write the code. The other is the navigator–they observe, review, and direct the code. An example of what not to do… What are the downsides?It’s true that pair programming can take longer than doing it alone. Studies on pair programming vary, but it’s generally considered that pair programming takes about 15% longer than working alone.* And people can be weird… Even if your partner isn’t a Devil Elmo, there are potential issues. You can have different communication styles, have varying skill levels, and have different ideas of what your code should look like. So why pair program? What’s the point? The long and short of it is that pair programming produces better code. And code that has fewer errors will save you (and your employer) a lot of time and money down the road. Not only that, pair programming gives you the opportunity to learn from your fellow programmers. You will each bring your diverse experience and knowledge to the table, which can be beneficial to both parties. Yay!Some Tips For Pain-Free Pair Programming: 1. Clearly define your roles.2.  Make sure to switch off regularly. 3. Be nice.4. Take frequent breaks. 5. Give constructive feedback. Sources: * Chan, Keith C.C. and Kim Man Lui. “Pair programming productivity: Novice-novice vs. expert-expert” (2005)
5 Rules of Arrow Functions by on 02/15/2017
5 Rules of Arrow Functions Arrow functions are an ES6 Javascript version of writing functions. They are always anonymous functions. In example 1, you will be able to convert it into an arrow function. In example 2, you can convert to an arrow function as well, but you would not be able to call it anyName.
Only Know You Love Her When You Let Her Go by on 02/14/2017
Only Know You Love Her When You Let Her Go We have all come to love Ruby on Rails, and why not?! It’s powerful, easy to use, and quite simply, fun. However there are a number of other types of technology out there in regards to web development and many of them are great tools for us to use. We shouldn’t simply limit ourselves to what we’ve learned here at Flatiron and what’s comfortable! There is a ton more to explore in web development and I strongly recommend that we learn as much of the technology as possible.