My Kind Of Geek

3 Countries, 3 Conferences, 38 Days

3 Countries, 3 Conferences, 38 Days

Starting mid-April, I went on a whirlwind of three conferences, two of which were international, in just over a month. They were all incredible experiences, culminating in JS Conf, where I helped lead a NodeBoats workshop! More on that later. JS Conf Brazil First stop was JS Conf Brazil in beautiful Fortaleza. Despite being in Brazil, the conference was in English, with...

Guard Your Spork

Guard Your Spork

Tests are great to have for any Rails application, but it can become inconvenient to have to run them repeatedly. Two utilities, Guard and Spork, can be used in conjunction to help streamline your test suite and speed up your tests. Guard is a utility which helps automate your tests. You can specify which files you want it to watch, and Guard...

Spider Solitaire @ BrooklynJS

Spider Solitaire @ BrooklynJS

Last night, I was one of the speakers at the soon-to-be-known-as-renowned BrooklynJS. (If you live in NYC, it’s definitely a meetup to check out!) My talk was on how I went about making a Spider Solitaire game in Javascript. (Slides are here for those who missed it!) It reminded me, once again, how amazing this community is and how glad I am...

It’s An Angular Life

It’s An Angular Life

The Game of Life A while back, I programmed the Game of Life. No, not the board game. The game of life is a cellular simulation, where you have a grid of cells, each of which is either alive or dead. At each turn, the following rules are executed: Any live cell with fewer than two live neighbours dies, as if caused...

Who You Gonna Call(back)?

Who You Gonna Call(back)?

In Javascript, callback functions are widely used. But what is a callback function? It’s a function which is passed as an argument to another function. For example: myFunc(someArgument, anotherFunc); In this code, myFunc receives the callback function anotherFunc as an argument. myFunc will run its code, and as soon as it’s complete, it will call anotherFunc. This is the basic idea of...

Enter, Update, and Exit in D3

Enter, Update, and Exit in D3

Today at Flatiron we began learning D3, or Data-Driven Documents. D3 is a library to visualize data. Some of the examples are pretty awesome. One key aspect of using D3 is the enter/update/exit life cycle. When you’re binding your data to elements in your DOM, it is enter/update/exit that saves you from having to manually enter a div to hold each piece...

Gaming Your Way through Learning Javascript

Gaming Your Way through Learning Javascript

Want to brush up on your Javascript? There are some fun games out there where you need to program to win. Here are a few. Are there any others that you’d recommend? Code Combat Code Combat is an awesome little RPG-type game. You start out as a wizard, and you use Javascript functions to move your allies and cast spells. You get...

Finding Closure During A Monster Attack

Finding Closure During A Monster Attack

This week at Flatiron we’ve been diving into Javascript, and I came across the concept of closures. A closure is when you return a function inside a function in a way that the child function keeps reference to any variables defined in the parent function. Take the following example. If you wanted to specify a different target and weapon each time you...

What’s that you’re hearing? Oh, just your browser talking to you.

What’s that you’re hearing? Oh, just your browser talking to you.

Once you get an app online with Sinatra or Rails, it quickly becomes important to be able to talk to your browser, and listen to it. How else will you tell it what to do? You need to understand a little bit of what’s going on to really be able to control the browser and get input from the user. The key...

The Start of Project Week

The Start of Project Week

This week at Flatiron we started working on our long-term projects. We’ve worked in groups at various points through the semester, but working in a fixed group for a longer, bigger project brings a different perspective with it. On top of that is the challenge of this being our first complete Rails app. Working in a new group always has challenges as...