Blog
Page: 0 ... 5 ... 10 ... 15 16 17 18 19 20 21 22 23 24 ... 25 ... 30 ... 35 ... 40 ... 45 ... 50 ... 55 ... 60 ... 65 ... 70 ... 75 ... 80 ... 85 ... 90
I <3 Python
Date: 22/4/2010
I've been in a somewhat reflective mood since I posted that comment about not being sure I'll still be coding in C++ in 5 years time. And yesterday I had reason to do a little scripting. So I decided to break out the python interpreter to write a wrapper around mp4box to convert a raw AAC file into a MP4. I attached that to the context menu for .aac files on my WinXP box and it just works nicely.

So today I wanted a similar script for compressing/decompressing bzip2. So I wrote one and attached it to the "*" files and folders context menu. Nice. This is much better than those weird little DLL's that are available for the same tasks. And I can see all the behavior under the hood and modify it if need be.

Tomorrow? "Open Command Prompt Here", "Copy My Path"... etc, the skies the limit! I'm officially a python programmer (yeah ok, I know enough to be dangerous lol).

Update: Opps I wrote a working FLV demuxer in Python. So now I can go FLV -> aac/mp4 audio file in one step. How hard would be it to hook that up to a youtube page? *wink*
(0) Comments | Add Comment

Scribe v2.0 Final
Date: 14/4/2010
Well according to the Bug DB all the P1 and P2 bugs are fixed (although not all fixes released yet) and there are just 5 P3's standing between me and a v2 final release. If I go by my self imposed metric of all P1, 2 and 3 bugs fixed for the final release.

So far no one is complaining about that so yeah I forge on ahead. This could mean that if I knock those over I need to setup the upgrade process for people. I recently fixed the InScribe purchase page to correctly show the key and download on checkout. But I'll have to revisit all that for people upgrading to v2 from v1.

I'm hoping that Beta23 will be the last beta, and basically the next build after that will enable the new key system for v2 and that'll be the finished retail build. Some 'n' years late... I don't know what 5 years ago I started this re-factoring thing? A few failed attempts and then I finally settled on an API and a new backend DB format.

Update: 2 left... and I'm wondering how important this one really is. The mail3 format doesn't allow folder loads to be done incrementally, in that I run the query, and control doesn't return to my code until the query has finished executing... meanwhile the app hangs. So there is no opportunity for me to update a progress bar.

Finished? Maybe... the bugs are now all dealt with, but there are some non-bug related things to process before the last (??) beta becomes the "Final" build:
  • Easy migration path for mail2->mail3. Maybe a nice little "Do you want to upgrade your folders? Yes/No" on starting v2 for the first time.
  • Collecting final submissions from all the translators.
  • Preparing the codebase and website for v2 upgrade sales.
  • Maybe some new icons / colours in the UI and documentation. Required: 1 reasonably talented graphic artist.
  • Revise all the help files for accuracy and readability. Required: 1 reasonably competent technical writer.
So you see the next stage could still take a while, but it's the home stretch... and in the mean time the users have a stable beta... no "release candidate" to use :)
(3) Comments | Add Comment

XCB out, GTK in
Date: 19/3/2010
So I've removed all traces of XCB from the Linux build of Lgi and replaced it with Gtk2. I found that the Xcb library too under-documented, the community / mailing list helpful but not to the point of resolving issues I had and most of all, the end result was much slower than xlib, for reasons I don't fully understand. So I give up.

The Gtk build of Lgi boots a blank window in LgiIde so far, which is a good sign. A few hours of hacking and I have something to look at already. I expect adding some basic sub-views, menus etc will actually take relatively little time, although that said I already have no time to work on code so maybe they cancel out!

And yes, this does mean I may be moving away from Lgi as a "to the metal API" and it might morph into a wrapper around something else as a half way house for my apps. I may not be using C++ in 5 years time, the world is changing and the web is taking over everything, and I have less and less time to work on fun projects. Maybe even the Mac port might become a wrapper around Gtk... who knows. But it does give me options.

My plan with the Gtk stuff is to use as little as possible of the Gtk layout stuff and have it as a very thin layer between Lgi and the underlying OS. That way hopefully the apps look and feel like an Lgi app still, and not Gtk like at all. I generally feel Gtk has the lowest look and feel index of all the xp-libs, but it runs everywhere and the license is compatible. The other option in my mind was Qt, but the slots system pissed me off no end when I used it 6-7 years ago. So I really didn't want to use that. And Wx is a wrapper around Gtk anyway, so why bother with that?

Unless there is a compelling alternative to Gtk that I should know about?
(0) Comments | Add Comment

Scribe v2 Final
Date: 9/3/2010
What would be a good line in the sand for Scribe v2 Final?

Its an interesting question to some. But I think I'm going to fix all the P1, P2 and P3 bugs and then call it good enough. So if there is some glaring issue that's not in the bug db... well you better go and put it in there. And if you disagree with any of the priority ratings then let me know (I wouldn't advise just changing them yourself). Make your case for why it is or isn't a priority and I'll think about it.

Anyway, now I think I have a goal. Squash all the high priority bugs ASAP. New release tonight (hopefully) fixes 10 more bugs.
(0) Comments | Add Comment

Gamma correct scaling...
Date: 25/2/2010
Seems that scaling isn't as simple as I thought... apparently there are non-trivial issues with gamma involved.

I took some time today to revise the standard LGI scaling algorithm (most visible in i.Mage) to use 16 bits/component linear RGB internally using lookup tables (8.8 precision) into and out of sRGB. This fixes the scaler for these types of images and I keep the integer only internal loops for speed. Nice.
(4) Comments | Add Comment

Scribe Folder Migration
Date: 20/2/2010
In the release of Scribe I'm preparing today, there is a functional replication feature that can actually copy your mail2 file into a mail3 store. Well at least all your email and contacts. Other types will follow in later releases. But that is a great start.

Once that is stable (your feedback would be welcome), then I will build a little wizard over the top of it to help people upgrade their folders semi-automatically when they install Scribe v2 over v1.

The process at the moment, given you have a mail2 folder, is to:
  • Open the manage mail stores window.
  • Create a mail3 store somewhere and click Ok.
  • Now use File -> Replicate Mail Stores.
  • Select the new mail3 file in the 2nd combo box and Ok.
  • Wait... it takes a while.
  • Go back to the manage mail stores window and close your old Mail2 store.
  • Adjust any paths in your filters etc to work with the new folders (yes an auto-adjustment of those would be nice I know).


So far I've only tested it with Mail2 -> Mail3. However in theory it should work in the opposite direction as well. And in the future it'll handle IMAP as well. So one will be able to seamlessly go from Mail2 <-> Mail3 <-> IMAP <-> whatever...
(0) Comments | Add Comment