Trent Mick: activestate

Komodo 6.0 Beta 2: HTML 5, CSS 3, Python 3, DB Explorer, ...

We (ActiveState) released Komodo 6.0 beta 2 yesterday and we want your feedback. HTML 5 autocomplete. CSS 3 autocomplete. Full Python 3 support (debugging, syntax checking, autocomplete, code browsing). A new Database Explorer tool for quickly exploring SQL databases (SQLite out of the box and extensions for MySQL and Oracle, with plans for Postgres). A new project system called “Places” that adds a file system browser (local and remote). New publishing support for syncing a directory with a remote machine. Additions to Komodo’s Hyperlinks for quickly navigating to file references. Added support for PHP, Perl, Ruby and JavaScript regular expression debugging with Komodo’s excellent Rx tool. See the Komodo 6.0 Features post for a full outline.

Komodo IDEhttp://www.activestate.com/komodo-ide/downloads
Komodo Edithttp://www.activestate.com/komodo-edit/downloads

Full post here on the ActiveState blog.

1 comments

On a bit of confusion

On a bit of confusion in ActivePython 2.7 released - and what 2.7 means for Python’s future, in particular the following paragraph. Before:

While the Python community has declared a moratorium on major 2.x releases in an effort to facilitate other Python implementations to catch up and, thus, accelerate the adoption of Python 3.x, ActiveState will continue supporting 2.7.x and adding new modules and updating revisions to existing ones as they become available.

After:

While you may have read, the Python community has declared a temporary moratorium (suspension) on the Python language syntax in an effort to facilitate other Python implementations to catch up to Python 3.x — the moratorium does not that mean that python core development has stopped or even slowed down.

On the contrary, new modules continue to be added, bugs fixed, and performance tweeked — and, as always, ActiveState will continue supporting 2.7.x with builds, extra modules and PyPM as they become available.

Jesse Noller accurately noted that the former paragraph was confusing. In particular, a possible interpretation that the Python community isn’t going to be supporting Python 2.7 – which is just not true. Python 2.7 will be supported for longer than the typical two years that a Python 2.x release is supported.

It is easy to convolve the mostly unrelated Python language moratorium and the plan that Python 2.7 is the last 2.x. The two are somewhat related in that ultimately the hope is they both lead to smoother adoption of Python 3. The issue (from ActiveState’s Product Manager’s point of view) is that an enterprise customer can get swayed away from considering Python when reading stuff like the following from Python moratorium and the future of 2.x:

On November 9, Python BDFL ("Benevolent Dictator For Life") Guido van Rossum froze the Python language’s syntax and grammar in their current form for at least the upcoming Python 2.7 and 3.2 releases, and possibly for longer still. This move is intended to slow things down, giving the larger Python community a chance to catch up with the latest Python 3.x releases.

It is very easy for the less-technical person to interpret “moratorium on Python language syntax” as a stop on all core Python development. This differentiation was the kernel of a heated debate I just had with our Product Manager recently.

The intention of the paragraph in the ActiveState blog post is basically to state that the language moratorium isn’t something that should dissuade businesses from considering Python.

That said: Mea culpa. I had the chance to catch this the first time and didn’t.

1 comments

June Vancouver Python User Group (VanPyZ) this Tuesday at ActiveState

We are hosting the June VanPyZ meeting at ActiveState this coming Tuesday evening. Come see Andy Mckay talk about Using SMS in the Developing World and chat about Python. Festivities begin at 7pm here.

More details on my work blog post and at vanpyz.org.

0 comments

alternative Komodo doc icon for Mac

Sweet! Trisha Cupra wasn't happy with the current Komodo Edit doc icon so she made a (cool) replacement.

1 comments

March VanPyZ meeting tomorrow at ActiveState

The March VanPyZ meeting will be hosted at ActiveState this coming Tuesday evening (tomorrow!). I posted details on my work blog. We'll be trying out a slightly new thing: Lightning talks, a short 5 minute talk on whatever 1. The Lightning Talk format works so well at PyCon. See my work blog post for more details. See you there.

"VanPyZ" is the Vancouver Python user group.


  1. In my email to the VanPyZ list I promised a beer to whoever presents. :) Send me a one-liner on what you'd like to talk about. 

0 comments

PyCon 2010 wrap-ups

I'm back from PyCon 2010 in Atlanta (actually I've been back for almost two weeks now, but I'm a lazy writer). PyCon, as usual, was a great time. I wrote a long wrap-up on my work blog here:

A couple more personal additions...

Read more »
0 comments

February VanPyZ meeting at ActiveState on Tuesday

The February VanPyZ meeting will be hosted at ActiveState this coming Tuesday evening. I posted details on my work blog. Myself and Michael Grünewald will be speaking on recent ActiveState Code work and Brett Cannon will be speaking on his importers project. See you there.

