Blog
Page: 0 ... 5 ... 10 14 15 16 17 18 19 20 21 22 ... 25 ... 30 ... 35 ... 40 ... 45 ... 50 ... 55 ... 60 ... 65 ... 70 ... 75 ... 80 ... 85 ... 90
Scribe IMAP
Date: 7/6/2010
I've finally got sick of the way that Scribe doesn't seem to pick up on new email in the IMAP inbox. So I started watching what Thunderbird does and basically it's using the IDLE command to force the server to notify it when new email arrives (as well as other events). I was under the mistaken impression that IMAP server should be sending untagged data to the client to achieve that sort of "push" notification.

So I've added IDLE support to Scribe's IMAP protocol stack and I'm now working on integrating the resulting events back into the IMAP thread code so that they do useful things like show new email. The next release should be more standard in it's new mail behaviour.

One thing I did notice with the IMAP support in Thunderbird is that it regularly uses 2 socket connections. And I never attempt to open a 2nd connection (one is complicated enough). But it's something I'll have to probably look at in the future to avoid lag if the main connection is busy downloading a large email or something.

With respect to Gmail support, I've read the spec and even tried some implementation of the OAUTH authentication method but so far it's a dark twisty maze of tokens, encryption hashing and parameter encoding. Sigh... and so far it's winning, not me. Unfortunately Gmail uses SSL and that means I can't spy on the traffic between Thunderbird and Gmail to try and get an "example" to follow. One thing I need to investigate is whether there is a way of dumping the unencrypted SSL traffic from inside Thunderbird. Worst case I could download the source and build a version that DOES dump the traffic. But thats worst case... I'm sure that's a non-trivial amount of effort.

Anyway, enough drivel. Back to it.
(1) Comment | Add Comment

Linux / Scribe / GTK?
Date: 2/6/2010
Wondering where it is?

Well I'm busy with life, but I found some time to make a Win32/GTK build of Lgi, which Scribe uses as a cross platform layer. The purpose of this is to work on getting a stable build of Scribe using GTK on a platform that I actually use. It seems I have no time to boot into Linux these days so if I had a windows port then at least I'd be 90% the way there in terms of functionality and it'd just be tweaking things for GTK/Linux rather than writing a GTK port from scratch. I very much doubt I'd ever release a GTK/Win32 build of Scribe as it's a bit pointless considering the native port is a) smaller, b) faster and c) better.

So yeah, I'll work on that... it's not dead.

Update: I have a working build of Lgi/Gtk2/Win32 but I fail to understand the Gtk layout internals enough to position widgets wherever I want. The allocation vs request stuff is doing my head in. I can get all the widgets into the right place by setting their size but then I can't resize the window any smaller than the initial size which isn't what I want. Basically I want something like the GtkFixed container that I can resize down to 1x1 if I have to. Yeah basically I want Gtk to butt out and let me put my widgets where I want using all my own layout. "Good luck with that" I hear the chorus from the peanut gallery ;)
(0) Comments | Add Comment

Scribe issues with Aspell and PHP
Date: 31/5/2010
If like me you do a little PHP as well as use Scribe, then you might find that one day your spell checking functionality in Scribe just stops working, and instead all words are returned as spelling errors despite having the dictionaries correctly installed and configured.

This is because your PHP directory is in the PATH and also has an aspell-15.dll and Scribe is loading that instead of the one in your aspell install (usually C:\Program Files\Aspell\bin).

The fix is to more the aspell folder so that it's before your PHP folder in the list of folders in your PATH.

Btw I quite like Path Editor for that purpose.
(0) Comments | Add Comment

Visual Studio 2010 Express Registration Key
Date: 12/5/2010
6VPJ7-H3CXH-HBTPT-X4T74-3YVY7

Just FYI you know.
(3) Comments | Add Comment

Pinnacle VideoSpin
Date: 10/5/2010
If you ever consider downloading and using Pinnacle VideoSpin, stop... turn around... and run away as fast as you can. It takes the definition of crap to new levels. Lets see:
  • 130 MB download... Oooook... better be good.
  • Open downloaded exe and it says "Saving setup.exe to \temp...." which it then runs and that then saves Setup.msi to \temp..."... what the? Did they save 3kb doing the Russian Matryoshka doll thing? That is just lazy slack programming.
  • Finally its installed and I run the damn thing, and it comes up with a splash window. Then some time later a blank window with not much in the way of menus or toolbars appears... thinking thats the app I look for something to use to er... like edit videos. Nothing. So I switch back to the "splash" screen still in the background. 3%. 5%. 8%. 11%. 12%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. 13%. Um... task manager... no CPU... no disk access.... it's hung. Ooooooooooooooook.
  • Kill both processes it's started... look in Start -> Program Files -> VideoSpin... no link to uninstall. Ooooooooooooooooook.... arrrrrrggggghhhhhhh.
  • So Add Remove Programs.... uninstall. Uninstaller is currently hung and the system is laggy. I guess that its par for course.

    Like I said... run away. Run far far away.

    That is all.
  • (0) Comments | Add Comment

    Application Crash Handling
    Date: 5/5/2010
    I've got a number of outstanding Scribe bugs that involve crashes at the moment so I've been trying unsuccessfully to collect crash dumps and work out where the crash happened. The existing system writes a minidump to a file and I should be able to use that to find the stack trace of the crash and what threads were doing what. However the reality is that when I get all my symbols and binaries lined up VS2008 (express) fails to match the .PDB's with the binaries. I know that I have all the right files and paths, but I guess it just can't cope with VC6 built binaries/symbols.

    So where does that leave me? I'm downloading VS2010 express at the moment to try and build Scribe/Lgi with so that I can try postmortem analysis with that. Hopefully the minidumps from a VS2010 build will seamlessly load into VS2010 and work. I already have good systems in place with the saving of symbols during my release process, but I need to close the loop so that crash dumps get reported back to me more autonomously.

    This week I added proper version information to the version resource on the windows builds. That is handled by a custom build step running a python script that pulls the scribe version and build identification and the current SVN revision and then embeds that into the Resource.rc file so that it ends up in the version resource of the final binary. When the application crashes I try and load that information in to use as the filename of the crash dump so that you get something like this:
    InScribe-2.00.24.4774-crash.dmp
    So in the near future I'm planning to add some code that scans the install folder for .dmp files and offers to upload them to memecode.com to report the crash. Then I can collect them and fix the problem. In theory.
    (0) Comments | Add Comment