Keep Chipping Away

I wrote this blog post to go along with a lightning talk given at an internal Microsoft performance conference on May 20, 2019.

Read More

Time Travel in JS

I’ve always been intruiged by tools that can help make debugging easier and more efficient. I’ve often wondered why I can’t step backward during code execution in the browser, the step forward button seems to beg a corresponding step backward button to match.

Read More

Reducing the Feedback Loop

As developers, it’s easy to get swept up in the hype surrounding a new tool, and new language, a new way of thinking about a concept, or programming pattern. Sometimes we spend a lot of time reinventing the wheel over and over and over again. It would seem to me that some of the adjustments I’ve made in my career that have paid off in spades are the ones I’ve used systematically through adjusting my tooling.

Read More

React Native

If you’ve had a chance to play with React Native, needless to say you’ve probably had a lot of fun, and been impressed with the overall workflow.

Read More

Simple JS Stream Class

A stream is an endless sequence of elements: somewhat like an unlimited array. Streams are useful for large sequences which need to be processed, and need to avoid dependency on fixed size.

Read More

Jasmine Unit Testing with SystemJS

I’ve continued to use System.js, and struggled with bootrapping unit tests in the module loader. One of the benefits of using such a module loader is that each module gets loaded into its own protective function. This keeps all the variables private and away from the global scope unless exposed purposefully. One challange with this approach is testibility with Jasmine. Jasmine, by default, looks for global objects available by loading in a spec file and the javascript you’d like to test.

Read More

Simple Tree Implementation

It can be helpful to refresh some of the basics, and so this is a brief explanation of a tree data structure in Javascript. I use the prototype style of inheritance to create an empty methods object, you could also just use the prototype object given with each object. Then I create and return a new object linked to that methods object which has the defined methods for the tree.

Read More

Use ES6/AMD/CommonJS Modules Syntax Together with SystemJS!

ES6 is coming! And I’ve been having a blast playing with some it’s new features. One that I’m most excited about is Proxies, but I’ll get into those in a later post. For today, I want to discuss the module loading features that are available using a library called SystemJS, which allows you to use ES6 modules, as well as Require/AMD and CommonJS syntax. It’s simple to set up, and I have an example repository that I’ll walk you through to get started.

Read More

Asyncronous Task Map

Playing with JavaScript is often one of the best ways to learn. Just pop open that console in your browser and start playing!

Read More

Using Wercker to Setup CI Testing

Continuous integration testing is an extremely useful tool. It allows you to check to see if a build is breaking everytime a developer pushes code. It helps your team keep your code in a good shape.

Read More

Backbone MVC Basics

Often, in today’s world, customers and client expect high performing, single-page applications. Backbone is one tool that provides a structure necessary for creating these applications.

Read More

A Tour of Inheritance Patterns in Javascript: Part 4

Pseudo-classical instancing in JavaScript is extremely commonplace in the industry. Most browsers have optimized for this classing technique, and so most developers depend on it without investigating the other options, as we’ve discussed in the previous installments.

Read More

A Tour of Inheritance Patterns in Javascript: Part 3

Prototypal classing is one of the most underutilized methods of classing in JavaScript. It’s not well understood compared to its older pseudoclassical brother. The irony is that pseudo-classical classing really employs prototypal classing behind the scenes. That’s how flexible the prototypal inheritance pattern is, it can easily mimic a better known pattern. But, I’m getting ahead of myself (we’ll discuss pseudoclassical next time).

Read More

A Tour of Inheritance Patterns in Javascript: Part 2

Continuing where I left off last time, JavaScript has many different ways to create classes and instances of those classes. Today we’ll examing functional-shared in more detail. But why would we use functional-shared over functional?

Read More

A Tour of Inheritance Patterns in Javascript: Part 1

I have encountered many people who believe that because Javascript has lacked a true blueprint-creating, property-copying class primitive, that it is underpowered in the inheritance department. This is simply untrue. Flexibility is the name of the game in JS. It gives you not one or two ways to share methods and properties, but four!