"VanPyZ" is the Vancouver Python user group.

0 comments

nice I ♥ Komodo blog post

Nice post on Komodo (comparing to other editors): Sayonara TextPad, Hello Komodo Edit

So, who makes an FOSS-friendly editor for Windows with the best UI that leverages Scintilla?

In the end, I settled on Komodo Edit.

...

What clinched the deal was (a) the tour of the UI that really appeared to be thoughtfully considered by its designers, and (b) the design team which has its roots in support of Perl and other FOSS initiatives for the Windows platform. What was clear to me was that the guys at ActiveState punched away in the same languages as I did, and clearly understood what would make a best of breed coding editor, then they just went ahead and built one!
0 comments

VanPyZ meeting at ActiveState tomorrow (Tues)

We are hosting the December VanPyZ meeting at my work (ActiveState) tomorrow night. Details:

What

  • Jamu Kakar: How to use Storm with a focus on some common patterns to common problems.

  • Doug Latornell: PyYAML, flickrapi, and TkInter in a Desktop Image Display App.

Where

ActiveState
1700 - 409 Granville Street (SW corner of Granville and Hastings, map)
Buzzer# 1700

When

Tuesday, December 1st, at 7PM

"VanPyZ" is the Vancouver Python user group.

0 comments

pleasant things work better

I watched Don Norman's TED Talk "3 ways good design makes you happy" last night:

This part of his talk really stuck out for me (transcription errors mine):

I really had the feeling that pleasant things work better and that never made any sense to me, until I finally figured it out. Look:

I'm gonna put a plank on the ground. So imagine I have a plank about 2' wide and 30' long. And I'm going to walk on it. See I can walk on it without looking, and go back and forth, and I can jump up and down. No problem. Now I'm going to put the plank 300' feet in the air... and I'm not going to go near it, thank you. Intense fear paralyzes you. It actually affects the way your brain works.

...

If you're happy, things work better because you're more creative. You get a little problem, you say "Ah, I'll figure it out. No big deal."


Read more »
4 comments

How to install MySQL-python 1.2.3c1 on Mac OS X

Introduction

Just a quick note on getting MySQL-python (aka import MySQLdb) 1.2.3c1 (the current latest version) to build and install on Mac OS X, because I hit something that I didn't see mentioned in a number of similar posts.

Here are some links that discuss getting MySQL-python to build on Mac OS X:

What follows are the steps (slightly different) that I needed to get MySQL-python to install.

Read more »
3 comments

Komodo 5.1.3 released

We (ActiveState) released Komodo 5.1.3 today. Get it here:

Or, if you are currently running any previous Komodo 5, click "Help > Check for Updates...". This is a bug fix release and is recommended for all users. See below for details.

Read more »
6 comments

Komodo: about.com's Webdesign pick of the week

Nice to see Komodo Edit get about.com's Webdesign/HTML blog's pick of the week:

This week I took a look at the latest version of my favorite XML and HTML text editor: Komodo Edit. The new version adds in some nice features like history and search highlighting. I still find this editor to be the best free XML and text HTML editor you can get for any operating system. I use it every day.

Those interested should also look at Komodo IDE.

0 comments

Komodo 5.1.1: fixes, path mode in Fast Open dialog, Perl::Critic integration

We (ActiveState) released Komodo 5.1.1 today. Get it here:

Or, if you are currently running Komodo 5.1.0, click "Help > Check for Updates...". This is a bug fix release and is recommended for all users. See below for details.

Read more »
1 comments

unladden swallow: a (potentially *much*) faster CPython

Discussed a bit at the Python Language Summit at PyCon this morning: unladen-swallow is a Google project to do a lot of performance work on CPython's VM.

  • Currently have about 30% speed up.
  • Currently for Python 2 (2.4, I think).
  • Currently focused on Linux and Python 3, but committed to get patches back to the core (which implies Python 3 support). "This is a branch, not a fork."
  • Currently in use on Youtube (where most of the frontend is Python).

They are shooting for a 5x speedup. From the ProjectPlan:

Our long-term proposal is to replace CPython's custom virtual machine with a JIT built on top of LLVM, while leaving the rest of the Python runtime relatively intact. We have observed that Python applications spend a large portion of their time in the main eval loop. In particular, even relatively minor changes to VM components such as opcode dispatch have a significant effect on Python application performance. We believe that compiling Python to machine code via LLVM's JIT engine will deliver large performance benefits.

Jesse has a good write-up.

2 comments

Komodo 5.1 released (fast open, history, hyperlinks, etc.)

We (ActiveState) released Komodo 5.1 today! Get it here:

