In Websites on
10 June 2010 tagged Eagle Rock, Mochilla, Python
I just finished and launched a “razor blade” application for Mochilla to randomly choose subscribers to win tickets for the VTech/Mochilla Arthur Verocai Show this next Friday the 18th. It was a quick turn around of three days, and is an integration with their existing software for their website, more details about that to follow. Please go sign-up for a chance to win a pair of tickets!. Your chance will be over in 24 hours.

In Websites on
28 May 2010 tagged Telecommute, Wordpress
I was brought in by designer and fellow Art Center alumni Deniz Orhun to setup and develop a new workshops section for raksasala.com website. It’s using the Events Calendar 3 plugin, post thumbnails, the More Fields plugin, and a custom taxonomy.

In Websites on
27 April 2010 tagged Audio, JavaScript, PHP, Telecommute, Video, VTech, Wordpress
Working with designer Brent Rollins, the team at VTech; Justin, Joy and Tom, and Logan for quality control testing, we have dropped a new version of The Sounds of VTech music blog this last week. It’s been a month or more in the making and we’ve finally got it up. Take a look and listen!

In Etcetera on
9 March 2010 tagged Eagle Rock, Events, Mochilla, Python
We just got up a new events section for Mochilla.com. I added a ‘date’ column to the existing documents mysql table and an interface to be able to add/edit events via the browser. It took about a day and half to complete.

Screenshot of the new Mochilla.com events page.
In Etcetera on
4 March 2010 tagged Eagle Rock, Mochilla, Python
I just spent the last two days optimizing the Python backend for the Mochilla.com website. We are running the website on a 256MB VPS at Slicehost. They have been getting a larger number of hits the last week because of their new Timeless video they are releasing, and several people have been embedding the videos on their websites. All this was causing the server to lockup and need to be restarted a couple of times a day. So the initial outdated code that was running the site before has been trimmed down and there has been a dramatic increase in speed on the website and a reduction of the amount of memory it requires. I’ve done away with using classes for various objects, and the data is stored in a dictionary instead. I’m also using straight SQL to get data from the database rather than using an expression language or an ORM that would just add another level of complexity. I’ve also consolidated various tables that really should be one as all the information is being queried at once anyways. It’s a small but large move, that has made the website much lighter weight and easier to manage.
Browsing is now faster and the server is more stable with higher amounts of traffic, take a look: Mochilla.com
The database now has this schema:
mysql> show tables;
+--------------------+
| Tables_in_mochilla |
+--------------------+
| documents |
| templates |
| uri |
+--------------------+
3 rows in set (0.06 sec)
mysql> describe documents;
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+----------------+
| oid | int(11) | NO | PRI | NULL | auto_increment |
| modified | datetime | YES | | NULL | |
| created | datetime | YES | | NULL | |
| parent_oid | int(11) | YES | | NULL | |
| html | varchar(1000) | YES | | NULL | |
| image | varchar(1000) | YES | | NULL | |
| video | varchar(1000) | YES | | NULL | |
| audio | varchar(1000) | YES | | NULL | |
| uri | varchar(100) | YES | | NULL | |
| name | varchar(100) | YES | | NULL | |
| weight | int(11) | YES | | NULL | |
+------------+---------------+------+-----+---------+----------------+
11 rows in set (0.46 sec)
mysql> describe templates;
+----------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+----------------+
| vid | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(100) | YES | | NULL | |
| source | varchar(255) | YES | | NULL | |
| parent | int(11) | YES | | NULL | |
| children | varchar(1000) | YES | | NULL | |
+----------+---------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
mysql> describe uri;
+----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------+------+-----+---------+-------+
| location | varchar(1000) | NO | PRI | NULL | |
| oid | int(11) | YES | | NULL | |
| vid | int(11) | YES | MUL | NULL | |
| children | varchar(1000) | YES | | NULL | |
+----------+---------------+------+-----+---------+-------+
4 rows in set (0.00 sec
In Etcetera on
26 February 2010 tagged Downtown LA, JavaScript, Walldogs
For the Walldogs website we ran into some strange issues dealing with Flash. This is a non-issue for browsers that support the HTMLVideoElement, however not every browser does yet, so we must deal with the reality.
Usually when you put an object or embed tag for Flash in the DOM in Internet Explorer it will prompt you to install the plugin, and it does this pretty easily. However there are some instances where installing Flash just isn’t possible and the prompt would or not appear at all, or they may have the wrong version of Flash. So for mobile phones, and 64-bit machines with 64-bit browsers, and browsers running old versions of Flash, there would have been a road block to viewing the site.
We need to address situations were JavaScript is available but Flash is not and the browser doesn’t support the HTMLVideoElement. So on the Walldogs site I used two JavaScript libraries to determine a few things: SWFObject.js to determine if Flash is installed and what version, and MDetect.js to see if the website is being viewed from a mobile device. So if someone is viewing the website without Flash, the are not required to install it to get basic information from the website, it skips the video and goes straight to the page, and a message on the top of the page that gives notice to the visitor that they are viewing the website with missing features and to install a browser that will support it.
If you’re on a mobile device or using a browser that uses JavaScript, doesn’t support the HTMLVideoElement, and you don’t have Flash installed, take a look at the Walldogs website. Then take a look at it in a browser that does support the HTMLVideoElement.
In Etcetera on
24 February 2010
I have just moved my VPS which hosts the websites braydon.com, universvideo.org, and my mail server. If everything goes as planned it should be a seamless transition; it took two days to make sure everything was moved correctly. The DNS information should all be updating now.
Update (2/25/2010): Installed Postgrey, for email greylisting with Postfix. Tested incoming emails from various free email services online; they all work. I highly recommend using greylisting a first line of defense against spam email, it cuts down my incoming spam by about 80%, and is really easy to install with Postfix.
In Websites on
22 February 2010 tagged Indexhibit, Pasadena
We just put up a new website this morning for Diego Chamorro. It is a portfolio website using Indexhibit.
CHAMORROSTUDIO.COM

The landing page for chamorrostudio.com
In Websites on
17 February 2010 tagged Eagle Rock, Mochilla, Python
We just got up a new landing page, and product page for the Timeless Concert Series new Box-Set to be released soon. It was a quick turn-around of about 2 days from initial call to having the new page up. This work included, setting up a development site, modifying an already existing template file, and style sheets, and making a graphic for the homepage.
MOCHILLA.COM

View of the new Mochilla.com landing page.
In Websites on
15 February 2010 tagged JavaScript, Pink Cloud Events, Telecommute
Just updated the Pink Cloud Events website with a new video. My work consisted of encoding the video into 3 different sizes of both Mp4, and Ogg using FFMPEG, and FFMPEG2THEORA at optimal bitrates. Both Mp4 and Ogg filesizes are nearly identical in filesize and quality. This implementation of the video on the web uses the default HTML5 video player controls provided by the browser. I then use JavaScript to detect if HTML5 <video> is available and if not I replace it with a Flash video player, except for Safari which is known to have poor HTML5 video playback support. This was a quick turn-around of one day.
PINKCLOUDEVENTS.COM

The poster image of the new video.