Martin's Activity Log http://primates.ximian.com/~martin/blog/ en-us martin@ximian.com Copyright 2004 Thu, 03 Jun 2004 10:10:05 +0100 Thu, 03 Jun 2004 21:13:58 +0100 http://www.movabletype.org/?v=2.51 martin@ximian.com 60 Happy new 3MBit world http://primates.ximian.com/~martin/blog/archives/000465.html Thu, 03 Jun 2004 10:10:05 465@http://primates.ximian.com/~martin/blog/ <p>Yesterday, I called my ISP and ordered a huge bandwidth upgrade :-) <p>It's still DSL, but I'll get 3 MBit/s downstream and 384 kbit/s upstream. Especially the latter one is very cool since CVS was always very slow for me especially when committing large files. <p>What's really cool is that they told me it'll take a month to be activated, but I just realized that I already have this new bandwidth :-) Mono Debugger 0.8 "Wrightsville Beach" http://primates.ximian.com/~martin/blog/archives/000461.html Wed, 02 Jun 2004 00:33:19 461@http://primates.ximian.com/~martin/blog/ <p>Just released version 0.8 "Wrightsville Beach" of the Mono Debugger :-) <p>You can get it <a href="http://primates.ximian.com/~martin/debugger/mono-debugger-0.8.tar.gz">here</a>. Unfortunately, a last minute breakage slipped into Mono's beta2, so it's unusable for the debugger. You need to use the latest CVS version. <p>This week, I'm also starting to write some documentation for the <a href="http://www.go-mono.com/monkeyguide/html/en/tools/debugger.html">MonkeyGuide</a>. <p>Miguel told me about a nice XML mode for Emacs: <a href="http://www.xmlhack.com/read.php?item=2061">http://www.xmlhack.com/read.php?item=2061</a>. <p><b>Update:</b> ... and once again Jackson has the coolest blog of the planet - so maybe I should go swimming this weekend: <div align="center"> <img src="http://primates.ximian.com/~martin/blog/images/greenfield-lake.jpg"> </div> Bug fixing marathon http://primates.ximian.com/~martin/blog/archives/000456.html Sat, 29 May 2004 14:35:20 456@http://primates.ximian.com/~martin/blog/ <p>We're getting closer and closer to <b>beta2</b> and I'm trying really hard to get the last bugs sorted out. Unfortunately, some things won't make it into the release and - since the tree will be frozen after it - not into <b>Mono 1</b>. <p>However, when I'm done fixing all the remaining MCS bugs on my list, I may actually have time to do some gmcs bug fixing tomorrow .... <p>For those of you who want to use the latest debugger release with the latest runtime from CVS, there's a patch available <a href="http://primates.ximian.com/~martin/debugger/debugger-wilmington.diff">here</a>. Check guns here http://primates.ximian.com/~martin/blog/archives/000449.html Tue, 25 May 2004 07:39:50 449@http://primates.ximian.com/~martin/blog/ <p>It's early tuesday morning and Jackson proved again in his blog that he's coolest guy on the planet ;-) <p>Bug fixing is going really fine, but there's still a long way to go until beta 2. It also looks like people actually start using gmcs - at least, I start getting bug reports .... <p>However, at the moment, I'm concentrating on fixing as many mcs bugs as possible before beta2. The tree is freezing really soon, so this may be the last chance to fix some of the bad boys. <P>And now, I'm really happy that I'm back in my home town: when I went to Boston in the last week of February, I left from Terminal 2E in Paris - and I immediately recognized the building on the pictures in the news. So if I ever get to Peking, someone should remind me not to go to the Opera. <p><center><img src="http://primates.ximian.com/~martin/albums/Last_Day/pic00006.sized.jpg"></center> Merging fun http://primates.ximian.com/~martin/blog/archives/000444.html Wed, 19 May 2004 22:08:28 444@http://primates.ximian.com/~martin/blog/ <p>Spent the whole day merging all the latest changes from MCS into GMCS. It was really difficult this time since it has been a long time since I did that and there were plenty of changes in MCS - some of them were also really complex. <p>I hope I didn't break or forget anything, but I carefully looked at any patch, so it should be fine. <p>Tomorrow is a holiday here in Germany, so I'll have lunch with my parents and then hang around with friends, possibly go to the movies in the evening. <p>After reading Gonzalo's blog, I will switch to another blogging engine soon after Mono 1.0 - but for the moment, I just don't have the time to "touch a running system" ..... Back in my home town http://primates.ximian.com/~martin/blog/archives/000443.html Tue, 18 May 2004 20:55:16 443@http://primates.ximian.com/~martin/blog/ <p>After spending about two and a half months in Boston, I'm now finally back in my home town :-) <p>I had <b>wonderful</b> vacations in Florida, but after such a long time, I was really happy to see all my friends and my parents again. So now, back to real hacking life for the remaining 2.5 days of this week .... Road Trip http://primates.ximian.com/~martin/blog/archives/000432.html Mon, 03 May 2004 20:26:17 432@http://primates.ximian.com/~martin/blog/ <p>At about 9pm on Friday, I finally hit the road and started driving south. I didn't make it very far since I was too tired. Didn't sleep much the night before since I went out drinking and needed to get up that early. So I stopped the first time in <i>Providence, RI</i> and took a short nap. About an hour later, I continued driving, but just until Conneticut where I finally stopped at a McDonald's and slept in the car. <p>Woke up really late the last morning, it was almost 8am when I hit the road again. The first couple of hours went really fine, but then I got into a really bad jam somewhere around <i>Washington, DC</i>. It was already getting dark when I reached <i>Richmond, VA</i>. And that was still far from Wilmington. <p>Luckily, I was alone on the <i>I-95</i> and <i>I-40</i>, so I could speed a little bit. Finally reached <i>Wilmington</i> around 1am. <p>Yesterday was really great - the weather was excellent and <i>Wilmington</i> is really beautiful - I also took a lot of pictures :-) <p>Today, I'm staying a couple more hours here (I'm at <i>Port City Java</i> at the moment - they have coffee and free wireless internet) and then drive down a few hundred miles. I'll probably arrive in <i>St Petersburg, FL</i> somewhere tomorrow. On the road again .... http://primates.ximian.com/~martin/blog/archives/000428.html Sat, 01 May 2004 02:20:12 428@http://primates.ximian.com/~martin/blog/ <p>It got a bit later that I wanted, but I went sailing on the Charles River this afternoon and had a lot of fun :-) <p>So this is the car I'm driving for the next two weeks:<br> <img src="http://primates.ximian.com/~martin/jeep.jpg"> Entering the turnpike in 24 hours http://primates.ximian.com/~martin/blog/archives/000425.html Thu, 29 Apr 2004 19:42:21 425@http://primates.ximian.com/~martin/blog/ <p>It's Thursday afternoon and in about 24 hours from now, I'll enter the <b>Massachussets Turnpike</b> and start driving south towards Florida .... <p>The last three days, I've done a lot of bug fixing in MCS and significantly cut down the number of open bugs. There's also a new debugger release, but it'll require latest Mono CVS, so it'll be available next week together with <b>Beta 1</b>. Time to say goodbye http://primates.ximian.com/~martin/blog/archives/000422.html Tue, 27 Apr 2004 02:17:20 422@http://primates.ximian.com/~martin/blog/ <p>After almost two months, it's finally getting time for me to say goodbye to Boston. <p>I'm leaving to Florida on Friday and finally fly back to Germany on the 16th. Unfortunately, there isn't much time to do sightseeing before I leave and I also can't go out drinking on Friday. I'm coming to the office that day, but I'll leave shortly after lunch .... <p>Today and tomorrow, I'll try to fix as many MCS bugs as possible and if I still have time on thursday, I'll also make a debugger release. <p>My schedule changed a little bit, but I'm still doing the driving. So here's my latest plan and it's pretty much final since I already booked hotels in some of the places: <ul> <li><b>Friday, April 30th</b>: Leaving Boston after lunch, drive as far as possible. <li><b>Saturday and Sunday</b>: Wilmington, South Carolina. <li><b>Monday and Tuesday</b>: Drive straight down till Florida, maybe stop in Tampa Bay, maybe not. <li><b>Wednesday and Thursday</b>: Key West <li><b>Friday till Monday</b>: Miami <li><b>Tuesday</b>: Savannah, Georgia <li><b>Wednesday</b>: Raleigh, North Carolina <li><b>Thursday</b>: Arrive in Boston. </ul> Wellesley Scream Tunnel 2004 http://primates.ximian.com/~martin/blog/archives/000412.html Mon, 19 Apr 2004 23:55:47 412@http://primates.ximian.com/~martin/blog/ <p>Took a day off to watch the <a href="http://www.boston.com/marathon/">Boston Marathon</a> - and it looks like I found the perfect spot to watch it :-) <p>I went to Wellesley College and was watching it in the middle of a crowd of screaming college girls. That's about half the distance of the race, between milestones 12 and 13 and you could already hear the noise at the Wellesley Square commuter rail station, about half a mile away from the college. <p>It was really amzaing to stand in the middle of all these excited people and watch the marathon. After about two hours or so, most of the field passed and the runners were more scattered, but the Wellsley girls were still cheering and applauding at the same noise. Must have been an amazing feeling for the running ... <p>Tomorrow, I'll upload a few picutues, I'm just too lazy to go the the office right now .... <p><b>Update:</b> The pictures are now <a href="http://primates.ximian.com/~martin/gallery/Boston_2004/">here</a>. <p><hr> <p>I'm also starting to face my very own marathon very soon: I'm driving all the way from Boston to Florida and back in about two weeks. My original plan was to rent a car in Boston, drive down to Key West and fly back from Tampa Bay, but it looks like all car rental companies are charging and incredibly high one-way rent for this - about $400-$500 or so. So I changed my plan and drive down and back again. <p>Before anybody calls me crazy, I have a map and I know how far it is. I know that it's 1800 miles one-way, I know that 1800 miles are about 2950 kilometers and I also know that there's a speed limit in this country ... <p>Some people also told me that New Jersey sucks, that there's nothing to see in North Carolina, that Florida is a really a _very_ long state and that I'll see nothing but highways .... <p>However, I really want to see South Carolina, I really want to see Georgia and I really want to make this trip. <p>So I started thinking about a concrete plan for this and here's what I have so far: <ul><li>First day: Leave Boston at night time, make it till the New Jersey Turnpike until sunrise, drive at least until Richmond, VA. <li>Second day: Leave <i>Interstate 95</i>, head towards <b>Wilmington, NC</b>. <li>Third day: Stay there. <li>Fourth day: Finally leave the interstate, drive down <i>US 17</i> until <b>Savannah, GA</b>, maybe stop a few times at the coast. <li>Fifth day: Back to <i>Interstate 95</i>, try to make it to <b>Miami</b> or at least <b>West Palm Beach</b>. <li>Sixth day: Drive through <b>Miami</b>, walk around, most likely drive until Homestead in the evening. <li>Seventh day: Finally drive drive over the <b>Florida Keys</b> until <b>Key West</b>. <li>Eith and ninth day: Stay there. <li>Tenth day: Say goodbye to the keys and drive until about Ft. Meyers. <li>Eleventh day: <b>Tampa Bay</b> <li>Twelfth day: The marathon begins: Back to <i>Interstate 95</i> and not leaving it until <b>Boston</b>. <li>Fourteenth day: Hopefully arrive in <b>Boston</b> </ul> <p>On the afternoon of the 16th day, I'll fly back to Germany. <p>It's a very tough schedule, but it should be doable - and I'll see all of the east coast of the US :-) A new command line interface for the debugger http://primates.ximian.com/~martin/blog/archives/000407.html Thu, 15 Apr 2004 04:37:03 407@http://primates.ximian.com/~martin/blog/ <p>Originally, I just wanted to port the Debugger to the PPC this week, but now I'm breaking everything and doing large changes in the command line interface. <p>We're getting a really kick-ass command line interface for the debugger until the end of this week, but for the moment, don't use the debugger from CVS (if it isn't obvious) - it won't build and if it builds, well, it may kill your children, blow up your house or just drink all your beer .... <p>The new command line interface will be a lot more user oriented than the current one and it'll also contain a nice scripting language which'll be reusable in other projects. <p>Tonight, I'm finally going ot the movies to see <b>Walking Tall</b> - it's playing at 11:10 pm. I planned to see this movie for more than a week - it's the latest one they're showing on weekdays - but each day, I was too busy with hacking to make it in time. Trip to Wonderland http://primates.ximian.com/~martin/blog/archives/000404.html Tue, 13 Apr 2004 19:55:47 404@http://primates.ximian.com/~martin/blog/ <p>I relaxed a bit this weekend, had a nice easter dinner with friends, did some sightseeing and went to the movies. Yesterday, I took the blue line to <i>Wonderland</i> and walked around at the beach a little bit. The weather wasn't that perfect it, but it was still great. <p>In the evenings, when it was already dark outside, I also hacked a little bit on my cool new toy: PowerPC support for the Debugger. <p>Before I started to actually port the debugger to that new architecture, I realized that it may be a problem that the JIT isn't fully ported to this architecture yet. So it may be difficult to run a huge and complex Mono application like the debugger on it. <p>However, very quickly, I found a solution for this problem: remote debugging ! It wasn't that complicated since the debugger was already using a small unmanaged helper application to do all the low-level stuff. So I just provided a small CORBA wrapper for it and everything was fine. I'm now running the debugger on my laptop (Red Hat 9) and it talks to a remote debugger process on the PowerPC. This stuff isn't perfect yet and it has some limitations (for instance, it isn't translating path names, so you need to have your target application on both machines and in the same path name), but it should be fine for the moment. <p>The next step was actually porting the debugger. It turned out that it wasn't that difficult than I originally expected and debugging support on the MacOS is also really good. So at the moment, we can single step, read/write the target's memory, read/write registers and insert/remove/enable/disable breakpoints. And, of course, it's showing you source code while single-stepping :-) <p>I think this MaxOS port will not only help people on the mac, put it'll also benefit the debugger on Linux. For instance, I already found and fixed a few bugs in the platform independent code while doing it. <p>Next week, when I'm doing some more bug fixing in MCS, I'll also start using the debugger to debug MCS .... C# Generics http://primates.ximian.com/~martin/blog/archives/000396.html Thu, 08 Apr 2004 04:31:24 396@http://primates.ximian.com/~martin/blog/ <p>After about seven months of hacking, I'm finally done with C# generics :-) <p>This means, we've finally reached the point where people can start actually using generis in their code. The new compiler may not be perfect yet, but the more people are trying it, the faster it can sort out the remaining bugs. At this point, the most important thing left to do is having people use and test it and file bug reports. <p>However, I'm currently really happy with it. It took at lot longer than I originally expected, but I tried to follow the spec really closely and also reporting all the required errors, so that's one of the reasons why it took so long. <ul> <li>So how do I get and use generics in my code ? <p>Well, first all all, you need to compile and install the new generics compiler, <b>gmcs</b>. Even though I started in late August last year, gmcs still has all the latest bug fixes and improvements which went into the normal compiler since I'm merging the two code bases on a regular basis. <p>Before you can compile <b>gmcs</b>, you need to get a corlib which has all the latest features from the upcoming .NET 1.2. To do this, compile your corlib using the <tt>net_1_2</tt> profile by saying <code>make PROFILE=net_1_2</code>. This'll get you a corlib which has some additional things in reflection, but which doesn't come with generics yet (because you don't have a generics compiler yet). <p>After installing this new corlib, you can simply type <code>make</code> in the <tt>mcs/gmcs</tt> directory to get the new compiler. <b>gmcs</b> is self-hosting, but we're currently compiling it with <b>mcs</b> to avoid the obvious chicken-egg problem - nobody has a <tt>gmcs.exe</tt> binary until compiling it the first time. <p>Once you have <b>gmcs</b>, you can finally compile your real corlib. This is done using the <tt>martin-generics</tt> profile (it'll soon be renamed to <tt>generics</tt>) - by saying <code>make PROFILE=martin-generics</code> (you may need to do a <code>make clean</code> first). <p>This new corlib also contains the <tt>System.Collections.Generic</tt> classes. Once you compiled it, you don't need to do the <tt>net_1_2</tt> step anymore if you want to recompile gmcs - and you could also use gmcs itself to recompile it. <p><li>Tests and bug-reporting <p>There is a bunch of tests for generics in the <tt>mcs/tests</tt> directory - they're all called <tt>gen-*.cs</tt> and there's a <tt>gen-test.pl</tt> script in that directory to run them. <p>Error tests are in <tt>mcs/errors/gcs*.cs</tt> and are run by the <code>run-generics-local</code> target in the makefile. <p>I'm very interested in getting feedback, bug reports and more test cases. Just mail me if you have any questions or problems. New tests cases and error test cases can just go into CVS, put please do also file a bug report in bugzilla if you add them, so I know what needs to be fixed. <p><li>Non-generic bug fixing, gmcs and Mono 1.0 <p>Depite all this enthusiasm about having a generics compiler, <b>mcs</b> is still the compiler which'll ship with Mono 1.0 and it'll get all the bug-fixing and improvements and I'll merge them into gmcs on a regular basis. It is very important to keep the differences between the two code bases to an absolute minimum, so gmcs is basically just mcs with generics support - but it has everything else mcs has. </ul> <p>To summarize, I think gmcs is in a pretty good shape at the moment. Of course, there may be bugs - but every new software has bugs when it's newly written. One other thing to mention is that performance may not be as good as in the non-generic compiler. But that's because on the one hand I targeted entirely on completeness and robustness and didn't care about performance and on the other hand, people like Ben have done an increadible work on improving performance in the non-generic compiler during the last couple of weeks. So it's basically just a matter of time until gmcs catches up .... <p><hr> <p>For those of you who're wondering what I'm doing next - well, I'm helping with the ppc port. After doing basically nothing but generics for several months, I'm really looking forward to doing something else, learning another architecture and seriously kicking ass on the ppc :-) <p>After ppc is done, I'll go back to generics, do some fine-tuning, performance optimizations and bugfixing. <p>However, at the moment, I'm starting to feel the power of the ppc - and it's time to go to Bukowski's :-) Boston - I love you http://primates.ximian.com/~martin/blog/archives/000391.html Thu, 01 Apr 2004 00:25:37 391@http://primates.ximian.com/~martin/blog/ <p>It's now the last day of the month and it looks like I haven't blogged until I left germany in February. I'm still in Boston and I start to really love the city :-) So now I'm staying here from another month and then I'll do some vacation - which'll involve driving all the way down to Florida ... <p>In the meantime, I've made really big progress with generics and will probably finish them within the next couple of days.