May 2012
8 posts
1 tag
May 25th
2 tags
The Dot is Optional →
My favorite podcast recording yet. Jonathan and Kelli talk about accessing REST APIs over SMS, wrestling with Google Chat bots, confusion about the HTML5 Audio tag, and so much more.
May 22nd
5 tags
Experimenting with the Architecture of Ember.js →
Since I’m feeling too overworked at the moment to write my own blog post, I’ll link to one written recently by my very good friend, wherein he re-engineers the architecture of Ember.js to add a couple more degrees of separation. It’s not for everyone, as he admits, but personally, I really like the idea of separation on the client side between UI interactions and application...
May 22nd
2 tags
May 22nd
4 tags
GTalk and Ruby
Yesterday I had the need to create a small GTalk bot in Ruby. I started looking around and, to be honest, it was really hard to find any examples newer than 2009 or so. Even the gems are old. Sure, maybe the XMPP protocol hasn’t changed that much over the years, but Ruby has, so I thought I would make a quick note about how I finally got this working. XMPP4R-Simple won’t work in Ruby...
May 16th
4 tags
The Making of Octicons →
A nice little write-up of the workflow and process of creating Github’s new icon font.
May 9th
1 tag
May 6th
2 tags
MIT and Harvard Announce edX →
This is ridiculously exciting. I feel like we’re only a few years from seeing a major shift in higher education.
May 2nd
April 2012
7 posts
2 tags
Apr 25th
5 tags
File API Upload Image Preview - Now a jQuery... →
I took last night’s script and turned it into a jQuery plug-in. Enjoy. :)
Apr 21st
4 tags
Using the File API to Preview Images before...
I was working on a little document builder tonight and wanted a way to preview images before uploading, which is something you commonly see associated with AJAX file upload scripts. I didn’t want to actually upload the files via AJAX, though. As it turns out, this was pretty straightforward and simple to do. Here’s an example. First, some CSS Mostly for display purposes - feel...
Apr 20th
4 tags
Self-deprecating Intro to Podcasting
Hey, look! We made a podcast. A while ago, my awesome boss (and friend) decided we should do a podcast, for fun and learning, and to hopefully start some good discussion. OK, so the first couple of times are always the worst, right? I am incredibly introverted (which, for some reason, comes as a surprise to many people), so this was a big leap for me, even though I was only talking to imaginary...
Apr 19th
5 tags
Happy Docs Rewrite & More
A few weeks ago, I posted about a little OSS CodeIgniter app I’d built for documenting APIs called Happy Docs. That code is still available, but Happy Docs has now gone in a new direction. You can now use Happy Docs as a hosted service! I gave the system a complete rewrite, added multi-user support, improved private projects, and gave the interface a bit of an overhaul. The end result: ...
Apr 19th
4 tags
Wrist-mounted Sonar for the Blind →
This is a pretty cool little piece of tech, and I can see how it could be very useful. Having some minor experience with using a white cane, I don’t think I could see this working as a total replacement. It’s amazing how much tactile feedback you can gain about your environment courtesy of a long stick, like a change in the texture of flooring that indicates a change between rooms, a...
Apr 16th
5 tags
Old Bugs and Code that Doesn't Play Nice
I was poking around at a little project earlier and ran into an interesting issue with Apache and a couple of enabled modules. Since I’ve been asked about it, I thought I’d go ahead and do a quick write-up of what happened and the process I went through to debug it. Basically, I was trying to follow a URL (on my local machine) to a non-existent file that would then rewrite to another...
Apr 10th
March 2012
17 posts
6 tags
Bash Script to set up Sinatra App →
Last week, I talked about how I structure my Sinatra apps. Today I decided to automate that process, so here’s a small shell script to auto-generate the directory structure and a few essential base files.
Mar 30th
2 tags
Mar 27th
2 tags
Structuring Sinatra Applications
I thought it might be interesting to show how I structure my Sinatra applications. The app shown below (itemize.cc) is fairly small, so some of this may be a bit overkill, but I decided to go ahead and go with this level of structure, so I could easily expand the app in the future without having to worry about things getting disorganized. Things of note: The app.yml file is a config file that...
Mar 23rd
5 tags
Re-Thinking The Way I Use Git
Let me preface this by saying that I am probably late to the party on this one. I’ve been using Git as my VCS for a long time, and I love it, but I have to admit, I’ve been pretty disorganized in the way in which i use it. My Git workflow has been basically this: Do some work, get to a point where things work, make a commit, push. I’d make the occasional branch if was doing...
Mar 23rd
1 note
4 tags
Simple Invoicing for Small Jobs
Say Hello to Itemize.cc I’ve been working on a little personal project and yesterday I put it up on the web for all to see (and this morning i found and fixed a fatal bug….. go figure). So here it is: Itemize.cc It’s a very simple invoicing tool. It lets you quickly create and share invoices with your clients, and gives them a big, friendly button that they can click to pay...
Mar 22nd
1 note
3 tags
Want web accessibility? Don't forget about print... →
I’ll admit to being guilty of forgetting about the print styles, myself, when it comes to my own stuff, or at least of having had it fall into the category of “haven’t gotten around to it yet.”
Mar 20th
2 tags
Mar 17th
2 notes
2 tags
Mar 17th
1 note
4 tags
Your Users Are Not Users
A while back, we made an unofficial company policy, if you will, to stop referring to the people who used our applications as users. We stopped calling them that on the web sites, in the documentation, and even in the code. We started calling them people, instead, because that’s what they are. The term “users” made it sound like we cater to a bunch of junkies or ingrates. We...
Mar 16th
2 tags
Mar 16th
3 tags
Mar 15th
3 tags
Static Splash Pages in Wordpress
I’m generally not a big fan of splash pages. I think they do little more than to create another barrier of entry and make more work for the person visiting your site. These once-common, but thankfully less-frequently occurring pages still have their occasional uses, though. Recently, I was working on a site for a client who was running a big promotion and they really wanted to advertise it...
Mar 13th
3 tags
Responsinator →
Quickly test responsive designs at multiple device resolutions. I love a good -inator.
Mar 13th
3 tags
My big takeaway from the iPad 3 announcement...
…is that Tim Cook needs to stop trying to give Steve Jobs presentations and find his own voice. Mr. Cook is a very sharp, smart guy, but yesterday’s presentation felt very forced and like a bad impersonation. Phill Schiller’s presentation was much better. For many years, Jobs’ voice was Apple’s voice, and changing that can certainly have a big impact on your brand,...
Mar 8th
10 tags
Sinatra Producton Server Setup
I recently had to set up a couple of web servers to handle multiple Sinatra applications in production. Going from a fresh install of the operating system (Ubuntu in this case) to fully working server, with Nginx, Passenger, Ruby, and Git-based deployment is a bit of a lengthy process, so I thought I’d take a few moments to outline the steps I took below. A Couple of Notes: I was setting...
Mar 6th
2 notes
2 tags
Not Sure Where I Stand on This
Every time I use a weakly typed language: “I wish this language had strong typing.” Every time I use a strongly typed language: “I wish this language had weak typing.”
Mar 5th
4 tags
Document Your APIs with Happy Docs
Things are getting busy at work. We’re rolling out several new apps for web and various mobile platforms. Nearly each of these apps has an accompanying REST API, but each is very different. Documentation was starting to get a bit fragmented and tedious. So I spent a few hours last week/this weekend building Happy Docs, a lightweight CMS for creating HTML documentation for REST APIs (Get it?...
Mar 5th
February 2012
18 posts
2 tags
Design for Social Impact →
Great video.
Feb 27th
3 tags
Responsive Design: Why You're Doing it Wrong →
Here’s an interesting article on some of the short-comings on the current techniques often employed in responsive design. My own take is similar. I prefer to build a fluid layout with only a few media query ‘breakpoints’ where needed, rather than building many different versions tailored to specific device resolutions.
Feb 22nd
3 tags
Small Update to Pulp
I’ve made a few small changes to Pulp, centered around changing the default padding within the grid. This allows for better vertical alignment consistency when nesting grids. Changes Source Documentation
Feb 21st
5 tags
Introducing "Pulp"
Last week was a bit slow for me, so I took the time to put together a little something I’d been meaning to do for quite a while now and built Pulp. What’s that, you ask? Pulp is a lightweight, fluid, responsive CSS reset and 12-column grid system. Yeah, there are a lot of those out there already, but I like mine. :) I put it together from bits and pieces of CSS I found myself...
Feb 20th
2 notes
Feb 16th
46 notes
2 tags
I Want More Social Feature for Netflix
One of the biggest complaints I about Netflix streaming is the lack of quality content. When it comes to things I’dl ike to see on Netflix streaming, more, better content is at the top of the list. But here’s the thing: there’s still a lot of good stuff there. Sometimes, though, you really have to dig deep to find it. So I’d like the ability, when I find something great,...
Feb 13th
3 tags
Retinal Implant Brings Sight to the Blind →
This is awesome, and very promising. I’ve been wondering for years why no one has tried to come up with an equivalent to the cochlear implant for vision. Now, it looks like someone has. It will be really interesting to see where this technology is in 10 years and whether the technique can be adapted for individuals with more severe retina damage (i.e. scarring due to retinopathy).
Feb 13th
1 note
2 tags
Non-sequitur: Low-carb Pizza
I found a recipe a while back for a low-carb pizza crust. I was eager to try it, but when I went to make the pizzas, it turned out not to be as easy as the recipe had made it look. Since then, I’ve been tweaking both the ingredients and the technique and here’s what I’ve landed on. This recipe is very high in cheese content, so calories can add up pretty quick, but with toppings,...
Feb 12th
2 notes
4 tags
Managing Facebook fan page events with the Open...
I’ve spent the past couple of days neck deep in the Facebook API and one of the things I’ve had to deal with is managing events for a fan page. The documentation on how to do this is pretty sparse, so I thought I’d write up a quick post on it. First off, I’ll assume you’ve created your app already and have an AppID (the App Secret key will actually never be used...
Feb 10th
2 notes
3 tags
Feb 4th
5 tags
Friday Night Redesign
I had been meaning to redesign my site for quite some time now. In fact, I had become so disgusted with the previous design that at one point I took it offline completely. I ended up tossing a temporary page up a few days later, just to have something there, but a redesign was clearly in order. I’ve been talking a lot lately about responsive design and the changing shape of the web, but my...
Feb 4th
Feb 4th
5 tags
Feb 4th
17 notes
3 tags
7 Ways to Lower Your Website's Bounce Rate →
by yours truly…
Feb 2nd
3 tags
Resolution Independence with SVG →
Feb 2nd
5 tags
How We Use The Web is Changing
There’s no simpler way to put it. The way we use the Internet is changing, and it’s changing quickly. Let me start off by throwing some statistics at you (courtesy of @jonathanstark): 25% of US mobile users almost never access the internet via desktop or laptop computers. The growth rate of mobile traffic is expected to increase tenfold over the next five years. There will be 5...
Feb 2nd
7 notes
3 tags
Feb 1st
1 note
Badass JavaScript: psd.js: You Guessed It - A... →
badassjs: Ryan LeFevre has been working on psd.js, which is as you might have already guessed, is a Photoshop Document parser that works in both the browser and Node.js. psd.js is a general purpose file parser for PSD files created in Photoshop. Given a PSD file, it can parse out information such as…
Feb 1st
28 notes