Photo Mosaics

Lately I've been playing with a cool Mac OS X application called MacOSaiX. You give the application a photograph and a collection of photos, and it recreates the main photo using small photo tiles from the collection. The effect is at least somewhat artistic, and definitely cool.

Here's one I made using pretty much every photo I've ever taken. It's of me at Collegiate Track Nationals, 2005, during the points race qualifying race. I think it came out pretty good, except for the white barrier in the background, which is kind of dirty in the mosaic because I have taken very few photos of only white things.

Photo

Photo

The program can also scour Google Images for photos, using search terms I provide. Pictured below is Chris Nekarda (closest to the camera), Tona Rodriguez-Nikl (with the red jersey), Tyler Ofstad (on the right) and me riding a few warm-up laps. For this mosaic, I put in a few dozen cycling-related search terms, netting over 30,000 images returned. Not all the photos are cycling-related, which is the main problem using Google Images, but at least no porn snuck into the mosaic. I think this one has a more artistic quality than the one above, especially in the red jersey that Tona's wearing. I think this is due to the larger library of photos searched and the wider variety of photos -- I tend to take my photos in one way and of similar things.

Photo

Photo

A third mode of the program is "Glyph" mode, whereby instead of photos, glyphs are made at random and fit to the photo. I also chose the hexagon mode, rather than the rectangle mode of the above two mosaics. The program chooses two colors at random, and also a random character from a random font on my computer. It makes one color the background of the glyph, and the character the other color in the foreground. This technique provides a nearly limitless number of glyphs -- I esitmate nearly 1019 different glyphs are possible. This is not neccessarily a good thing -- the program will pick color combinations that do not exist in nature, and it will throw out that glyph. The photo below ran for about 200,000 glyphs, and I would argue that it doesn't have the same level of detail replicated as the photo-based mosaics. This could partly be because I used an older version of MacOSaiX which could have poorer matching algorithms, or a result of the limited complexity and too big color space of glyphs. Of course, to make the best comparison I need to make a mosaic of the same photo using Glyphs and photos with the same version of the program.

Photo

Photo

I have some quibbles about the program. First off, it's not a team player. It's a serious resource hog and the computer is almost unusable for other tasks while it's running. This means if I want to run it I've got to leave my computer alone for several hours. iDVD, for instance, will happily encode a DVD in the background while I use the computer for other things, and I would argue that that is no less computationally intenstive. Also, I wish I could go to a particular grid square and tell the application that I don't like the image it put there, and it would put the second best image from the library in that square. The user can place images by hand on the mosaic, but I'm not nearly as skilled at photo matching as the computer. What I am better at is having an opinion whether or not that photo is good for the mosaic.

more ...

Timekeeping

Presidential Seal

When I become president I will mandate through Executive Order that all electronics that include a clock have some sort of mechanism to keep the clock accurate. There are many ways to do this already. Computers that connect to the internet can use Network Time Protocol (NTP). Cars and anything else that will be outside on a daily basis can use the Global Positioning Service (GPS). Anything within the lower 48 states, and much of Canada and Mexico, can use the National Institute of Standards and Technology (NIST) time broadcast out of Fort Collins, Colorado. Cell phones also keep very accurate time because they're in constant contact with the towers.

Sure, there are devices that may not ever go outside (GPS), won't be hooked up to the internet (NTP) and can't receive the NIST or cell tower broadcasts because they're in the basement. But there are ways around this. Put micro-repeaters on powerlines so anything within a neighborhood that is plugged in can receive the time. With careful engineering, even a battery-operated wall clock in the deepest basement could tune into the subtle signal that pulses in the wall circuitry. Put bluetooth in wrist-watches (cell phones already have it!) and create a kind of NTP for timekeeping devices. Just as long as the deeply buried gadget comes in contact with an approved wristwatch often enough, things should work out.

Atomic Watch

I don't think I'm the only one with this dream. This last weekend I purchased at a local Target a Casio WVA105HA-1AV Waveceptor Wristwatch for about $55. Every evening it tunes into the NIST broadcast to keep the clock milisecond accurate. A quick comparison with other Casio models tells me I paid about a 100% premium for the Waveceptor functionality, but that cost would go down with all the volume following my executive order.

Remember, if you want this to be reality, vote for me! And do try not to forget, because I'm not even eligible to run for president for nine years.

more ...

Applescripted Phratry Nexus

Although it is still a work in progress (see forward parenthetical note), the "Phratry Nexus" has been greatly improved today. (I don't know about you, but I remember some years ago when "Work In Progress" or "Under Construction" images were common on webpages. I don't see them so much anymore because I figure people finally figured out that all web pages are always "Under Construction" by definition.)

Back to my main point. If you look at the Phratry Nexus you'll see thumbnail sized screenshots of the various Phratry.net webpages (four as of this writing). Due to the already mentioned fluid nature of the web, keeping those thumbnails current would be pretty tedious if done by hand. That's where Applescript comes in. Ideally, I would have liked to write some kind of script and put it in crontab on the webserver, but doing screenshots is difficult from the command line. The Applescript I wrote (along with some help from my father, Mike) uses four apps, which either come with Mac OS X or are free: Cyberduck (for FTPing to the server), Freesnap (screencapture utility), Applescript Image Events (image editing) and OmniWeb (web browsing). OmniWeb isn't free, actually. Firefox would work too, but I got the script to work better with OmniWeb.

The specifics of the script aren't important, but the cool thing is Applescript allows me to do a 15-minute process of screenshot editing and uploading with just one double-click. It still takes about a minute for the whole thing to work (most of the time is from built-in delays in case of slow webpage loads), but that's still fifteen times better than before, and it's done right every time.

more ...

New Hosting Service

Hello from an entirely new server and address! The old steve.yikes.com (which equalled stephen.kicks-ass.net) is now stephen.phratry.net. The old site was hosted on my father's 933Mhz G4 using his residential cable modem connection (which was throttled to 40 kb/s for uploads). This new one is hosted by Site5 which offers feature-packed deals for not very much money.

You may be wondering what phratry means. According to Dictionary.com it means

  1. A kinship group constituting an intermediate division in the primitive structure of the Hellenic tribe or phyle, consisting of several patrilinear clans, and surviving in classical times as a territorial subdivision in the political and military organization of the Athenian state.
  2. Anthropology. An exogamous subdivision of the tribe, constituting two or more related clans.

Since I wanted to have other family members & possibly friends use this domain & hosting service, I wanted to think of a domain that wasn't too specific to any of us, but was descriptive. Although none of us are a member of a Hellenic tribe, the general idea is phratry refers to an extended family group, which describes the situation. I also kind of like the word because it's not very common and has an odd spelling.

The cool thing is everything is so fast! Downloading photos off of the old hosting situation was pretty painful. This should be much nicer.

more ...

More Yahoo! Mail Beta Thoughts

Following up on my previous post about Yahoo! Mail Beta I noticed that the new beta interface has no space available thermometer bar, like the normal Yahoo! Mail does:

Yahoo Mail

This is either an artifact of the beta not having all of the features of the old Yahoo! Mail yet, or that Yahoo! has something special planned regarding Mail. I'm willing to bet that unlimited mail is impractical and would be abused, but we'll see!

more ...

Die Spam, Die!

The blogging software I use for this site, WordPress, has the ability to add features through plugins. I just added a new plugin, called Akismet that is supposed to keep comment spam from appearing on my website. When I first set this blogging software up, I got a couple spam comments right away (get your viagra here! horny college co-eds!). I didn't feel like fighting it so I turned off comments for all my posts. Hopefully this weirdly spelled Akismet will actually work!

Okay, spammers, give it your best shot!

more ...

Yahoo! Mail Beta

Yahoo Mail

