Converting images for the Web

Posted in photos at 9:47 pm by wingerz


One of the pitfalls of trying to master a new skill on your own is that you can easily miss something quite fundamental without someone to give you guidance. Over the past few months I’ve been wondering why my uploaded photos don’t look as colorful as they do on my computer. Fortunately today I encountered a blog post that told me exactly why. Turns out that I have been using the AdobeRGB colorspace for everything when I should be converting an image to sRGB before saving it for upload (sRGB is the colorspace that a web browser uses when it renders images). I have a lot more to learn before I get really competent processing RAW files.

So, I apologize. Look forward to more colorful pictures in the future!


Duck romance

Posted in amusing, photos at 1:10 pm by wingerz


Yesterday I took a short walk along the river. I don’t think I realized what was going on until it was over. But it was well-documented. NSFW for ducks.


Bacon salad: A compromise

Posted in food, home cooking at 11:40 pm by wingerz


Jen hates vegetables. It’s a struggle for me to get her to eat them.

Bacon salad is a compromise, which is why I made it on Valentine’s Day (along with the gorgeous high-roast chicken). On the one hand, it has spinach leaves, eggs, and red onion. On the other hand, it has 10 strips of bacon and the dressing has three tablespoons of bacon fat. It is quite delicious, but I will only be breaking out the bacon fat salad dressing for very special occasions. Oh man, it makes me sick just thinking about it.

Bacon salad
from ATK‘s Perfect Vegetables

Wilted Spinach Salad with Warm Bacon Dressing

6 ounces baby spinach (about 8 cups)
3 tablespoons cider vinegar
1/2 teaspoon sugar
1/4 teaspoon ground black pepper
Pinch salt
10 ounces (about 8 slices) thick-cut bacon, cut into 1/2-inch pieces
1/2 medium red onion, chopped medium (about 1/2 cup)
1 small clove garlic, minced or pressed through a garlic press (about 1/2 teaspoon)
3 hard-cooked eggs, peeled and quartered lengthwise

1. Place the spinach in a large bowl. Stir the vinegar, sugar, pepper, and salt together in a small bowl until the sugar dissolves; set aside.
2. Fry the bacon in a medium skillet over medium-high heat, stirring occasionally, until crisp, about 10 minutes. Using a slotted spoon, transfer the bacon to a plate lined with paper towels. Pour the bacon fat into a heatproof bowl and then return 3 tablespoons of the fat to the skillet. Add the onion to the skillet and cook over medium heat, stirring frequently, until slightly softened, about 3 minutes. Stir in the garlic and cook until fragrant, about 15 seconds. Add the vinegar mixture and remove the skillet from the heat. Working quickly, scrape the bottom of the skillet with a wooden spoon to loosen the browned bits.
3. Pour the hot dressing over the spinach, add the bacon, and toss gently with tongs until the spinach is slightly wilted. Divide the salad among individual plates, arrange the egg quarters over each, and serve immediately.


Tetris Attack at last!

Posted in games at 11:26 pm by wingerz


Oh man. It is real. And I’ve been waiting for it. If it has more than two-way multiplayer, it may replace Mario Kart. I can’t wait for this.

For those of you who won’t know, Tetris Attack/Panel de Pon/Pokemon Puzzle * is my favorite multiplayer puzzle game, despite the fact that my sister can usually beat me at it.


Looking at game data through Many Eyes

Posted in development, games, semantic web, technology, web at 1:53 pm by wingerz


Yesterday I blogged about creating an Exhibit for a list of the 100 best-selling games of 2006. Exhibit is great for looking at how data items fall into categories, but it’s not as good for visualizing quantities. IBM’s own Many Eyes provides several very nice visualization tools (Swivel allows data upload and visualization as well, but I am not that familiar with it, and it looks like someone beat me to it).

I uploaded my text data and created a few quick visualizations.
Review score vs. sales. As people have already remarked, a well-reviewed game won’t necessarily sell that well. Alas.
Release month. This is a recreation of one of the charts that appeared in the original Next Generation article. Summer is always kind of quiet and things get more exciting towards the holidays.
Categorization treemap. This is one of my favorite data viewers. Each game is a rectangle. The area is the number of sales. You can drag the labels (next to “Treemap organization”) in order to redraw the treemap. Drag “publisher” all the way to the left to see why EA cranks out annual releases of their sports titles. Drag “genre” over to see the portion of sales that are sports titles or games based on licenses. Dragging “systems” over doesn’t give you a great view of the data because the original data wasn’t all that clean and Many Eyes doesn’t seem to handle multi-value properties. I’m not sure why it’s showing a quote about the game by default instead of the title.

