Archive for the ‘Technology’ Category

NCANE.COM going open source

Wednesday, February 24th, 2010

I’ve decided to take my short URL generator and make it open-source. This is for a number of reasons, but I think primarily because I’m emigrating, and sometimes you need to just let things go.

ShutOff 2000’s code will also become open source when I release ShutOff 2010 (that’s a long story – don’t ask).

NCANE.COM’s code-base will be available on Google Code. I’ll update the blog with its exact location when I’ve created the project.

In case anyone is interested, I’m using the MIT licence. No GPL for me, thank you very much.

UPDATE: The project is now at Google Code. You can access it from: https://code.google.com/p/ncane-com-short-url-generator/

I smite thee, spammers

Wednesday, February 10th, 2010

As the founder of the Smiters of Iniquity, I hereby smite all spammers.

Yesterday, ncane.com and I were targeted by spammers, where a spam email went out to (I expect) thousands of people, purporting to be from me (including my personal details from public DNS records), and a short URL generated by ncane.com.

An over-eager recipient of this spam decided to report it to the entire world. My upstream providers were included, as well as the ISP from where the spam originated. That’s to be expected, and I would have done the same. However, the South African Police were also included, along with various other parties (Federal Trade Commission? Really?).

I’d like to say this guy overreacted, but with the status of spam today, did he really?

I’ve since responded to every contact on the list he reported to, stating that my identity was stolen and abused in this email, so hopefully level heads will prevail. The email clearly did not originate from my server, and my ISP seems to be happy (so far).

I’ve also been forced to update all of my domains’ registration details with an additional layer of obfuscation (without breaking the law of course). I should have done this a long time ago because this was only a matter of time, considering my approach to spammers. But again, why should I have to hide my DNS details in the first place?

If this affects me any more, I think I’m going to throw in the towel and cross over to Google completely, cancelling ncane.com. Seriously, this sort of thing is not good for my mental health.

Some people might say that I should have just deleted the spam I receive instead of reporting it and taking on the spammers as I do, but if I don’t do it, who else will? We’ve become deluged by this spam, and it’s simply unacceptable.

Anyway, that’s my rant for today.

Honda Jazz 2002 – 2008 recalled

Friday, January 29th, 2010

Honda SA has announced today a safety recall of the previous generation Jazz to inspect and modify driver door power-window switches that may, in some cases, short circuit as a result of water intrusion into the housing.

(Source: Honda website.)

Apple iPad

Friday, January 29th, 2010

I’m not going to defend it or blast it. Enough words have already been written about it. What I am going to say is that I like it and I want one. I’ll even get word processor and spreadsheet apps. I don’t see the need for multi-tasking, because it’s not a tablet PC. And I don’t see the need for more than 16GB of space, because as an eBook reader, it’ll be enough. I estimate most books come in at far less than 1MB, which gives me space for 16 000 at least. Wow.

SQL Server 2008 R2 demo

Friday, January 15th, 2010

My boss convinced me this week to demo the new features in Microsoft SQL Server 2008 R2 to our team, so that they can get a basic handle on why I think SQL Server 2000 should be buried.

The big day is on 27 January, and I have 45 minutes in which to make the presentation. All of our customers are still on SQL Server 2000, so I am expecting to demo some 2005 features as well.

Here is my proposed list:

- Management Studio overview – 5 min
- Table partitioning – 5 min
- SSIS overview – 10 min
- Compression (2008) – 10 min
- Master Data Services (2008) – 10 min
- Questions – 5 min

Thoughts?

ShutOff 2010

Friday, January 15th, 2010

It’s 2010, and has been for two weeks. I have not made much progress since I last checked in on this. Perhaps I can use some of this weekend to catch up.

The snag I ran into in December, which is holding up the release, relates to a Microsoft DLL change between Windows XP and Vista. This wouldn’t be so much of a problem if the XP version worked in Windows 7. It doesn’t. I don’t know if it’s my fault or Microsoft’s. Yet. (I am big enough to admit if it’s my fault, once I find the problem.)