I just got added to the list of Yahoo! Mail users who get access to the new Beta interface. All in all, I actually like it, even compared to Gmail's interface. For a while now I've been hoping that Yahoo! would give users IMAP access to their email, so I could use a good email client with my own computer at home, but still have access to all my messages anywhere. This interface just might curb that desire. It has Gmail's trick of simple keyboard shortcuts, but also has drag-and-drop ability for messages, RSS feeds and cute icons. One really neat feature is you can have multiple "tabs" open. Tabs can have messages you're composing, reading, or your inbox. Very often I am writing a long email when I want to send a quick note to someone else. With tabs it should be very painless.

This new interface has the potential to be just as good as many email clients. I however, have some complaints:

  1. Please, please, please use fixed-width fonts. Email is not supposed to look good. If I wanted it to look good, I'd send a PDF. There are many reasons why fixed-width fonts are a good idea, foremost being ASCII art (of course!). My signature has a cute little cyclist guy nestled between my name, email & web address. With a variable-width font it looks terrible.

    But seriously, though, if I ever wanted to email myself some sort of crontabbed system log, the unix-style of formatting with spaces between items would completely not work. Please, Yahoo!, at least give us the option to have fixed-width fonts. I know I could fix that using site preferences on my browser, but that's not very practical on every single computer I use.

  2. When replying to messages, I like to reply to each of the person's points by quoting what they wrote, and then writing below that. Example:

    ```

    What do you think about the design? Too much? I think less red and more blue.

    Yeah, I agree. Red is pretty much the worst color you could ever choose. ```

    The way the beta does it is it puts the replied to message with about 4 carriage returns above it AND puts your signature above the message. This means that if I reply to a person's message the way I like to, the first thing my message will have is my signature. Dumb!

  3. As far as I can tell, right now there is no way to differentiate between what I've written and what I'm quoting. Usually there are the greater-than signs (>), but in beta there aren't. Some email programs put colored lines. I'm asking for something to tell them apart, Yahoo!, are you listening? Don't take a step backwards!

  4. The signature doesn't seem to recognize carriage returns. That's just silly. I have a three-line signature that gets turned into one very long line. Even if I didn't have ASCII art, it would butcher a simple signature.

  5. Fix the bugs! Editing a replied-to message is buggy. Before I can delete any of the copied message (the one I'm replying to) I need to type something at the very top. The interface could be faster, too. But then again, old Yahoo! mail isn't that fast, either.

I'm sure I can think of more things to gripe about it in the next few days. I'll add to this list as I use it.

more ...

Cantenna

Today I installed a cantenna on the roof of my apartment building. A "cantenna" is a highly directional, high-gain microwave antenna made out of a can, like a soup can. The most common application is for long distance wireless internet links (802.11x). I made my cantenna out of an old Maxwell House coffee can.

The cantenna points towards the UCSD Cancer Center, which is roughly 325 meters away from my apartment. This is outside the usual range for wireless internet. My apartment faces Southeast, while the center is Northwest of my building, meaning I cannot see the building at all from inside my apartment.

Cantenna

After getting permission from the apartment maintainence supervisor, I put a 16" long peice of 3/4" square pipe on the facia of the building. On top of that I screwed on an old flag mount, one you would attach to the side of your house on independence day. The flag mount has a part that has one pi steradian movement, allowing me to have a good measure of freedom to aim the cantenna. The cantenna is wired to a Linksys WET11 which lives in a plastic box under the cover of my porch ceiling. From there an ethernet wire goes inside through a small hole in the screen door frame.

Map

It was amazing how easy it was to get a strong connection! I had already done some simple tests, holding the cantenna up on the end of a broom. But nothing was guaranteed until I actually installed the thing. All I have to do is make sure the trees stay pruned back!

While it isn't the fastest connection ever (~300 kb/s max) it is very cheap (free-99). I estimate I've put about $100 into materials. My own DSL/Cable connection would cost that much every two or three months. It's especially fast to campus computers, where I send most of my data back and forth.

more ...