The history of SWT and Swing

by Miguel de Icaza

While doing my daily reading of the SWT-port-to-C# reading this morning, found this post that describes the torrid story of Swing and SWT.

Update: That document contains various errors on the side of the origins of Swing. For more details see this thread.

Amy describes her experiences with the iPod and a native user interface here. Very good point about using native interfaces. Firebird already has a couple of XUL-based clients that let the user browse Amazon more comfortably than using the regular Web interface.

Al Franken's book

I have been reading Al Franken's Lies book. It has been entertaining for the past couple of days, but it turned out really interesting on the chapter on the Clinton efforts on the war against terror and how the Bush administration dropped the ball on that (chapter 15, but it shines on chapter 16).

I tried writting a summary, but its impossible to make justice to those two chapters. It is particularly interesting, because Franken got a team of Harvard graduates from the Kennedy school to fact-check everything he wrote.

Anyways: mandatory reading if you stop by a book store.

Cant wait

To see The Band on the Runtime perform

Posted on 04 Sep 2003

My new T40 and Linux.

by Miguel de Icaza

I am using a new IBM T40 now as my main computer. I was about to go for the X31 which is lighter and smaller, but I have gotten used to the large resolution from my old T30.

Michael Zucchi provided me with a few links to people running Linux on the T40. Most hardware is supported on the T40, but the speed of the hard drive left much to be desired. The new T40 felt like it could not handle the load the T30 did. Any IO would make the system very slow.

After dropping by the #kernel channel on LinuxNet, I was told to upgrade my Kernel to the latest RH update. So far the speed of my hard drive went from 2.5 MB/second to 25 Mb/second. An e-mail expunge that used to take about two minutes seconds, now takes 13 seconds.

Posted on 03 Sep 2003


by Miguel de Icaza

I am going to the PDC, hoping to listen to Don's new single.

Gonzalo and Lluis from the Mono team are coming as well.

Also found the PDC Bloggers site.

Moving day

A completely unproductive day. I just moved into my new apartment, where I will be Nat's neighbor.

Verizon cancelled my DSL during the move, and am using a kind soul's wireless access.

Posted on 02 Sep 2003

The largest Gnome deployment: The Sao Paulo Telecentros

by Miguel de Icaza

The Sao Paulo Telecentros provide service to 150,000 users. Each Telecentro is running a small cluster of computers: a high-end server and 20 diskless workstations (Pentium class machines).

The diskless Linux workstations are hooked up to the server with a 100mb network, and each workstation boots in 20 to 30 seconds (this is from memory). Very fast. All applications run on a pretty big server, and OpenOffice is pre-loaded, so it starts in no time.

Each Telecentro offers service to about 3,000 users; People schedule time on the workstations in slots of half an hour or an hour.

They have written lots of tutorials in Portuguese in each of the Telecentros and cover the basics: the Gnome desktop, Star Writer, Star Calc, Galeon and Gnome Paint.

Today there are 72 telecentros open for a total of 107 planned. The cost of setting up a telecentro is 10,000 dollars.

During my visit to the Telecentro's headquarters, I heard a few new arguments I had not heard before about the advantages of free software:

  • Cost-wise: They were able to deploy 80 tele-centros instead of 20.
  • The government initiative of Digital-inclusion means that users that use the software setups today can take the software home and replicate *the exact* functionality.
  • Number of applications: There are 1,700 software programs available as part of the Debian Linux distribution which are both free and legal for the users to copy.

Posted on 29 Aug 2003

Generics, generics

by Miguel de Icaza

Martin reports: * baulig just compiled his first "Hello Generic World" :-)

The Mono C# compiler today compiled it first generics program (see the various generic tests on CVS). It is still lacking support for method overloading. All the goodies are in mcs/gmcs (the special tree for our generics compiler).

Paolo had previously added the Generics support to our class libraries (System.Reflection and System.Reflection.Emit) and added the code to JIT generics code. This was helped enormously by Jackson's earlier work on the IL Assembler which was already generics aware.

In .NET 2.0, Generics are part of the instruction set, and the metadata in an executable. Some of the advantages of this approach vs the C++ mechanism of having the templates defines in .h files is that we keep getting the performance increase from having the generics information "pre-compiled". Those of us with a Turbo Pascal background, cant help but think `These are like the Turbo Pascal Units (TPUs): they were just so much better than C libraries and header files'.

Its surprising how a good idea like TPUs did not take over the industry, and instead the C libraries and headers was kept on use for so long. GC was also around a long time ago, and it is surprising that today C and C++ are still the standard for software production.

Monodoc progres

Even more progress on Monodoc. Ben now got an `error messages provider', and we have included all the errors mcs produces (all 311 of them) with sample files in the documentation. Mandatory screenshot

Posted on 28 Aug 2003

Mono Developments

by Miguel de Icaza

Zoltan Varga has removed the big locks we had on the Mono runtime, and has replaced them with fine-grained locks using a lattice to describe the order in which the locks are to be obtained to avoid dead-lock situations. This was part of the thread safety audit on the Mono runtime engine.

Alp improved the UI of Monodoc, so it now looks a lot prettier:

Other changes in Monodoc during the past week include the display of extra information for matches, in this case, I selected the "ToString" method from the incremental search window, and a list of matches is displayed:

Johannes today contributed a patch to Mono's Windows.Forms that makes it track the Gtk theme colors; His new patch will also pick the default font settings. You can see it here.

Gonzalo in the meantime made me very happy with the changes to XSP (our ASP.NET server) that allow for multiple applications to be hosted on a single server. This finally will let me run all my web apps and web services under Apache.

