Blog
Page: 0 ... 5 ... 10
Mozilla meet Scribe, Scribe... Mozilla
Date: 4/9/2003
It seems after many months of "mailto: is not a registered protocol" I've finally managed to beat Mozilla [Linux] into submission and get it to open Scribe to send an email.

This 'wizardry' was accomplished with MozEx, an extension for Mozilla (why it's an extension and not PART of the application I don't know). Anyway, with a non-user friendly command like:
/.../Scribe/scribe -m  "%a" -c "%c" -s "%s"
MozEx will pass all the parameters of the mailto: link down to Scribe, where with some newly written shared memory black magic it passes the arguments to the running instance of Scribe and up comes the compose window with all the arguments in the right place.

Ahhh, Genki!
(0) Comments | Add Comment

The ongoing saga of Scribe-Linux
Date: 27/8/2003
I ran Scribe-Linux overnight in stress test mode, doing 2 connects/minute to see if I have solved the threading issue that kills the connects after a while. And it passed, interestingly enough the menu z-order bug hasn't shown up since I fixed the threads either so I'm beginning to suspect that they were related.

Which would be great, because I really didn't know where to go on that. So now the only showstopper left is the XMoveResizeWindow occasionally failing / not having any effect bug.

Then after that I need to do a little clean up work, finish the new security model and the bayesian filtering UI and it's ready to go out the door.
(0) Comments | Add Comment

Why there isn't any new Scribe ala Linux
Date: 24/8/2003
For weeks on end now I've been trying to work out why various XLib calls seem to fail without warning, and without returning an error code.

For instance:
XMapWindow(XDisplay(), Window);
XMoveResizeWindow(XDisplay(), Window, x, y, width, height);
When executed, in some cases it fails to set the window position after mapping the window. But only in a few repeatable isolated cases, and usually only after the first time it's executed. For instance in a dialog a child window is in the correct place initially then every time after that it's in the wrong place. The return values are the same, the Window's are all recreated, i.e. not reusing the same objects. Xlib/X11 is just busted.

Then there is my other fravorite. I implement menus in Scribe/LGI with Windows created with XSetWindowAttributes::override_redirect = true, as you do. And I then "attach" it to the owning application window with:
XSetTransientForHint(XDisplay(), Window, Owner);
Which should make sure that the popup menu is always ABOVE the owner window. And it works for the first hour or so and then suddenly it STOPS working and the menus appear BEHIND the owning window... for no apparent reason and with no apparent user interaction (i.e. the app is at idle). So you click the menu and nothing appears because the Z-order is all screwed up. This can also be caused by calling XSetTransientForHint with None as the owner parameter (which is a bug in X, it should just ignore the call, but I can deal with that) so I fixed that but it's still happening.

So unfortunately I'm stuffed... Xlib is broken. I'm sure there is a way to work around these problems however I have less and less patience to look for the solution. All my code that does this is part of the open source GUI library: LGI which I'll update today, that anyone who is interested in looking at the raw code they can.

Update2: 2nd bug NOT worked around. Notice: Undefined variable: id in /home/fret/html/news.php on line 289 (More...)
(0) Comments | Add Comment

What I really want...
Date: 20/8/2003
...is a new hybrid Operating System and Desktop built from the best parts (IMHO) currently available.

Kernel
The Linux kernel is probably the best bet at the moment, although a micro-kernel could unseat it. Currently my own beef with the Linux is that quite often to access some functionality of your hardware you need to recompile.

File System
Reiser4 sounds like it's nailed about 90% of what I want in a file system. My only concern is that it lacks BeFS's live queries which just plain rock. BeFS would be a great fall back.

GUI
X11 is way too slow, Windows is closed source, BeOS's GUI is closed source. Bascially there is nothing out there to run the GUI that is modern, fast, cross-platform, flexible and available... better write one. My guess is that the best option would be using something like directfb or SDL to write a MacOSX like GUI, lots of hardware acceleration, transparency, animation, neat effects, easy to use API in C/C++. Then for application support a Xlib wrapper would work just fine.

Desktop
BeOS got it right with their desktop. And it's kinda available in open source projects. Although much API hackery would be needed to shoe horn it into Linux / Reiser4.

So I'm just missing a GUI for my frankenstein OS... *twiddle twiddle* Notice: Undefined variable: id in /home/fret/html/news.php on line 289 (More...)
(0) Comments | Add Comment

Update
Date: 19/8/2003
Well it's been pretty quiet on Memecode lately but I'm here to reassure you that things are moving forward. As those of you that read the change logs will no doubt know, that the coding continues unabated. Recently I've been using the Linux build of Scribe more than the Win32 and that has forced me to fix large swathes of untried code. It's feeling far more polished than even a month ago and for the most part I expect things to work rather than not. I gave myself a minimum requirement for the next release in that all the major issues should be addressed, and I'm almost there.

I sometimes need the input of people testing the software, and sometimes I KNOW that it's busted... and well I keep it to myself, rather than inflicting it on the general populance :)

Plus once all the easy issues are fixed in the software, your left with the hard nut ones, that usually take inordinate amounts of time to track down. So a lot of my time recently has been taken waiting for things to break, getting a tiny little bit of information and restarting the process. For instance Scribe's receive getting stuck in the "Setup..." state is a classic example. Give it 24 hours and it'll eventually get stuck, but you can't "force" it to happen. *sigh*

Besides the coding, I've had a massive month. With recording's for TV, my sister in law's baby being born, looking after our own little one, tracking all over town for car bits and keeping our house from looking like a blast zone.
(0) Comments | Add Comment

Windows: Blaster Worm
Date: 13/8/2003
If you've just come out of your bunker and DON'T know about the new Win32 Blaster Worm doing the rounds, it's time to to patch your box and remove the virus if you've got it.

The first virus I've had in years... *sigh* While I'm [relitively] safe from the unwashed hordes in my Linux castle, I still run Windows to support all the Win32 versions of my apps and for the other user in the house.

The usual suspects don't apply to me ;)
(0) Comments | Add Comment