April 2006

Click “more” to see a list of all of the interesting web sites I found this week. I keep track of my favorite sites using del.icio.us, a free web site where you can access your favorite links from any computer and share them with friends. You can also see all of my favorite links (not just the ones from this week).


We’re really making progress on our big conversion at work. The DevExpress conversion is pretty much complete except for one lingering problem. We have a strange error with some of the TreeViews where we get a StackOverflow exception when we assign a DataTable to the DataSource property. However, I managed to create a sample project demonstrating the bug, and DevExpress was able to reproduce the problem on their end using our sample. So now they are working on it, and hopefully they’ll get back to us soon with a fix.

The Atalasoft conversion is also nearing completion. I still need to work out a few of the TWAIN methods, but the documentation is pretty clear, so I’m not anticipating too much of a problem. I do have one odd bug trying to get an ImageInfo object from the JPEGDecoder, and I guess I’m going to have to call that one in to Atalasoft because I’ve tried quite a few things and I can’t seem to get around it. When we feed the control one of our jpeg images as a byte array, it can correctly display the image, and if we pass the array to the GetDecoder method, it correctly returns a JPEGDecoder, but when we pass it into the JPEGDecoder to get the ImageInfo, we get an error message back that says the file is not a valid jpeg image. Weird. I’m probably just doing something wrong, but it looks like I’ll need them to tell me exactly what the problem is.

Yesterday I completed the switch from our old VB6 wrapped WebBrowser control to the new WebBrowser control in the .Net Framework 2.0. Everything is working properly, which is great, but it’s not quite as clean as I had hoped it would be. The new Framework wrapper only wraps a portion of the properties and methods that are actually exposed by the WebBrowser control and the various DOM objects, so the rest of them use what I think of as a “jump” property that flips things back over the unmanaged DOM objects from MSHTML. The downside to that is that our project still needs to keep a reference to MSHTML in order for all of that to work. That means that MSHTML will be the only unmanaged reference in our entire program. If Microsoft had just wrapped a little bit more in the Framework, we could be 100% managed code, which would be great. So that’s kind of a let down, but it’s still way better than the VB6 wrapper we were using before. Plus the new control finally lets us use XP styled HTML controls in the WebBrowser inside our project, which makes things look much nicer. It also makes it possible to do programmatic scrolling down to individual pixels again, which is something we lost when we switched to .Net 1.0 several years ago.

All of that is just to say we are definitely in the home stretch now. I knew the user interface changes were going to be kind of neat, but I never thought they were a particularly big deal. But now that I see the code running with all of the new controls, I have to admit that it really does look good. It’s a big step up in terms of the initial impression that the program makes.

This video of a live re-enactment of a Super Mario Bros level is making the rounds on the internet today. Now normally that isn’t something I would post about, but this one just happens to be from a talent show at Gordon College, my alma mater! How crazy is that? When I was there they had smaller open mike night / talent shows maybe once every two or three months, and a big one at the end of the year. This video is apparently from the big one at the end of the year. I think the skit is quite clever and it’s clear the crowd appreciated it.

Nintendo announced the official name for their new console today: Wii. Apparently it is pronounced “we”. What in the world kind of name is that? The code-name for the console was Revolution, and I really think they should have stuck with that. I still want to get one when they come out this fall (mostly to play all the original NES and SNES games that will be available for download), but I cannot figure out what their marketing department was thinking when they came up with the new name.

Yesterday afternoon I spent almost three hours ironing (it took so long because it was a large pile of clothes and because I am a slow ironer). I have to tell you, I’m not a big fan of the ironing. I think it’s mostly a peer pressure thing. If nobody else ironed their clothes, then I wouldn’t have to iron mine. Why can’t we all just stop the nonsense and wear clothes with a few wrinkles? I really don’t think that would be the end of the world.

Even extreme ironing doesn’t do it for me (also see here and here). More exciting, perhaps, but still a waste of time in my book.

