Kawigi's TopCoder stuff

First of all, for the impatient people who don't want to read my ramblings, you can get your friggin' plugin here and the documentation is here.

UNDER NEW MANAGEMENT! - Pivanof has volunteered to take over maintenance of KawigiEdit since I haven't really been working on it lately. His first version is KawigiEdit 2.1, and I suspect he'll continue maintaining and improving it for some time.

UPDATED!!!! - you can discuss KawigiEdit, report bugs, request features, mess around, etc here. Enjoy.

Well, it's finally happened, I'm getting ready to release my TopCoder plugin to the public (Actually, now it's released and published). Ryan has a copy of some in-between version that he hasn't tried yet (I don't think he ever did try it, he downloaded a later version and started playing with it instead), the TopCoder admins have a slightly trimmed down but more polished version they are reviewing for distribution (I think I sent them 3 or 4 revisions before they finished the review process), and I'm feeling kind of good about it.

What's so great about it? Well, I think it's high time something to compete with PopsEdit. Not that there's anything in particular wrong with PopsEdit, but all but two of the "published" TopCoder plugins were written by Pops (all but three now, thanks to me), and the only editor plugin that anyone has published (before) that's actually an editor is PopsEdit, which doesn't appear to have been updated for nearly a year and a half. It has lots of nice features, but it really is only an editor/lightweight IDE, it's closed-source, and most people who use it also have to use 2 or 3 other plugins (at least one of which was probably also written by Pops).

Well, to make a long story short, and I know this isn't the characteristic attitude for me - but this is my thought relative to specifically "contributed" free software - A guy with some inside connections can put out a fine product that people like to use, but for the health and advancement of technology, there MUST be a reasonably powerful and nearly comparably featured competitor that is more "free", flexible, living, and open-source. This is what I hope KawigiEdit can acheive. Either it will slowly beat out PopsEdit and be used by TopCoder competitors across the board (which Pops won't mind if he truly doesn't feel like he has time for plugins anymore), or it will drive Pops to improve his editor. In either case, the coders benefit.

I suppose I have a few reasons for thinking that I have a chance to gain popularity against the other packages that do things like what KawigiEdit does. When I first mentioned my work on a plugin, the immediate response was that I should use CodeProcessor, FileEdit and either TZProcessor or ExampleBuilder (probably depending on the language I wanted to use), and then edit files outside of the applet in whatever text editor or IDE. Sounds to me like it would be much more convenient to do the editing in the applet and not have any more windows open than I absolutely need. So in that case, the answer would be to ALSO use PopsEdit. But why use three or four plugins when I could be using just one? That seems a little silly to me. No switching between them, all the functionality that I want is just automatically there, because I put it there (that's the real point of writing your own plugin, right?). So I guess I'm saying that one advantage I have is integration. (The whole is greater than the sum of the parts, right?) You keep your code locally, you test generate skeleton and test code automatically, you get syntax hilighting and auto-indenting, you get one-click testing on all of the test cases at once, and you don't have to load multiple plugins. It's probably slightly less likely to have complications in installing it, but that's only a problem with a small number of people. What I lack to PopsEdit is graphical bracket matching (not anymore!), several hotkeys, the integrated debugger, and full screen mode.

Another reason I think KawigiEdit can catch on is that it has better multi-language support than any plugin to date. I wouldn't be surprised if future plugins generate code that looks suspiciously like the code I generate simply because I went and learned enough about all the languages to do it. The benefit to the coder is that they can use KawigiEdit to have a fully-featured editor for their language of choice that does appropriate syntax hilighting and generates skeleton and testing code, even if you're using Visual Basic. There was a time that (since the people who knew enough Java to make an effective plugin were using Java in competition) Java was the only language with good plugins, and there was a time that I was the only one using KawigiEdit and all its language-related stuff was just written for Java. But times change, and I couldn't stand to let other people use KawigiEdit without letting it be as good for them using <insert language here> as it is for me using Java. So I think I can get a hold on the small market of VB programmers on TopCoder, as well as providing the only in-applet syntax hilighting specifically written for C# (although I believe code-generation tools have been made to support C# before).

The final advantage of using KawigiEdit over other existing tools is that KawigiEdit is designed completely around speed. PopsEdit also has some such features if you can figure out how to use them, but I wrote this plugin while trying to do the practice problems as fast as possible and looking closely at what my bottlenecks were in solving the problems. Any situation where I was typing slower than I was knowing what to type helped me form in my mind some idea about what the perfect plugin would do. So, if anyone starts solving level 1 problems faster than antimatter, I'd like to think it will be someone who's using my plugin.

So I guess the remaining question is where is it? You can download it on the TopCoder website, or you can download the most recent version (or older ones if you REALLY want to) right here (since it sometimes takes several days for a new version to get up over there). And the Documentation is also available.


Version 2.1 - a.k.a. PivanofEdit 1.0 ;-)
Version 2.0 - It's 2.0!
Version 1.1 - The Template Version
Version 1.0.6
Version 1.0.5
Version 1.0.4
Version 1.0.3
Version 1.0.2:
Version 1.0.1:
Version 1.0

The links on the rest of the page should be updated to the most recent version.

As of KawigiEdit 2.1, supported by pivanof, KawigiEdit will be profiled using the YourKit Java Profiler, in order to enhance its performance in the future.

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.