The Latest Blog
send me a comment

Battlestar Galactica In 2 Weeks (Saturday, Jan 3)
[ permalink ] [ e-mail me ] [ ]

Battlestar Galactica season 4.5 (the final season) begins on Friday, January 16th. It just showed up on my TiVo as an available show for a new season pass.

Battlestar Galactica Last Supper

I only started watching the series this last year, when the always generous John Vaughan lent me the first 3 DVD sets. My wife and I both got hooked very quickly. I'm anxiously awaiting delivery of season 4, which I pre-ordered on Amazon and comes out on Tuesday.

If you need to catch up like me, my understanding of the preferred watching order of the series is:

Even if you don't watch much TV the show is definitely worth a try. But I'm pretty sure you'll have to start from the beginning, not the latest season.

Windows XP Still Available (Sunday, Dec 7)
[ permalink ] [ e-mail me ] [ ]

You can't buy a Kindle on Amazon right now, but apparently you can still buy Windows XP:

Windows XP still for sale on Amazon

I saw some boxed versions of XP at WalMart the other day too. I thought they were just leftovers from the backroom or something, but I guess it's still for sale.

Kindle (Saturday, Dec 6)
[ permalink ] [ e-mail me ] [ ]

I wonder if an Amazon Kindle is going to be the big Christmas present this year? Looks like they're sold out until after December 25th:

Amazon Kindle is sold out

It'll be interesting to see how much they start going for on eBay.

My wife gave me a Kindle for my birthday, and I really like it. In fact, the more I use it the more I like it. Really a great device, especially with the wireless piece that lets you search for and download new books on demand.

Libby has a very good review of her Kindle that's definitely worth a read if you're thinking about getting one. After Christmas, of course...

Ender In Exile (Monday, Dec 1)
[ permalink ] [ e-mail me ] [ ]

Hey, Orson Scott Card wrote a new book in the Ender's Game series: Ender In Exile. How did I miss that?

Red Speckles On My Plasma TV (Saturday, Nov 22)
[ permalink ] [ e-mail me ] [ ]

I know, I've been quiet for a few weeks. Busy busy, including presenting 9 sessions at the View Developer conference in Amsterdam (where we got 100% approval in the overall evaluations!). But before I start back up with the usual technical jibberish, there's something more important to talk about: my television set.

I have a 2 year old plasma TV, and I just started noticing some red speckles flashing almost like static all over the screen, mostly near the top and bottom. Here are some pictures one guy posted to let you see what I'm talking about.

I did some searching ("red dots", "red sparkles", "red snow", etc.) and saw that this is a fairly common complaint. The best -- or at least longest -- discussion I saw was on the AVS Forums. A summary of probable causes:

I'm not sure if my particular problem is one I need to spend money to fix yet. I haven't decided. I have a feeling (or at least a strong hope) that my issue is a cold weather one, especially since my TV sits near an outside wall and a window. I might also just get used to it, which is almost as good as getting it fixed.

Finished Anathem (Monday, Nov 3)
[ permalink ] [ e-mail me ] [ ]

Last night I finished the latest Neal Stephenson book, Anathem. Very good read. My mind is still processing it.

If you want to read it, or you just started, keep in mind this comment by Neal Stepenson himself in a recent interview on BarnesAndNoble.com:

James Mustich, B&N Interviewer: I found the first 100 pages or so of Anathem a little difficult -- not unpleasant, but I was conscious of struggling to keep all the elements of your invented world straight in my mind as I was reading. Then everything seemed to snap into place and I was happily lost in the book.

Neal Stephenson: That's a remarkably universal remark -- almost everyone says, "The first hundred pages were heavy sledding, and then it started happening for me." It's interesting how consistent that response has been.

Indeed. I actually had to stop at about page 75 and read something less intense (Terry Pratchett), and when I came back and got a little past page 100 it really started moving. Once you get over that hump, it's certainly worth it.

A big part of the initial slowness is probably because, as Andrew Pollack recently pointed out: "I think what he's doing in Anathem is building a 'feel' for the slow, deliberate, and ordered world of the maths (essentially monasteries) in his world." That's right on. Remember that and just give it some time and you'll get it.

