Sunday, January 20, 2013 
Webmaster

I've spent time over the last three weeks working on a new website for the Northwest C++ Users' Group. I blogged about the NWCPP website refresh over there. In brief, I moved the website from an instance of the Joomla Content Management System at Just Host to a static website generated by Pelican and hosted at Github Pages, and I'm happy with the results.

Not only am I the Webmaster (and Secretary) of NWCPP, I am also the webmaster for several other organizations:

I'm seriously considering converting the Wild Geese site and my personal site to Pelican. As I said in the conclusion of the NWCPP website refresh post, it works for me, but it wouldn't be suitable for someone who isn't familiar with reStructuredText, Git, and Python.

posted on Sunday, January 20, 2013 8:06:05 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Saturday, December 30, 2006 

content/binary/5star0.gif

content/binary/5star3.5.gif

content/binary/5star5.gif

I want to be able to write some reviews and graphically rate them with stars. I put together some transparent stars in Gimp and added a macro to dasBlog.

I'm going to rate this effort:

4.5 stars out of 5

To get this effect, I simply wrote $stars(4.5).

(And I had to carefully construct the previous sentence so that dasBlog wouldn't invoke the stars macro.)

I'm hardnosed. I rarely give 5/5 to anything. I don't really expect to need the half stars, but I may want that fine control at some point.

To use this in your own blog, download the zipfile of star images.

Copy 5star*.gif to your blog's images directory. The *.xcf files are Gimp source files.

Add the following line to the <ContentFilters> section of your blog's site.config:

<ContentFilter
find="\$stars\((?&lt;expr&gt;[\d.]+)\)"
replace="&lt;div&gt;&lt;img src=&quot;images/5star${expr}.gif&quot; /&gt; ${expr} stars out of 5&lt;/div&gt;"
isregex="true" />

Enjoy!

posted on Saturday, December 30, 2006 9:36:06 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [1]
Friday, August 18, 2006 

From Scott Hanselman, I learned about Microsoft's new blog posting client, Windows Live Writer. I've played around with it and it's definitely the nicest free blogging client that I've used.

Here are instructions on configuring it to post to dasBlog. I'm showing how to set it up for Emma's blog, since she's running dasBlog 1.8. I'm running a recent build of the as-yet unreleased dasBlog 1.9, which supports Really Simple Discovery, which makes the first part of this exercise simpler, as WLW can infer that it's dealing with Metaweblog API, just by pointing it at the root of the blog.

Launch WLW and Add a Weblog Account. Choose Another weblog service.

Next, enter the URL of your blog and the username and password that you use to log in.

Select your provider, Metaweblog API. The remote posting URL is the blog homepage URL + /blogger.aspx:

You are now ready to post text to your blog:

Create a test post. Be sure to include an image. When you try to Publish it, you'll get a dialog like this:

Use an FTP program to discover the FTP path to your blog's content/binary directory. Here's the relevant area in FileZilla:

Note that the leading parts of the path are quite different to the corresponding HTTP URL (and peculiar to Emma's site). Fill out the FTP Settings dialog with the appropriate settings:

You're now ready to upload images via FTP:

Go for it.

This post was of course created with Windows Live Writer. I did have to set the Image Size to original for each image, or they would have been squished down to an unreadable size.

Update: I had a hell of a time when I first posted this. None of the images showed up. Instead I was seeing fragments of raw HTML. I tracked it down to the dasBlog configuration filters, which (by default) rewrite the word dasBlog as a link to the dasBlog website. That's more-or-less fine in plain text, but it plays havoc if the word dasBlog appears in the middle of one of your image URLs.

posted on Friday, August 18, 2006 5:08:46 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Wednesday, May 03, 2006 

We use FlexWiki at work. It's an ASP.NET-based wiki, a low-overhead, organic way of sharing knowledge.

The only built-in means of editing a page in FlexWiki is to type into an HTML textbox, which is a horrendous user experience. There's no WYSIWYG feedback showing you whether you've got the wiki markup right.

Back in December, Emma and I went to the Oregon coast for a week. We had no Internet access and long dark evenings, so I spent quite a bit of time on my laptop, working on a couple of projects. One was a new theme (skin) for DasBlog, which I didn't finish to my satisfaction. I really ought to get back to that.

The other was Vim syntax highlighting for FlexWiki, partially because it's useful in its own right, partially because I wanted an excuse to learn the arcane syntax highlighting mechanism in Vim.

As you can see in the picture, syntax highlighting makes the wiki markup a lot clearer than it would be in black-and-white.

I got it working satisfactorily in December, but I didn't get around to releasing it on the Vim scripts repository until last week. The week before, Bram had issued a final call for submissions of scripts for Vim 7.0, which galvanized me into releasing it as the FlexWiki Plugin for Vim.

Bram has included it in the most recent beta, Vim 7.0g, after I made a few changes. Those changes have not yet been propagated into the standalone version, but I'll try to do that later this week.

posted on Thursday, May 04, 2006 6:12:00 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, April 23, 2006 

Vim and DasBlog, two open source projects that I'm associated with, have both switched over to using the Subversion source code control system in the last week. In both cases, the prolonged problems with anonymous CVS access at SourceForge proved the final straw. And I provided the impetus, by bringing up the need for a change on the vim-dev and dasblogce-developers mailing lists. I take no credit for doing the work, however, as that was done by others.

(Vim's primary repository continues to be CVS, with Subversion acting as a mirror for anonymous access. Bram didn't want to change over until after Vim 7 ships.)

Earlier this year, we switched over to Subversion at work, after years of using Visual SourceSafe. It was a huge improvement. Having to use VSS was a big shock to my system, after years of using Source Depot at Microsoft. Transactional checkins are really nice and I've grown to like TortoiseSVN as a front-end to Subversion.

posted on Monday, April 24, 2006 3:24:51 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, March 21, 2006 

I often complain about being busy, no doubt because I have a talent for complicating my life. Things were relatively quiet for a while, but that's not true anymore.

At work, we're close to releasing the first version of our product. Happily, crunch time at Atlas isn't nearly as bad as it was at Microsoft. Instead of working eight-ish hours a day, it's more like nine or maybe ten. The pressure level has risen, of course, but it's far from intolerable.

The real busyness is in my extracurricular life. I'm the president of BiNet Seattle, a bisexual community group, and have been for the last three years. I also do a hell of a lot of the work and I'm burning out. I recently gave notice that I'm stepping down. (It looks like a successor has been found.) Meanwhile, a lot of planning is going on in an effort to revitalize BiNet, as attendance has been dragging.

For the last few years, I've also been heavily involved with The Wild Geese Players of Seattle, as the webmaster and the co-dramaturge. We do readings of Irish literature, particularly that of James Joyce and W.B. Yeats. Every June 16th (Bloomsday), we do a staged reading of a chapter of Ulysses. This year, the longtime director has moved back to Northern Ireland. Currently, I am acting as the director, on top of my other roles, but I don't think I'm the right person for the job, and I'm hoping to find a replacement soon.

I'm a member of Freely Speaking Toastmasters, an LGBT speaking club. I've been working on my CTM for far too long, and I intend to knock off the final three speeches this year.

I resume my woodworking class next week, which is going to tie up ten Tuesday evenings. I haven't decided yet what I'm going to work on this time. In previous years, I built a very nice set of nesting tables and an unsatisfactory pair of bar stools.

In my Copious Spare Time, I'm also making occasional contributions to two open source projects, DasBlog and Vim. I made Vim compile with VC5-VC8, and I promised Bram that I would provide some documentation on debugging Vim with WinDbg and dealing with minidumps. I'd also like to produce a native Win64 version. With DasBlog, I've provided some feedback on the usability of the installation instructions, as well as a fix for dodgy permalinks. I'd also like to make use of my former expertise on IIS performance (see 25+ Tips, 10 Commandments, IIS 5 Tuning, and Professional ASP 3.0) to do some performance tuning of DasBlog.

I'd also like to fit in some time for photography; for reading my way through our enormous backlog of books and magazines; writing the occasional blog post; cooking; bicycle riding; traveling; working out; hanging out with my wife; socializing with my friends; movies; and more. Not to mention all the very dull projects around the house and garden that I've neglected.

posted on Tuesday, March 21, 2006 7:36:59 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Friday, February 10, 2006 

I've been hanging out on the dasBlog developers' mailing list for the last couple of months, and I've made some minor contributions to the code.

I sent the following email to the developers' list last night.


My wife has decided to start a blog for Team Ireland in the 2006 Knitting Olympics, and she asked me to install dasBlog on her site. I decided that this was an excellent opportunity to do some usability testing on the installation instructions for dasBlog. I asked her to try installing dasBlog, while I watched. I promised that I would bail her out if she got mired too deeply.

Emma has worked as a black-box software tester for several years. She writes SQL scripts by hand, but is not otherwise a programmer. I figured that she could probably install a project like dasBlog, with an intended audience of Advanced End Users.

First, we obtained a graphical FTP client (FileZilla) and checked that she could successfully upload a one-line ASP.NET program to her website:

 The time is <% = DateTime.Now %>

Then it was time to start installing dasBlog. I told her to start at http://dasblog.info and figure out how to get dasBlog and how to install it.

She totally ignored the alphabetical table of contents on the left-hand side, which is formatted as a rather large set of RSS feeds. Instead, she read through the long blogpost on the right-hand side, which didn't enlighten her. After a while, I pointed to the left column. Her reaction: why do I want to subscribe to feeds? I pointed out to the Install/Setup feed. (Reviewing the frontpage post now, I see that the Install/Setup link also appears there.)

There needs to be a prominent link on the front page to a Getting Started guide. http://dasblog.info and http://dasblog.us are a huge improvement on the state of the documentation a couple of months ago, but they still need work.

She found the Install/Setup instructions confusing. They don't cover well the case of doing a remote install to a commercial host provider. Obviously, it's not possible to write a comprehensive guide on this, as providers have many different configuration utilities. Our provider is using Ensim's WEBppliance, which I find painful to use.

There needs to be a Point #0 on the Install/Setup instructions: download the files. After some more headscratching, she found her way to the download page. She was pretty sure that she didn't want to download DasBlog-1.8.5223.2-Source.zip, but she wasn't too sure if she should download DasBlog-1.8.5223.2-Web-Files.zip.

She created a local directory, C:\dasblogce and unzipped the files there. That of course meant that the files she needed to upload were in C:\dasblogce\dasblogce.

Point #1 of Setup/Install is unhelpful to the uninitiated. Point #2 isn't all that clear either.

Using FileZilla, she uploaded the files from C:\dasblogce\dasblogce to \inetpub\wwwroot\dasblogce on her server. Then, with some help from me, she figured out enough of the horrible Ensim interface to create a virtual directory, TeamIreland, pointing to the dasblogce folder.

At this point, we went to http://thewheel.biz/TeamIreland but we weren't able to get in. We got some fairly unfriendly ASP.NET errors. I had to wade through the Ensim UI and grant write access to the content, siteconfig, and logs subdirectories, per the Install page.

Finally, we saw the default page provided by dasBlog!

She had read enough of the Install instructions earlier to know that she needed to modify site.config and siteSecurity.config, but she wasn't sure how to modify them on the server. I suggested modifying the local copies and uploading them.

Her first reaction on seeing site.config was that there needs to be some paragraphs (blank lines) for readability. She nearly overlooked the <Root> setting, but got that configured correctly.

The default installation of site.config needs some comments. The stuff that you really have to modify should be in a clearly delimited block at the top. Something like this:

 <!-- Modify this section before installing -->

<!-- Important: set this to the base URL of this blog, such as
http://example com/joeuser/blog/ -->
<Root>http://localhost/DasBlog/</Root>
<!-- Banner text. (Note: not all themes show the Subtitle or Description.) -->
<Title>My DasBlog!</Title>
<Subtitle>newtelligence powered</Subtitle>
<Description>A blog about my interests: computers, games, beer, etc.</Description>
<!-- Email address of blog adminstrator -->
<Contact>dasblog@example.com</Contact>
<Copyright>Your Name Here</Copyright>
<!-- Default visual theme -->
<Theme>dasBlog</Theme>
<!-- End of essential modifications -->

She was less sure what to do with siteSecurity.config. She thought she needed to use the same Name and Password as she uses to log in to the server. (No. It's arbitrary.) She also needed to add a few additional Users, since it's going to be a group blog.

There should be a commented-out example of a contributor user in siteSecurity.config:

 <!-- example of a non-administrator user
<User>
<Name>SomeOtherUser</Name>
<Password>blog-password</Password>
<Role>contributor</Role>
<Ask>true</Ask>
<DisplayName>Some Other User</DisplayName>
<EmailAddress>SomeOther@example.com</EmailAddress>
</User>
-->

She uploaded the modified site.config and siteSecurity.config. It failed horribly when she went to log in. I had to download the events.log file to realize that she had deleted the </Users> in siteSecurity.config.

That fixed, she was able finally log in and create a post. I won't detail the pain we went through to upload images via FreeTextBox.

The dasBlog admin interface has not been working for her. It's unable to write to the siteconfig directory. At some point last night, the content directory somehow became unreadable and the site started throwing ASP.NET errors.

I was able to fix that tonight by blowing away the content directory in FileZilla and uploading a backup. I think I've fixed everything, by explicitly granting read and write to the siteconfig and content directories and everything contained therein.


Epilogue: Every new entry in the TeamIreland blog is being created with the wrong permissions, causing dasBlog to puke. It can be fixed by setting the permissions for each new file to read/write through the Ensim interface, but it's hardly a good experience for a group blog. I'm still waiting for iHostSites' support people to set the ACLs properly.

posted on Friday, February 10, 2006 8:10:41 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [1]