February 29, 2004

Trip, Stuff, etc

Gettin ready to leave for Boston tonight. This trip has me all excited, looking forward to meeting all the mono guys, all for the first time.

It will be nice to be able to put a real face and a voice with all the names I have spoken to over email, irc, etc.

I am just thankful I get to go, considering how sick I was on Thursday. I love having a killer immune system, and the ability to live on nothing except cigarettes and ginger ale.

Just in case some of you were worried that the MD team was sitting on its hands waiting to put out this release, I have a nice screenshot for you all. Last night I played with our file loading system and some other pieces and was able to do two main things. First, you can now have seperate 'Views' for files (something #D had, but we took out initially). Second, instead of the standard Notebook widget, I went ahead and used my best friend, the GdlDock. This allows you to Dock the views like tabs, or however you would like. To illustrate this, I cooked up the ability to open an html file, and a web browser would spawn in another view. This browser stays up to date with what you are typing, so in effect it is a true WYSIWYG designer ;) (Note: in the screenshot I have hidden all the docks to give a smaller image)

MonoDevelop-SidebySide.png

Anyway, I think its a pretty cute feature, and it absolutely shows the power of Gtk# that something like this is doable in an evening.

Posted by tberman at 05:44 PM | Comments (1)

February 28, 2004

Release delayed

Well, I have been really sick for the last 24 hours or so. We are delaying the release a couple days as a result. The tarballs have been created and are ready to go, however we have to build packages for rh9, fc1 and suse.

Hopefully we will get that done ASAP and get this release out to you guys.

Posted by tberman at 02:03 AM | Comments (1)

February 23, 2004

Subversion

Well, after being asked forty times things like 'Why SVN', I figured I would answer the question here, and refer people to this blog entry instead of saying the same thing over and over again.

MonoDevelop uses Subversion for version control. The main reason behind this choice was way back in the beginning, I have just setup a subversion repository for my work, and we needed somewhere to put the sources. So I created a new repository for MonoDevelop on my work's subversion server. The initial plan was to use this repository only temporarily, and move the sources to mono's cvs repo.

As the time came closer to doing this, we ended up decided to stick with SVN but still move to the mono-cvs box.

While initially we used SVN just because it was there, after having worked with it for a little while, I became somewhat attached to it. The fact that commits are atomic made my life far easier, no longer was it difficult to communicate about what commit might have caused the regression. 'Well, try this file at 1.21 and this other file at 1.5' was a thing of the past. Now you could say 'Works find in r400, seems like r401 is the problem commit'.

The ability to move file arounds may seem somewhat minor, and most likely is, but it made developing MD a lot easier. Less time spent administrating and dealing with file moving, and stuff like that, meant more time for hacking.

However, not everything is perfect. We have two main problems with SVN at the current moment. First and foremost, anonymous mirroring is something we have yet to get setup properly. I have heard that there is some perl module that can help. If anyone has any example perl scripts of using this module to replicating a repository between a parent repo and an anonymous child repo I would greatly appreciate it. Our other problem has been one of stability. Twice in the 2 months we have been using SVN the server combusted for no real reason and required some manual administration by someone with an account on the hosting computer. Now, we are using a somewhat dated version of SVN, at this point SVN has gone 1.0, so some of the stability issues are most likely gone.

All in all, I wouldnt trade our current setup for anything else (Except maybe a setup with SVN + AnonSVN mirroring ;) ). After years of working with CVS and working around/through its issues, it was pretty nice to work with revision control that I felt was easy and intuitive to deal with.

Posted by tberman at 07:33 PM | Comments (2)

February 21, 2004

Hydraless

Well, MonoDevelop is looking pretty slick, some final touches, last minute big fixes and 0.1 will be out the door.

Today I put the final pieces into place to support the 4 finds (Find, Replace, Find in files, Replace in files). That was our last big stumbling block before releasing (I think).

Now I get to spend part of the weekend working on another C# project inside MonoDevelop to see what kind of bugs I can turn up :)

MonoDevelop-Find.png

ooooo, pretty pictures

Posted by tberman at 03:54 AM | Comments (7)

February 17, 2004

Releasing software sucks

Damn, releasing is a pain in the ass sometimes. First, you have to put all the cool new features you want to do on hold while you get everything release ready. Then, you realize that not everything you wanted in the release will get in completely. All in all, its just generally irritating. Developing software would be so much easier if you never had to release ;)

Then, when you think 'wow, this is under control, no big deal' you discover a whole area of code you hadn't thought about that needs to make it into the release :)

Luckily because I attempted to start the release process almost a month before the release, it looks like we will get most everything in that we wanted to. Now we just have a couple loose ends to tie up.

