2012s

    Wow. That’s how it’s done.

    • So, how many pieces of candy do you give to trick or treaters? I do 3-5 depending.
    • Estimate 80 trick or treaters so far.
    • Wave 2 of trick or treaters hitting the doorbell now.

    MediaWiki Template Filter Title

    I was recently doing some cleaning on our Read/Write Book Club website and ran into an interesting challenge. All of the books in the wiki are in a couple of categories, but I wanted them sorted right ignoring A, An and The beginning of the title. MediaWiki supports this in the category tag allowing you to specify [Category:Book|Sort Title] and early on in the wiki I had a second field in the form for Sort Title asking the person editing the book to do this.

    The result was nobody did it and all the books with “The” in the beginning of the title were all under T. Shouldn’t this be easy to just deal with in the wiki itself?

    Well, it turned out to be much harder than you would think in large part because MediaWiki doesn’t honor spaces in template tags. My first attempt to do this was rather brute force, simply look for the three cases that I want to get rid of in the title and chop it off.

    <includeonly>
    {{#if:{{{1|}}} | {{#vardefine:title_filter_temp|{{{1}}} }}
    {{#if: {{#pos:{{#var:title_filter_temp}}|The }} | {{#ifexpr: {{#pos:{{#var:title_filter_temp}}|The }} = 0 | {{#vardefine:title_filter_temp| {{#sub:{{#var:title_filter_temp}}|4}} }} }} }}
    {{#if: {{#pos:{{#var:title_filter_temp}}|A }} | {{#ifexpr: {{#pos:{{#var:title_filter_temp}}|A }} = 0 | {{#vardefine:title_filter_temp| {{#sub:{{#var:title_filter_temp}}|2}} }} }} }}
    {{#if: {{#pos:{{#var:title_filter_temp}}|An }} | {{#ifexpr: {{#pos:{{#var:title_filter_temp}}|An }} = 0 | {{#vardefine:title_filter_temp| {{#sub:{{#var:title_filter_temp}}|3}} }} }} }}
    {{#var:title_filter_temp}}
    | No parameter passed to [[Template:Filter title]]. }}</includeonly>
    

    This worked in many cases, but not all. A book like Antifragile got in trouble with this approach since the “An” matched it got sorted in “T”. You would think this would be an easy fix right? Don’t look for “An” but instead for “An “, including the space in the match. Unfortunately it is nearly impossible to pass a space into a MediaWiki template. MediaWiki effectively trims all template inputs of spaces so a space by itself becomes, effectively, null. A different approach was needed.

    After some consideration I came up with this approach that uses the Arrays extension. I like it a lot more than the first attempt! The basic idea is to break the title into an array of strings on the space (note that #arraydefine allowed me to use a regex pattern to avoid the problem of not being able to pass in a space). I then check if the first element in that array matches a set of targets (in the #switch statement). If it does, set the index to 1, otherwise 0, and build a new array from that index offset. Like this:

    <includeonly>{{
    #arraydefine:filter_title_temp|{{{1|No title was provided}}}|/\s/}}{{
    #switch: {{#arrayindex:filter_title_temp|0}}
     | A | An | The = {{#vardefine:filter_title_i|1}}
     | #default = {{#vardefine:filter_title_i|0}}
    }}{{
    #arrayslice: filter_title_new | filter_title_temp | {{#var:filter_title_i}} }}{{
    #arrayprint: filter_title_new | _ | @@@@ | @@@@ }}{{
    #arrayreset:filter_title_temp|filter_title_new}}</includeonly>
    

    This works great with one exception. I still get confounded with the space problem when assembling the new title in the #arrayprint method. I decided to print the new title with underscores where the spaces were. Since this is used for the sorting condition, this is fine. The end user never sees the title and the wiki will sort right if given Title_of_the_Book.

    Now the sortable titles are all generated and the Book Category page looks awesome.

    Guest network now openwireless.org

    For years I’ve ran a guest WiFi network at home that has been called “Thingelstad Guest”. It makes it super easy for people that are visiting to hop online when they are visiting. I also don’t have to share the key for the “Thingelstad Home” network with people that are visiting which is a plus.

    Last night my buddy Ry4an Brase posted on Google+ this EFF Open Wireless project. I’m a proponent of allowing unfettered access to the Internet so I decided to join up and rename our guest network.

    Does your router support a guest network? How about doing the same on your network?

    There should be an Emoji version of Letterpress.

    Surprised that Letterpress doesn’t have achievements.

    Nice seats for Gopher game! Thanks Kent! 🏈

    Double Macchiatos at Urban Bean Coffee with Kent. ☕️

    Playing Lost Cities this way.

    Visiting National Eagle Center

    While in Wabasha for the weekend we spent the morning at the National Eagle Center.

    Mazie and I also attended one of their workshops and learned a lot about the Bald Eagles and got to see one of them have lunch.

    Definitely a fun place to stop in Wabasha on your next trip!

    What part of “Keep your kids behind the yellow line.” do these parents not get. Seriously!

    Tammy is shocked that I’ve never heard of Goonies also. WTH.

    Upgraded espresso art this morning at Urban Bean Coffee. That’s a macchiato!

    Robyn Hitchcock at The Dakota

    On Friday night we went to The Dakota to see Robyn Hitchcock. Tammy enjoyed his music a lot in high school and college. I knew of him, but didn’t know his music well. We ended up getting there at 6:40p and realizing the show started at 8:00p so we had plenty of time for dinner and drinks.

    Richard Lloyd

    Richard Lloyd opened up with a few songs on the guitar. I don’t know his work at all and it seemed like the kind of thing that you liked if you knew him and knew his music, but we didn’t and neither of us were very thrilled with it.

    Robyn Hitchcock

    Robyn Hitchcock was very good. He was funny in a completely nonsensical way. He went off on these stories that you had no idea where they were going. It was a fun show and he was a very good performer. Neither of us knew the songs very well, but that didn’t dampen the enjoyment at all.

    New Standards at The Dakota

    We returned to The Dakota last night after seeing Robyn Hitchcock the night before for The New Standards.

    We’ve seen The New Standards play at the Dakota at least six times before, and every time it’s a treat. Last night we got to enjoy the show with our friends Kent and Marilee celebrating Kent’s birthday! That only made it even better. It was also great to hear that the new album is on the way, and by the sound of it the recording was done and it should be coming relatively soon. They seemed to be really on, playing extra well together and having a lot of fun. It was a great show. You really shouldn’t pass up the opportunity to see them, especially at The Dakota.

    AT&T LTE Spotting

    AT&T has announced that they are working to bring LTE to the Twin Cities market by the end of the year. Yesterday while driving by the River Center I saw LTE on my phone for the first time. I loaded a few web pages and it was very fast, pretty much WiFi like experience.

    It wasn’t a good day yesterday to do the Pedal Pub. Cold, rainy.

    Back at the Dakota for The New Standards! Love their rendition of “After the Gold Rush”. Stout Gingerbread with Surly Bender Ice Cream! Ridiculously good. Hats off to the Dakota!

    Blue Monk, best drink at the Dakota.

    Delicious macchiato with Jim Bernard at Urban Bean Coffee.

← Newer Posts Older Posts →