Komodo IDE 5.1 is a free upgrade for Komodo IDE 5.x license holders. Your license entitles you to run Komodo IDE on any of the platforms we support (Windows, Mac OS X and Linux). Komodo Edit 5.1 is, as ever, open-source and free.

Read more »
27 comments

PyCon 2009

PyCon 2009: Chicago

I'll be attending PyCon this year. It's been a few years since I've attended and wow has it ever grown: 11 keynotes, 120 talks, 5 hours of lightning talks, the Python Language Summit, preceded by tutorial days and followed by days of sprints.

I'm looking forward to diving back into pure Python for a little while -- something I've had difficulty finding the time for with my work on Komodo. I'm especially looking forward to the "Package distribution & installation" session at the Python Language Summit, not the least of which is because ActiveState is starting to devote more resources to this area. My newest co-worker Sridhar Ratnakumar is currently looking at how ActiveState can help here.

2 comments

hyperlinks in Komodo 5.1.0b1

We released Komodo 5.1 beta 1 yesterday! Get it here:

Please try it out and give us your feedback:

emailhttp://listserv.activestate.com/mailman/listinfo/komodo-beta
bugshttp://bugs.activestate.com/enter_bug.cgi?product=Komodo
forumshttp://community.activestate.com/products/Komodo

This is the third release of Komodo 5.1 on the way to a planned final release very soon (hopefully within a week or two). Here are a few goodies in this release. (See my previous posts about the Komodo 5.1a1 and Komodo 5.1a2 releases.)

Hyperlinks

Many IDEs that have code intelligence support allow you to Ctrl+click (Cmd+click on a Mac) on a symbol to Go to Definition. Here was Komodo's feature request for that. This is now implemented in Komodo 5.1b1.

Komodo hyperlink go to definition

However, we've gone one step further and made a generic system where Ctrl+mouse-hover will underline interesting regions (hyperlinks) in your text for clicking on. The most common type of hyperlink is a symbol for "Go to Definition". However other types of hyperlinks include:

  1. Colors in CSS (including CSS in HTML files):

    Komodo hyperlink colors

    As in Firebug, you'll get a swatch of the color when hovering over the color. What's more, Ctrl+click will bring up the system's color picker with which you can change the color.

  2. HTTP and FTP URLs:

    Komodo hyperlink URL

    Ctrl+click will load that URL in your browser.

  3. Regular expression mapping to an HTTP URL.

    Komodo hyperlink regex

    Currently 5.1.0b1 includes a regex to map occurrences of "bug \d+" to the appropriate bug in ActiveState's bug database. Eventually we'll have a preferences dialog where adding these mappings will be easier, but for now here is how you can add your own.

  4. A generic handler to do whatever you can think of.

    The hyperlinks above are all implemented with a simple mechanism in Komodo's ko.hyperlinks JavaScript namespace. You can add your own handlers to do other things. Following how the regexhandler works is a good place to start. We'll try to give more examples later.

Note: The hyperlink types other than "Go to Definition" are only in Komodo IDE (i.e. not in Komodo Edit) for the 5.1.0b1 release. So, if you want to play you should either use Komodo IDE 5.1.0b1 or use the latest nightlies.

koext updates

koext is a command-line tool for helping in building Komodo extensions. There are some great Komodo extensions that users have been building here. However, it is far from as easy as it should be to dig in and build Komodo extensions. Part of the solution is the koext tool. (Another part is documentation for extension authors, but that is a story for another time.)

We've started doing some updates to koext again (see the change log). Recent changes are working towards making it easier to have a quick development cycle -- i.e. make it so that to test a change to your extension you just need to:

  1. make your edit;
  2. possibly run koext build --dev, e.g. if you changed an IDL file; and
  3. re-start Komodo

Instead of the more laborious:

  1. make your edit;
  2. run koext build to build a new .xpi file;
  3. re-install that .xpi in Komodo;
  4. re-start Komodo

In a subsequent post I'll describe how I setup to build a Komodo extension. Here is a brief intro to koext from way back

Other stuff

A quick list of other feature work, notable bug fixes and fixed annoyances in Komodo 5.1.0b1:

  • Komodo's new "History" feature now has session support which is currently used to make your history specific to a single Komodo window.

  • In Komodo IDE, the History now shows the section title for locations in the History. This can make the "Recent locations" menu a lot more useful:

    Komodo section titles in recent history list

  • In XML (and HTML and PHP, etc.) files, clicking on a tag will briefly flash (highlight) the matching tag (bug 81606).

  • Komodo's "jump to matching brace" now works as you'd expect for opening and closing tags in XML/HTML (bug 43239).

  • We've done some crash fix work so that Komodo 5.1b1 should be more stable that 5.1a2. It is hard to quantify and we continue to look for crash issues in Komodo.

  • Greatly improved the annoyance of it being very hard to grab the bottom-pane and sidebar splitters on Mac OS X (bug 80756).

  • Fixed the annoyance of being unable to resize Name/Type/Value panes in Locals/Globals debugger window (bug 80566).

  • fix: codeintel: calltips cannot show unicode doc comments http://bugs.activestate.com/show_bug.cgi?id=70448

  • Added a "duplicate line or selection" command.

  • Added Korean and Japanese JIS encodings (bug 80890).

