Archive for April, 2005

Boo shell enhancements

Wednesday, April 27th, 2005

So, I’ve been hashing out some of the nitty-gritties with ferik, and a few others on IRC, and tonight finished one of the big “behind the scenes” things for the boo shell, which was to get the interpreter running out of process from MD. This adds some safety from people doing silly things like “Application.Quit()” from within the shell. The seperate process is already running the gtk+ main loop, so people can still do “real time GUI modifications” and they will get picked up and evaluated in an GLib.Idlehandler which is waiting for interpreter commands to process.

The one fun user visible feature that I also added was being able to load all the assemblies in the currently open combine/project just by right clicking the shell and hitting “Load Assemblies”:

There’s also an option to have the shell do this automatically after compiling a project. BEWARE: to be safe, this resets the shell. I really don’t want to have people loading 3 different versions of some assembly and wondering why sh*t breaks. The end result is a really easy mechanism for testing out those funky new widgets you’ve written without all the drudgery of writing a test app. Here’s a quick little screenshot showing me testing out my wild new subclass of Gtk.Window I like to call “MyWindow”. How radical is that?

Boo Addin hits MonoDevelop SVN

Monday, April 25th, 2005

That’s right. The Boo Addin has hit MonoDevelop SVN. Here’s a screenie of the configuration panel for changing some behavior for the Boo Shell which is part of the Addin:

Those wishing to test it have to follow these steps:

  1. Install nant. I’ve made up a page on the mono wiki with instructions found here.
  2. Install boo from SVN (until the next boo release, which should be within a week).
    1. $ svn co svn://svn.boo.codehaus.org/boo/scm/trunk/ boo
    2. $ nant -D:install.prefix=/some/prefix
    3. $ nant -D:install.prefix=/some/prefix install
  3. Grab MonoDevelop from SVN and configure it with “–enable-boo”. Install it to your prefix of choice

Go to town! Feel free to email me/pester me on IRC/whatever.

It’s not perfect yet, by any means, but it’s very usable, and I want people to get their hands on it while I’m hacking on it more.

Weekend fun, random NYC photos.

Monday, April 18th, 2005

Well, it’s been a while since I blogged about non-nerd stuff, so here goes nothing. This may suck, so be warned.

This weekend was gorgeous in NYC. High sixties, sunny, the works. I’ve been trying to get my *ss in gear, so last week I started running again. Got to go Sunday with Stacey (who still rocks, despite her obsession with her imaginary tan, and with bad horror movies) over to ERP (East River Park) for a run, and to toss some disc. Was nice to get out, breath some mostly fresh air, etc, etc.

I saw “Amityville Horror” Friday night with Stacey, which turned out to be semi-decent until about 20 minutes from the end, when it just turned into silly “let’s make a feeble attempt to wrap up at least one or two of the gazillions of unresolved and unexplained elements of this movie” mode. I highly recommend the movie for anyone looking to walk out of a movie early. If you choose to do so, email me and I can tell you the end so you don’t waste your time.

Last week I was spontaneous and bid and won an auction on a thinkpad X31. Hurrah! Unfortunately, the seller would only ship to ebay verified addresses. Normally, this would be no problem, but you see, I live in the ghetto! The doorbell/ringer system has not worked one day in the total year and a half I’ve lived in this building. And living on the second floor, that makes getting packages via UPS a pain in the tuckus! Anyway, to resolve that, I give you, “Ghetto Doorbell”. The sausage, which is the truely genious and key addition by Stacey is fundamental to its functioning.

In other news, here’s some more random NYC shots, including someone who turned the Don’t Walk signs by Stacey’s apartment into punk rock madness, and some random dude spray painted the quadratic equation onto a jersey barrier near some construction. I’ve also found the Pythagorean theorem, and a few others in the same neighborhood. nerd graffiti rules:

This concludes my random, non-nerd blog post.

Test the Boo Addin!

Monday, April 18th, 2005

Ok, since I’m waiting on approval of the one patch for Boo needed to make commiting the Boo addin to MonoDevelop SVN, I figured i’d give the rest of the world a chance to poke at things now so I don’t go insane from just showing people screenshots, and not being able to let them use it. So, if you want the latest lovin’, including the new Boo Shell (sorry, no code completion or syntax highlighting yet, those are my next targets), check out http://tenslashsix.com/files/md-boo/. The README has instructions, which hopefully are straight forward enough to follow. As another teaser to entice people to try it, here’s a screenshot of the support I added for multiline code blocks (anything that end with a ‘:’ basically) for class, method, interface, etc definitions:

