Komodo 4.1 Paste Bug

I have discovered a bug in Komodo IDE, version 4.1.0-beta1, build 276433, platform macosx-powerpc; Built on Fri Mar 2 17:20:02 2007. If you fill the clipboard with text that is wider than the buffer, which defaults to being 250 characters wide, and paste this into a new document, then the scrollbar down the bottom does not reflect the new width. Thus, if you drag the scrollbar across to the right, you do not see all of the inserted text. If you click on the scrollbar arrow, then you can still move further to the right, as if you drag-select in the editing frame. This bug does not always appear in Windows, which moves the cursor to the end of the inserted text. However, if multi-line text is pasted, then the bug displays itself. Hopefully, the images below make this clearer. I did try to record a screencast, but the quality was crap, and the filesize was huge… Clicking on the images will open them in a new window. You can see enough detail without doing this, if you know what to look for. Image 1 shows the HTML document before I paste in the long lines of text. Image 2 shows how the Scroll Bar width has not changed. Image 3 shows how the full text is not visible if the thumb is fully dragged to the right. Image 4 shows how drag-selecting the text changes the size of the thumb.

Komodo Bugs

I’ve already filed, and had one of these fixed, but that’s only in the next beta, so I’ll write about it here, too. If you double-click an associated file in Komodo 4.0.3 that isn’t one of the standard files, like a .java source code, for example, and Komodo isn’t running, it will not start properly. Double-clicking it when Komodo is running loads it normally. If you have a wide text load in a clipboard, and copy it into a buffer, sometimes the buffer scrollbar doesn’t go all of the way. I’ll do some more testing on this tonight, but it was a bit of an annoyance. Kind of hard to explain – I need to take some screenshots, or perhaps even make a screencast.

Komodo IDE Python Interactive Shell

The python interactive shell on Komodo is pretty cool. I’d like it to be a bit more responsive, but I can’t really put my finger on what’s going on. I did notice, with python 2.5 that it pops up this traceback on a Ctrl-D:

 1     Traceback (most recent call last):
 2       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/bin/pydbgp", line 270, in <module>
 3         sys.exit( main(sys.argv) )
 4       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/bin/pydbgp", line 264, in main
 5         client.runInteractive()
 6       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/pythonlib/dbgp/client.py", line 1893, in runInteractive
 7         self.cmdloop()
 8       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/pythonlib/dbgp/client.py", line 2025, in cmdloop
 9         self.onecmd(data)
10       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/pythonlib/dbgp/client.py", line 2145, in onecmd
11         self.socket.send_response(str(ex))
12       File "/Applications/Komodo IDE.app/Contents/SharedSupport/dbgp/pythonlib/dbgp/client.py", line 1745, in send_response
13         self._socket.send('%d\0%s\0' % (l, response))
14     AttributeError: 'NoneType' object has no attribute 'send'

RIP Don Atkinson

I was saddened to hear last night of the passing of an influentual man in my life. As a beginning teacher, I was posted to a “hard to staff” school, but had a fantastic coordinator and faculty that supported me. We did quite a lot of exciting stuff back then, including working with a retired engineer called Don Atkinson. Don’s specialty was electric motors, and he spent every Friday for most of my five years at that school coming in and designing and building them with a small group of students, and myself and my coordinator. Don passed away on Monday morning. Don led an amazing life. From going to Jazz Clubs as an underager during the war, to being one of the founding members of Flinders University’s engineering department, and finally working with children in a largely voluntary capacity, he will be missed by many people from many walks of life. I’ll miss you, mate.

Komodo Extensions

Komodo is really designed for scripting/interpreted languages. However, I quite like it (although it’s a bit sluggish, but that may be me), and I’d like to use it for the small amount of compiled stuff I do. For instance, I had cause to decompile, edit and recompile a Java application. I was able to edit it using Komodo IDE, however the debugger doesn’t work, and it doesn’t execute. I did come up with the following command that will check the modified dates on the source and target files, if necessary compile the source to byte code, and then execute the program. This is for Java only at this stage, however, I’m planning to extend it.

 1     if test "%F" -nt "%b.class"; then 
 2     { 
 3         echo Compiling %F; javac "%F" ; 
 4         if test "$?" == "0"; then 
 5             echo Executing %b.class; java -classpath . "%b"; 
 6         fi; 
 7     } else {
 8         echo Compiled file %b.class is up to date; 
 9         echo Executing %b.class; java -classpath . "%b"; 
10     } fi

This was all on one line in the Add Command… box:

1     if test "%F" -nt "%b.class"; then { echo Compiling %F; javac "%F" ; if test "$?" == "0"; then echo Executing %b.class; java -classpath . "%b"; fi; } else echo Compiled file %b.class is up to date; echo Executing %b.class; java -classpath . "%b"; fi

