Developer X Visits SDW HQ

In house engineers are our friends. Except for nacent startups, there’s hardly an execution that lives in a vacuum with only SDW Cast and Crew behind the wheels. Collaboration with client devs often happens with integrations, data dumps, new deployments, and even training.

There’s a cool project floating through the shop right now for a really successful business in NYC. Their team is small, and the customers they’ve been able to attract are impressive. Still, sustained growth means an overhaul. Scaling has become difficult. Legacy code unwieldy.

Luckily, we know a thing or seven about being discreet. There’s a hotel right across the street from SDW HQ. We have various disguises to cloak the 200′ walk. And our windows, have blinds. After all, Skookum Digital Works was started by two programmers with security level three (Top Secret) clearances from the DoD.

So, “Developer X” came to visit. We’ll be excited a year from now (yes, their competition is crazy fierce) when we can reveal some of the state secrets.

Using WordPress as a User and Authentication Database

WordPress is a great tool and you can hack all sorts of functionality into it, but have you ever thought about using it as a user authentication database for content on your server that is outside the realm of WordPress? Maybe a wiki or media server application that you only want your registered WordPress users to access.

There are some really awesome authentication tools built right into WordPress that you can use verify a username and password within your WordPress install. You can even look at that user’s specific capabilities to determine if they get access or not based on their role or capabilities.

In the following example, I use PHP’s ability to present the user with a basic HTTP authentication dialog box, and then it’s authenticated against the WordPress database.

Only thing I haven’t done is set a cookie that keeps them logged in across browser sessions.

This works great if you’ve got an application that has a rewrite to a single index.php file to serve everything, or else put it into a header file that gets served on every page (above any HTML output since it sends our HTTP headers).

And remember: this security is only as good as WordPress security–which is to say “not very secure” but it sure beats an internal non-password protected server that anyone could access simply by plugging into your physical network and browsing around.

The Kitchen Sink of Developer Productivity

The development community as a whole is growing in leaps and bounds. We have far more languages, frameworks, libraries, modules, and plugins at our disposal than ever before. The decision making process of choosing the right tool for the task is becoming increasingly difficult. Our toolchain is growing at a blistering pace; we have to be diligent in order to keep up to date.

Continue reading

ESPN Developer Center a Small Step in the Right Direction

Earlier this week, ESPN launched the ESPN Developer Center, solidifying the geekiness of sports with the geekiness of technology.

For all you tech types out there that take pride in not knowing anything about sports, this is potentially a pretty big deal. ESPN is the ‘worldwide leader in sports’ and has a vast store of information, both current and historical, about all major sports (even hockey).

Continue reading

Dynamic Screenshots on the Server with PhantomJS

Scraping Data from websites is pretty cool. But what if we could not only grab and parse the markup from external websites, but take full-blown screenshots and even modify that markup before we take that screenshot? We can do all that with an excellent package called PhantomJS.

A Browser without the Browser.

PhantomJS describes itself as a “headless WebKit with JavaScript API”. For those that are not familiar, WebKit is the open-source web browsing engine that powers popular browsers including Chrome and Safari. “Headless” refers to fact that the program can be run from the command line without a window system, making it perfect for the server environment. The JavaScript API means that we can easily write scripts that interact with PhantomJS in the language of the web, allowing us to modify the browser output on the fly, just like you can do with Firebug or Developer Tools locally!

Installation

The hardest part of working with PhantomJS is getting it installed. Because of the requirements you are not going to be able to run this on a standard shared host, but an average vps will handle it fine. The following instructions are for getting things up and running with Ubuntu 11.10 on Linode.

Continue reading

Page 1 of 912345...Last »