Archive for June, 2005

The Baby Pool

A few days ago I sent an email to everyone I know of who reads this blog. It was about the “Baby Pool” a friend of mine set up for me at babypool.com. I thought I’d repeat the information here just in case I missed anyone in the email. You can go to the baby pool annd place your bets on when you think Baby X willl be born, and what you think his height and weight will be. But there is no money involved - it’s just for fun. You can also vote for your favorite name (we’ve posted a list of 10 choices). So if you haven’t seen it already, go to the baby pool now.

Photo Management Software: First Update

It’s really inefficient to try writing software in 20 minute chunks of time, on alternating days. You spend most of the 20 minutes just figuring out whatever it was you were working on last time (at least, that’s what you do if you’re going prematurely senile, like me). That’s how I’ve been proceeding on my photo management software, since 20 minutes is about all the time I can spare most days. At this point I have the database tables in place and I’ve started on the administrative interface. I’m realizing just how big of a project this is going to be - there’s a reason applications like Coppermine and Gallery consist of hundreds of files and thousands of lines of code! My application won’t be that big though. That’s because I’m not going to pack everything plus the kitchen sink into it - i.e. it won’t include emailing photos, photo comments, rating photos, etc. I like the WordPress model, where those sorts of things would be plug-ins you could add if you want, not part of the core program. Also, I’m trying to design it with the goal of maximizing code reuse, which will hopefully keep the codebase compact and robust.

Here’s the concept of my approach:

  • Collections: a typical installation would have just one collection of photos. But I wanted to include the possibility of multiple collections, so that you can support more than one user with a single installation of the software. Collections have a one-to-many relationship with…
  • Categories: this is the same as the Coppermine concept of categories. They provide a way of organizing your albums into groups. So categories have a one-to-many-relationship with…
  • Albums: photos are organized into albums. My approach differs from Coppermine and Gallery in two respects: 1. you can specify an order for the photos (Coppermine and Gallery order them by filename), and 2. you can have a photo in more than one album (in the real world you can only put a picture in one album, but why replicate such a physical constraint in the digital world?). So albums have a many-to-many relationship with…
  • Photos: the database table for the photos will include the file path, a (short) caption and a (long) description, the shoot date and the upload date, and an “exclude from random” flag that will allow you to exclude it from a random photo display.
  • Slideshows: this is a concept I haven’t seen in other photo management tools. Slideshows are part of a Collection, but otherwise they stand alone. The idea is to provide for an organized presentation of photos that’s distinct from albums. My Things you Don’t See in the US blog entry is a good example of a slideshow. In the album for our Japan trip, I would present these pictures chronologically (since that’s the way to organize trip photos), but I also want to be able to present them in a non-chronological, thematic way.
  • Blog integration: this is also something I haven’t seen in other photo management tools. As I described before, I did a lot of hacking to psnGallery2 and Coppermine to provide at least some level of integration. But what’s under the hood is ugly and hard to maintain. To my way of thinking, blogs and on-line photo management are separate things, but conceptually there’s a natural fit between them that should be brought to life. psnGallery2 has handy tags that make it easy to put a Coppermine photo into a WordPress blog - I want to extend that concept to slideshows. That is, I’d like to just put a tag in a WordPress entry that would expand into an entire slideshow display. What I do now is build the slideshow in WordPress by hand, looking up the photo id numbers in Coppermine one at a time, and that’s a silly way to spend my time. I also want to have the connection reciprocated from the slideshows and photos that appear in the blog, so if you’re just browsing through the photos, you can link to the blog entries where they appear.

So that’s what I’m working on. The development is still very much in it’s early stages, and it’s going to be a long time before I have a working prototype, so if any of my geeky readers (and you know who you are) have any suggestions, please let me know!

Baby X: The Name Game, Part III - “Make a Decision Already!”

Thanks everyone for the feedback on the names. Maria corrected me on the pronunciation of Masai. It’s Masa-ee. Also, in the comments, Paul pointed out the slave owner connotation of “Masa” - yikes! Please keep the comments coming - your input could save him from getting beat up on the playground.

When we were picking Kai’s name, we thought of “Kai” early on, and liked it immediately. We’re now realizing that Kai is a rarity among Japanese boys’ names: it’s easy to pronounce, and it sounds masculine to an American ear. About two-thirds of all the Japanese boys’ names are too difficult for a native Rhode Islander’s like me to say without sounding like an idiot. Of the rest, many sound feminine, as they often end in “a”, and the Japanese addiction to long vowels gives most names a “soft” sound.

