Four shows in eight days has taken a toll on my body and my mind.
Kathy Griffin at the Wiltern with Mark, Charley and Lori: Some great funny moments, but there's just a little more shtick than I can handle. I think everyone else liked her more than I did.
The Raconteurs at the Wiltern with Mark, Charley, Lori, Ruby and Indy: Did someone say supergroup? I think these guys write great little songs. Made me realize I still love Jack White. And I need to see more of his irrepressible Jackness than can be afforded in a band consisting of more than two people. Ran into the neighbor who burned me a Raconteurs CD before I'd head of them, which was nice. Dancing made my legs and butt sore for the next couple days, but I recovered just in time for...
Slayer at the Long Beach Arena with Lori and Neck: My (other) neck is sore. Sad that we missed Mastodon, one of the opening bands. I kind of hate the Long Beach Arena; despite a sold out show in a venue capable of holding more than 13,000 people, the place felt like a dimly lit, seedy indoor flea market. Just like the Foo Fighters show, actually. And maybe it's just my immature palate, but I think I like just about any of the other headlining metal acts I've seen in the past few years more than I like Slayer. In any case, the crowd was great, as expected. Ten metal dudes for every metal chick, and the hair made me feel like I was in junior high again.
Flaming Lips at the Hollywood Bowl with Mark, Charley and Lori: This is really what it was all leading up to. I had high hopes after loving them at Street Scene. Os Mutantes and Thievery Corporation opened, and both were really good. The Flaming Lips show was all Wayne Coyne getting into human-sized hamster balls, thousands of glow sticks flying through the air, epic experiences and affirmation of life. And in an excellent coincidence we saw Ruby, who we didn't know was going to the show, sitting four seats away from us—in a venue that seats 18,000. (In another coincidence, I am typing this now in a cafe and as I was writing “glow sticks flying through the air” I just heard the guy next to me, who's talking on his phone, say “yeah, it was cool, there were thousands of glow sticks and really cool videos.” Then he asked me how to get on the wireless internet here.) But sitting on a bench 200 yards from the stage doesn't really compare to the Street Scene situation of inhaling the sweat of the six people pressed against you, and the show didn't seem to have quite the same energy. Also the Flaming Lips have some kind of bummer (well, simultaneously depressing and life-affirming) songs, and they closed with those instead of, say, Bohemian Rhapsody. Also I missed Cody.
Robert Uhl has a preliminary review of Montezuma.
The API is mostly well thought-out, although there are a few quibbles I have.
All in all, for a 0.1.1 release Montezuma is pretty cool; there's a lot of potential there. If your project needs this type of search capability, it's worth taking a look.
Also, I forgot to thank some people whose code is included as part of Montezuma: I used Peter Seibel's META-inspired parser, Xach Beane's heap implementation, and Franz Inc.'s Porter stemmer.
Montezuma 0.1.1 is out. The search engine that walks up to Lucene and says “Luce, I am your father!” (and then makes a freaky bird sound) is now available for your use (if you use OpenMCL, SBCL or ACL).
Just ASDF-install it:
(asdf-install:install '#:montezuma)
This should be considered an alpha release, and in particular there was one bug that delayed the release for a couple weeks, but once I discovered that Ferret, of which Montezuma is a port, has the same bug, I decided, FRACK IT. So here it is. Let me know if you have any problems.
The query language is undocumented and incomplete, but here are some examples:
"uav" "+title:robot embedded lisp -\"programming ruby\"" "opeth" "bug*" "*bug*" "+date:2005-12* +text:html-template -\"edi weitz\""
To see how to use Montezuma, take a look at the tutorial. For a more involved example, look at paste-search.lisp which contains a complete example of how to index and search with Montezuma. (pl.lisp and web-search.lisp are another example of indexing and searching, including via a web interface, but they require data that doesn't ship with Montezuma.)
This [via robot wisdom] is what I enjoy so much in SOCOM 3:
A good FPS player is more than just a good shot or someone incredibly agile with a mouse, it’s about predictive behavoirs. Will the countering team have a sniper rifle? Will they come down path a or b? in groups? etc. A good player is able to position themself by surprise and take advantage of the level instead of the other player’s ping time or lack of a huge screen and gyroscopic mouse etc.
[...]
It’s being able to build a model of user behavior and know who will run with the group and who’s going to be slinking around the unprotected corner.
When I was playing the game a lot and was at the height of my abilities, it seemed to be more like rock-paper-scissors or chess than a twitchy shooter. I would think “I ambushed three guys in the mountain pass last round, and they seem like decent players but not great, which means next round they'll probably go to the hilltop to get a better view of the pass, so I'll hide behind the wall and snipe them as they climb the hill.” And that's a simplified version of what I was doing.
If I was really in the zone it could feel like the time when I was a kid and I was able to beat my sister ten rounds in a row at rock-paper-scissors, just by getting into her head and figuring out what she was thinking I would do next.
Willem Broekema, with support from Franz, has developed CLPython, a Lisp implementation of Python [via Stefan Scholl].
A large part of the Python language features is implemented by CLPython (basic data types, functions, classes, metaclasses, generators, closures, ...). Many recently introduced features are still missing (e.g. "y = yield x"); the intention is of course to add these features to CLPython.
Below, a sample interaction with the read-eval-print loop is shown.
python(7): (repl) [CLPython -- type `:q' to quit, `:help' for help] >>> print "hello world!" hello world! >>> def fact(n): ... if n <= 1: ... return 1 ... else: ... return n * fact(n-1) ... #<python-function fact @ #x71d67c9a> >>> fact(6) 720 >>> :q Bye