Click “more” to see a list of all of the interesting web sites I found this week. I keep track of my favorite sites using del.icio.us, a free web site where you can access your favorite links from any computer and share them with friends. You can also see all of my favorite links (not just the ones from this week).


Joy and I took Charis on her first trip to the zoo today. It was fun to get out just as our little family, and Charis really enjoyed being outside and having so many new things to see. However, I’m not entirely sure exactly what she thought of the animals. She stared at them with wide eyes and sometimes made her little grunting noises. She kept laughing at the waterbuck, but for most animals it was just a stare. She has all kinds of little toy animals in her Noah’s ark set and her animal alphabet set, and I think the fact that all of the animals at the zoo were so BIG in real life is what really surprised her. It was fun to watch. At the very least I’m glad that the animals didn’t totally freak her out or something, because you just never know.

I also got some cool pictures of a beaver while we were there. I like beavers. I think that’s partly because they’re cute, and partly because they’re so industrious, which I can appreciate. :-)

My sister and brother-in-law just signed a contract to buy their first house today! How fun is that? I remember when Joy and I bought our house. It’s definitely an exciting time, and the start of lots and lots of work getting things just the way you want them. Congratulations Matt and Becca!

NewsGator was down for most of yesterday morning, which was a bummer because FeedDemon uses NewsGator for retreiving and synching RSS feeds, so there was no news available until a little while after noon. I was pretty frustrated at first because NewsGator is a paid service and they were completely down for hours, but later that day Greg Reinacker (the CTO) posted an entry on his blog apologizing and explaing the circumstances of the outage. As far as I’m concerned, a simple apology and an honest explanation go a long way towards alleviating frustration.

Reading about the disk and SQL Server errors they were dealing with sounded all too similar to some of things we’ve had to deal with at work in the past. Trying to fix problems like that under pressure is miserable, so kudos to the NewsGator team for pushing things through and getting everything back up and running. It says a lot about a company when it is willing to publicly discuss mistakes and mishaps, and so I guess the whole thing makes me feel better about NewsGator in general.

UPDATE: Version 0.4.6 has been released. Please see this entry or my CoppermineSC page for the latest information.

I’ve just released CoppermineSC version 0.4.5! You can download the new version or visit my CoppermineSC page for complete details about the plugin. You can also view a sample of what CoppermineSC can do. Feel free to post comments and feature requests to this entry.

This version of CoppermineSC should work with WordPress 2.0.1 and with Coppermine 1.4.3 (as well as with some older versions of both programs). More information regarding compatibility can be found in this post.

New Features in Version 0.4.5:

  • Added new tags to pull the most recently uploaded images from albums, categories, or from your entire gallery (you can set the maximum number of images to include).
  • Added new tags to pull in full-size (original size) images from albums, categories, or from your entire gallery (previous versions were limited to thumbnails only when pulling from albums, categories, or from the entire gallery).
  • Added new setting to indicate whether clicking on an image should open the link in a new window (or tab depending on your browser) or just navigate to the link using the current window.
  • Added new setting to indicate whether you want images to be left aligned, right aligned, centered, or if you want them to follow the CSS classes that CoppermineSC makes available. Previous versions always followed the CSS classes, so that is the default. In order for the left, right, or center options to work (they will not work properly by default), you will need to set the next new setting appropriately, as described below.
  • Added new setting to indicate whether container elements should be div tags or span tags. Span tags are used by default because they will generate XHTML 1.0 Transitional output in a default WordPress setup (but the left, right, and center options described above will not work). In order to use the left, right, or center options in the previous settings, you will have to change this to use div tags. Everything will still render properly if you use div tags, but the output will no longer be compliant with the XHTML 1.0 Transitional specifications (because WordPress will end up putting the div tags inside a p tag because all posts are wrapped in p tags, and you can’t put a div inside a p according to the specifiations). I’m not a CSS genius, so if anyone has a clever way to get an image to align left, right, or center by styling only the img itself, please let me know!
  • A detailed list of all changes is available.


Next Page »