We’re now finding ourselves re-considering a couple names that were on our initial list but had slipped our minds: Makoto, Makio, and Nikko (”knee-ko”). We need to learn more about the meaning of Nikko, as “ko” is traditionally a feminine name ending (e.g. the female version of Masa is Masako), but Nikko turns up on lists of boys’ names.

After discovering Tei the other day, I’ve learned you can put a variety of different consonants in front of “ei”, and it’s a name. So, I’m also looking at Jei (”Jay”) and Rei (”Ray”), but I haven’t run them by Maria yet.

So much for having narrowed it down to three options. Am I driving you crazy yet?

Baby X: The Name Game, Part II

Maria and I have exhausted ourselves trying to come up with a name we both like. We’re down to a very short list: Tei (pronounced “Tay” - an uncommon name in Japan), Masa (a common name, typically used in combination with something else, e.g. “Masahiro,” but we’re thinking of using it by itself), or Masai (an uncommon variation of Masa - the ending is pronounced like samurai).

We’ve settled on a middle name: Lee, which is my mother’s middle name. Since it works as a boy’s name too, it’s a nice way to work in some mother-honoring since we’ll have two boys, and we’re not going to have a third kid. So putting it all together, we have these possibilities…

Tei Lee Toppa
Masa Lee Toppa
Masai Lee Toppa

When we were previously considering Gen, I realized it wouldn’t work with Lee, because then he’d be General Lee!

I like the confluence of cultures: a Japanese first name, a middle name from the South (my maternal grandmother is from Virginia), and an Italian last name. It’s also interesting how the names might be misunderstood: the Masai people of Eastern Africa are famous warriors, and Lee is a common Chinese name, so some may mistake him for Chinese.

The Race Is On

Baby X is due Aug. 18 - almost exactly 8 weeks from now. Now that the drywall guys are gone, I’m busy painting and finishing up the new electrical wiring. The question is whether I will finish everything that needs to be done before the baby arrives. Maria has millions of years of human evolution working for her, so the baby will definitely come around the time he’s supposed to. On my side, I had the flakey drywall contractors who set me back well over a month.

I finished painting the dining room a few weeks ago, so we’re excited that we no longer have to eat in the living room. Last week I finished painting our new bedroom, and I’ve assembled the “closet system” for inside the closet. Yes, a “closet system” - that’s what they call shelves and rods these days. This kind of marketing-speak drives me nuts - I even saw a sign for “meal solutions” at the grocery store the other day. Silly me, I thought it was called “food.”

Ok, I’m over my Andy Rooney moment now. Anyway, our new room and the baby’s room have the last of the original (and totally trashed) windows in the house, so we’re replacing those next week. My goals after that are to paint the baby’s room and the stairwell, and build balusters and a railing for the stairwell (to replace the wall I took out) before Baby X arrives. I had wanted to finish our half bath as well (right now it’s an empty room with no toilet or sink), but I’ll probably run out of time.

I’m In!

I just got my acceptance letter for Penn’s MCIT program. My math GRE score was about 100 points below the average of past years’ classes, but apparently the other aspects of my application made up for that. Luckily, my article was published the day before I had to turn in my application, so I was able to include a citation for it. I’ll go part-time - one class per semester - which puts me on the 5 year plan for graduating (I have to take 10 classes, and they don’t have summer courses). I’m not in a hurry though, so that’s fine. Classes start a few weeks after Baby X is due, which isn’t ideal, but it’s better than having classes start at the same time!

The Giant Trash Can

Yesterday Kai said my car is “like a giant trash can.” It’s a rusty ‘88 Nissan Sentra I bought about 6 years ago for $800. It looks like a piece of junk but it runs fine. On the days I drive to work, it’s the perfect car for parking near my office in West Philly, as I don’t have to worry about anyone stealing it ;-) (Although Philadelphia is the country’s sixth largest city, it ranks third for auto theft, coming in behind LA and NY, and West Philly is not a good part of town).