The SharpWT team has a full C#-based version of SWT ready to run, and they have made tremendous progress on the toolkit in the last two weeks (working both on Windows and on Gtk+).

The Mono Brazil site is Up. It is TWiki based, but the content is there now.

Hip stuff

Today's hip thing is of course the text-mode Gtk+. I love this hack, and am puzzled by their effort to build a Midnight Commander-like program using it, but the pages are in Czech.

Chris Brumme's last post on his blog is also fascinating: many internal details about the CLR are exposed, but also, I am still quite surprised by the layering done by NT on their low-level loading interfaces, it seems too complicated when you contrast it with ELF file loading (seems to me like a backwards compatibility feature). Mono happily can avoid a lot of this, but for a price: they are today executing C++ code out of the box, we cant yet.

Michael Meeks is also showing off what seems to the uninformed viewer like a Gtk-like layout system for Open Office.

Guadec, and Linux at Work?

There are various cities in Europe that want to host the Guadec, and we can only host it in one place. I was thinking that maybe after Guadec, or before Guadec, the tutorial speakers for Guadec could tour Europe for a week or two, delivering tutorials on the various subjects: not really a tour aimed at Gnome developers, but aimed at users and developers interested in using the Gnome platform. Very much like what the Linux at Work folks do.

That has the advantage of getting Gnome better known in various places in Europe, but focusing our Guadec effort in a single city. What do you think? Mail me your thoughts.

Don: what is that cell phone of yours?

Don is going around with an absolutely hip SmartPhone running the .NET Framework, which am in love with. But after using all my internet browsing powers, I have failed to locate the model and provider for it. It seems to be available only in Europe.

If you run into Don, get him to mail me the information ;-)

Sao Paolo

Maria Laura and myself arrived to Sao Paolo. Tomorrow we will be visiting the Joao at the telecentros in the Favelas where they are using Gnome, Debian and Linux to operate those centers.

Posted on 27 Aug 2003

Mono from Brazil

by Miguel de Icaza

During the free softwaremeeting in Brasilia, we launched the Mono Brazil effort: a community of Brazilian hackers is creating a Portuguese community around Mono. This is an important step for the local community, just like the creation of Mono Hispano was.

In the meantime in Mono-land things keep moving, I logged into IRC recently, only to be bombarded with news about the progress in Mono-land: Windows.Forms widget rendering was re-structured to better match the rendering model. Plenty of bug fixes in this area, so you might want to get your mono-wine packages from the Mono site.

Duncan also contributed our Cairo bindings to System.Drawing (we previously were using Xr, and we have finally migrated to the new API). For those who want to use Cairo directly, we do provide a nice Cairo binding as well without using System.Drawing.

Atsushi Enomoto continues his work on the XML Schema validation. After watching the XML editor demo after Don's presentation, I am quite interested in seeing more smart XML editors based on this code. Although Conglomerate looks a lot nicer, it is very fragile (due to its C heritage ;-) and whatever is the language use to describe the graphical rendering is not simple.

Microsoft instead chose a different approach: instead of making a mapping from the XML schema to describe the rendering using the 2 or 3 level system used by Conglomerate, they have pluggable renderers into Visual Studio. So it is possible to provide custom editors or renderers for SVG files or well-known XML configuration files.

Lluis has got all the SourceGear regression tests running with Mono now, so I am sure Eric will be very pleased to see his product running on Linux (and soon on the Mac, as Paolo has been busily hacking on it)

Vladimir has been busily implementing a .NET version of the Internet Communications Engine: the new hip OO-RPC protocol in the world. Several of the people involved with CORBA contributed to the design of this vastly simplified and high-performance RPC system.

Gonzalo has got XSP to support multiple-applications. This means one thing: I am migrating my blog finally to ASP.NET, running side-by-side with the ASP.NET-based online Mono docs

Martin and Zoltan continue their bug hunting on the compiler, class libraries and runtime. Martin's debugger is also becoming more and more stable, but he wont get to work on it too much, as C# Generics await him ;-)

Yuri Astrakhan discovered Open Internationalization effort to create a data-base of all the things localizable/internationalizable that a framework needs to provide. Dick has been working on this based on some empty skeletons we created, but having real data files to work with will make our effort more interesting

Piers again impressed everyone with his Javascript skills: he implemented a lighter, more portable, less buggy Javascript dynamic tree, which can be seen on the mono docs site. Ben in the meantime helped me fix a few issues in Monodoc, in particular now we get a better hint on multiple matches for the same entry on the index, and he also implemented method grouping.

Porto Alegre

Been spending most of my time visiting friends and family of Laura in Porto Alegre. Also we have visited Marcelo and Suzana a few times at their place.

Posted on 25 Aug 2003


by Miguel de Icaza

I got married at 5:30pm in Porto Alegre to Maria Laura.

Posted on 22 Aug 2003

Going to Brazil

by Miguel de Icaza

Today am flying to Brazil. First stop will be Brasilia, for the Congress-sponsored event on Free Software. Then am off to Porto Alegre to marry Maria Laura

Posted on 17 Aug 2003

New RSS feed

by Miguel de Icaza

After months of keeping on my TODO list `write a blog system', I gave up and wrote a small C# program to pull the existing messy files massage them and upload them to the site. Part of the problem is that I need something that will work in disconnected mode and let me use Emacs to compose these entries.

I also gave up waiting for BlogX to be released: I like it, but the GotDotNet workspaces software is just horrible to use. Even with Windows its horrible.

Microsoft still has some things to learn from the existing open source tools.

The next step is to write my own ASP.NET-based weblog system, but I have to overcome the the feeling of guilt everytime am not working on the core of Mono.

Posted on 16 Aug 2003

« Newer entries | Older entries »