Read More

Creating a Famo.us Textarea Surface

Famo.us is all Javascript, and it uniquely places all DOM elements in a flat structure using absolute positioning to manage where the elements should show on the page. For every html element you need to display, you need a surface to render it. Now you can add as many elements to the content portion of a surface, but if you want it to independently interact with other surfaces using custom methods, you may need to write your own surface.

Read More

Famous: the Jquery of DOM Management

I’ve been playing with Famous, the new open source javascript framework which is extremely performant and all written in JavaScript. In my novice opinion, Famous is a dream come true for JS developers.

Read More

I'm Famo.us!

I got into the Famo.us Beta! I’ve been playing with it on and off today, and let me say that I really do think it’s a game changer. It makes playing with physics in JS fun, and not that difficult to grasp. It definately takes the DOM and turns it on its head, which may be long overdue. Famo.us is the kind of company where I would love to work.

Read More

Technical Interviews

Technical interviews don’t come natural to anyone, but I especially freeze when I just can’t manage to figure out the problem I’m asked to solve. I try my best to talk my way through it, but I’m sure that if the interviewer didn’t have any patience they’d be ready ready to toss me out the door as soon as I got started.

Read More

Wordpress to Jekyll: Almost Done

Jekyll is a Ruby static site generator which creates minimalist, beautiful, and responsive blogs. It’s designed to be used by programmers and anyone who wants to focus on writing great content in Markdown instead of spending all day playing with backend features, though it has plenty of features to be sure.

Read More

Time Away

It is critical to take time away from work. Time to relax and regroup. I can get completely swept up in the go-go-go bootcamp schedule, but I can’t operate like that constantly with no end. Programmers have to get back to reality away from the demands of their consoles, their editors, their commits, and their keyboards. Back to real life, where the air is still, the trees reach for the sky, and you can escape. My wife and I took a long leisurely walk. We ate good food, and relaxed with family. Code now. But get away, take time away.

Read More

Embassador to Perfection

You can never write perfect code, but your PC expects nothing less. Learning how to program is learning how to be an embassador to perfection.

Read More

Macaw: Draw Your HTML

Macaw looks awesome, I was tempted way back in September to back them during their crowdfunding campaign, but forgot about it until I saw a tweet mentioning their release at the end of the this month.

Read More

Paul Graham Quote

"A programming language is for thinking about programs, not for expressing programs you’ve already thought of. It should be a pencil, not a pen." Paul Graham

Read More

Too Much Traveling

I’ve been flying so much recently that I’m getting sick. I had a flight with a 6-hour delay that kept me up all night. Flying every weekend doesn’t really make as much sense as I thought it would.

Read More

Revamping Curriculum

We’ll be making some major changes to the curriculm at Coder Camps in the following months, starting with more JavaScript. This will be a huge challenge for me, becuase I don’t know all the corners of JS. Taking a challenge like this head on will help me develop better skills, so it’s a great place to try to strengthen areas where I’m weak.

Read More

Interviewing Applicants

I’ve been doing a lot of interviews for the past several months, especially when I’ve been at home. I fly back and forth from the Bay area to Houston, TX to work at a programming bootcamp full time just about every weekend.

Read More

Fund.io goes Live

We’ve got Fund.io up on the interwebs finally so we can show what we worked on. It still looks a bit rough and doesn’t have any content because it’s not being used, but it’s up.

Read More

ProgrammingBootcamps.com Repository Pattern

At Coder Camps, I have been taught a pattern that they call the Adapter/Interface pattern, but really this is called the Repository pattern in most of the rest of the programming world. When I built my personal project at the end of my camp experience, I decided to play around with the repository pattern a bit more, and stray from the same fileanames and folders we were taught to use.

Read More

Hired on At Coder Camps

I’ve finished all the negotiation and I’m coming on board at Coder Camps to help as a developer and instructor. I’m looking forward to learning more on the job, and hope to help improve the experience for future campers.

Read More