ListBox Take 2 and SVN Again

The rewritten version of the ListBox class is now in the SVN repository. Instead of farming out the drawing routines to an array of ListBoxItem child gadgets, the ListBox now draws its own list items. It’s made a massive difference to the scroll speed. Just need to make a wrapper gadget for it that includes a scrollbar and I can knock another item off the SourceForge to-do list.

As part of that rewrite, I had to fix a bug in the double click code. Nothing major, just a magic number that had slipped past somehow.

Given up for today because SourceForge’s SVN server is abysmally slow at the moment. I’ve come to rely on SVN heavily, and not being able to rely on it makes me uncomfortable…

Related to that, I’ve been tinkering with alternative OSX SVN clients again. I’ve gone back to ZigVersion, which I’ve discovered is free for non-commercial use; you just have to register for a free licence key. It’s got a much, much better interface than SmartSVN. It has several big problems, though. First of all, its ignore list functionality is lacklustre. There’s no way to change it unless you right-click on a file that can be ignored, as far as I can see.

Secondly, it seems to work directly off the server all of the time instead of from a cache. TortoiseSVN uses a cache, and is generally better for it, or it is until it starts sucking up 95% of the processor time and most of the computer’s RAM. Firefox 2’s memory leaks have nothing on TortoiseSVN.

Lastly, it keeps crashing on me. For all of its weird interface problems, SmartSVN is at least stable. I gave svnX another go, but the interface for that really makes no sense.

Honestly, are there no good SVN clients for OSX? I’m seriously considering installing Eclipse just so that I can give Subclipse a try. Either that or I turn my back on 30 years of progress and join the guys who still think that the command line is an amazingly good idea.


ant on 2008-04-28 at 22:23 said:

In VS, I usually code like this:

if (e.g (Ctrl-Space) == ga (Ctrl-Space)) { _al (Ctrl-Space) = tr (Ctrl-Space); re (Ctrl-Space) fa (Ctrl-Space); }

Marvellous thing, Intellisense. It’s even faster in Xcode, I just hit tab a few dozen times and a new program plops out. I stuck religiously to text editors and command line compiling until I started using Eclipse for Java coding about 5 years ago. Haven’t looked back.

I’ve got a new client now - SynchroSVN. Haven’t tried it before because it forces you to register before you can even test it (and then you have to buy it), but so far the interface isn’t totally broken and it doesn’t crash, so thumbs up! At least until I find something wrong with it.

The server has sped up again now, so I’ve fixed the ListBox destructor (it wasn’t deleting the options and option text) and added multiple selection.

Jeff on 2008-04-28 at 22:57 said:

To be honest, I’ve never seen any point in using anything other than the command-line SVN client. I do all my editing in vim, all my builds with ‘make’ and all my version control with svn. The benefits of an IDE like Xcode or Visual Studio never really seem to penetrate my thick skull, since I have never found myself more productive with one.

Jeff on 2008-04-29 at 06:26 said:

… whereas I’ve always found that auto-completion informations screw my motor skills up. I’ve been clocked at more than 60 words per minute, full coding speed and any time that I need to resolve the “I want a variable, type the first few chars, it’ll suggest something, pick from the list,” into muscle responses, I lose any gain it might have given me. If it offered the same list every time, then you’d tab,down,down,return but they make these things “more intelligent” so that they adapt to other things in the same source file/project and suddenly there is no scope for repetitive (ie, learnable) behaviour.

Sure, when I want to look up a routine I don’t know the prototype for, then I pause and use completion.

In XCODE, they also changed the damn hotkeys around so it used to be that you hit F13 to skip to the next field, then it became F15 (or perhaps its the other way around). And of course those things aren’t the same when I’m using Visual Studio, or typing into a browser, or vi, etc.

Not to mention that the bulk of what I type tends to be comment, not code, and that is rarely helped out by auto-completion.

Jeff on 2008-04-29 at 06:34 said:

… and in an amazingly spooky piece of synchronicity, I just got an email about the new version of Subversion from CollabNet where they are terribly proud of their new Subclipse, SVN integration into Eclipse

ant on 2008-04-29 at 07:47 said:

It’s one of those debates that no-one can win, like vi vs. emacs or Mac vs. PC, mainly because the answer is “use whatever you prefer”.

It seems like overkill to install Eclipse just to get at its SVN integration, but I might have to do it.

Incidentally, if you don’t use an IDE that offers auto-completion, do you find the Woopsi API to be particularly “wordy”? I always give variables/classes/etc descriptive names, as I find that makes code a lot easier to read than code that uses contractions, abbreviations, acronyms, etc.

Jeff on 2008-04-29 at 08:59 said:

After you’ve done Cocoa programming, nothing else seems wordy.

-(bool)applicationShouldTerminate +(NSImage*)imageWithBounds:andFilter:andColor:andSoundEffects: