Recent Posts

Let's Disqus the Blog

The hardest part about adding comments to this blog was fighting the NIH syndrome.

I have been working on the software that powers this blog as an open-source Django app for the last few months. It's coming along nicely and already powers my wife's site Ultra-Luxurious.

The last version of this site had a gorgeous custom threaded comments section. I had not included that with the package yet because I really wanted to overhaul it. As nice as it was, it was very prone to comment spam (nasty!). I had ended up turning off comments on nearly every post in my blog as a result.

I upgraded the blogs to Django 1.7 recently and noticed that Django's comments had been deprecated, so I was going to need to dive in even deeper to rebuild the comments. At that point I thought "why would I be doing this?" and went to check out Disqus. They have a very nice commenting plugin that works great, is free, and solves the spam problem. Boom!

I had to choke down a bit of NIH, but really - why work to maintain the software and keep spammers out when it's already available for free?

So in version 2.0.2 of the cp-blog software, integrating Disqus comments is as simple as adding a DISQUS_SHORTNAME to your, and you're off to the commenting races. Enjoy.

Anyone out there prefer another commenting system that I should integrate? Does anyone use Facebook comments anymore? If there's something you would like to see included, just leave a (Disqus) comment below.

Comments →

Giant New Job

Giant New Job

Today I’m excited to announce my new job as EVP Technology and Development at Giantsource, Inc. Giantsource is a design, development and consulting firm based here in Los Angeles, mostly working with the entertainment industry. It was founded about three years ago by one of my great friends from the Myspace days, who I have done many projects with. In fact I have worked with almost everyone in the company before (some of them a LOT), and it feels like I’m rejoining a "dream team" that I’ve definitely missed for the last couple years. It’s an amazing group of talent and I am thrilled to be a part of it.

I’m also very happy to be working with a company owned and run by developers. It’s a breath of fresh air to be sure. Working with a group that understands digital products and modern workflows, as well as trends in technology and consumer behavior, will be a lot of fun and I see a very prolific time ahead for me.

2014 has been an action-packed year already. Now that I’m joining such a capable group who really “gets it” and is constantly pushing the envelope of entertainment experiences, I can’t wait to see what the next year will bring!

Comments →

Return to Blog Mountain

Well hello there.

This is a little awks. I think I wandered away from this blog for a few... years.

I've been quite busy during this time, you see. I actually built the previous version of my site at a time when I had come to realize that my stint at MySpace needed to end; at the time a responsive website still seemed like absolute magic, so this was something I used to show off a little.

"Resize your browser... see that? It looks great on any device!"

I soon found a new gig with Eventup, signing on as co-founder and CTO. And, I never came back. Once you enter the startup grinder, it's very difficult to side work, even if it's my own damn site.

Moving on to another gig that was equally busy, if far less interesting, I continued to ignore the site. I am just winding down from that experience, and here we are. Still no blog lovin'.

I justify this with one thing: I would much rather be making stuff than writing about making stuff. The good news is, with a little extra time to focus on my own (non-paid) work, I have indeed created a few things that are worth writing about.

My wife has started a new site, Ultra-Luxurious, which is a west LA lifestyle/culture site. To build that I extracted the software I used to run this very blog. I have open-sourced the code for it, and you can find it here. Ultra-Luxurious runs this code "out-of-the-box", so consider that a nice little demo.

I also open-sourced my project template , which includes nice stuff such as Bourbon, Bitters, grids by Jeet, and a nice Grunt setup to compile SCSS, live-reload browsers, concatenate and minify static files, etc. The blog app plugs neatly into this template (although that is optional). Both this site and Ultra-Luxurious are based on this template.

I have more OSS projects on the way, and there will be more posts about those as I get them packaged up. For now, back to the workshop!

Comments →

A Much Needed Update

Finally bringing into this decade.

Today I get to release something special: a site I've built just for myself! This is special because I have been SO busy with client work that my site had become somewhat dated. I had been wanting to swap out the software from the excellent ExpressionEngine to a custom Django back end. (I mostly build in Django these days and it bugged me that my own site wasn't built with it.) I also wanted to update the front end with a modern HTML5/CSS3 interface - believe it or not, my old site was old enough to predate jQuery (not to mention border-radius and the like) so most of the UI was pretty rusty - not at all a showcase of my current skills.

So, welcome to the new Tight, ain't it?

The site has a responsive layout that serves a different experience for desktop, tablet, mobile (landscape) and mobile (portrait). Try resizing your browser window to see what I mean! It's packed full of the latest HTML5/CSS3 goodness, with appropriate fallbacks for older browsers. It also is running a full-featured Django blog app that I've built and plan to open-source as soon as I can package up the code.

I plan to write up a couple things related to this site: a colophon page so I can credit folks whose plugins/apps this site uses, and tutorials on some of the cooler features I've got here - a few things that I developed in the course of making this site are worth sharing.

I'd love to hear your thoughts on the new site design - and if you chance to find any bugs I'd love to find out about those too! Please use the fancy new threaded commenting system to share your input.

Comments →

iTweet and OAuth

A good change for most! Inconvenient for others.

This morning marked the official deprecation of Twitter's basic authentication system. I had been working toward the changeover, and at about 8 am I switched over to OAuth-based authentication. Things went pretty smoothly, I hope. Most people seem to have been able to refresh, authenticate with Twitter, and start tweeting again right away. Even aside from the improved security, the nicest immediate benefit is the API rate limit of 350 calls per hour instead of the 150/hour available through basic authentication. This will allow me to do some fun stuff that wasn't possible before. The people who were most affected by this change were those who use iTweet because is blocked due to a company firewall/filter or censorship. These folks are not able to sign in via OAuth, just due to the nature of what OAuth is. I'm bummed that this is the case, but don't immediately see a way around it - however I am open to ideas from any direction. For the time being I've put a basic-authentication version of iTweet up at: - and you can use it at that address for the next two weeks. However, please note that Twitter is going to be cutting down the number of available API requests by 10% every business day until August 31, when basic authentication will be switched off entirely. You can read about this in the twitter-development Google group. If you're one of the folks who use iTweet to get around a filter, this is a bummer. So by the end of the month people needing a proxy for will be out of luck. I'm open to suggestions as to how this inconvenience could be avoided, as this change will happen for all apps, not just - feel free to post ideas in the comments.

Comments →