
I was responsible for all back-end and front-end development.

I was responsible for all back-end and front-end development.
I built a custom Content Management System (CMS) to support this site which allowed the owners to create new content on the fly and edit existing content whenever they wished. We also consumed their blog’s RSS feed to display blog posts on footer as well as consumed Yahoo’s weather API to display real time weather with custom graphics.
The DOM is like an Ogre — it has layers… lots and lots of layers…
This way of thinking was key to the solution I found to a very interesting problem a friend of mine presented.
Problem: Integrating a Flash game that uses the up and down arrows into a new site with drop down menus. The menus need to sit on top of the flash game, so wmode=transparent must be used. As we know, Z-index does not work when a flash piece is running in the default “window” mode. Because the page is longer than the viewable area, it needed to scroll and in IE7, when hitting the up and down arrows in the game, the whole page would scroll. Essentially when the flash piece runs in wmode=transparent|opaque, IE7 captures the keystrokes along with the flash piece.
What do we want: We want the user to be able to use the up and down arrows without the page scrolling and the key presses registering in the game like it does in all other browsers.
Solution: overflow:auto
I wrapped the flash content div in a wrapper div the exact height of the flash movie and set its overflow property to auto. What this does is put the scrolling/key capturing focus on that div instead of the document when you click on the flash piece and play the game. Because the wrapper div is the exact height, there is nothing to scroll and all works well, flash registers the key presses and the screen does not move.
Sample:
<div id="gameWrapper" style="height:400px; overflow:auto"> <div id="flashContent">Flash will load here via SWFObject call. The flash movie is 400px in height and has the param.wmode set to "transparent|opaque"</div> <div>
I was shocked I could not find this solution as easily online as I’d hoped. I did find a few examples of this after I figured it out, but the posts were very difficult to read made a simple solution look terribly difficult.
I’m building a web based S3 explorer/media manager for a work project as well as my DizCollect project. It is being written in .NET/C# ASP.NET MVC and I had a special need — creating empty folders for users to upload files to. Since I don’t store the files locally, I couldn’t just upload new files and have the folders build out.
I use the wonderful C# S3 library ThreeSharp.
The one thing it does not do out of the box is allow you to just create an empty folder. My behavior will be that a user clicks on a “new folder” button and is presented a text box. They enter the name of the new folder and it is created in the current location they are browsing in my S3 explorer. To get ThreeSharp to do this, you must add a content_type of “binary/octet-stream” and specify the folder with a trailing ‘/’. The ‘/’ is very important and is the difference between a folder or a file being created.
I hope this helps someone. It took me several hours to figure this out and I could not find a good example online anywhere.
Here is my extension to the ThreeSharpWrapper class to create an empty folder
/// <summary>
/// Adds a folder (empty) to a bucket
/// </summary>
public void AddEmptyFolder(String bucketName, String keyName) {
using (ObjectAddRequest objectAddRequest = new ObjectAddRequest(bucketName, keyName))
{
objectAddRequest.QueryList.Add("content_type", "binary/octet-stream");
using (ObjectAddResponse objectAddResponse = this.service.ObjectAdd(objectAddRequest)) { }
}
}
then to call the function you would use:
wrapper.AddEmptyFolder("myBucket", "test/"); //@params: (str)bucketName, (str)folderName
I just recently helped a friend of mine launch a new portfolio site that will showcase his work. He will be adding new content to it over the next few weeks.
He is a very talented illustrator who can really bring a story and emotion to his work. He is attending the Academy of Art in San Francisco.
Check him out here (www.nathan-martin.com)

I’m working on a rather large ASP.NET MVC based web application. It is getting it’s data from SharePoint using the SharePoint Object Model. I’m in the process of writing all my supporting library code and debugging can be tough.
Being a former developer on the UNIX platform, I longed for a tail application and the goodness of “tail -f logfile.log” to watch my debugging statements fly by. I also longed for a good logging class to add to my application.
Nlog (http://www.nlog-project.org/) – A very easy to implement logging library that will allow you to output many different messages from your system including stack traces, inner stack traces, custom messages, tracing level information and allow you to output this to the console, an email message, a log file or several other formats.
TailForWin32 (http://tailforwin32.sourceforge.net/) – I’m sure there are several types of applications out there that do this, but this was the first one I found and tried. It does just what I need. It keeps the last 64K of a file open in a text window and has several options such as audio notification when the file updates, fonts to view the data, opening multiple files, etc.
Any large application, especially a web application should always have some form of logging not just for debugging your code but to also help find bottlenecks and to make sure your systems are doing what they are suppose to. Get your logging functionality in at the beginning and make it part of your development process. Trying to add it later on will do nothing for you but give you a migraine.

I was responsible for all the front end flash work. It was built in Actionscript 2.
The site offered a collection of movie specific downloads like wallpapers, icons and movie posters. Also included was a custom eCard generator. Users were prompted to select an image from the movie, a musical score and a preset message. It ended up being a really immersive experience which served as a great companion for the movie.

The Starry Sky was a challenging yet fun flash piece to build. I was tasked with four things, 1) Build a starry universe a user can fly around in any direction in, 2) Make the stars clickable so people could read messages, 3) allow people to create new stars with messages and 4) send these messages to loved ones.
To accomplish this, I used PaperVision 3D. It gave me all the tools I needed to move through a 3 dimensional space. For the stars, I used simple billboard objects with a texture painted on it. As you moved side to side, in and out, or up and down, I drew new stars onto the screen as the others fell off the screen. Each star was attached to an entry in a database so when you clicked on the star, you would zoom to the star until it was centered on your screen and the message attached to that star would then display. To add a new message, you simply click on the new message button and form will fade in and you can add a message and email addresses you wish to send to.
I built the back-end using PHP and MySql. When a message is created, it gets run through a word filter before being added to the database. Also, I built a simple administration tool so the content owners of the site could administrate the content by removing offensive messages.
The games were written in Actionscript 3 and I was asked to modify them or clean them up based on client changes. In doing so, I went into existing code bases and modified them as needed.