Blog
Page: 0 ... 5 ... 10 ... 15 19 20 21 22 23 24 25 26 27 ... 30 ... 35 ... 40 ... 45 ... 50 ... 55 ... 60 ... 65 ... 70 ... 75 ... 80 ... 85
Online Version Update
Date: 1/5/2009
I'm planning on rolling out online checks for new versions via HTTP for most of my apps staring with Scribe. There are some things that need to be ironed out in terms of how it will actually work.

My current plan is to:
  • Have a software update component in Lgi that knows how to check for updates online using HTTP (and auto-detection of any proxy).
  • Once or week (or some appropriate time frame) the software calls the update component and it will download any new versions and prompt you to restart to install the update. The time/date of the check will be some multiples of the install time, so that the memecode.com server doesn't get swamped with HTTP connections all at the same time.
  • A mechanism for manually triggering the update check will be available which will show a user interface. Otherwise the auto check will be pretty silent.
  • There will be an option to turn off auto-updates, however it will default to on.
  • When an update is downloaded to a temp folder the application will start it and then quit. The user will then have to click through the installer... which is like 2 clicks for Scribe. The install folder will now default to the current install location (if known) so even if you have installed into a non-default location it should be fairly smooth. The reason for making the user click through the install is a) to give them control and b) give the app time to quit. The problem with NSIS silent installs is they don't warn you if the file can't be written as is the case when the application is still running. At least in non-silent mode you get a warning dialog come up saying it can't write the file and there is "Abort", "Retry" options.
  • I'm hoping to extend the mechanism to handle sub-components so that I can install on demand items like plugins, internation language support and SSL dlls.


It's almost at a point where I can run an update manually. I haven't started on any auto-update functionality. But if anyone has serious reservations about it, I'm giving you a chance to speak up now. I expect there might be a vocal minority that don't like applications connecting to the internet, "phoning home" so to speak, for any reason at all. But the vast majority of application have some sort of update warning or ability these days and it almost always defaults to on so I feel like it's time I joined them.

I'm playing with the idea of collecting some basic platform and version stats via the online update script. Nothing personal of course, just the applications name, version and OS/platform. The information would be interesting to me, and I might even make some high level stats available from time to time via the blog. It might help in choosing where to focus my time.

If that all sounds scary, I'm also planning on semi-automatically sending crash reports back via the website.

So brace yourself ;)
(4) Comments | Add Comment

Firefox Addon Plague
Date: 16/4/2009
Since I blogged about Microsoft forcibly installing it's .NET Firefox add-on I noticed today that the most recent Java update installs it's own "Java Quick Starter" Firefox add-on too. At no point does it warn you that it will do this, and you have no option to not install the add-on. If it wasn't for Firefox's smart decision to show the add-on window on startup whenever the add-ons change I wouldn't have noticed it at all.

So I'm starting to see a trend here, large opaque companies and dumping their add-ons into Firefox without the least regard for what the use wants. And Firefox, much to my distaste, lets them! On top of that, Firefox won't let you uninstall them, you have to find the various registry keys and DLL's and blow them away by hand.

I would like to see Firefox be a lot more picky about what add-ons it loads, and if something new appears in the list... don't blindly load it, but prompt the user "Load" or "Delete" this new add-on? Then these big corporate overlords will not be able to slip their code into everyones daily lives so easily. Maybe Firefox should not load any add-ons that the user hasn't installed via Firefox itself?

In any case, the removal instructions for the "Java Quick Starter" are:
  • Close Firefox
  • Delete the 'jqs@sun.com' registry value in:
    HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\extensions
  • Delete the files in:
    C:\Program Files\Java\jre6\lib\deploy\jqs
    for good measure.
  • Add optionally remove Java totally from your machine ;)


If anyone knows of some software that can block registry writes to certain keys... let me know ok?
(2) Comments | Add Comment

Software Comparisons on Wikipedia
Date: 15/4/2009
Many years ago I noticed that there was a page on Wikipedia comparing all the email clients. So of course I added Scribe to it. A while later someone removed it and caused a cascade of issues, starting with the de-listing of the Scribe Wikipedia page and then the de-listing of Scribe in Google results. Fun eh. Anyway the comparison pages are really useful for picking a software from a particular category.

