Subscribe

You are currently browsing the Open Development weblog archives for July, 2009.

Archives

  • Categories

  • License

    Creative Commons License


    All work on this site, excepting software and unless otherwise noted, is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.




    Archive for July, 2009

    Source Code!

    Sunday, July 12th, 2009

    Well, we do call it Open Development, after all. :)

    I was recently reminded that the source code for a few of the applications hosted on this website is not yet available, something that I’ve put off for a while. The time is far overdue, and here’s a shout out to JAWS for sticking it to me. I’m releasing the source code for two projects, L’Hospital’s Rule Illustrator and APID. Although currently neither are being actively developed any longer, both are available for modification/redistribution under the GPL v2 license (which basically means, please retain author credit somewhere if you wish to redistribute any of them — and I’d love to hear how you’re using either or both).

    What follows is a brief description for each, as well as the SVN repositories and development notes for each. On Windows, you might find the TortoiseSVN client useful for checking out the source code; Linux users might prefer KSvn over the command line.

    L’Hospital’s Rule Illustrator

    infinityThis app illustrates L’Hopital’s rule, intended for Calc I students. There are two independent editions available, mostly because I wanted to learn Java/SWT at the time!

    Qt edition:
    Repository: http://svn.odevelop.com/lhospital
    Devel. notes: C++, Qt 4.2 (also imports directly into Qt Creator and compiles with 4.5)
    Platforms: Windows, Linux, possibly Mac (not tested)

    Java edition:
    Repository: http://svn.odevelop.com/jlhospital
    Devel. notes: Java, SWT, Eclipse. You’ll want to run this from the .JAR so resources are found correctly (I’ve set up the ANT build.xml with this configuration). JLHospital was my first attempt at Java and the Standard Widget Toolkit, so please forgive the hardly-object-oriented code! :)
    Platforms: Windows, Linux, possibly Mac (not tested). Requires the specific SWT native library compiled for each platform.

    lhospital

    lhospital2

    APID (Win32 API Debugger)

    APID LogoAPID is intended for a bit more advanced audience; that is, those who find delving into Assembler and low-level addressing redirection intriguing (like myself!). A relatively unstable proof-of-concept application. Please use responsibly.

    Source code repository: http://svn.odevelop.com/apid
    Devel. notes: Microsoft Assembler (MASM) v9, RadASM IDE, OllyDbg for debugging
    Platform: Windows (NT based systems only, i.e. Win. 2000 and above)

    Features I’d love to see implemented: Multi-threaded support, redirect routine using a code trampoline instead of the same offset for each call, reliability for heavily-used API (such as Send/PostMessage etc.).

    apid_launch

    apid

    Note: if you’re just interested in just trying the applications out, the release packages for both of these are available on the download page.

    If you are interested in contributing, drop me an email at cameron {at} odevelop {dot} com.

    An Update on GCast

    Sunday, July 5th, 2009

    It’s been a little while now since I added the “preview” of GCast, the screen capture and sharing application for the GNOME desktop, to the download page. Given that a fair bit of time has passed since then, I just wanted mention briefly where the project is currently at.

    I’ve decided to rewrite the way that editing is currently done, before moving ahead with the rest of the application — certainly before releasing it. The reason for this (from a technical standpoint) is that GCast in its early state uses underlying widgets to represent graphics items (such as rectangles, text, and so on); something which I have discovered is costly in terms of performance. As far as accepting interaction goes this was the easiest way to get started, but it has become a hindrance.

    So although GCast’s editor works, it could be much better. I’ve come to the conclusion that it will be worth taking the time to do things right before releasing it, even as a beta, and I’ve developed a prototype of a new system of editing (undoubtedly the standard, but hey, I’m learning this as I go) which is able to cast off the handicap of widgets by being able to independently manage the editor rendering/interaction process. For you, this means a faster and more reliable product.

    As it turns out, I think that having less time to work on it as life has gotten busy this summer has been beneficiary. By being forced to step back and look at the scope of the project in a larger perspective, priorities — namely, the balance between a rich feature set and a smaller subset of well written basics — often get re-arranged for the better.

    I’m excited to resume development on GCast again soon. Until then, thanks for your patience.