My other favorite data viewer (that I was not able to use) is the Stacked Graph viewer, made popular by the Baby Name Voyager.

One last note: I wasn’t allowed to edit the visualizations after I created them, so keep that in mind as you think of titles and tags for them.

Popular video games of 2006 Exhibit

Posted in development, games, semantic web, technology, web at 12:29 am by wingerz


A few weeks ago I came across an article about the top-selling games of 2006. There’s some analysis, then a list of the top 100 games spread across 10 web pages (starting, of course, with games ranked 100 to 91). Unfortunately, there isn’t a great way to really take a close look at the data. For example, I really wanted to see some Nintendo-specific analysis.

The data was screaming to be let out, so I scraped it and put it into an Exhibit. It was not a quick and easy process. I am quite certain that the HTML was hand-coded – the quotes start with “, ", |, or nothing at all, and some of the other elements are mixed up.The game platforms are not very well specified so I may need to go through and clean it up later; for this reason the portable/homeconsole sections are not 100% accurate.

Anyhow, now I have a perl Data::Dumper file, tab-delimited text file, and a JSON representation. Will probably upload the text file to Many Eyes for kicks.


Nikon’s 18-200mm wonder lens

Posted in equipment, photos at 2:12 pm by wingerz

image from
Thom Hogan

A few friends I’ve talked to have been interested in getting a DSLR, so I figured that I’d pass along this piece of advice: seriously consider getting a Nikon because of the 18-200mm 3.5-5.6 VR (vibration reduction) lens. It can be purchased for $750 if you are lucky enough to find it. Sounds like a lot of money, but on the Canon side (if a competitor isn’t released) you’re looking at buying 2-3 lenses and switching between them to get the full range. Glowing reviews describe it as life-changing (1, 2, 3). The lens isn’t perfect (reviews mention some distortion at the focal length extremes and build quality isn’t the best), but overall it sounds awesome. Three of the guys at work have managed to get their hands on one, and a fourth is not far behind.

This past week I’ve almost exclusively been snapping away quite happily with my cheapest lens, the good ol’ Canon 50mm 1.8. It feels like a plastic toy and is very loud when it focuses, but it does take some nice pictures. It’s also very small, which makes it easy to take around.


High roast chicken

Posted in food, home cooking at 9:10 am by wingerz


A few months ago ATK featured a recipe for high roast chicken. It looked so unbelievably good that I knew I had to make it. It ended up being Valentine’s Day dinner. The chicken is cooked at 500 degrees F on a broiler plate; thinly sliced potatoes layered inside the plate soak up all of the juices that drip down. When I took the chicken out of the oven, I was very impressed by its beautiful brown color. The skin was very crispy and the meat was tender and flavorful. The potatoes were tasty as well. This is definitely going to be prepared again soon; not only was it amazingly good, it only took 45 minutes in the oven.

To butterfly the chicken, cut along both sides of the backbone starting from where the neck begins with kitchen shears. Lay the chicken on a flat surface, breast side up, and press down hard along the middle of the breast to break the bone and flatten it out.

The flavored butter I used contained rosemary, pepper, and mustard.

For the potatoes, I used our mandoline for the first time. It was a gift from Ellen during Christmas 2005, so I’m glad it was finally put to good use. Some of the nicely browned potatoes stuck to the bottom layer of foil because I didn’t oil it enough.

High roast chicken with potatoes
From America’s Test Kitchen‘s The New Best Recipe

1/2 cup table salt
1/2 cup sugar
1 whole chicken (3 1/2 to 4 pounds)
1 recipe flavored butter for placing under skin (optional)
2 1/2 pounds russet or Yukon Gold potatoes, peeled and sliced 1/8 to 1/4 inch thick
1 1/2 tablespoons olive oil
3/4 teaspoon salt (for potatoes)
ground black better

