Sun 21 September 2008 @ 14:02
I interviewed recently for a really interesting job. The position is ostensibly called “Web Architect” which doesn’t tell you much until you realise that some of it is about putting web solutions together for a company and specifying the technologies used. There’s an element of coding too, some administration, some presentation and some marketing. All in all it struck me as perfect, and I want it. There might be another interview soon, so we shall see how it pans out.
During the 30 or so minutes I took me to write the previous paragraph I encountered some issues. Firstly, the latest version of Windows Live Writer comes with an interesting bug in it. It is a late beta, so that’s pretty much expected. However, this is one that I have never seen before with this product, and it only happens under a specific set of circumstances. Your blog must be using the MetaWeblog API as an interface, and you must not have upgraded this version from a previous build. When you try and detect the blog, it will take you through the entire process before throwing an exception. I haven’t gone to the trouble of running a trace on the XML conversation, and to be honest I think this error happens in the code after the conversation is complete. I was talking to Joe Cheng who works on the Live Writer team at Microsoft, and he said they had found the bug and would release a patch soon. Can’t give you an exact timeframe on that though. So, if you are thinking of installing the latest build of Live Writer (the “Wave3” betas) and use BlogEngine.Net then make sure that you upgrade rather than fresh installing.
The second issue was that the ping services tab in BlogEngine.Net was all of a sudden empty of entries. I don’t know why, but they had all been erased. While trying to update them, I discovered a problem with the identity field for the table that holds the ping servers – it was setup incorrectly. I think something happened when I copied the data from my dev to the live server a few weeks back, but because I was only posting from Live Writer I hadn’t noticed it. At some point I have to draw up a smoke test for BlogEngine.Net that goes through testing for ALL of the functions before rolling out live. Anyway, in addition to the table issue, I had to go and get a new list of ping servers as I noticed that a few have gone inactive. One thing that I noticed is that Microsoft still don’t have one for their live search, though they do allow submission of a site map. However, the transaction causes a nicely handled exception which dumps out the results to a log file. Anyway, here is the new list of ping servers I have gathered:
Tue 12 August 2008 @ 19:27
I was just thinking about the steps required to get this blog from one format to another over the years. I started blogging in March of 1999, storing my data in the following ways:
- HTML pages, sequentially built and edited by hand. IIRC these were done in something very basic like Notepad or UltraEdit. There was no interface for adding / editing posts at that point.
- Access databases took over very quickly. I was pumping the data into the database by hand first, and then with forms a little later. Access was implemented here in late March, and took a couple of days to get sorted out. There were two main pages – one to display the first ten or twenty posts, and one to display the “Archive”.
- SQL Server 2000 was implemented on my web host in December 2000 and I immediately jumped at the opportunity to use it. I had been programming with it in work for a few years at that point, but it was always a very expensive option for a host to supply. It was a pretty basic database server, but it managed pretty well under load.
- SQL Server 2005 was rolled out in February of 2006, around the time that I was starting to think about moving to a new hosting company. I used this at work a lot more than on DaveWhite.Net.
- SQL Server 2008 has just been released, and is available as an option to me. I’m not going to take it straight away though, as I didn’t take part in the beta test and don’t really know that much about it yet.
The data been been available on the web with probably not more than a week downtime since March ‘99. That really isn’t too shabby for something that didn’t start with a design plan… it was more of an organic growth from page to a fully fledged database driven back end. It is only this year that I have started letting “someone else” be responsible for how I handle the data. Before this, I had complete control over the database structure. Now, of course, I am using an open source blogging system, even though I own the data, I didn’t specify how it was setup. It was a scary thing to do I can tell you… and I think I still have the original blog tables in my database, just in case!
Mon 4 August 2008 @ 17:07
Okay, so the change I made on Friday was completed easily enough, and very quickly. This newer version was having problems with the older database on my dev server, so I decided to do a complete backup and then erase everything before upgrading. I thought it would actually take several hours, bit it was all done in about 40 minutes I think.
There were two causes of concern for me. The first was that I needed to erase the tables in the database and start again. There is an upgrade path, but it wasn’t working properly for me. User Profiles and Extensions weren’t being handled properly and the relevant pages were causing errors. The last time I handled this large a series of SQL transactions it took several hours as the database was in California. This time however, the server is in London, so was much faster for me. I probably spent no more than 15 minutes getting the SQL server stuff done. Steps were as follows : I had to backup the entire database and copy it to my development SQL Server here. Then I had to drop the tables and recreate them using the “New Installation” script that comes with BlogEngine.Net.
While the above was going on, I had erased all the files from the server and started to upload the files from the new installation. I had to be careful not to erase the photo gallery, so I moved that elsewhere while the upgrade was going on. I had to edit only two files – the web.config and the sitemap. Web.Config needed only two small changes – one to handle the database settings, and one to ensire strict XHTML conformance (which is slightly broken even now, will get that fixed soon). By the time the files were uploaded, I had taken the backed up SQL data and installed it as a new database on my development server. That allowed me an easier migration path for the old data, as I could use the SQL Server Import Wizard to handle it all for me. Once I had the tables done, I changed the settings to match what I had used before, and then tested everything.
I have to say, this version of BlogEngine.Net is far better than the previous release. Many of the bugs that were plaguing my installation have been fixed, and there is a noticeable speed increase too. From my perspective (considering I use Windows Live Writer to write and edit blog posts), there only remains one bug, and that’s fairly minor. So, hopefully this should all work better and easier for you. Oh, if anyone is using the RSS feed to read my blog, could they let me know? I’m going to be playing with that a little soon and I need to know how many of you ready it on a regular basis. Feedburner says there were sixteen active subscribers… is that really the case? Let me know!
Thu 23 August 2001 @ 11:00
All of this work on Dan's site has given me some interesting new techniques for making this site faster to load. I'm going to overhaul the database engine soon, reading the records into an array in a single transaction, instead of extracting them one by one. Should make a difference... sometimes you get SQL errors looking at this page, and frequently on the Old Stuff link.
Wed 6 December 2000 @ 11:00
Renovations... the nice people who run this server have added SQL Server 2000 as the database option. I simply HAD to use that if possible, so I'm in the process of porting the site over to be served from it. It should be a lot faster than the Access database I use now, and much easier to maintain/update/play with :-)