Michael Meeks has been contributing to OpenOffice for a couple of years now. Initially he made it simple to start contributing to the effort, and wrote the OpenOfficeOrg Hacking guide, and setup a site at Ximian to get open source developers to contribute, you can see it here:
With all the tools for newcomers to contribute to OpenOffice: Source Code Cross Reference, Bug Tracking System, Tinderbox Status and ready-to-hack source packages.
One of the best features is the Hackers Guide.
Yesterday he posted his slides on OpenOffice hacking here, I found some of them fascinating:
Edd, I agree that there is not much action on the IronPython development front, and we would be willing to host a hackable repository for maintaining IronPython.
We could then provide all these patches to Jim for when he has the cycles to do its upcoming release.
Logistically-wise, my hands are tied until January as Cancun is taking precedence over hacking in the upcoming weeks, but the new year is a good time to pick this up.
In the Windows.Forms world, Geoff wrote a native Quartz driver for our Windows.Forms implementation, which you can see here. Geoff reports that we have feature parity with Windows.Forms
Also, ran into IronPHP the same concept of IronPython, but for PHP.
Also Duncan learned today that the University of California Irvine is teaching one of its compiler classes with Mono on MacOS X.
Posted on 09 Dec 2004
Over the weekend I checked into the repository a tool to easily create Mono bundles. A mono bundle allows you to ship your Mono application as a single binary: no runtime necessary: everything is "statically linked", there are no external dependencies on a Mono installation of any kind.
To use, just type:
mono$ mkbundle --deps sample.exe -o mcs Sources: 1 Auto-dependencies: True embedding: /home/cvs/mcs/mcs/mcs.exe embedding: /mono/lib/mono/1.0/mscorlib.dll embedding: /mono/lib/mono/1.0/System.dll embedding: /mono/lib/mono/1.0/System.Xml.dll Compiling: as -o /tmp/tmp7aa740ad.o temp.s cc -o demo -Wall temp.c `pkg-config --cflags --libs mono-static` /tmp/tmp7aa740ad.o Done mono$
In the example above the resulting binary is a healty 7.5 megabyte file, but it contains the Mono C# compiler and three of the system libraries as well as the Mono VM embedded into it:
mono$ ls -l demo -rwxr-xr-x 1 miguel users 7575630 2004-12-01 02:21 demo*
I then tuned the compilation to use a few shared libraries from the system, in this particular sample, I only want to avoid taking a Mono dependency:
mono$ mono$ ldd demo linux-gate.so.1 => (0xffffe000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4002c000) libm.so.6 => /lib/tls/libm.so.6 (0x4003c000) libgmodule-2.0.so.0 => /opt/gnome/lib/libgmodule-2.0.so.0 (0x4005e000) libdl.so.2 => /lib/libdl.so.2 (0x40062000) libgthread-2.0.so.0 => /opt/gnome/lib/libgthread-2.0.so.0 (0x40066000) libglib-2.0.so.0 => /opt/gnome/lib/libglib-2.0.so.0 (0x4006b000) libc.so.6 => /lib/tls/libc.so.6 (0x409e6000) librt.so.1 => /lib/tls/librt.so.1 (0x40afa000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40c68000)
This is just a productification of a feature that Paolo had developed for Mono.
The next step is to write an assembly "linker", so that only the functions necessary to run mcs.exe are included as opposed to the whole three assemblies.
The main problem is that we need a good library for dealing with CIL images, the contenders:
Posted on 01 Dec 2004
Sebastien for a while has been working on all-things-security in the Mono stack, in today's blog entry he describes how to write an SSL server in 3 simple steps.
He uses that to showcase the Mono.Security assembly and the excellent work that Carlos Guzman Alvarez has done on the TLS/SSL stack in Mono (Carlos is also the man behind the Firebird database provider for .NET).
In any case, Sebastien's blog is packed with technical information on a wide range of cryptographic and security topics (specially related to Mono).
Posted on 30 Nov 2004
At ApacheCon today, just finished my keynote, there is a video and audio of it here.
The slides of my presentation are here.
F-Spot failed during the demo, the problem was that on CVS Geoff just made Mono.Data.Sqlite support both the old Sqlite and the new Sqlite3, a tiny logic error gets the autodetection wrong (which is now fixed).
Dmitry Robsman, myself, Scott Guthrie, Daniel López
With the creators of ASP.NET (Dmitry and Scott) and the original author mod_mono (Daniel).
Daniel is at the conference demostrating at the conference is BitRock installer for Unix which is an Install-Shield like installer for Linux, BSD, Solaris and Windows and works with in GUI, text or unattended modes.
As a proof of his installer, he has a sample Mono installer for Linux that includes XSP and Apache for folks that want to get a quick head-start on Mono. The simplest Mono installation on Unix so far.
There is a lot of Java presence, and some PHP presence at the conference.
In other news: am running IBM's Derby in Mono, without having to write a line of Java. Love!
Posted on 16 Nov 2004
We completed the migration of the Mono repository from CVS to SVN. We did a few dry runs of the whole migration to verify that nothing would go wrong.
We are happy to report that the migration went as planned and we only had a small service interruption of a few hours while we did the final migration.
The repository had 635 megs of data in 34,831 files checked-in. We are using the file system backend, and things went very smoothly.
Details on the migration process for Mono users are here.
Posted on 11 Nov 2004
Lluis has been working on a new Dynamic Code Generation API for Mono. A detailed blog post with source code, examples and rationale is available here.
Lluis' new code generation API is a medium-level API and sits happily between the CIL (too low level for certain tasks) and generating C# source code (too high level and slow to produce, compile and dynamically load for certain tasks).
Notice the interesting model for the code generation.
Posted on 10 Nov 2004
The Novell Linux Desktop has been released, a web page with information (and various flash demos) is available here.
Congratulations to the desktop folks for this release.
They have a starter's page in Novell's Cool Solutions with an overview for those new to NLD.
Joseph has been running www.gotmono.net for a while, and today I discovered his blog. What I found interesting is that he has been maintaining ASP.NET applications and ports of Mono (here) and his blog talks about his experiences.
It is an interesting read for those interested in Mono deployment and performance.
Although he is beta testing some new ASP.NET-based forums, the current forums are very active.
An Interview with Alan on the recent Desktop Release is here
Posted on 08 Nov 2004
It is not limited to strings or characters, it can operate on anything comparable.
Posted on 06 Nov 2004
This is an important milestone in Mono's runtime to improve the performance of computationally intensive tasks. The patch is only 2069 lines of code.
Massi previously implemented the Arrays Bound Check eliminination in the Mono VM. Congratulations Massi!
Am now using GPWS to share files from my computer at home.
Hasan has a blog where he talks about his Gtk# experiences.
I have updated NPlot to version 0.9.7 and improved the widget performance. You still need to use CVS mcs and libgdiplus to get it to work.
Code drop is here. Now with a spicy makefile.
Matt (the maintainer of NPlot) said that he wanted to distribute the Gtk# moving forward.
Posted on 05 Nov 2004
Being the optimist that I am, I will go to sleep thinking that the count is not complete, and that the Electoral College will fix the world for us. If the supreme court made some hand tuning to democracy last time, I will hope some other hand tuning can still happen.
Slashdot browsed at +5 has some very interesting comments
To me, its like an adventure, like in the Timeline movie: we get to go back to the middle age and explore a world where science and intelligence are a liability.
Nixon got impeached on his second term, there is hope ;-).
In the paste few days I had been doing a Gtk# facade for NPLot: a wonderful library to do plots.
There was not much in the way of porting. NPlot alredy supported two front-ends: an ASP.NET one and a Windows.Forms one, so this is only an addition. The engine is completely independent of the presentation layer, which is good.
NPlot exposed bugs in our C# compiler and in System.Drawing, they are both fixed on CVS HEAD and the 1-0 branches. Sadly these fixes came after Mono 1.0.4 and 1.1.2 were built, so to use it you will need to get CVS.
The sources are available here. And here it is in action:
Erik discovered NPlot a few weeks after Nat and myself were talking about widgetry that we would like to see available for developers. We were talking about scientific (2D plots, 3D plots, animations) and business widgetry (validating data entries, Gnumeric-like data entry, database-bound widgets).
NPlot fills the 2D plotting gap quite nicely. We had looked at some Gtk+ solutions, but this solution requires no bindings at all and can also work in batch mode or to produce plots for web applications.
Posted on 04 Nov 2004