As well there is more coming. Try out the Komodo nightly builds for the very latest stuff:

22 comments

Find highlighting and Linux/x86_64 support in Komodo 5.1a2

We released Komodo 5.1 alpha 2 a couple of days ago (shame on me for not announcing until now). Get it here:

Please try it out and give us your feedback:

emailhttp://listserv.activestate.com/mailman/listinfo/komodo-beta
bugshttp://bugs.activestate.com/enter_bug.cgi?product=Komodo
forumshttp://community.activestate.com/products/Komodo

This is the second release of Komodo 5.1 on the way to a planned final release around mid-May. There are a few goodies worth talking about in this release. (See my post about Komodo 5.1a1 here.)

Find highlighting

Komodo now highlights find/search matches in your buffer. Here is a short video showing it off. Sorry, no sound. This is my first screencast. :)

Here I'm doing a couple of searches using Komodo's Vi mode. That highlighting makes a big difference for helping your eyes find where you want to navigate to.

Find highlighting is one of those "well, duh" features that we are now able to add with indicator support in Komodo's editing component Scintilla. Indicators in Scintilla allow one to put visual markers on regions of the editor buffer independent of the syntax coloring information. Before indicators, syntax coloring styling and other styling (squiggly underlining for syntax errors/warnings, find highlighting, ...) had to share 8-bits of data for each position (i.e. each character). That was awkward (playing with bit masks) and limiting (ran out of space in, e.g., HTML which uses 7 of those 8 bits for all the different syntax coloring styles). Another example is Komodo's Tabstops -- which were made a lot more usable in 5.0 because of what we could do with indicators.

Linux/x86_64 support

We've added support for a new platform: Linux/x86_64. This is our first native 64-bit platform build. Linux x86_64 installs are getting to be quite common, and typically the default install of Linux distros on x86_64 don't include the 32-bit compatibility libraries. This means that attempting to use Komodo's 32-bit Linux build wouldn't work out of the box (it tends to work fine once the distro's 32-bit compat libs are installed) -- and hence was a common support issue. Hopefully, no more. As well, Linux/x86_64 users will possibly enjoy a slight performance benefit.

Localization patches from Davide Ficano (l10n)

Way back in the heady days of 2008 (before Komodo 5.0 was released) Davide Ficano (aka dafi) made this post on Komodo's forums:

Localizing Komodo using Babelzilla dream team

that kicked off some starter work towards localizing Komodo. One of the necessary steps to getting good localizations of Komodo was to update Komodo's chrome to more rigorously use DTDs for XUL (we were using these fairly well) and string bundles for JavaScript code (we weren't doing so well here). Dafi whipped up a bunch of patches for this. Todd has finally managed to get those all checked in, so that Komodo is now in a pretty good state to start being localized.

Other stuff

In addition to the above, Komodo's History feature is coming along:

  • The same keybindings as your browser for Back/Forward should be working on all platforms.
  • The side mouse buttons on 5-button mice should work for navigating the history.
  • This history will now properly handle cleaning out URLs from finished remote debugging sessions.

As well we've a few more goodies that should be ready to show for a beta 1 release in a week or two. As ever, try out the Komodo nightly builds for the very latest stuff:

13 comments

"duplicate line or selection" in Komodo

I saw this blog entry this morning:

Duplicate Line/Selection in Komodo 5

Exploring the ability to create macros and bind them to key commands in Komodo IDE. I'm reposting the below macro that duplicates the lines or the current selection. Thus functionality was previously is Zend Studio 5, went missing from 6, and thanks to the macro, is available in Komodo. Enjoy!

...

I thought I should mention the Komodo bug -- Extend functionality of the "duplicate line" function -- on which Eric added a new core command to Komodo to do just this... with the added bonus that it also works for block/column selections. This was added just yesterday. Here is the checkin to Komodo Edit's repository. The nightly builds of Komodo 5.1.0a2 from last night has this in it:

Komodo IDE: http://downloads.activestate.com/Komodo/nightly/komodoide/latest-trunk/

Komodo Edit: http://downloads.activestate.com/Komodo/nightly/komodoedit/latest-trunk/

You can assign any key to this command in Komodo's "Editor | Key Bindings" preferences panel. The command name is "Editor: Duplicate Line or Selection".

5 comments