CodeBrief

short musings on software dev

All posts

2013

  1. Client Sync for the REST of Us

    It is no surprise that streaming technologies such as meteor have taken the spotlight over the last year. They present a compelling real-time way of keeping the client in sync with the server. One interesting result of thinking in real-time is that things like conflicts become…

  2. 10 Things You Can Do With EPF (That You Can't Easily Do With Ember Data)

    There exists a viewpoint that Ember Data is “broken”; that the core team has abandoned the project and that the codebase is awash with issues. This is far from the reality of the situation, as I personally know many people who are successfully using ED on real projects. It is…

2012

  1. Ember.js Analytics Integration

    Inevitably, if you are building any web application, you are going to need some form of analytics. Single page javascript applications are no exception. Unlike normal applications, however, integrating Google Analytics and Mixpanel is not as trivial as including some javascript…

  2. Hacking the CoffeeScript Redux Compiler

    CoffeeScript is great. I’m not going to spend any time backing that statement up in this article, but you are free to stop reading if it’s not your cup of tea.

  3. Anatomy of an Ember.js App Part I Redux: Routing and Outlets

    Four months ago, in February, I wrote a blog post detailing a strategy for handling routing and layout in Ember.js. This was at a time when there was no support for these features in Ember’s core. Today, however, this is not the case. Ember now has the notion of a Router and an…

  4. The Twelve Hacker Archetypes

    The other day I compiled this list of hacker archetypes. These represent the types of hackers I have come across over the years. To be clear, this is just for fun and all of these types of hackers are talented, but have distinctively different styles.

  5. Make the Most of Your Routes

    At the core of any web application is a mapping between urls and application logic; a mapping between what is in the browser’s address bar and what should be displayed on the screen. Rails has routes.rb, Django has URLconf, Backbone.js has Backbone.Router, and Sammy.js has…

  6. Eight Ember.js Gotchas With Workarounds

    Having used Ember.js for a few months now, I have compiled a list of gotchas that I have encountered. Many of these will change/be fixed as Ember matures, but until then I hope these will serve as pre-emptive time savers for other developers.

  7. Productivity Versus Performance: Fighting The Good Fight

    If you’ve been following the Javascript MVC landscape lately, you might have noticed a growing tension between Backbone.js and Ember.js. Being championed by Jeremy Ashkenas and Yehuda Katz respectively, both frameworks reside in decidely different camps. Ember.js favors deep…

  8. Anatomy of a Complex Ember.js App Part I: States and Routes

    I am long on Ember.js. I previously wrote a brief comparison of some of the more popular javascript frameworks, and Ember came out on top. I am now in the process of incorporating it into GroupTalent in a big way.

  9. 25 Reasons to Switch From WordPress To Octopress

    Static content should be served statically. Disqus rocks. Ruby. Google rewards fast loading times. Markdown. Flat files are awesome.

  10. The Top 10 Javascript MVC Frameworks Reviewed

    Over the last several months I have been in a constant search for the perfect javascript MVC framework. Driven by a dire need for the right level of abstraction and features, I have tried out - some more cursorily than others - every framework I could get my hands on. Here lies a…

  11. Javascript Frameworks Are Too Small

    A while back I stumbled upon a great post by Jean-Baptiste Queru. It describes the incredible depth of the modern technology stack. Layers upon layers of complex science, hardware, and software, each layer creating a simpler abstraction around the previous. This ultimately…

2011

  1. The 25 Toughest Vocabulary Words Based On 1,000,000 Answers

    My first Android creation was a game called Vocabulary Builder. The gameplay is simple: match words with definitions and vice versa. It has multiple skill levels, tracks your progress, and has a built-in dictionary.

  2. Introducing Misunderstood Pigs

    Today I am launching Misunderstood Pigs ( iTunes Link). The gameplay is simple: place objects to save the pigs from an impending onslaught of projectiles.

  3. Two Game Changing CSS 3 Features

    HTML and CSS has always been filled with frustration when it comes to being able to intuitively create layouts and designs. Web developers have long since sacrificed ease of implementation for accessibility and semantic purity. Basic layouts and simple aesthetics frequently…

  4. Design Tools Are Broken

    Spending lots of time both coding and designing has given me an acute awareness of how poor design tools are. Design itself has come a long way, but the design process has not. As a disclaimer, most of what is about to be said applies to user interface and graphic design, as…

  5. Living Untethered

    For roughly two and a half months I have been without a mobile phone of any kind. Two months might not sound like much, but this is coming from a software developer who is entrenched in technology and has even built multiple Android and iOS apps. Before this, I always carried a…

  6. Retroactively Open-Sourced Project #1: Paperblocks

    This is the first of several personal project’s that I plan to open source in the coming months. As I’ve slowly begun the process of migrating all of my personal projects from a private gitosis installation to a new server, I’ve realized that most of my 43 private repositories…

  7. Windows 8 Isn't That Bad

    There seems to be a large amount of backlash directed towards Windows 8 due to the fact that it’s new UI exists alongside the old Windows desktop. I must confess that I was slightly shocked myself to witness the context switch take place on the video, but I was shocked in a good…

  8. What It's Like to be Recruited

    Roughly three months ago (in the beginning of March), for a variety of reasons, I decided to put my resume out there on the interwebs. Here I chronicle my experience being a software developer on some of the most popular and widely used job channels.

  9. Five Reasons Why I Use Android and Two Reasons Why I Develop for iOS

    Being both a mobile developer and an avid phone user, I have two somewhat different perspectives. As a user, over the last several years I have owned a multitude of mobile devices: G1, Nexus One, IPhone 3G, IPod Touch (4th Gen), IPad, and IPad 2. As a developer, I have a combined…

  10. Blog Rebranding and Redesign

    Several events have converged, resulting in a new blog design and a new brand. Slicehost is shutting down, forcing me to finally migrate over to linode (which kicks ass by the way, should have moved over a long time ago) and I have finally acted on the realization that my…

2010

  1. Dead Simple jQuery Pagination Plugin

    While working on one of my side-projects, I had the need for client-side pagination. Nothing I could find was simple enough for my use case, so I decided to write my own. Check it out on GitHub here.

2009

  1. Mounder: Desktop Notifications for StackOverflow.com

    I spent the last few days teaching myself Flex 4 and AIR. Per my usual way of learning things I like to make (somewhat) functional applications. This time I made a desktop notification system for Stackoverflow. Currently it just notifies of new questions asked, subject to certain…

  2. Flex 4 CSS Namespaces: Annoying Migration Issues

    I started playing around with the beta of the Flex 4 sdk the other day. The purported features of the new version are very exciting to me, especially the support for advanced CSS selectors as well as enhanced component skinning capabilities.

  3. Eclipse Problem Markers from Flex Ant Builds

    Two of the most popular ways to build flex projects are Flex Builder and the Flex SDK Ant tasks. We had been using the first for development and the second for production.

2008

  1. 9-Grid Scaling Support in Javascript/CSS

    If you have ever spent any time developing and styling flex applications, you have probably come to find the 9-grid scaling feature indispensable. For those of you unfortunate enough to have never experienced this feature, it enables you to easily scale an image while preserving…

  2. Two Nasty Flex Bugs to Watch Out For

    I ran across several bugs features today that I thought would be worthwhile to share. These are of the variety that take a while to figure out and are not very intuitive. Both were encountered using Flex 3.1

  3. Google Chrome: Why I’m Not Excited

    There is currently a massive amount of buzz around Google’s recently launched browser, Google Chrome. And why not? It’s a new WebKit based browser with a clean minimalist UI and a purportedly super fast V8 Javascript interpreter. To top it off, each webpage executes in its own…

  4. Come Play in My Sandbox

    My favorite part about flying is that I use it as an excuse to focus on small personal projects. Last night, on my red-eye flight back from west coast demo day 2008 (oh yeah, in case you didn’t know, I am in YCombinator Summer ’08, co-founder of MeetCast) I made a custom RSS…

  5. Paperblocks: 3D Tetris

    A while back I created this game while teaching myself Flex 3 and Papervision 3D 2.0 and I figured it merited a blog post. It's of the 3D Tetris breed and took me several weeks to complete. You can see it in action here. Try it out and submit your high scores! Feedback is…

  6. Flex ScrollPolicy.AUTO Not Good Enough

    One of my biggest gripes so far with the flex scrolling system is the automatic scrolling policy: a container’s viewing area is not changed by the introduction of scroll bars. This is especially troublesome in the vertical case and seems to be a pretty shitty way of doing things…