I’m actually going to go a bit further and create a toolbar for compiling programs, which may take the form of language extensions, or GUI extensions, or just plain macros and commands. The other thing I really liked about SubEthaEdit was that you can get the source code as HTML, that is, code that keeps the syntax colouring, which can be cut and pasted into your blogging client/whatever. I’ll have to try to build this too. There is already an extension out there, called Clipboard Helper Extension, that puts a new contextual menuitem into the mix that allows for copying as encoded HTML entities, or as a URL. This could be used as a basis for Copy as XHTML Source. Basically what I need to be able to do is get the editor’s data about syntax highlighting (preferably with the class names, such as string, and so on), and them mark up the plain text using this. Then escape the HTML entities (or do this first), and place into the clipboard. Finally, back onto Java source code. I can get it so that double-clicking on a Java Source file will cause it to be edited by Komodo, but only if Komodo is already running. It seems that on startup, it checks the filetype being passed to it, or something, and fails to load properly if it isn’t a predetermined type. It works with the predefined python, perl and so on, but not Java. Strange.

Eve Online written in Python

Apparently, Eve Online is written in Stackless Python.

Which should, in theory, make it easier to port to other platforms.

Perhaps.

Powered by ScribeFire.

Disctop - Useless but Cool

How cool is this.

Disctop

When you insert a CD into your iMac G5/iMac Core Duo, this makes it so the disc appears “in” the desktop.  Not the icon representing the disc, but an image that looks like the disc.  It’s in sync with the disc as it goes in, apparently, and looks just like the disc is actually appearing on the desktop…

Powered by ScribeFire.

Keynote Rocks

I’ve never been much of a fan of PowerPoint.  I’d used it a little at University, and then this year I actually had cause to have to use it again.  I have been teaching Stage 2 (final year of High School) Information Technology Studies, and this is a content-rich subject.  Rather than what I’ve been teaching in the past, which is more task-based, this actually requires me to act a little more like a teacher than a facilitator.

So, I’ve built a few PPT presentations over the past couple of months.  Mostly it has been okay, but today I started playing with Keynote.  This is a much faster tool for creating presentations than PowerPoint, but I haven’t had cause to actually use it in any way that is different to how I would use PowerPoint.

There is one neato feature: export to SWF.  Which means I can still create the presentation on a Mac, and easily export it to work on either a website or a local machine, of basically any vintage.

Powered by ScribeFire.

Komodo IDE

I’ve been playing with (and loving) Komodo Edit for a few days, and I’m about to try Komodo IDE. Basically, for one reason: debugging. Particularly for teaching kids how to code, I think being able to step through a program line by line, and see all of the variables and their effects would be useful. I assume that Komodo IDE can do this (it’s being downloaded as we speak). I’ve managed to get some buttons to help with using Komodo Edit working, however there is one thing I’d love to be able to do, and that’s end the currently running script if it is running before attempting to execute the next one.

WildIT Crappiness Over?

I’ve been with Wild Internet & Telecom for about 4 months now, which is my longest ADSL supplier. Admittedly, the one month I spent with Opti Internet (before Veridas went south) was the only other ADSL I had, so take that with a grain of salt. Anyway, a month or so ago, Wild IT went into Voluntary Administration. Which basically meant they weren’t viable as a company, or were being so badly managed they were about to go out of business. They were very quiet on the subject on their own site, however there was a huge debate on the Whirlpool forums regarding their imminent demise. And then, GoTalk stepped in and purchased the customers. Almost immediately, my speeds became very slow – but I put this down to the fact I had gone over quota about two days before the end of the month, and my shaping hadn’t been removed. So I put in a complaint. Then I received a phone call from a Help Desk operator, basically saying that their network was under significant load. Which I thought had to be a load of shit, since with the talk of the demise of Wild, customers had apparently been leaving in droves, which meant that for all of March, I was downloading at basically full speed for the whole month. Apparently, 1,955 MB is about as much as can be downloaded at 256kbps in one day. So, I felt that basically the concept of their network being congested was rubbish. And this was confirmed, at least partially, on Whirlpool, where people had comments from GoTalk stating that all users were being shaped. They claimed that it was because of network congestion, but I think it was to annoy all of the heavy users, and cause them to want to change ISP. I wasn’t able to get speeds faster than ~64kbps for about a week. Happily, that seems to have now changed. When I grabbed the latest Azureus 3 update from the BT network, it came down at 26kB/s, which is about flat out. Hopefully, this is the end of the crappy speed, and with Timmy B no longer being in control of my ISP, hopefully it’s the end of heaps of the bullshit. Having said that, I’m going to read the Gotalk terms and conditions very carefully. If they don’t match up with what WildIT was offering, then I might just have to go elsewhere. I was looking for a way to get out of the exit fee anyway…