Boo shell for MonoDevelop

Sunday, April 17th, 2005

A few days ago, I decided to tackle one of the next items that was on my TODO list for my Boo addin for monodevelop. Well, I’ve since learned far too much about TextViews, TextIters, and the nasty things you can do to System.Console.Out if you need to temporarily steal stdout out from under other unsuspecting code. And I give you, BooBinding.Gui.ShellTextView. It’s structured in a modern mockery of the Model/View paradigm, and in theory the IronPython folks or whomever could just plug in a different class implementing IShellModel, and boom, it’d work. Still needs nice things like configurability, i18n, etc, but the basics are there:

I’m still wating on that d*mned pkg-config file patch to hit Boo SVN, so I can get this addin into MD’s SVN. All in due time I suppose.

gtk-sharp, mono-1.1.x, boo, monodevelop

Thursday, April 14th, 2005

A new gtk-sharp 1.9.x release was made on the 12th, with little fanfare (meaning I didn’t even see any announcement on the gtk-sharp-list). I’ve been doing local testing here and mostly things seem fine, hopefully this weekend I’ll get it into the tree.

Someone commented on my blog about when mono-1.1.x will be out of package.mask, especially since upstream is pushing this is “stable enough for regular users”. Indeed, mono-1.1.x is that stable, it actually makes nant compile, uses less memory, mcs the compiler is stricter/better, etc. Unfortunately, upstream doesn’t take into account fixing all the applications that the stricter compiler/runtime engine breaks because these apps made assumptions previously about the way mono (wrongly in most cases) behaved. The big problem child being monodevelop-0.5* which just doesn’t like mono-1.1.x. Fortunately 0.6 is in the tree, but that is still package.masked because it depends on the gtk-sharp-1.9.x stuff, which is less than ready “enough for regular users”. So yes, I’m itching to get mono-1.1.x out of package.mask, but before I do that, monodevelop-0.6 and gtk-sharp-1.9.x must be out too, and that is what’s gonna be at least a while longer. All in due time.

I’ve continued work on my boo and monodevelop integration. Most of the upstream pieces for boo are in boo SVN, including enhancements to the nant build stuff to actually give people on linux an easy installation method:

$ nant
$ sudo nant install

And poof! you have booc wrapper in /usr/local/bin/ and the boo libs installed into the GAC in /usr/local/lib! For those needing a different prefix, you can use -Dinstall.prefix=/usr option passed to nant. I’ve got a 0.5.2-r1 ebuild in my overlay which I’ll be uploading soon that uses the patch in SVN applied to the latest release. Only thing left I’d really like to do is get a boo.pc pkgconfig file done and in SVN that lets people build and link against the boo compiler libs (man, it’s so nicely organized and extensible, it makes me want to cry) easily.

Now that that little stuff is complete, on to the boo addin for monodevelop! I’ve managed to integrate the parser pieces from the boo addin for SharpDevelop, and lo and behold, I give you the latest tasty bits. Todd has agreed to host the addin in the MonoDevelop SVN, so once I’ve got a few more quirks done, look for a Boo addin hitting MonoDevelop SVN near you. And now, the tasty screenies:

Any tips on making the config panel suck less (the whole GTK+ box thing I’ve mostly got down, but it still seems off somehow) are appreciated.

Hopefully this’ll be testable for the public soon either via a posted patch or getting this into MD SVN soon.

monodevelop + boo (again)

Monday, April 4th, 2005

So, i’ve been hacking on Boo again, after a little break from it. First, my multi-dimensional array patches finally got accepted, and are in the recent 0.5.2 release (overlay with ebuild(s) in the usual spot, once i get around to uploading it). Secondly, I’ve re-written the Boo addin for Monodevelop, only this time it’s actually written in Boo, and not in C#. All the basics are working, so now I can start working on parsing boo files to get “intellisense” stuff working. Gratuitious screenshot:

I’m hoping to have Boo added to portage real soon, as it’s main dep (nant) is now in the tree as of a few days ago. For those looking to try the nant + boo stuff, I highly suggest the 1.1.x mono ebuilds, as they handle things a lot better.