New Project: Semagic?

An initial contender for my next hobby project was contributing to Semagic. It’s an open source blogging tool, it’s written in C++. I’ve been using it for a long time to manage personal blogs and my old tech blog on livejournal, and for the most part, it works quite well and is fairly robust. But keeping with the times, I’ve moved my tech blog to a self-hosted wordpress blog where I retain greater control and have a lot more ability to customize the blog. But, even with all the fancy javascript driven (html5?) “auto-save” stuff on the post a new entry admin page, I’ve already lost multiple blog entries to random irrecoverable errors that happen only sporadically after you press post or save draft.

So then I started looking into native applications to use as editors for my posts for wordpress, rather than using the web interface. There’s really not a whole lot out there. A couple that weren’t very robust or feature-complete and were not open source, one from Microsoft that may or may not have been part of a business unit that was disbanded, oh, and it turns out Semagic does have some rudimentary support to post to wordpress IF you can figure out the settings right (they’re not very well documented).

So I started looking into that. It’s a one-man project, so a lot of things aren’t very well documented, like, say, what IDE you even need to compile the project. I did poke around in the project’s feature requests and bug tracker to evaluate whether there looks like stuff I could help with. Probably so. I thought for starters I could fix an easy one and see how that goes, as far as patches being accepted or whether the project was unreceptive to contributions. So I updated the icon to have a Vista/Win7 resource. I took the largest bitmap I could find of the application’s logo/icon (turned out to be the one on the login screen), and traced it with a vector-editing program (corel draw), to come up with a scalable version of the logo, not straying from it’s existing design, and then converted it back to a bitmap image at the proper size and added the appropriate shadows. So that was kind of fun, and here’s what I came up with:


Two versions, one following the design of the smaller icon views, and one that includes the spiral that would have been too much detail for smaller views.

But anyway, as far as moving on to actually starting to edit any code, it turns out you need Visual Studio 6 to compile. The author had attempted to port it to Visual Studio 2005, but was unsuccessful in finding the right combination of switches and flags and changes to fully compile with the new IDE. I actually at one time had Visual Studio 6. It’s not currently on my machine, as it’s quite a bit “obsolete” to the same era as Delphi 7. In fact, I think the disk is at my parents house in a box somewhere, so not convenient to re-install, and if I want it, I may have to wait till the next time I visit them to look for it.

But, seeing whether I could port it to build on a newer version of visual studio, say the free version of Visual Studio 2010, since that’s what’s current (Visual Studio may imminently release the free version of Visual Studio 2012, but it wasn’t out yet when I looked). On the one hand, that’s tough to try to jump into an unfamiliar project in a language you don’t have expert mastery over all the compilation settings, without at least having gotten your configuration working in a known environment (Say, VS6), but on the other hand, that puts you in a modern free IDE which is ideal for open source development, where you wouldn’t have to hack the Vista/Win7 icon resources into the EXE *after* you build it (there’s a 3rd party app that will replace the icon resource on a completed EXE) and might be able to make it look a little sleeker on modern OSes, so it’s not without it’s merit.

But, to install Visual Studio 2010, even the free edition, you need to have all the latest service packs installed. For Vista that means service pack 2. So I started working on installing all the hotfixes and service packs on old dying laptop that’s already had it’s motherboard replaced once only has Vista. That went well, until I got to trying to install service pack 1. Somewhere along the way after a reboot or three, it froze and stopped installing. After waiting several hours, I was quite certain it was frozen and not just “still busy” and had to reboot and the recovery tool couldn’t repair my service pack upgrade (perhaps a hardware driver conflict?) and the only option I had to get back to a working computer was to rollback the installation of the service pack.

All in all, I have to say, Microsoft has done quite a robust job at their recovery tools for software upgrades, and I was pleased I wasn’t at the point like you would be in the olden days where you’d have to reformat and reinstall the OS to recover. But that left me at the point of not having service pack 1 let alone 2 installed, and hesitant about whether it’s worth risking killing another motherboard/making the computer inoperable, especially when I had some other more important stuff (like tax related things) that really needed to be done on *that* computer if at all possible in the meantime. So I set that project aside for now. It’s still on my radar. It’s still one I’d like to contribute to, the wordpress support in it is far from feature-complete, and not terribly well documented. Examples: I was afraid I was going to lose my configuration settings for my other blog just to set up posting to WordPress (turns out it doesn’t, the dialog just needs a couple UI things clarified). It doesn’t seem like you can post as a draft to have your draft saved on the server, but unpublished. Etc. But it’s on hold until either I can get ahold of my disk(s) for visual studio 6, or I get a new laptop that is not going to buckle and die at the mere thought of installing the latest service packs. Or until I find room for an external monitor to hook up to my netbook… Projects for another day I guess.