However there doesn't seem to be a way to find all the comparison pages easily. So I'm going to keep a little list of them here, partly for my own reference and partly so that others can benefit too:

Software comparisons:
(0) Comments | Add Comment

Linux/Mac port update
Date: 9/4/2009
This last week has been very productive. I have got both the Mac and Linux ports to a point of usability. Currently the Linux port is good enough for me to valgrind Scribe again, so it's running well enough to use on the v2 code base. This is a good thing, because v2 Scribe NEEDS valgrinding. It's still in that it all mostly works but every now and again it blows up and crashes stage. That said I've fixed one issue that would cause all the email to download again, even through it's been marked read (That gets annoying pretty quick).

I've got one more show stopper to fix before I release the next build. Basically when sending the worker thread doesn't wait for the GUI thread to finish processing the items in the queue and it crashes. The threading architecture in Scribe is a little old hat, I knew a lot less about threading when I wrote it. But the cost of a serious re-write of the threading is scaring me, so I'm just fixing the issues in the current source.

Also I'm still facing a huge number of memory leaks to sort out. That work is progressing in parallel to the feature work. It's really important because I'm seeing very large virtual memory footprints over time with Scribe v2. So I'm moving a lot of code bit by bit over to various auto pointer or ref counted classes. However ever now and then the heap gets corrupted enough to assert when free'ing some object, hence I'm spending a lot of time getting the Linux port up to scratch so I can valgrind it when I need to. So basically I'm at that point now. Yay!
(0) Comments | Add Comment

Update
Date: 7/4/2009
Things are looking a lot better for the Lgi ports than 2 weeks ago. I've got the Mac port back to a point where all my apps start and run ok. The issue with the native scrollbars crashing hasn't been resolved but at least I haven't gone backwards.

The Linux port of Lgi is making good progress as well, most of the drawing issues have been fixed, the fallout from the refactoring has been fixed and the apps are starting to work more than fail. Still there are still a few days of little bugs to sort out, like minor painting bugs, missed clicks and layout events, spurious warnings and the like.

So... I'm hoping to start doing tri-platform releases by mid year.
(0) Comments | Add Comment

Update
Date: 30/3/2009
Been a while since I posted something here, so I'll update on a bunch of stuff thats happening.

  • Memecode.com moved to new server hardware a week ago, and there was some downtime as the DNS propagated. If you notice anything out of order, let me know. I'm actively squishing new bugs in the PHP code, as the PHP version is different to the old server and some of the rules have changed.
  • I lost the binaries AND source code to Roll Credits. So over the last week I've been rebuilding it from some backend code that I had from the project. So thats back online as of now.
  • In my work on Roll Credits I had occasion to use the xvid mpeg4 codec. This crashes for me when encoding 640x480. So I downloaded the code, worked out the issue and posted a bug report with analysis. Got an email back this morning saying a patch has been submitted to fix the crash. Yay for open source!
  • As for all things Scribe, I've been working away on the code base, especially on the mail3 format. However there are some quite annoying bugs in the current build that I don't want to release. So I'm trying hard to get them sorted out so I can feel confident it won't suck for you all. Also I've broken the Mac and Linux builds properly so a fair amount of time has been sunken into getting them working again. This is partially because I refactored some parts of Lgi to have more common code, rather than 3 separate lots of code. Which is good for long term maintenance but sucks in the short term.
  • Lots of non software stuff is happening too, I've been recording, writing and playing live music lately (did a wedding gig on the w'end), working on the billy kart for the kids and building other websites (like RosterUs.
  • The first k800i that I bought was a dud, so I sent that back and got a nearly brand new one. And it's pretty good so far, however I was pretty disappointed to find out that it's doesn't support USB 2.0 high speed (i.e. 480kbps). Grrrr is all I can say... USB 2.0 should never have had a "low speed" profile, they really dropped the ball with the naming scheme.
(0) Comments | Add Comment