1. Dissolve the salt and sugar in 2 quarts cold water in a large bowl. Immerse the chicken in the brine, cover, and refrigerate until fully seasoned, about 1 hour. Meanwhile, adjust an oven rack to the lower-middle position and heat the oven to 500 degrees. Line the bottom of a broiler pan with foil and spray with vegetable cooking spray. Remove the chicken from the brine and rinse thoroughly under cold running water. Following the illustrations on page 317, butterfly the chicken and flatten the breastbone. Apply the flavored butter (if using) by slipping your fingers underneath the skin of the breast and legs to loosen the membrane and rub the mixture beneath the skin. Position the chicken on the broiler pan rack and push each leg up to rest between the thigh and breast; thoroughly pat dry with paper towels.
2. Toss the potatoes with 1 tablespoon of the olive oil, the salt, and pepper to taste in a medium bowl. Spread the potatoes in an even layer in the foil-lined broiler pan bottom. Place the broiler pan rack with the chicken on top. Rub the chicken with the remaining 1/2 tablespoon oil and sprinkle with pepper to taste.
3. Roast the chicken until spotty brown, about 20 minutes. Rotate the pan and continue to roast until the skin has crisped and turned deep brown and an instant-read thermometer registers 160 degrees in the thickest part of the breast, 20 to 25 minutes longer. Transfer the chicken to a cutting board. With potholders, remove the broiler pan rack; soak up excess grease from the potatoes with several sheets of paper towels. Remove the foil liner with the potatoes from the broiler pan bottom and invert the foil and potatoes onto a baking sheet or second cutting board. Carefully peel back the foil, using a metal spatula to help scrape the potatoes off the foil as needed. With additional paper towels, pat off the remaining grease. Cut the chicken into serving pieces and serve with the potatoes.


Valentine’s Day 2007: A team effort

Posted in food, personal at 11:16 pm by wingerz


I’ll be the first to admit this year that I didn’t do a great job of celebrating Jen’s birthday. She was out of town on the actual day and the following week was brutally busy for both of us. Valentine’s Day offered redemption, and, with the help of some great friends, I redeemed myself.

It started a few weekends ago in Farmington, CT. Lee’s Mom treated Lee, Lynn, and me to a wonderful lunch and an afternoon of pottery painting. I decided to make something for Jen since we already have a lot of hand-painted serving dishes, trivets, and more from Jen’s bridal shower. We brought the pottery back to Boston, where Lee and Lynn took it to get fired.

Yesterday at work Cathleen gave me some home-made fudge. Since I didn’t have any dessert planned out, I gladly accepted it.

I’m glad we didn’t go out tonight; it was quite miserable outside. We enjoyed a wonderful dinner. I made bacon salad, high roast chicken with potatoes, and popovers (recipes and pictures to follow in the next few weeks). I served some chocolate-covered strawberries in my plate to go along with the fudge.

From now on, Jen will be eating all of her meals out of the plate.


Becoming a Citizen Teacher

Posted in community, technology at 11:49 pm by wingerz


Citizen Schools is a nonprofit middle school after-school program that was started in Boston 12 years ago. Since then it has grown to include 2,000 students and 24 campuses. The core of the program relies on Citizen Teachers: these are volunteers who come in to teach a class, which can be on just about anything: past classes have included finance, photography, oceanography, astronomy, and quilting. The class is taught in 10 once-a-week sessions that are structured to reach a “Wow!”: a tangible end goal that the students can be proud of assembling. All of this is fit into a structure that teaches students important life skills and values.

This semester Lee and I are teaching a class on computer programming. It’s based on an existing curriculum composed by Emmanuel Schanzer that teaches Scheme programming with the Wow! being a computer game. So far we’ve been very impressed by the support for volunteers: we’ve attended two hours of Citizen Schools training (where we learned about the philosophy behind Citizen Schools), two mornings of curriculum training with Emmanuel (to familiarize ourselves with the curriculum and to discuss teaching strategies), and a meeting with our CS campus director. We were assigned to a Team Leader, who is present in all of the classes to handle classroom discipline and help us with our weekly lesson plans.

Today we had our first interaction with students at the school. All of the Citizen Teachers got an opportunity to pitch their classes (called apprenticeships – there is a lot of CS vocabulary) to the students. We delivered our pitch to three different groups of students, getting a great response from each group. After all, who doesn’t like video games? Of course, we tried to highlight other aspects of our apprenticeship. We emphasized the development of problem solving skills by giving the students a situation puzzle. Overall it was successful except for the class where someone blurted out the answer about 30 seconds into the exercise. During the closing ceremonies, “Fred,” the character in our puzzle, was given one of two student shout-outs, much to our delight.

It was a lot of fun to be in the classroom again. The students are in for quite a surprise when they find out that most of the apprenticeship will be spent playing with parentheses, doing lots of math, and paying close attention to detail. Hopefully we can keep them entertained and teach them something while we’re at it. Class starts on February 26.

« Previous entries Next Page » Next Page »