Also, as I got towards the end I kept thinking about the short story The Golden Man by Philip K. Dick. That's not a spoiler really, just something that kept popping into my head. Looking for a link to that, I found out that The Golden Man is going to be yet another movie based on a Philip K. Dick short story too. I wonder where they're going to go with it.

Pumpkin Destruction Day (Friday, Oct 31)
[ permalink ] [ e-mail me ] [ ]

I got an e-mail today about Pumpkin Destruction Day, going on this weekend at the Rock Ranch in Barnesville, GA. From the e-mail:

This Saturday (November 1) is Pumpkin Destruction Day at The Rock Ranch. This event takes place from 10am to 10pm and offers fun and exciting methods of recycling the family pumpkin and creating a fun family memory. In addition to the everyday attractions at The Rock Ranch, guests will enjoy pumpkin destruction by using:

  • the pumpkin cannon (that will shoot pumpkins through an unsuspecting automobile)
  • the hammer smash
  • pumpkin bowling
  • pumpkin pie eating contests
  • pumpkin crushing (a monster truck style exhibition where large trucks and other equipment will run over pumpkins)
  • the pumpkin drop (from a 40 foot lift crane)
  • pumpkin bombing airplanes
  • pumpkin rolling races
  • pumpkin mashing (with a tractor)

Guest may choose to bring their own family pumpkin or they may use some of the pumpkins remaining from The Rock Ranch pumpkin patch.

That's just good clean fun right there. I've watched the pumpkin cannon in action before, and it rocks. When we were there last year a pumpkin shot several hundred yards across a huge pond and bounced off a cow. Yeehaw brother, yeehaw.

The pumpkin cannon at Rock Ranch in Barnesville, GA

I also found a video of the pumpkin cannon, and surely there are more such things on YouTube. Happy Halloween y'all!

XmlNodeReader: An Easy Way To Parse XML In LotusScript (Monday, Oct 27)
[ permalink ] [ e-mail me ] [ ]