The funny thing is, I’m *this* close to just open-sourcing the damn project like I was going to do with ShutOff 2000 anyway, unfinished as it is.

Thoughts?

Another Simple PHP Blog converted

Friday, January 15th, 2010

Tonight, I completed a second conversion of someone else’s Simple PHP Blog to WordPress.

As regular readers know, I developed a C# Windows app to do this for myself, last year. However it is certainly not production-ready, so two separate websites had to be assisted manually with the conversion. Their common issue is that they were combining more than one Simple PHP Blog directory into a single WordPress instance.

The trickiest part of doing this is the category list, and internal links.

With the category list, as in this recent conversion, the two source directories had the same categories between them, but in a slightly different hierarchy. That means manually merging the generated SQL scripts into one file, renumbering the category IDs in the second dataset, and removing the truncate statements.

With internal links, the problem is simple, but the resolution is awful: a blog will point to earlier posts, but when generating the SQL script, I don’t know what the new IDs will be for those posts, plus the permalinks may be changed at some stage by the blog owner. In other words, I need to know a URL that doesn’t exist yet.

Currently, I find all occurrences of internal site links (manually, using a SELECT … LIKE query), generate the new WordPress blog by executing the generated SQL script, manually update the script with the new IDs by searching for them through WordPress’s built-in search, and then re-running the modified script. I really need to find a better way, because this last blog had nearly 100 internal links, and my search and replace is slow.

How do I fix this in code? Well, I have a pretty good idea, but I think it may be error-prone. Simple PHP Blog creates static files and names them whatever the timestamp is. I use this time stamp in the course of generating the script, but I noticed tonight that sometimes the filename and the modified date don’t match up, especially if you’re not using GMT (UTC) date stamps. So if the timezone is screwy, the filename might be wrong.

If I can crack the timezone problem, I might be able to resolve matching the internal links via their timestamps. While this isn’t perfect (multiple posts with the same timestamp, for example), it’s a start. Then I can guess what the URL will be.

Unfortunately, this means having to assign static IDs in the SQL script, which I’m trying to avoid, but is there a better way?

I’ll look at this when I get a chance. Comments and suggestions are welcome.

Drive recovery

Tuesday, January 12th, 2010

I had to validate my data recovery today. Imagine my surprise that they recovered a Mac partition. This drive was my external Mac drive *before* it became an internal NTFS drive, after which I copied my data to it, at which point it failed.

So tonight is going to be interesting as I go deeper into the recovered data. No obvious sign of my decade worth of mail though, which was the main priority.

ShutOff 2010 is almost here

Wednesday, November 18th, 2009

The first thing you’ll notice is the name: ShutOff 2010. I decided that “ITS ShutOff Professional” didn’t roll off the tongue as easily. Besides, it’s ten years on, so ShutOff 2000 should be replaced by ShutOff 2010.

I wrote quite extensively on this new .NET version in a recent post, as well as the fun I had with a bug in ShutOff 2000. (I’ve decided on .NET 3.5 as the minimum requirement for this baby. This is to ensure that the new version remains more current than the Visual Basic 6 base of ShutOff 2000.)

Tonight, quite by chance, I opened up the project in Visual Studio 2010 Beta 2 and started playing around. As a result, two hours later, the command line version is finalised and in testing, and the GUI version is finalised and in testing. That’s a big win right there.

There are two final pieces I need to put in before it can be released, which are in the core library, plus a bit of polish on the UI.

I’m anticipating something final in the next couple of weeks, if not sooner. I doubt it’ll be sooner, thanks to NaNoWriMo.

Scoble on Cloud Computing

Saturday, October 24th, 2009

Robert Scoble joined the party now, pointing out what Brendon and I wrote about two weeks ago – managing data across several cloud computing vendors. Nice to see I’m still a trend setter! Thanks, Brendon!