Firefox spell checking has demoted Word

I was just posting a comment on my blog via IE, and realized that I didn’t trust my spelling. In fact where was the red line!

So I went to the start menu (Window XP machine) and didn’t see Word icon in the quick select list. It’s always been there before. But it’s been demoted to some sub level menu. Firefox is the reason, ever since they added in-line spell checking I have had no reason to cut’n’paste to Word to check all my spelling. Nor do I use Gmail’s spell checker any more.

So because I couldn’t see Word quickly, I went to my open Gmail thread and just pasted into the reply box of the current thread, to get the Firefox checker, then cut the corrected sentence, and discarded the reply.

Moral, use Firefox to look at your blog, so commenting is easier!

p.s. It even seems backwards that LiveWriter doesn’t do as you type spell checking. It’s like using Word Prefect 5.1 again (ie a great program, just retro).

I love regex Find and Replace

Our code base is very old C in places, but compiled as C++. One of my bug bears has been the use of a malloc wrapper. The issue that push me over the edge was turning on heap debugging to find all memory been allocated by this function (well two: malloc and realloc).

So when I commented them out via some large Ctrl-K-C action and add some wrapper #define’s, the program broke, because the custom malloc’s zeroed the RAM, and the standard malloc set every thing to 0xCDCDCDCD.

new on the other hand does zero ram (via the constructor), and not trash vtables, etc, so with the help of global search and replace (Ctrl-Shift-H) and some regex \(:b*{:i}:b*\*:b*\):b*mem_alloc:b*\(:b*sizeof\(:b*:i:b*\):b*\) and replace with new \1() I have removed most of the evil, and can now hand check the rest.

thus

    typeA *var = ( typeA *)mem_alloc( sizeof(typeA) ) ;

becomes

    typeA *var =  new typeA() ;

which is much better. Not having back tracking means you have to do each replace by hand as the following matches.

(typeA *)mem_alloc( sizeof( typeB ) ) ;

In this case (in my code) typeB is a local variable that is an array of typeA so this is fine, you just don’t want a new of typeB.

Now I’m getting bitten by a default constructor issue that I will also blog about.

p.s. fear not that I’m doing this in the main trunk. I am using my sandpit branch, and using the lovely merge functionality of subversion (via TortoiseSVN) to keep my trunk up to date.

Using FeedDemon 2.5 Beta 4

I upgraded to FeedDemon 2.5 Beta 4 at work, mainly for the cos I can factor, but a little bit for the better embedded video support. But the features that I actually like the most are two UI tweaks.

  1. When you click on an item in the news panel, it gets a light blue border now. It used to colour the whole item’s background light blue, which interfered with the feel of reading.FeedDemon blue board around current reading entry
  2. The subscription tree has cute little triangles for open/closed status of the nodes. It used to used classic plus/minus signs.FeedDemon cute TreeView icons

So just small things, which make it nicer to use. It feels better, just because the UI is cleaner.

We have Wii

Yesterday we (I) purchased a Nintendo Wii, spent most of the day playing Wii Sports with the kids.

There was no issue get the product as there appears to be in the USA.

Mistakes made:

  1. Should have brought a Zelda bundle, and got Zelda for $65 instead of having to go second hand or pay $100
  2. Should have brought a extra Remote, not Nunchuk (Remote add-on), so Michaela is going to take it (the nunchuk) back and see if we can up-sale to a Remote+Wii Play bundle.

Lots of fun watching people play Wii Sports, I really was enjoying Tennis and Bowling. It was nice playing a full game of bowling without getting a sore arm.

Games that I’m looking forward to getting so far:

Wii Sports “Fitness Age”: Me 32, Michaela 77 (hehe)

Browser Wars

From Mark:

I always did like the Browser Wars ;)
Luke Spyglass: “You fought in the browser wars?”
NCSA Mosaic: “I was once a web browser the same as your father.”
Luke Spyglass: “My father didn’t browse the web. He was a finger server at the community college.”
NCSA Mosaic: “That’s what your Uncle told you. He didn’t hold with your father’s ideals. He thought he should stay home. Not gotten involved.”
Luke Spyglass: “I wish I had known him.”
NCSA Mosaic: “He was a cunning application, and the best downloaded in the galaxy. I understand you’ve become quite a good downloader yourself. And he was a good friend. For over a thousand days the W3C protected the web. Before the dark times. Before the Empire”
Luke Spyglass: “How did my father die?”
NCSA Mosaic: “A young web browser named Internet Explorer, who was a derivative of mine until he turned to evil, helped the Emporer hunt down and destroy the W3C standards. He betrayed and murdered your father. IE was seduced by the Dark Side of the internet.”
Luke Spyglass: “The internet?”
NCSA Mosaic: “Yes, the internet is what gives a web browser his power. It’s an energy field created by all connected computers. It surrounds us. Penetrates us. Binds the world together. Which reminds me. Your father wanted you to have this when you were old enough, but your Uncle wouldn’t allow. He thought you’d follow NCSA Mosaic on some idealistic crusade.”
Luke Spyglass: “What is it?”
NCSA Mosaic: “It is open source browser source code. The weapon of a web browser. Not as random or clumsy as a closed source. An elegant idea for a more civilized age.”
NCSA Mosaic: IE was a good friend.
NCSA Mosaic: When I first knew him, your father was already a great application. But I was amazed how strongly the Internet was with him. I took it upon myself to train him as a browser. I thought that I could instruct him just as well as Lynx. I was wrong.
Luke Spyglass: There IS still standards compliance in him. I’ve felt it.
NCSA Mosaic: He more Microsoft’s interpretation of W3C standards now than compliant; twisted and evil.
Luke Spyglass: I can’t do it, Mosaic.
NCSA Mosaic: You cannot escape your destiny. You must face Internet Explorer again.
Luke Spyglass: I can’t kill my own father.
NCSA Mosaic: Then Microsoft has already won. You were our only hope.
Luke Spyglass: Lynx spoke of another.
NCSA Mosaic: The other he spoke of is your twin sister.
Luke Spyglass: But I HAVE no sister.
NCSA Mosaic: Hmm. To protect you both from the Emperor, you were hidden from your father when you were born. The Emperor knew, as I did, if IE were to have any offspring, they would be a threat to him. That is the reason why your sister remains safely anonymous.
Luke Spyglass: Opera! Opera’s my sister.
NCSA Mosaic: Your codebase serves you well. Bury your threads deep down, Luke. They do you credit, but they could be made to serve the Emperor.

Update: And from Conor we get Store Wars