I've been toying around recently with ATOM feeds from Quickr, and lamenting the fact that there isn't an easier way to parse and read XML in LotusScript. So, over the past few weeks I've spent some time developing a wrapper around the NotesDomNode class to simplify the whole process. Here's what I came up with:

  • XmlNodeReader: an easy way to parse XML in LotusScript
  • It's kind of a poor man's XPath -- not all the functionality and power, but very easy to use and understand. For example:

    Set exporter = session.CreateDXLExporter(db, stream)
    Dim reader As New XmlNodeReader
    Call reader.ReadStream( stream )
    Print reader.get( "database.@title" )
    

    I used LotusScript.doc to generate the documentation and put together a few sample agents for you to play with. Hopefully it all makes sense to someone besides me. Personally, it's made it a lot easier to deal with XML in my code.

    Stuffed Mushroom Recipe (Sunday, Oct 26)
    [ permalink ] [ e-mail me ] [ ]

    A little off-topic, but I've posted recipes here before (like crab dip) so I have precedent. Anyhoo, we've made this stuffed mushroom recipe a couple times in the last few days, and it's really easy to make and a really good appetizer for guests.

    One note about this: make sure you use UNSALTED butter -- people who have commented on the recipe have mentioned that using salted butter makes it very... salty. Also, what I listed below has been modified slightly based on us not having any sliced almonds and using small/medium white mushrooms instead of large mushrooms. If you're truly using large mushrooms, see the original recipe for adjusted proportions.

    INGREDIENTS

    DIRECTIONS
    Remove stems from mushrooms and finely chop; set caps aside. In a skillet, saute chopped mushroom stems in butter until tender, about 6-8 minutes. Remove from heat; stir in bread crumbs and onion soup mix. Stuff firmly into mushroom caps. Place on a baking pan or cookie sheet; sprinkle with cheese. Bake, uncovered, at 425 degrees F for 12-15 minutes or until tender.

    Endless Streetcar Ride (Tuesday, Oct 14)
    [ permalink ] [ e-mail me ] [ ]

    There are certain stories and books that stick in your mind your whole life. For whatever reason, a bit of story or poetry will resound very deeply when you read it, and it will keep coming back and replaying itself over and over.

    A short story I read in seventh grade [I think... close enough anyway] did this to me. It was called The Endless Streetcar Ride into the Night, and the Tinfoil Noose, and I finally found it on the Internet so I formatted it and saved it so I'll always have it. Click the link, you can read it for yourself.

    A few things were interesting for me in the search for that story. It was really hard for me to find because I remembered ideas but not too many searchable details, and the details I remembered were ever so slightly wrong. I remembered something about a tie with an electric blue snail on it, and a deodorant advertisement that said "Do you offend?", both of which were almost right but not quite. "Almost right" is hard to search on sometimes. In fact, I've probably been trying to find that story on the 'net for a few years now, and it took this long to get the correct combination of search terms and available sources.

    Another interesting thing is that the story is even better than I remember it, which isn't always how these things work out (your mind can make grand memories out of plain things). I think I re-read it 4 or 5 times in the last day or so and it keeps making me smile.

    I also had no idea that it was one of the short stories from Jean Shepherd's book In God We Trust, All Others Pay Cash, which is what parts of the modern classic movie A Christmas Story is based on. I'm finally going to buy that book and read the whole thing.

    Anyway, you might like it too, you might not. And maybe in some sort of way it'll explain all sorts of weird things about me, I dunno. I'm just glad to have found it again.

    SnTT: Run JavaScript Via LotusScript (Thursday, Oct 9)
    [ permalink ] [ e-mail me ] [ ]

    UPDATE: I added some information below about my JIT debugger getting launched in certain instances, and how to disable the debugger.

    I almost had a need to call a JavaScript function from within a LotusScript agent the other day. It turns out that I didn't have to go that route in the end, but if I had it's actually quite easy to do -- at least if you're on Windows. Here's how:

        Dim js As Variant
        Set js = CreateObject ("MSScriptControl.ScriptControl")
        js.Language = "javascript"
        Call js.AddCode( "function add2(num) { return num+2; }" )
        
        '** NOTE: Eval() will not always trigger runtime errors, so you should 
        '** make sure to trap JavaScript errors with try/catch blocks
        Msgbox js.Eval("add2(5)")
    

    Pretty easy, huh? You just create an MSScriptControl object, load your JavaScript functions using AddCode(), and call Eval() with whatever parameters you want. It's even easy to modify any of the code or parameters at runtime too, so you have a lot of flexibility.

    You'll also see that I left you a note in the comments that a JavaScript runtime error that results from using the Eval() method will not always trigger a runtime error in LotusScript. For example, if your JavaScript function was "{return num/0;}" it would compile just fine, but when you ran the code and got a divide-by-zero error it wouldn't be obvious that an error occurred. You still get a result, but it's a really funky string ("1.#INF" for me).

    Be careful though. One of my machines has some JavaScript JIT debuggers installed and registered, and with certain runtime errors the code would halt and I would get prompted with this dialog:

    JavaScript JIT Debugger Dialog

    You wouldn't want this happening on your client machines, and certainly not on your servers. If you set the following Windows registry entry to 0 (zero), the JIT debugger will be disabled:

    HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug
    # a value of 1 will enable JIT debugging, 0 will disable

    In any case, make sure you have good try/catch blocks in any JavaScript code you run, and check your input parameters BEFORE you call Eval().

    Compile errors (i.e. -- bad JavaScript syntax) WILL always trigger a LotusScript error in the AddCode() method, though. You can catch compile-time errors (and some runtime errors) with an error-handler like this:

    processError:
        If (js Is Nothing) Then
            Print "LotusScript error: " & Error
        Elseif (js.Error.Description = "") Then
            Print "LotusScript error: " & Error
        Else
            '** for the various error object properties, see
            '** http://msdn.microsoft.com/en-us/library/aa227430(VS.60).aspx
            Print "JavaScript error: " & js.Error.Description
        End If
    

    I don't have any "real world" production experience with this technique, so I'm not sure what kind of performance hits you might get, especially if you run the same code a bunch of times or load up a really large amount of JavaScript to use for processing. However, if you have a few relatively small chunks of JavaScript code with functionality that might be difficult to reproduce in LotusScript, this might give you a quick win.

    Show NLCache Reset (Thursday, Oct 2)
    [ permalink ] [ e-mail me ] [ ]

    Note to self: when testing web applications on a Domino server, especially when you're changing group memberships and user access and ACLs to see what effects they have, issue a "show nlcache reset" command on the server after each change. You'll save yourself from pulling a lot of hairs out and wondering why security doesn't work the way you think it does.

    Thanks to Thomas Gumz and others for telling us non-admin-types these things.

    Oh, and I should be extra responsible by saying that you should consult your admin before issuing this command on a busy server with a big directory. But you ARE doing all your changes and testing on a development server, right?

    End Of September, Did You Donate? (Tuesday, Sep 30)
    [ permalink ] [ e-mail me ] [ ]

    It's the end of September, did you remember to donate to charity via Paul Mooney's website?

    While many of us are complaining about high gas prices, there are still plenty of people in the world who don't have a reliable water supply. Take a look at the video link from Paul's blog entry and see what you can do.

    CollabU, UKLUG, and Home for a While (Monday, Sep 22)
    [ permalink ] [ e-mail me ] [ ]

    Two weeks on the road, and I'm back at home settling in. I'm actually supposed to be home for the entire month of October (minus a quick family weekend trip), which will be plenty of time for everyone here to get sick of me again and start asking when my next trip is.

    Collaboration University was a huge success. Lots of smart people, the developer workshops were overflowing, and I got a few questions that I didn't quite know the answer to but could easily point the questioners to the right person to get an answer from (it's nice to be surrounded by experts like that). I'm not sure that either location was "better" than the other -- the Hyatt Center in Chicago has a beautiful office space designed by a firm who has also done some of the Apple Store interiors, and the IBM South Bank building is right off the Thames and has a great patio area where you can walk outside and watch the people and the river (during breaks, of course). I liked both places.

    The London event was immediately followed by UKLUG, where Warren and company put on what appeared to be an effortless conference. I know that's not true, since a tremendous amount of effort and planning goes on, but the event itself just seemed to go very smoothly. Warren himself did an amazing job of holding together, considering the fact that he was in bed with a horrible head cold just a day before UKLUG, yet looked chipper and happy on the morning of (apparently DayNurse and NightNurse contain a pinch of magic).

    A few random remembrances from the past couple weeks:

    And now, back to work.

    Fighter Pilots and Collaboration (Tuesday, Sep 9)
    [ permalink ] [ e-mail me ] [ ]

    I'm at Collaboration University Chicago this week (got a nice CU logo shirt and everything), and we just finished up Day 1 yesterday. The keynote speaker was retired US Marines Colonel Ed Hackett, a former fighter pilot as well as a person who has been very involved with both the Pentagon and the Joint Chiefs. It was an interesting keynote speech, because his take on collaboration is quite different than the traditional IT take on things.

    Among other things, he headed up a group of fighter pilots on an aircraft carrier. Not only is there a tremendous amount of communication going on to make everything go right, but if the communication breaks down, someone could actually die. Now THAT'S an environment where the quality of networking and communication channels are super important -- none of this mamsy pamsy "oh no, Twitter is down again" social stuff.

    Fighter Jets taking off from an aircraft carrier, via Wikimedia Commons

    It's amazing how many people are involved with the process of launching and landing a jet on an aircraft carrier. It makes sense if you think about it, I just never thought about it before. I always just saw the pilot, the guy on the runway making all the hand signals, and other people running around trying to get out of the way. In reality it's a huge coordinated effort between everyone out there. Everyone's communicating and keeping in sync.

    And that's just the takeoff and landing. The flying itself isn't just one guy out there solo either. All the pilots are talking to each other, and there's all sorts of information going back and forth between the plane and the ground crew. Plus, with all the chatter going on, there are ways to increase the priority of extremely important messages, so those get heard over the noise of the other communication.

    Again, very interesting, and a cool take on what we normally think of as collaboration.