The OpenKomodo Open Source Development Environment for Dynamic Languages and Web Technologies

The Open Komodo project provides a code base upon which integrated development environment (IDE) software packages can be developed. ActiveState's Komodo Edit 4.3 and later (an open source, multi-platform, multi-language editor) is an established, mature product that uses the Open Komodo platform.

With the Open Komodo Project, the focus is on dynamic languages and the open web. Open Komodo is developed on top of many open source technologies, including Mozilla, Python, and Scintilla. The primary development technologies used are XUL, JavaScript, Python, and C/C++.

Journal Entries

No entries yet. Link your entries with 'openkomodo' to include this project.


Ratings & Reviews

Community Rating
4.5/5.0

Based on 21 user ratings.

Your Rating

Click to rate this project.

Links

1 link submitted so far. Submit your own links.

News

Edit RSS feeds.

    ActivePython 3.1 highlights

    We've just released ActivePython 3.1.
    There are lots of cool and useful things in this release, but since I'm
    not one of the Python gurus around here, I sent some questions about it
    to Sridhar Ratnakumar, who is.
    Here's the resulting ... [More] Q & A:

    dl.q_and_a dt {
    margin: 10px 0 10px 0;
    font-style: italic;
    }
    dl.q_and_a dd {
    margin-left: 10px;
    }

    What do you do at ActiveState?

    I am currently the main developer behind ActivePython. I'm working on
    extending the distribution and creating a binary package management
    system similar to ActivePerl's ppm.

    Core Python 3.1 was released on June 27th. ActivePython 3.1 was
    released two days later. That's a fast turn-around. How did you manage
    that?

    We had an interim public release of 3.1b1 which required some build
    issue fixes, but the 3.1 final release did not introduce further build
    errors. We've put a lot of work into automating the ActivePython build
    system, so once Python 3.1 was released, I was able to prepare the RCs
    the next day. We then put the builds through QA before public
    release.

    There are now Windows x64 builds with this release. Have a lot
    of people been asking for this?

    Lack of Win64 builds was a common complaint both from the
    community and our enterprise users, so we focused on resolving the
    Windows x64 build issues to make it available in the 2.6.2.2 and
    2.5.4.4 releases (April 27).

    Have we contributed any changes or fixes to core Python
    recently?

    Yes, I think a couple of them related to build issues were
    committed to trunk after the 3.1 release. We already have a set of
    private patches that fix build issues on old Unix platforms. These
    will also be submitted back to the Python community.

    What's the process for doing this?

    There is no fixed process, it is simply a matter of reporting
    the bug (optionally with the patch) at bugs.python.org and then
    letting the discussion evolve.

    There are obviously a number of changes to the language between
    2.5 and 3.0. Are there any differences between 3.0 and 3.1 that people
    should be aware of?

    As with any major.minor version upgrade, yes. It is recommended
    that people read the "What's
    New In Python 3.1" document. Those moving from Python 2.x should
    definitely have a look at "What's
    New In Python 3.0".

    There are a lot of bug fixes and improvements in 3.1 too.
    Any of these worth mentioning?

    The I/O library has been rewritten in C in the 3.1
    release, and thus is significantly faster than 3.0's pure Python
    version. Tcl/Tk was upgraded to 8.5.7 and Tix to 8.4.3 [for tkinter].
    We upgraded openssl in the previous release (2.6.2.2 and 3.1.0b1.1).

    There are also two new classes in the collections module - ordered
    dictionaries (OrderedDict) and Counter.
    The tkinter.ttk
    module adds theming support for the tkinter GUI toolkit, and the
    importlib
    module, contributed by Brett
    Cannon, provides a pure-python (portable) implementation of import. [Less]

    Ubuntu on a netbook. Nice if you can get it.

    If you've visited any of the ActiveState sites lately, you've probably seen
    that we're giving away a Dell netbook to a lucky Workspace
    project owner in about a month.

    I'd been looking at getting a netbook for a while, so I looked ... [More] over
    the various ones currently available.

    Since I use Ubuntu on my main workstation, the thought of having it
    preinstalled on a laptop really appealed to me. In fact, I'd been
    looking for something like this for a while. A few years ago I went so
    far as to install
    NetBSD on my old NEC MobilePro 780. I stopped short of trying to
    build Komodo on it, but I did waste a fair bit of time trying to get the
    thing to actually be useful. I did end up using it as a portable ssh
    terminal (after spending hours getting a wifi card to work). I could
    edit files in Vim if I wanted to, and use a few other command-line
    tools, but running X was a never very stable. There wasn't a lot of
    software available from the NetBSD package repositories for the MIPS
    platform, and it really wasn't much fun to use.

    So I trawled through the review sites and eventually decided on a Dell
    Inspiron Mini 10v - like the one we're giving away. I ordered the
    Ubuntu version.

    It arrived the other day, and I've been putting it through it's
    paces. So far, so good. Here's a summary of what works well:

    Boots quickly.
    Suspends and restores properly - something I was never able to get working
    properly on laptops I've installed Linux or BSD on myself.
    The base-level 120GB drive is quiet and big enough for my purposes.
    Video playback is fine (with Ubuntu - some reviewers have reported
    artifacts and glitches running Windows XP)
    Wifi "just works" with all the networks I've tried.
    Battery life is decent (around two and a half hours with the
    base-model 3-cell battery), and the battery monitoring widget in the
    taskbar gives you a pretty good estimate of how much time you have left.
    Keyboard is usable, and actually quite nice once you get used to
    the (slightly) smaller layout.

    These are things which most people expect to work well on
    any laptop, but there were some pleasant surprises too...

    The small screen size is not much of a problem, especially when
    using the 'Ctrl+Alt+F' fullscreen switch for application windows. You
    quickly get used to switching to this mode, and for web browsing
    it's nice to get that extra screen real-estate.
    Skype works. This shouldn't be a surprise, but having
    fought to get it working on another Ubuntu system, it was nice to be
    able to get it up and running so quickly with no additional
    configuration required for the built in webcam.
    A little LED "night light" on the AC power connector. It gives you
    just enough light to help you attach the cable in the dark.
    A nice selection of pre-installed software: OpenOffice, Adobe
    Reader, Firefox, Evolution, Pidgin, GIMP (though it's not listed in
    the menus for some reason), and a couple of usable media players.

    There are a few nits of course, but surprisingly few:

    The trackpad buttons are part of the trackpad. This takes some
    getting used to, and you may find yourself accidentally triggering
    them with your thumb.
    Trackpad scrolling: Not sure if this is a nit or a pleasant
    surprise. Before I figured out what was happening, I thought my
    application windows were suffering from some kind of periodic
    spastic scrolling disorder. It turns out my thumbs were hitting parts
    of the trackpad reserved for horizontal and vertical scrolling (bottom
    and right sides respectively). This is incredibly handy once you
    know they're there, but disconcerting for a laptop neophite
    like myself. This is, of course, configurable in the system
    preferences, so if my thumbs can't learn to behave I can turn it
    off.

    I'm happy to report that Komodo and all the other
    ActiveState tools run well on the Inspiron Mini. I use SVN on Workspace to keep documents
    in sync between the netbook and my main workstation - this does an
    end-run around the synchronization problems I've always had when using a
    laptop previously.

    I suppose the thing I like best about this netbook is that it's
    running Linux and I didn't have to install and configure it
    myself. A lot of people still claim Linux is unsuitable for "the
    desktop", citing the supposedly difficult install experience and
    problems getting all the hardware configured. Well, Dell deserves some
    credit for giving Ubuntu a fair shake here. The experience I get when I
    first turn on this machine is not unlike that of someone turning on a
    new Windows or Mac laptop:
    the OS is there and all the hardware works with it.

    Stop the presses!

    Do my internets deceive me? Is it true that the Mini 10v Ubuntu, like
    universal healthcare and curling on TV is not available in the
    United States? I could have sworn I saw it on the US Dell site just
    weeks ago. Hilariously, the website still has a "Select my Operating
    System" page in the configuration wizard, with "Genuine Windows® XP
    Home Edition SP3" as the only option. Perhaps it's time for them to
    remove the "Help
    Me Choose" link too.

    Well, at least you can still get it in an assortment of pretty
    colors. [Less]

    Where's Git!?

    We've been getting a lot of people asking when we're going to support
    Git in Workspace. It's a fair question,
    but the best answer I can give at the moment is "As soon as we possibly
    can." Workspace is based on Trac, and
    getting Git to ... [More] integrate well with Trac and all of the plug-ins available on
    Workspace is quite a challenge.

    In the meantime, you can use Git locally with a centralized
    SVN repository by way of git-svn.
    This tool, which comes with most distributions of Git, allows you to make a
    local clone of an SVN repository, work with the local repository just like you
    would any other Git clone, then sync your changes back to the SVN repository -
    with your local Git commit history preserved as individual SVN commits. It's
    obvious the Git developers wanted to make it easy for people to migrate from SVN
    to Git, and they've succeeded.

    I've written up some instructions
    for using git-svn with Workspace, but this only covers the most basic of
    operations. Git is pretty new to me, so rather than regurgitate the tutorials of
    others, here they are:

    Effectively
    Using Git With Subversion (This is the one that got me started)

    An introduction to
    git-svn for Subversion/SVK users and deserters

    Getting
    up and running on git-svn

    Howto use Git
    and svn together

    ... and of course, there's always the git-svn man
    page which includes a few useful examples.

    If you're one of the folks waiting for Mercurial support in
    Workspace, some third party
    tools are available that allow you to do the same kind of thing.

    I've been trying this out a bit with Komodo IDE's source code control
    integration, and all the Git operations work as expected. Adding a few saved
    "run commands" to handle the git-svn side would make things pretty much
    seamless. More on that when I've gotten into this a bit more, right now I'm
    still at the "Wow! This is so cool!" stage. [Less]

    Better local development with VMs

    I just downloaded and installed Ubuntu Server 9.04 in a VM Image strictly for the purposes of setting up a simple local dev environment on my MacBook. This is the base image, which I want to configure with some useful but general capabilities. The ... [More] features are:

    LAMP stack, SSH server, svn, git, python, ruby, capistrano, etc
    my user account and keys set up for easy ssh access and sudo provileges
    netatalk and avahi-daemon

    The first two points are pretty standard; the Ubuntu Server install allows you to add LAMP during the installation process, as well as Open SSH Server. Easy, right?

    So what's up with the 3rd point? As I am using OS X and VMWare Fusion, I can take advantage of the Mac platform to allow some ease-of use. If you're not familiar with Bonjour and AFP, it's quite slick. First off, the VM shows up in Finder's left-side bar:

    Using avahi and afp this way allows me to edit files in Komodo as if they are local, which has important advantages over remote file editing via sftp or similar. The main advantage is of course that I still get SVN status on my files via Komodo.

    The other interesting advantage doesn't have to do with Netatalk / AFP, but just with how DNS works over Bonjour:

    The procedure I used to get this running has been documented here with an alternative version here. the upshot is that for Netatalk to work with Leopard, you need to compile it yourself with SSL support:

    sudo apt-get install dpkg-dev
    sudo apt-get install devscripts
    sudo apt-get install libssl-dev
    apt-get source netatalk
    sudo apt-get build-dep netatalk
    sudo apt-get install cracklib2-dev
    cd netatalk-2.0.3
    DEB_BUILD_OPTIONS=ssl debuild
    sudo dpkg -i ../netatalk_2.0.3-3ubuntu1_i386.deb
    You'll also wnat to set the custom Netatalk package to 'hold':

    echo "netatalk hold" | sudo dpkg --set-selections
    The nice thing abou this image now is that I can tuck away a copy of it for any future project and know that, with a few configuration changes, I can get a project running on the VM and be happily coding away toute suite.

    Next steps? I'm going to finally start doing a few things I've wanted to get around to for a while, in particular managing my shell environment customizations / aliases / scripts in svn, and easily deploying applications to the vm using Capistrano scripts. [Less]

    Open Web Vancouver 2009: Sessions & Speakers

    We've just posted the speakers / sessions list on the Open Web Vancouver site, and I have to say I'm quite proud of the amazing set of talks and speakers we've attracted this ... [More] year:

    http://www.openwebvancouver.ca/speakers_sessions

    Now, I think *all* the talks are going to be great, but my personal top five *personally most excited about* sessions have to be ( in no particular order ):

    A8Ning - Open Web Testing ( Luke Closs )
    Drupal: Under the Hood ( Angela Byron )
    Performance Tuning MySQL ( Morgan Tocker )
    Sometimes you need to rewrite the code...
    How and Why to Extend Firefox in Javascript ( Graham King )

    Ok, and one more, now that I look at the list again:

    Sinatra ( Blake Mizerany )

    Clearly, I'm a web hacker at heart. One of the more fascinating things about this year's schedule is the heavy emphasis on implementing Open Web technologies to further an open society and open data.

    I'm also very pleased that Mozilla has a significant presence this year. MoMo CEO ( and my old boss ) David Ascher submitted an intriguing talk called 'Open Messaging on the Open Internet'. As well, not only are we getting Ben Galbraith and Dion Almaer to come and talk about Bespin and the future of web apps, but Mozilla has kindly agreed to cover their travel expenses, which greatly helps in our little conference's ability to cover the massive Wifi bill we're incurring with Bell just get everyone web access. =)

    Did I mention early bird pricing ends May 10? Register now!! [Less]

Read all Open Komodo articles…

Download Page
129 downloads

Who uses Open Komodo?

Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar Avatar

Who contributes to Open Komodo?

Avatar Anon32 Anon32 Anon32 Anon32 Anon32
I'm a contributor

Who manages Open Komodo?

I'm a manager

Where in the world?




People who use Open Komodo also use:

Komodo Edit 4.3 and later VI


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 1,071,280
Effort (est.) 294 Person Years
Avg. Salary $ year
$ 16,146,609