RSS Feed

Thomas Ross Hallock

My experiences at Burning Man 2011: Rites of Passage

6-September 2011

(This write-up was extracted from an e-mail I wrote to my grandmother shortly after I returned from the event.)

Burning Man was a crazy and amazing event; words aren’t the best way to relate the experience, but I’ll do my best here.  Also, I was separated from my phone almost as soon as I got there, so I wasn’t able to take any pictures myself, so I’ll link to whatever I can find from searching on Google as I write this.

(more…)

Octi For Kids Haskellbot

17-April 2011

North: 12 prongs
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   |   |   |   |   |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   | O | O | O | O |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   |   |   |   |   |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   |   |   |   |   |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   |   |   |   |   |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   | | |   |   |   |   |
|   | X | X | X | X |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
|   |   |   |   |   |   |
|   |   |   |   |   |   |
|   |   |   |   |   |   |
+---+---+---+---+---+---+
South: 11 prongs

On the heels of last week’s post of my implementation of Tonobeb for the web, I bring you another board game blast from my past: back in 2001, I wrote a simple minimax AI in Haskell for a board game called Octi for Kids, a simplified version of Don Green‘s OCTI board game.

I finally had some time this morning to recompile the Haskell code into a binary that runs on my webhost, so now you can play against it while it thinks:

Inspection of the url in the links above will reveal how to arbitrarily increase the look-ahead level.

The code is available here on github.

My implementation of Tonobeb – a board game played with dice

10-April 2011

Back in 1983, my uncle Bruce came up with a fun board game played with dice. My dad made a nice wooden board for it and Bruce got a write-up of the the game published in Gameplay Magazine. Fast forward to 2006 and I made a playable web version of the game; it was the first web application that I finished, and even now, I’m a bit impressed in using it. This pre-dates jQuery, so please savor the library-free hand-coded javascript ajaxy goodness. Without further ado, I present Web Tonobeb:

If someone else loads this page at the same time as you, you will be matched with them automatically. Alternatively, you can challenge a friend by e-mail.

I just open sourced Web Tonobeb on github; I probably won’t have much time to turn it into something that Yahoo games would want to acquire, but you might! Clone away!

Fractile: browser-based distributed computation of Mandelbrot set tiles. Now on Google Code!

17-September 2010

I open sourced my Yahoo Open Hack NYC 2009 entry into a google code project called fractile. It’s currently only one php file with embedded Javascript at the moment. Feel free to let me know if you would be interested in joining the project to turn this into something useful; the idea has tons of potential for any sort of problem that can be parallelized well low-bandwidth ray-tracking, for example.

Scrabblechess anyone?

10-May 2010

This was the best I could come up given the limited amount of letters that come in the scrabble set. (Yup, it looks like I got white-on-the-right orientation backwards and also need to swap the bishops and nights… oh well… I’m sure you get the idea :)

IMG_0287

A proof of concept HTML + JS-based distributed computing platform

10-October 2009

[update] Just fixed a bug that was preventing this from working in most browsers. Go ahead and give it a try now.
distributed browser based Mandelbrot set rendererI made this browser-based Mandelbrot set zoomer for Yahoo’s Open Hack Day NYC 2009. It is built in HTML + JS and will use the browser of anyone that has the page loaded to construct fractal images for other users that are also viewing the page. Click on the large image to zoom deeper and deeper. It works best in Safari 4, okay in Firefox 3.

This is a proof of concept of portable browser-based distributed computing. (It even runs on iPhone.) The web server will ask your browser to render a specific square on the complex plane onto a canvas. Your browser will then submit the rendered square by turning the canvas into a data URL and posting it to the server’s cache. At the same time, your browser is requesting that the server send out render requests for all squares necessary to make up your current view of the complex plane. These requests may be rendered by your browser, or they may be rendered by another user’s browser that currently has the page running. Load it up on two or three computers at the same time and you’ll notice a significant increase when rendering parts of the fractal. The server caches the tiles, so browse to an obscure part of the fractal to make sure that the system is actually sending requests to the swarm. You can see the last square that your browser rendered just below the large square.

This technique can be used for a specific type of problem where the information that describes the problem and the result is significantly lighter-weight than the computation required to solve it. Specifically, this would also work well for a web-based ray-tracer.

This idea was partially inspired by Resig’s Test Swarm service that distributes front-end toolkit testing to any user that hits the site with their browser.

San Francisco timeline / skyline wallpaper

25-September 2009

After looking at traffic coming to thesellery.com, I noticed that many of the requests were for a desktop picture that I made a couple of years ago. It’s a picture of the San Francisco skyline that fades from the olden days to 1971.

Here it is in 1440 x 900:

The original 1971 version is available on Brad Templeton’s website.

[update] After googling around a bit, I found this page. It offers a MySpace theme ready to copy and paste. Guess what the background image is? Guess whose server is being used to host that background image? Chances are that there are quite a few MySpace pages that are linking directly to this image, which would explain the steady hit-rate for this image that I’ve noticed over the past few months. I’m seriously thinking about telling my server to redirect requests from MySpace to something that’s not quite so G-rated :)

Plans for my 15.4″ 1200p LCD DIY projector

9-June 2009

I designed and partially built a projector about a year ago. I found these plans in my files and thought I’d post them. Download the full plans in Google Sketchup format here.
projector-design_with_top

using HTML + CSS for print-based layout

3-May 2009

I was charged with making an advertisement for my eBay consignment shop for the 2009 O.Henry Pun-off. Half as an experiment, and half out of necessity, I decided to see what I could come up using HTML + CSS to make halfway decent-looking advertisement for print.

The result uses SVG, so the only browser that renders it properly right now is Safari, but since it was being printed, all that mattered was that I could get a PDF from it at the end of the day.

The only real problem was Safari’s lack of honesty when interpreting units in millimeters for printing to PDF; 1mm in Safari v.3.2.1 actually means 1.125mm when printed.

.

refracting magnifying glass effect with Javascript

20-March 2009

After playing with this code and this demo of a javascript mouseover zoom effect, I decided to take the magnifying glass effect one step further and add some refraction:

It uses concentric images placed on top of each other to achieve the illusion. Paste in a URL to any image you want and you can play with it. It’s in an iframe, so you’ll have to dig a little if you want the source; it’s pretty ugly right now.

Photosynth of Zilker Kite Festival 2009

3-March 2009

I took 249 photos last Sunday at the Zilker Kite Festival and ran them through Photosynth for an interesting composition.
(If you don’t have Microsoft Silverlight installed, you’ll have to follow the installation instructions before you will be able to view it.)

picture-3picture-2picture-1

Open for business: PHP + MySQL (LAMP)

10-February 2009

Just FYI: I offer website repair, customization, integration, and anything else that doesn’t involve graphic design work. Rate is $60 / hr. I am best working with PHP + MySQL, but can adapt as needed. Please send me a note if you have a project you would like me to tackle. Please see my resume for links to websites I have worked on in the past.

PhotoSynth from my Balcony

27-January 2009

Now that PhotoSynth has been ported to Silverlight and Silverlight works on Macs, I thought I’d share a cool photosynth that I made from my balcony at A02.

Mad photoshop skills

5-January 2009

Here’s a quick little job I did because it needed to be done.

Before:
big-ride-logo
After:
big_ride_2008_cleaned