One day in 2000, soon after we bought our shiny new Toyota Echo, I was working in the front yard, the Echo was in the driveway, and my Sentra was parked on the street. A skinny black boy - who looked to be about 8 years old - was walking by, and he started asking me about the Echo. He said he’d never seen a car like it (2000 was the first model year for the Echo). After I answered a few of his questions, he asked me “is it your car?” I said, “well, my wife usually drives it.” “Oh, what do you drive?”, to which I responded by silently pointing to my Sentra. He answered, “oh, I see how it is.”

Awfully sharp for an 8 year old.

Pho 75 (South Philadelphia)

Rating: * * * 1/2

1122 Washington Ave
Philadelphia, PA 19147
(215) 271-5866

Pho 75 is, for me, where it all began. To my knowledge, Pho 75 is one of only two pho chain restaurants (by that I mean more than just 2 or 3 locations). Pho 75 has 7 locations - they’re in Philly, Maryland and Virginia. The location in Arlington, VA is where I had my first bowl of pho, about 11 years ago. I haven’t been to the Arlington shop in many years, but I usually found it maddening to go there, because the quality of the pho was so inconsistent. I’ve had my best bowl of pho there, and many mediocre bowls as well. Now that I live in Philly, I’ve been to the South Philly location many times, and I’m happy to report that the quality of its pho is consistently high. Not the best ever, but definitely excellent.

Embedded in a Vietnamese shopping center, it has the perfect location. When I bring my family, after we eat we’ll wade through the crowd at the always crowded adjacent grocery store. Kai and I will ogle the lobsters and crabs crawling around in their tanks, and Maria will stock up on Asian cooking ingredients - the kind you won’t find at Acme. And I always find myself wandering through the trinket shops, awestruck by the airbrushed, glowing, back-lit wall hangings depicting rivers flowing through forests, with built-in sound effects of rushing water and chirping birds (and inside there’s some kind of rotating element that makes it look like the water is flowing). How, and more importantly, why, did somebody create this? Philly only has one of these shopping centers, and compared to the various sprawling “Little Saigon” centers in the San Francisco Bay Area, it’s tiny. Even though there’s no Ranch 99 market (with the priceless slogan “we try harder for 100!”), the character is the same, and that’s what’s important.

The inside of the South Philly Pho 75 is cleaner than your average pho shop, but it has the standard array of long tables, fast service, and absolutely no decor of any kind. The soup is excellent in every respect: good broth, properly cooked noodles, and quality cuts of meat. On my most recent trip I went with my Indian co-worker Anand - he said he felt like he was in a typical restaurant in India, so I guess that means it has an “international” feel ;-). It’s always fun to indoctrinate a pho newbie - hot sauce or chili peppers? lemon or lime? how much basil, hoisin sauce, and sprouts to add? One of the great things about pho is how much you can tweak the flavor after it’s been served to you. After just one trip, Anand has become a phonatic, insisting that we must go back every other Friday. If that’s not a sign of a good bowl, I don’t know what is.

Photo Management Software

I’ve mentioned before that I’m using Coppermine to manage the photos on my website. I was happy with it at first, but recently I’ve been finding it to be limiting and poorly written. The most frustrating aspect is that the UI and the application logic are not separated - I’ve had to hack the code all over the place to make simple design changes, which means it’ll be impossible for me to upgrade to a future version (at least, not without doing my hacks all over again). Another annoyance is that the only way to re-order photos in an album is to rename them: the order is determined alphabetically by filename. That’s…really lame.

Something I’ve been looking for, but haven’t found in any photo management software, is the separation of “slideshows” from “albums.” To me, an album is used to thematically organize photos, while a slideshow can be used for a one-off presentation of photos that might come from more than one album. I’d also like to be able to put pictures in more than one album. For example, Baby X will get his own photo album, just like Kai, but I’m sure we’ll have pictures of the two of them together that I’d like to make available in both albums. Lastly, I really like the “random photo” that I’ve got on the blog, but I have no ability to exclude photos from appearing in the random display, which is something I’d like to be able to do.

So I’ve started work on my own photo management software. My approach is a completely OO design. This allows me to rationalize the effort as an opportunity to start learning the new objects implementation in PHP 5, since we’re still using PHP 4 at my job. I don’t have a lot of time to work on it though, so we’ll see how far I get with it.

Reality-Enhancing Sunglasses

282|3

An MIT researcher has invented sunglasses that block images from TVs and computers. He’s going in the wrong direction - I want the They Live sunglasses - the ones that show me the real media messages.