Archive for the ‘General’ Category
After our hike through Portland we had some mediocre Indian food for dinner and checked out the very impressive Powell’s Books. The next morning we had breakfast at a Portland staple: Voodoo Doughnut. I’m a very boring man and only got a couple of cake doughnuts, but Courtney got a Voodoo Doll and an Old Dirty Bastard.
Next up was a stop at Por Que No, a (very) small taqueria. Their homemade tacos and salsa were extremely tasty and we’d recommend a trip to anyone who doesn’t mind being crowded.
We went to the post office on the way out of Portland to mail ourselves home some laundry and then it was up I-5 to Seattle. We ditched the rental car at the airport and took public transit to our hotel at 9th and Pike.
Right about here we got a little lazy with the chronology of picture taking but I’ll list the highlights
In our entire trip to the Pacific Northwest we only got sushi once at I Love Sushi in Seattle…
We went to the Seattle Public Library…
We flew to San Francisco where we stayed at the Hotel Triton just outside of Chinatown…
We went to the Museum of Modern Art which has “Personal Values” by Rene Magritte…
On the last day of our honeymoon we ate clam chowder in a sourdough bread bowl for lunch, took the rail lines to the Pacific shoreline just to have a look…
…and then flew home that afternoon.
Next up: the terrible things my terrible coworkers did while I was gone!
I left off last post right at our arrival in Port Angeles, Washington. We immediately drove off on US-101, headed slightly west and then south around the Olympic National Forest.
Sometime in here we stopped in Forks, WA, the home of the Twilight Saga. It was pretty much completely stupid. Every single establishment was flogging the advertisement angle so hard it was embarrassing. We stopped to pee in the city park and left as quick as we could.
We stopped mid-afternoon for a hike in some temperate rain forest at Lake Quinault.
We stayed that evening in Ocean Shores, WA, a sleepy little seaside town that was decidedly in the off-season.
Our destination the next day was Portland. We went by way of, Astoria, Oregon, where we had heard about a fantastic fish-n-chips place. It’s an little old fishing boat that was parked on the corner of a gravel lot and filled bursting with fryers. They only serve what’s caught that day and for that reason may be closed at any given date. They were not closed that day
We continued our trek to Portland where we stayed the evening in a fine hotel called The Inn at Northrup Station.
That evening turned out to be an adventure. Courtney had gotten a map of a homebrewed walking tour of Portland from a book called Oregon Townscape Walks. The maps are all hand-drawn and the directions are all in LEFT and RIGHTs and were sometimes fairly vague in terms of landmarks. Over the course of 4.6 miles we experienced:
Not pictured: wondering if we were completely lost because the map wasn’t clear about the exit from the forest into a medical center complex!
We were tired as heck when we got done but it was a lot of fun.
Here I will leave off until Part Three: What The Hell Is On That Doughnut?
After my excursion into poetry last week – and by the way I have had the Fresh Prince theme song stuck in my head nearly constantly since – I received some questions about why my blog had the tagline “A rare situation.” Well hell if I remember the “why” of it but I can at least share the source of the words: Achewood, my favorite webcomic, from a storyline called “Slow Pitch Softball”
If anyone out there likes webcomics and doesn’t read Achewood, or doesn’t like webcomics period, that’s fine and that’s good. If however you want to read a work of writing genius that became Time Magazine’s #1 graphic novel of 2007, you’ve got nine years of strips to catch up on. A good starting point is original storyline: The Party.
It became a common refrain in the weeks leading up to the wedding:
“What are you looking forward to most?”
We’d been planning the honeymoon almost as long (if not longer) than everything else and both of us desperately needed a vacation. I hadn’t had any non-family-related time off since about 2004. We spent the wedding night in a hotel by the Kansas City airport then bright and early the next morning we were on our way!
We flew into Seattle, arriving in the early afternoon. Apparently the weather had been a little iffy earlier that day but by the time we left the airport in our rental car it was sunny in the high 50s.
This very fine day turned out to be a trend. The weather was actually amazingly cooperative most of the trip. We rented a convertible and had the top down fairly often, albeit with the heater blasting. People looked at us like we were nuts but saying “we’re on our honeymoon” excuses a good deal of peculiar behavior
We drove up to Vancouver where we stayed at the Sunset Inn and Suites for two nights. The hotel is situated in downtownish Vancouver on the West End, a location defined by wall-to-wall ethnic food restaurants. We rented bikes and rode around Stanley Park, went to the Museum of Anthropology, and generally walked around and ate plenty of Asian food.
Biking around Stanley Park (All pictures and a movie from Stanley Park).
The Museum of Anthropology at University of BC Vancouver (All pictures from the MoA).
We left Vancouver on the third day and took the ferry to Vancouver Island. We visited Butchart Gardens and then drove down to spend the night at Victoria.
One of many wallpaper-worthy photos of Butchart Gardens (All pictures from Butchart Gardens).
The next morning, we took the ferry out of Victoria to Port Angeles, Washington. This was quite a bit harder than leaving the country in the first place. The customs line boarding the ferry took an hour and a half, and the customs agent on the other side didn’t believe us when we said we were on our honeymoon and that we didn’t bring anything back. USA #1!
This is a good place to take a break – this post could get enormous and impossible to load. “Honeymoon Part Two: The Americaning” coming soon!
(with apologies to Will Smith / DJ Jazzy Jeff)
Now this is a story all about how
My site got twist-turned upside down
So I’d like to take a minute just sit right there
I’ll tell you how I fixed this blog ’bout a situation rare
It’s been four months or more since a topic’s been raised
Getting married is how I’ve spent most of my days
Working some, gaming, spending time with my wife
Now the wedding is done so I can write about life
Then thirty thousand bots, they were hawking their sites
Started writing comments with lots of bytes
I tried one little upgrade and WordPress got frustrated
“There’s so much junk here, now your backup’s truncated!”
I cursed MySQL for its lack of transaction
But I thought for a second and calmed down a fraction
If work’s taught me anything it’s been “save data twice”
This recent SQL dump would make everything nice
I wrote some lines of script (about seven or eight)
And it cleaned out the spam not two seconds later
Re-imported the data and now I prepare
To write posts on this blog ’bout a situation rare
In the beginning of March my company hosted a chili cook-off for charity. I figured that it was a good cause (anti-cancer), so I might as well enter. There was only this one little problem…I’d never cooked chili in my life. Also I do not own a slow cooker. Whoops.
Even though I don’t know the first thing about chili, Courtney and I do know some things about cooking in general. We adapted a loose-meat sandwich recipe from 660 Curries into a concotion that I called “Chris’s Indian Chili” (thank god it wasn’t a creative writing-off). My entry didn’t win but nearly everyone who tasted it complimented me on it. Several people asked for the recipe and at long last here it is:
Chris’s Indian Chili (serves 2)
- 12 oz ground beef (we used 93% lean)
- 1 28 oz can of diced tomatoes
- 1 1/2 cups chopped red onion
- 4 cloves garlic, minced
- 3 lengthwise slices of fresh ginger, about 2″ by 1″ by 1/8″, finely chopped
- 2 fresh green chilis, finely chopped (we used serrano and kept the seeds in)
- 3 tbl tomato paste
- 2 tsp garam masala
- 1 1/2 tsp salt
- 1 1/2 tsp cumin seed
- 3 tbl cilantro, chopped
- 2 tbl canola oil
- 3/4 c water
- Freshly chopped scallions for garnish
- In a large skillet, heat oil over medium heat. Add cumin seeds and roast for 10-15 seconds. Add onion, garlic, ginger, and chiles; stir-fry for 3-5 minutes.
- Add tomato paste, garam masala, and salt. Reduce heat to medium-low and heat, stirring occasionally, for 3-5 minutes.
- Add ground beef and cilantro, cook 5-10 minutes.
- Stir in water and tomatoes (with the juice from the can), cover and simmer for one hour.
- Uncover and cook for another 30 minutes. Garnish with scallions and enjoy.
Right now you may be saying to your computer in the ever-present hope that I’ll hear you: “Chris, I think a chili recipe that serves two would make for a fine dinner, but a cookoff? How much more would a person have to make?” Six times more. Six. Twelve chilis, six cans of tomatos, four and a half pounds of beef. Take my word for it this was a sight to behold.
Oh wait you don’t have to take my word for it
Hello anyone who is still looking at my blog! Sorry about the four-month posting hiatus, I’ve been somewhat busy with life lately.
When I was in college I played Dungeons and Dragons with a group of friends (forestalling the inevitable question: no we weren’t the group who dressed up as their players and acted out battles). It was a great time, but when I moved to Kansas I never found anyone who was interested in playing. A few months ago I started to gauge interest in the idea of a D&D group at Perceptive. There were a few people who wanted to play or learn but no one wanted to run the game. Well fine then. I AM STEPPING UP.
When a person gets into D&D the first thing they may notice is the price tag. The core rulebook? $30. A set of dice? $5. A miniature representing a character? I haven’t looked lately but as the game leader I would theoretically require many of them. The cost only goes up. I have three core rulebooks, something like six sets of dice, and a wedding in eight months that is exhausting pretty much all of my cash monies. How does a fellow in such a situation run a potentially expensive game?
Homebrew! Courtney and I just finished making a very nice homemade battle grid, which for the uninitiated is the board on which miniatures are placed and terrain is drawn to represent battles.
Courtney and I are getting married on October 9, 2010. Mark your calendars!
Way back in April I talked about a new programming project: extracting and analyzing text from the Codex Seraphinianus. It’s been several months since any updates. Progress has been really sporadic (life happens), but I can now present the next step in my silly past-time.
In my last post I mentioned that the pixel connection algorithm wasn’t perfectly suited to isolating words. One of the problems was that the scan quality produced a lot of “broken” text – cursive lines don’t quite line up and sometimes a single word is carved up into multiple regions. I’ve implemented morphological functions to “close” words and produce better connections, but I haven’t taken the time to sit down and tune the process so that it doesn’t accidentally turn fine loops into dense blocks of black. The other big problem was that the process didn’t group diacritics with the modified word, and it is the solution to this that I’d like to share.
First, let’s understand how the connected components algorithm outputs its information. It starts with an image that looks like this:
The algorithm starts at the upper-left and works down and right, numbering the regions as it encounters them (usually, more on this later):
The challenge now is to attach the diacritic, region 2, to the larger word represented by region 1. To do this, each region gets a bounding rectangle…
…and the following algorithm is applied to all N regions:
for each region X between 1 .. N: for each region Y between X + 1 .. N: if region Y is fully contained by region X: region X consumes region Y
In the example image, region 2 is indeed fully contained by region 1, so it becomes part of region 1. This is good for the Codex script, most diacritics appear close to the letter it modifies and usually within the boundaries of the full word. Applying this procedure to the first page of the Codex yields some pretty good results.
Still not perfect, though. You can see that there are some diacritics that are clearly fully contained by the parent word, but they aren’t consumed by the word.
It turns out that there are some pathological cases in region numbering. The connected region algorithm does not always correct number regions in a top-down and left-right manner, so the enclosure algorithm listed above doesn’t catch everything. Let’s say that the example image is one of these cases:
Now region 1 doesn’t enclose region 2, and since the algorithm only counts up (for efficiency’s sake), the diacritic isn’t grouped in with the word.
It’s not a great situation, but there’s a fix. Rather than mess around with the connection algorithm and trying to figure out the numbering sequence and where it breaks down – even for a small image, the numbers start getting pretty hard to keep track of in one’s head or on paper – I added an extra step when the bounding rectangles are calculated. Working again in a top-down/left-right fashion, I simply renumber the bounding rectangles as they’re encountered. This fixes the misnumbered cases and doesn’t add complexity for the normal cases, and the result is much better:
We’re still not at 100% diacritic capture – if you look closely, there are three diacritics that aren’t included with the word that they’re intended to be included with (left of the first word, right of the fourth word, right of the last word). This isn’t another pathological case or anything, those marks actually do not fall completely within the bounding rectangle of their word. Oh well. It’s time to move on to other things – frankly, if I get to the point where I’m statistically identifying language features and a couple missing diacritics make a huge difference, I can go back and tweak things then