NodeJS: Parsing Binary from the TCP Layer

For a job recently, I was asked to create a bridge server that translated the protocol of an old legacy server to a new HTML5 client, and vice versa. The old protocol was built upon C# structs, and the server was communicating in binary on the TCP layer. The new…

More AngularJS testing: end-to-end tests with protractor

End-to-end tests exist to have a method of programatically testing an actual user's experience in your app. The user never cares how much the pieces of your app are decoupled. The user cares that he or she loaded the page and did all of the things he or she expected…

Testing ngLazy: unit tests with karma & jasmine

Excited as I am to have implemented my lazy load and infinite scroll modular AngularJS library, ngLazy, I considered it pretty fragile because it was lacking a test suite. And yes, I'm admitting that this was not developed in the style of TDD. I would like to make that a…

Configuring karma for AngularJS testing

I've been working on the test suite for ngLazy, and I thought it could be helpful to document some notes that seem relevant after setting up karma in this project. First thing's first: npm install karma followed by: karma init The karma tests are configured via a file that is…

ngLazy: Making an AngularJS Library

In pursuit of re-usablity A little while ago, I wrote a blog post about implementing a lazy load / infinite scroll in an app I was hacking on. The logic was spread between a controller and directive, and it needed decoupling. It couldn't be re-used without copying a ton of code…

implementing a lazy load and infinite scroll in AngularJS

I am planning to refactor this into a more simple, modular directive, but before doing so, I just want to describe how I approached implementing a lazy load and infinite scroll on a project I picked up. It's a dashboard for tracking individual and group progress. (Sidenote: I also would…

Stylr: making a mobile app with AngularJS

{% vimeo 99956183 %} Stylr is a mobile app that, for lack of a better explanation, is probably best referred to as "Tinder for fashion". My friend Brendon Verissimo and I conceived and developed it. The idea behind the app is that users can tell the app about their tastes, and the…

that time when our mocha tests passed consistently... every second time that we ran them

We had a thorough suite of tests for our node/express server and mongodb test database, and we were delighted that they were putting our app through the paces. We were even happier that we'd tweaked our app's code until all of them passed. But we were befuddled when the…

Man Vs. S3

Solution Gist: https://gist.github.com/adrichman/e550885f6011f37d6bd3 For more hours than I like to admit, I struggled to free ourselves from AWS's S3 SDK. We were trying to facilitate direct uploads from our client to our S3 bucket, but without exposing any credentials that would need to be present…

super bowl sunday, morning review of toy problems

Sundays during my time in San Francisco have revealed a fairly cemented routine of their own. They are the one day I have in a week in which I'm not expected to be at the school on 5th and market. Nonetheless, I usually get a full day's worth of studying…

traversing the binary data tree... called life

This morning I have a quick moment for a short reflection on what we've learned so far at Hack Reactor, but my mind's presence is challenged by big changes back in NYC. While I am prepping myself for our weekly assessment (probably a prompt to recreate the solutions to problems…

Javascript Data-Structure Instantiation Patterns

earlier this week I learned about the many ways to instantiate a data-structure in javascript. here's what I took away, along with with some examples: functional: a single function that instantiates an empty instance of an object that we will store data on. we will access the data with functions…

day 3 review

Today we began with a timed self-assessment (45-min) in which we had to re-implement some of the familiar functions in the UnderscoreJS library from scratch: a recursive function that accepts a dom node and returns true if it finds 5 or more divs in itself and child nodes (no jQuery…

taco count

after <24hrs: 4 also, cracked a rib, I'm pretty sure…

planes, trains and automobiles

Getting this journey off on the right foot... the right foot being the one that slipped on the stairs at 5am and dealt my lower back and kidneys a blow to remember. This after a night spent trying to find a way out of NYC in time to arrive in…

code review

In the midst of the emotional gauntlet of the recent past, I think I actually managed to learn some stuff. I am reminiscing about my first day at AD60 in October. It took almost the entire day to get set up with 4 Windows IE VirtualBoxes because our client needed…

and I should mention...

I am a little excited to let time turn this blog into some kind of measuring stick for my progress in this new realm (for me). But it needs some catch-up from the last six+ months that started me down this path. I am going to get on that by…

winning the battle but...

battled for an embarrasingly long time with this problem for coderbyte: Using the JavaScript language, have the function PermutationStep(num) take the num parameter being passed and return the next number greater than num using the same digits. For example: if num is 123 return 132, if it's 12453 return…