Knol got equation editing a few days ago, and to celebrate I've written up a knol on one of my favorite CS tricks, simhashing using sets. It's a technique I picked up at Google, and it's extremely useful for grouping together similar things in a large dataset.
Suppose you have a huge number of items that you would like to group together by a fuzzy notion of similarity. Suppose the only tool available to you is a key-value store. Suppose you only have the resources to consider each object once. Never fear, simhashing is here!
Governor Schwarzenegger has proposed closing 80% of California state parks, including most of those in the Bay Area. This is estimated to save $143 million out of a $24 billion deficit, or half a percent. This strikes me as a very poor decision given the miniscule effect it would have on California's finances, and the large effect it would have on California's quality of life. Furthermore, it may end up costing the state more than it saves if it decreases tax revenues from tourism. Admittedly it's a tough decision to spend $143 million on parks rather than on health insurance for poor children, but ultimately $143 million is a drop in the bucket for the latter. To put this in perspective, $143 million is $4.35 per capita after removing the unemployed. I'd much prefer higher entry fees or taxes to outright closures, or he could parole ~3000 non-violent drug offenders instead.
Closing these state parks means that gates would be padlocked, and parking and restrooms won't be available, though it will likely still be physically possible to enter. You can find a list of all 220 here. Here are a few of my photographs from the parks they are intending on closing.
It looks like Super Mario Brothers redone as a shimmering, moving, impressionist painting. It plays a little like Portal, but really unlike anything you've played before. The game explores the concept of time, how we perceive it, how it effects us. In each world, time operates in a different way, and there are maddening ingenious puzzles built out of the implications. Each puzzle teaches you something new about the logic internal to the world, and will make you think in a way you've never thought before. Once you've figured out a puzzle it doesn't require much more physical dexterity to complete than getting through the first few levels of Mario, but some puzzles may take hours of thought before you stumble upon the solution. As penny-arcade described it, epiphany is the central game mechanic.
The story is as impressionistic as the artwork, mostly told in snippets of text that accompany the entrance to each world. They relate the mechanics of time in that world to the ways in which we experience events in our lives. One section describes how returning to a place laden with memories can cause us to feel as if we are travelling in time, and not just space. In that world, time moves forward as you move to the right and backwards as you move to the left. The story and the art both get darker and more mysterious as the game progresses, with a baffling ending that will leave you reevaluating everything you've seen up til that point, probably for days afterwards.
If there was any debate that games are an art form as expressive as any other, Braid has settled it.
You can get the PC version from several sites, including Steam, or the Xbox version from Xbox Live Arcade. All are $15, and a free demo is available.
I helped some friends move into their new home over the weekend, and as always, moving became an opportunity to decide whether certain things were really worth moving. The broken grill that just needs an afternoon's woodworking to fix, the rusted recumbent bike bought with good intentions, the box full of leis and decorative sticks left over from a theme party, all become a little less benign when you have to load them into a truck and then figure out where they "go" in a new home. Some popular metrics for throwing it out: if you haven't used it in the last year, if you haven't used it since your last move, if you forgot you owned it. I hereby propose another metric particularly suited for those living in California: what it would cost you to get that space back by enlarging your dwelling.
First, figure out approximately what it would cost in dollars per square foot to increase your living space. From browsing Craig's List postings of comparable apartments, my current 400 square foot apartment could be upgraded at a rate of about $1.5 per square foot per month. Now compute the floorspace that the item consumes, multiply, and you have an approximation of the opportunity cost of that item in dollars per month. Translate this to years for added impact. To keep my new conga drums at 27" × 14" I'm giving up about $50 worth of floor space per year, which is a rate I'm comfortable with.
To compute this metric for stackable items such as books, divide this number by how deep the items are currently stacked in the way you are storing them, so as your bookshelf gets taller the storage of each book gets cheaper. It's cheating to compare it against the height of your ceiling directly. Add in the extra space wasted in storage. On my 3 layer bookshelf, the average 6" × 1" paperback stored vertically with 5" of wasted space in front of it is costing me $1.35 per year. That's more than I paid initially for some of these used paperbacks that I still haven't read after a few years of lugging them around. Out they go.
If you are living with someone and they want you to throw something out, experiment with paying rent to them on it at the rate you get from this calculation.
I made it to the San Francisco Postmortem, a get-together for bay area game developers, for the first time last Tuesday. I finally got to meet the creators of Natural Selection as well as reconnect with some friends from college, Sam Hart and Chris DeLeon. The guys at Unknown Worlds are busy working on a sequel to Natural Selection on a shoestring budget with minimal staff, and they are doing an amazing job of doing things as efficiently as possible. The biggest bottleneck though for a modern game is the incredible quantity of art assets required to achieve the graphical standards gamers expect. I've been interested in texture synthesis since I took a graphics class in college, and decided this would be a good opportunity to experiment with it in the hopes that it could speed up creation of texture sets. I've started a texture synthesis project on Google Code, and there are two bare-bones utilities there that are ready to start playing with. The code is all based on techniques from Efros and Leung with a variety of experimental modifications of my own. The ultimate aim of this is to produce something akin to an "automated super clone tool" such that an artist can make a few textures for a theme in exacting detail, and then synthesize the rest from sketches using this software.
So far I haven't been able to get satisfying results for any non-stochastic textures, but that's my aim. With this technique there seems to be a dramatic trade-off between giving the artist any control at all over the resulting texture, and the amount of detail present in that texture. If anyone has an interesting results or ideas in that regard, drop me a line.
Mike Rotondo held an art party last Friday night, and I took the opportunity to learn to paint! I mysteriously remembered a lot of techniques either from watching my mom paint, the tips she's given me, or my art-history class in highschool. It's 16"×20", acrylic on canvas paper.
Usually charity gifts aren't really satisfying. Giving in someone's name doesn't give them much enjoyment, or even much of a warm fuzzy feeling. They aren't personally doing the giving even if it's in their name.
Kiva.org gift certificates are different! The person gets to go online and pick and entrepreneur in the developing world to help fund. It's interactive so it's fun, and the person gets the warm fuzzy feeling of charity at your expense instead of theirs.
Many people's lives could be improved by getting a small loan, but credit often isn't available to them because it costs as much to administer a small loan as a big one. Kiva.org is part of the growing microfinance movement that aims to fix this by putting up the capital for these small loans so that the receiver gets a much lower interest rate on the loan than they otherwise would. Learn more. Try it out!
No matter your political beliefs, if you value freedom you can support this group. They are dogmatically consistent in their support of personal freedom, even when it conflicts with public opinion and common sense. They ask the questions that should be asked. As such, I support them even when I disagree with their position on any particular issue. They are as essential to the functioning of our society as the media.
It's unfortunate that the political issues surrounding the Boy Scouts of America have overshadowed the rest of what it does. It is responsible for more of my values and character than any other influence, and remains a fantastic organization. On the issue of permitting Gays and Atheists to be members, I consider myself part of the loyal opposition. As an Atheist myself and an Eagle Scout, I will support and participate in the organization so long as it will accept my support and participation.
The Nature Conservancy takes a unique approach to protecting wildlife. Their primary methodology is to simply take the money you donate and use it to buy land. Political progress is one election away from reversal, but the progress of the Nature Conservancy is as permanent as property rights.
A microfinance charity with a personal twist, Kiva matches lenders in the developed world with people whose lives could be substantially and permanently improved with a small loan. The loans are interest free, but you get your money back at the end of the term and improve someone's life in the process.
Freedom of speech is the most essential right. All others spring from it. In the US, we protect speech, even reprehensible hateful speech, more thoroughly than any other nation on earth. Many people aren't nearly so lucky.
The Medical Art Company
Award winning medical and scientific illustration, located in Cincinnati, OH.
Carriage House Farm They provide fresh local produce, honey, and horse stabling to the greater Cincinnati area. If you are interested in the workings of a farm, keeping bees, the politics of local food and family owned farms, or just what produce will be available at the next market, check out the frequently updated blog.
This game is definitely the most fun I've had online, and I also worked on it! Imagine Starcraft where each unit is controlled by a human and you'll be pretty close to imagining this game.
It's heartwarming that an organization that believes in bringing all knowledge to everyone just by creating the tools to allow everyone to volunteer is actually succeeding at it.