Yesterday was Valhallacon's Game Day at Eagles. It was a lot of fun.
I ran 2 sessions of Paranoia, and played in a game of Corporation that Echo ran. I enjoyed Corporation quite a bit. It's a somewhat combat-oriented intrigue/special-ops RPG, which wouldn't be my first choice for a campaign to play in, but the session was fun.
The two Paranoia sessions were fun, for me at least. The first session in particular had some episodes where I could just sit back quietly and listen as the players harangued each other, which is one of my favorite parts.
I'm still a little sad, though, that Quina-R-IAN stopped the field lobotomy.
Amazon pulled 1984 and Animal Farm from the Kindle. Not just from the kindle store, but from individual kindles.
I generally oppose buying DRM-limited copies of media that I might want to use multiple times, such as books or music, because I'm worried that the DRM service will stop running and I'll lose access to the media. This has happened several times with music, where the site that verifies the DRM content gets taken down.
However, it never occurred to me that whatever service I purchased it from would reach into my device and delete it. I've been wrestling with the idea of buying a kindle for awhile now, mostly to try to reduce the number of physical books we have in the apartment -- or at least to keep it at the current seven bookcases level (which was quite difficult to achieve). But now -- no. Oh well, someday I'll find a reader I'm happy with.
Discussion in the forum gave this explanation from Amazon:
The Kindle edition books Animal Farm by George Orwell. Published by MobileReference (mobi) & Nineteen Eighty-Four (1984) by George Orwell. Published by MobileReference (mobi) were removed from the Kindle store and are no longer available for purchase. When this occured, your purchases were automatically refunded. You can still locate the books in the Kindle store, but each has a status of not yet available. Although a rarity, publishers can decide to pull their content from the Kindle store.
I can't quite put my finger on why I like New Orleans so much.
Oh, there are the obvious things -- hanging out with good friends, delicious food everywhere you go, warm weather, good music everywhere you go, good art everywhere you go... but that doesn't explain how, just into town, the feeling of happiness just walking around the French Quarter.
We stayed at the St. Pierre again, which is a cool old hotel in the French quarter.
We saw bunch of live music, including Charmaine Neville at Snug Harbor Monday night, a jazz band at Preservation Hall Tuesday, and the piano bar most nights.
We went on a swamp tour -- it was great! Lots of alligators, but I must admit that my favorite was the nutria. They're an invasive species, and considered a big nuisance (our guide said there was a 5 dollar bounty on them), but just adorable. Who wouldn't want a rodent that's the size of a dog? (Well, Carol, apparently. Sigh.)
Everywhere we went, there was good food. The first thing I had were the meat pies at the Remoulade. Now, I'm rather a fan of meat pies, but the ones at the Remoulade are almost a different dish altogether. The filling is so flavorful that to compare them to the ones we get around here is almost criminal.
At the Acme Oyster House, I had (in addition to some other things) the only oysters that I've ever liked. Julie got the DIY all-you-can-eat oysters, and knocked back 31 of them.
At Coop's, we had fried chicken, whilst an adorable gray kitty enjoyed a single serving of fresh-caught mouse.
At -- why go on? Just about any place you stumble into is going to have great food. Well, if they serve food, as opposed to just alcohol.
Last time, I was amazed at how much art was around the French Quarter. This time, I wanted to see what was in the Art (formerly Warehouse) District. Unfortunately, we went on Monday, and almost everything was closed. There was one large and rather cool open gallery. Next time I'll go on a different day of the week.
I got back Thursday night (or Friday Morning). And then when I woke up later on Friday, I walked outside into what seems to be the start of another beautiful Seattle summer. I hated to leave New Orleans. Yet, I'm glad to be back in Seattle. This is going to be a great summer.
So, we've been sick ever since Norwescon. It's not been all bad though, because last weekend we picked up Race for the Galaxy, and have been playing it incessantly ever since.
It's a really fun and really fast 2 to 4 person game. There seem to be a lot of different strategies to pursue, depending on which cards you draw. It's competitive, but there's almost no interaction between players, and you do your moves simultaneously. (There is a given order to go in, if timing becomes an issue, but it rarely comes up.)
There's only been one thing that's come up that we've disagreed on, that we couldn't settle by the rule book. That's how the card Gambling World works.
I couldn't find an errata sheet for the game, but I finally tracked down some game designer comments, which cleared the matter up. I'm putting it all here so it'll be easier to look up in the future.
The game designer was Tom Lehman, posting to this BoardGameGeek forum thread.
Here are the three relevant comments:
I regularly work on personal change and growth, both major and minor. While I can see a lot of progress over the years, on a day-to-day basis it can be frustratingly difficult. Possibly because of this, I go through periods where I read a bunch of self-help/personal growth/frugality/productivity blogs, books, and articles, looking for (among other things) resources and techniques.
And now I have a new one to try.
Tim Ferris wrote an article where he reviewed The Power of Less, by Leo Babauta. He reviewed chapter 5, which recommends taking 1 habit and trying to do it every day for 30 days. The important part of this is to only work on 1 discrete habit at a time. In other words, don't try "I'm going to stop reading email in the morning, and instead work on my novel." Instead, either do "I'm not going to read email until noon" or "I'm going to write every morning before I leave the house."
So, I thought that this was a great idea. If I work on one habit every month, it will be a raging success even if only half of them stick.
For the month of March, I've been trying "Eat breakfast every morning." A seemingly simple habit, it's one I've worked on a number of times before, and never managed to acquire. Let's see how this works out. So far, so good.
So, we went and saw The Spirit at the Pacific Place today.
It's the latest Frank Miller movie, with all that that entails.
Mild to medium spoilers below.
Overall, I enjoyed it. More interestingly, cjo enjoyed it. It's a very pretty movie. Not much gore, and what gore there is is a shade unrealistic. For instance, blades painted a bright red.
It's an adaptation of a Will Eisner comic book series, screenplay by Frank Miller. The Spirit used to be a cop, until something happened to him that turned him into the Spirit. In the course of the movie, we learn what happened to him and why. His chief nemesis is the Octopus, who's another human who's incredibly, incredibly tough. Along the way, he causes every woman he runs into along the way (all beautiful of course) to swoon.
He did a lot of monologing to himself, some of which really crossed the line from "monologue" to "speaking directly to the camera". There's also a somewhat overdone "bad guy speech telling all to bound hero" scene, with the bad guy and his hot sidekick babe dressed, for some unknown reason, in Nazi uniforms, and surrounded by Nazi symbolism.
The hot medical doctor, who has a thing for him, is also his former sweetheart from back when he was a cop. But somehow she's supposed not to have noticed that he's the same guy... despite treating him regularly. Amazing how effective a Lone Ranger mask can be!
One of the odder parts, but one I liked a lot, was the cats. There always seemed to be cats around, watching him. And they really seemed to be clued in to what's going on.
SPOILER:
And when the bad guy killed
a little kitty, that's when the Spirit seemed to decide to kill him,
as opposed to just chase after him and get into fist fights with him.
As in, that's both when the Spirit said something like "Now I'm going to
kill you because of what you did to that kitten," and when he changed
his methodology to a plan that entailed killing him.
:SPOILER
Stylistically, it was pretty cool. It was mostly live-action, but it would switch to just black-and-white outlines occasionally, or have the background turn into a simple drawn background. And it was all black and white and gray and brown, except for some bright reds, and blue eyes, and some golden glowy bits.
And it seemed to take place back in the middle of the twentieth century, except for the helicopters and cell phones and computers. And nobody drinking or smoking.
All-in-all, a pretty mixed bag, but I found it enjoyable. Even at $10.50 per person, and that for a 4:10 PM showing. Why, back when I was a kid —
A few weeks ago, I made Irish Soda Bread. I'd made it before, but it had been a number of years. I didn't have the recipe I'd used before, so I started with the one from the Society for the Preservation of Irish Soda Bread, which seemed similar to what I remembered.
White Soda Bread
Method:
Instead of buttermilk, I used 12 ounces of milk that I soured with 1 tablespoon of apple cider vinegar.
I made it a few times, and decided that it wasn't enough salt, so I added another 1/2 teaspoon.
I tried it with whole wheat flour, it was really tasty that way. I'm planning on trying other flours as well.
All-in-all, a really simple, quick, easy, and cheap bread, that ends up quite tasty. I usually leave it on the cutting board and put a bowl over it to make it last a little longer, I haven't tried the tea towel method yet.
A month or two ago, I made fry bread for the first time.
I made it three more times that week.
I'd never had it before, and couldn't believe how good it was. I had to stop making it as an effort of will.
I started with the simplest recipe I could find:
Ingredients
Mix the dry, mix in the water, let sit for awhile, then fry in about a quarter-inch of hot oil. Flip once, then put on rack to dry. Looking at pictures, it looks like the whole thing may normally be fried at once, but I just pull of small chunks and flatten them somewhat, so I can use a small pan.
I measure flour by fluffing then scouping then leveling -- so I get about 4 ounces per cup. With that amount, 1 cup is a bit much water, I'll put about 3/4 of the cup in and start mixing, and keep adding from the measuring cup until I get the consistency I want.
I usually make a half-recipe, that's about the right amount for me and Carol.
Sometimes I have it plain, sometimes I shake it in a bag with powdered sugar.
I tried a making a dessert version, by adding 1 tsp cocoa powder and 1 tbs sugar to the dough, and afterwards frosting it with a kind of chocolate ganache. It was good, but not quite what I was looking for. I need to add a lot more chocolate.
I do PHP, off and on, both at work and at home. I often find my various include files getting cumbersome. I mostly just want a way to have a bunch of easily callable functions, that are easy to organize and edit. Yesterday, I came up with this solution.
First, create a function which, when given string 'string', checks to see if 'string' exists as a function, and if not, looks in a separate directory or directories, and requires a file that is named 'string.php'. All that will be in 'string.php' are the php tags, and a function definition for 'string'.
So, I include this in my common.php:
if (! function_exists('add_func')) {
function add_func ($function) {
if (! function_exists($function)) {
$func_path = array('/home/ulysses/funcs');
foreach ($func_path as $func_dir) {
$func_file = "$func_dir/$function.php";
if (file_exists($func_file)) {
require $func_file;
return;
}
}
die("add_func: $function not a file-specified function.\n");
}
}
}
add_func('call_func');
At the end there, I use add_func to also define call_func. What call func does is first call add_func, to make sure whatever function it's calling is defined, and then it runs that function:
function call_func() {
$args = func_get_args();
$func = array_shift($args);
add_func($func);
call_user_func_array($func,$args);
}
Not the most complex thing ever, but a pretty easy way of setting up what I want.
Erlang's my latest hobby project. Well, that and yaws, which is a web framework for Erlang. Erlang is very different, so I'm going to start to note some the things that either caused me startlement or were difficult to figure out, so I can refer back to them. The veracity of these notes should be held in some doubt, as I've just started to get my feet wet.
The '=' operator is a patternmatch, and only assigns if the variable is unbound. Variables can only be bound once. This is wacky, but it means you can do stuff like '[A,B,C] = [1,2,3]' to assign C to 3 if A already is set to 1 and B is already set to 2. Oh, and variables have start with either an uppercase letter or an underscore.
As near as I can tell, a variable can only be bound in the shell or inside a function. A function can only be defined inside a module, and a module needs to be defined in a file, it can't be defined in the shell.
A string such as "hello" is actually a list of five elements, where each element is one of the characters. If you have what would appear to be integers in a list, such as '[50,55]', don't be fooled, those are actually character values. If you interpolate that list as a string, you get '27', because 50 is the decimal value for 2, and 55 is the decimal value for 7.
In yaws, each '〈erl&rang〈/erl&rang' section is its own module. The out/1 function is automatically exported. If you need to refer between them, you can explicity name the module with '〈erl module=whatever〉'. If you do so, it appears that any other functions you define in that module are automatically exported.