Understanding Closures in JavaScript

Closures are easy. There I said it. Invest a little bit of time, and you will say it too. Follow along with me as I attempt to explain what closures are and how they are used. ...

January 19, 2011 · 2 min · Kevin Sookocheff

Safely remove the header from the WordPress TwentyTen theme

WordPress’ new TwentyTen theme is terrific. Well supported, highly modifiable, and with tons of widgets to get the exact layout you desire right out of the box. However, one thing I didn’t like too much was having a big header image on the page. I’m a bit of a minimalist so I wanted to trim down the theme by removing the banner image and the navigation bar. ...

January 18, 2011 · 3 min · Kevin Sookocheff

The future of mobile development

The future of mobile development is cross-platform HTML5, JavaScript, and CSS3. Let me explain. I’ve been working on a couple Windows Phone 7 applications to accompany my first release, FaceArt, in the Marketplace. As I do more research and development with the mobile platform I keep looking for ways to increase the reach of my apps. The most obvious is to release Android and iOS versions but I have a few hurdles to clear first, the biggest being lack of time. I do all development as a moonlighting gig while I work full-time and I’m already struggling to find extra hours during the week to finish my first three applications for one platform. How am I going to write and maintain three separate codebases for each app for the major mobile platforms while still keeping my employer happy during the work week? The solution is cross-platform libraries targeting mobile and web apps. PhoneGap, AirPlay, and DragonFire SDK are a few notable products designed for just this problem. The most notable, and most intriguing for me, is PhoneGap. I first noticed PhoneGap through an article on ArsTechnica. This open-source solution wraps apps designed with HTML5, JavaScript, and CSS in a container suitable for the respective app stores. Why is this exciting? You can design an application for the web and get the mobile app for free (or minimal) time investment. This is as close to the write once, run anywhere ideal that we will get for mobile phones and as the tools improve the experience is only going to get better for developers. I personally can’t wait to see what the future holds for this product. What do you think? ...

January 15, 2011 · 2 min · Kevin Sookocheff

A cheap home server

In order to have a home server you need the server. That is, you need the hardware. You could probably find all sorts of information comparing performance, power consumption, and cost for an assortment of different parts (check tomshardware.com or do some intense [Googling][2]). Or, you can trust that I’ve done my research and go with the same setup as me. ...

January 11, 2011 · 2 min · Kevin Sookocheff

And the winner is - Google Chrome!

Google gets it. ...

January 6, 2011 · 1 min · Kevin Sookocheff

How to install the real-time kernel in Ubuntu

To use Ubuntu as an audio production server you need the real-time kernel. This allows applications to have some guarantee of the maximum response time of any task. High priority tasks are given the CPU within a fixed minimum amount of time allowing for processor intensive tasks to actually be completed. Follow along to see how to install the real-time kernel yourself. A vanilla install of most Linux distributions does not enable the real-time kernel, but it is easy enough to install. ...

October 19, 2010 · 1 min · Kevin Sookocheff

How to get Pulse Audio to recognize your Delta 44 (and other ICE1712 cards)

I bought a used Delta 44 soundcard with the intention of recording my guitar playing. Pairing this with Rockit 5 powered monitors, a Mackie 802-VLZ3 mixer and the classic Shure SM57 microphone made for a good quality, inexpensive home studio. Using the PCI-based Delta 44 meant that any old computer would work and my idea was to use vanilla Ubuntu and install the Ardour digital audio workstation to push costs even further down. So far so good. Now the only issue is getting everything up and running. Ubuntu is a fairly mature distribution; you can expect a certain level of quality with each release. Unfortunately, this has not been the case with PulseAudio. I won’t go into details; suffice it to say it had a tumultuous upbringing and many of the kinks have since been worked out. Anyways, I quickly discovered that PulseAudio does not recognize the Delta 44. Don’t worry, this is a known problem and a workaround exists. Finding the workaround, however, did take some time. ...

September 28, 2010 · 4 min · Kevin Sookocheff

Readability by Arc90

According to Wikipedia, readability is defined as reading ease, especially as it results from a writing style. Only experience, practice, and hard work can improve a person’s writing style. Let’s increase readability in a different manner: with typography. ...

September 4, 2010 · 1 min · Kevin Sookocheff

Share multiple mt-daap libraries

I recently moved all of our household music to a shared network drive and was looking for a solution to stream these libraries as distinct entities; I wanted to keep my wife’s library separate mostly so I could keep all of my painstakingly catalouged music organized exactly how I like it. I was already using mt-daapd, now known as the Firefly Media Server, to stream my own library from my Linux server. Unfortunately, it doesn’t support streaming two libraries from one program instance. The solution to this is to run two copies of mt-daapd and configure them to play nice with each other. Don’t worry, it’s not quite as difficult as it sounds. The first thing you’ll need is to have a separate configuration file for the second daap instance. The easiest way to do this is to copy the files from an existing installation. ...

August 3, 2010 · 3 min · Kevin Sookocheff

Mounting SAMBA shares from the command line

I recently started using Xubuntu to see if the proclaimed speed differences actually made a difference in productivity. Unfortunately, the Thunar file manager does not automatically recognize network drives so I needed to manually mount SAMBA shares from the command line. In my searches I stumbled across this thread giving the exact solution I used. Hopefully this helps someone else who is having this same problem. ...

July 28, 2010 · 1 min · Kevin Sookocheff