I know our requirements to run are a bit high right now, but the team would really appreciate it if we can get some other people running this, and doing things with it we might not have thought of. Please, if you have a chance, grab a snapshot, and attempt to test this out. We idle around in #mono and #md-devel (on irc.gimp.net) most of the time, and are able to help with any installation problems you might have.

Anyway, the February 27th date still stands, and hopefully we wont have to sacrifice any features to make it :)

Posted by tberman at 01:41 AM | Comments (1)

February 11, 2004

Google

Earlier this morning, I decided to google for 'MonoDevelop' and see what turns up, potentially a bit egotistical, but I was interested. Doing this I turned up something interesting I'd like to comment on.

I noticed in a couple places Ben Maurer was cited as 'doing MonoDevelop' for lack of a better term. Now, not to belittle Ben's contributions to the project (which are numerous), he is by no means the only contributor doing a lot of work, he just happens to be the loudest (or second loudest, not quite sure ;) ). I would like to take a bit of space to give some credit to the other contributors, without whom MonoDevelop would never have made it off my hard drive, and certainly not to the state it is in today. Note, this list is in no specific order, and neither does it cover everyone, as we have received some patches from our testing users.

jluke, who has probably touched almost every piece of the port so far, has done things including porting the statusbar, making our web control work (embedding mozilla no less), and most recently turning our build system to autotools. He also did a huge chunk of our file browser, basically he has been all over the codebase.

jba, who has helped in two key areas. First he did the initial porting of the option panels, and has helped making sure those options are respected. He has also attempted to bring somewhat of a team oriented development process with lots of comments, and all that fun stuff.

dkor, our 'glazing' guy as he likes to put it. He has run through a lot of the gui pieces of our code, and gladed them up, and made them a lot prettier and HIG compliant. He also ported over the Insert Color stuff and turned up a bit of a (now fixed) gtk# bug.

orph, who has been in brazil for a while (hopefully doing well), when we first started porting in late december, orph was instrumental in pointing me in the right direction repeatedly with gtk help and advice.

And last, but certainly not least, pedro, basically my partner in crime back in late december/early january. pedro was the first contributor outside of myself, he was actually the reason I had to put the sources into a SVN repo so someone else could work on them too. He ported the old text editor, and has done a lot of other pieces as well, including the project browser, the class browser, and the preliminary compile support.

I guess my point in writing the second piece is just that no one person deserves recognition any more or less than many others. The entire effort has been team based from the beginning and will continue to be so in the future.

Posted by tberman at 06:41 PM | Comments (2)

February 08, 2004

Metal

jeroen, gustavo and I all hacked around a bit over the last couple days, and we were able to get the gdl-docker working in MonoDevelop. It is actually quite sweet and fun to play around with.

MonoDevelop-Docker.png

Notice off to the right we have an iconified Class Pad thing, its pretty interesting. There are a handful of bugs to work out and around, and then I will be snapshotting this for you guys to play with. Hopefully by the time we work out some of these bugs, the new text editor will be even more usable. This release (20 days away) is looking very nice :)

Posted by tberman at 03:34 AM | Comments (9)

February 07, 2004

Blog about nothing

I just feel like blogging, about nothing in particular really.

We are preparing for the MD 0.1 release, this has turned up some 'interesting' behaviours in MD that no one really knew about.

Today I am fixing the two that really piss me off. First of all, there was this horrible Windows workaround/issue that did a .ToUpper comparison on files when loading to see if you already had it open. This meant that you couldnt open ~/Test.cs and ~/test.cs because MD thought they were the same file. Well, no more ;)

The bigger and more difficult one is how we load files. We use some strange (and uninvestigated) behaviour to do so. I know for a *fact* we aren't using what we should be, which is mime-types. God created mime-types to make my life easier, so we should get around to using that to determine how to load a file, and what editor to give it. Part of the problem is this loading code is hidden under 20 different classes and services under the #D framework. So I have my work cut out for me to make this transition from 'automagical file loading' to 'sane file loading'

In other news, jeroen has been working on getting MD to use gdl-dock instead of our current tab setup. When he gets this finished it will make our ui much much nicer, and a lot easier to use.

I have some other MD news, but it needs to wait until I speak to some others about it before I start talking about it like its fact :)

Posted by tberman at 08:41 PM | Comments (2)

February 03, 2004

flippin bits in the 6502. word.

Yow, today was the day from hell, computers breaking, all sorts of horrible stuff. However, one good thing did come out of it.

We will be releasing MonoDevelop 0.1 on February 27th (hopefully). This release will contain all sorts of good stuff, nothing much too different than #D yet, but still fun stuff :)

More info soon

Posted by tberman at 01:38 AM | Comments (3)