Miguel de Icaza Miguel de Icaza's web log http://tirania.org/blog/index.html Miguel de Icaza miguel@gnome.org Wed, 23 Nov 2005 12:22:24 GMT http://backend.userland.com/rss lb# OpenOffice <p>Radek Doulik <a href="http://rodo.foo.cz/blog/?p=12">talks</a> about his work on his Cairo-based Canvas for OpenOffice and shows the quality difference. <p>He also posted his <a href="http://rodo.foo.cz/OOoCon2005-Cairo-Canvas-novell.odp">slides</a> for his presentation. <h3>Office File Formats</h3> <p>Novell <a href="http://www.novell.com/prblogs/index.php?title=office_to_office_interoperability&more=1&c=1&tb=1&pb=1">will be sending</a> some folks from our Open Office team to the newly created ECMA TC45 working group. We hope to determine if the standard will be open enough and the details complete enough to allow for interoperability. http://tirania.org/blog/archive/2005/Nov-23-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-23-1.html Wed, 23 Nov 2005 17:22:00 GMT Gtk+/Quartz on OSX <p>Imendio has checked into CVS their <a href="http://developer.imendio.com/wiki/Gtk_Mac_OS_X">Gtk for OSX</a> port. http://tirania.org/blog/archive/2005/Nov-23.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-23.html Wed, 23 Nov 2005 17:11:00 GMT Robert Fisk Lecture in LA <p>Robert Fisk lecture in LA is available in MP3 format <a href="http://img.scoop.co.nz/media/audio/0511/robertfiskreportfromthemiddleeastucla111405.mp3">here</a>. <p>Robert is an incredible story teller. <p>In this talk he describes some of his experiences as a journalist on the Middle East in the past twenty years and why he started to write his new book "The Great War of Civilization". <p>Packed with anecdotes. The parallels between the British occupation of Iraq and the new occupation are incredible. http://tirania.org/blog/archive/2005/Nov-20.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-20.html Sun, 20 Nov 2005 05:21:00 GMT Mono Status '05 <h3>Mono Directions: (<a href="http://tirania.org/blog//texts/mono-status.html">Article Permalink</a>)</h3> <p><img src="http://primates.ximian.com/~miguel/images/mono-logo.png" align="left"/> We just released <a href="http://www.go-mono.com/archive/1.1.10/">Mono 1.1.10</a>, our best release so far. The major feature missing from this release to call it Mono 1.2 is the completion of our Windows.Forms implementation. <p>In this document I only present the direction of development of the Mono team at Novell; A more comprehensive view of other Mono developments by the Mono community is something that am working on and will post at a later date. <p>I also present how our team's priorities are shifting in response to Novell's own internal use of Mono and external factors like the final release of .NET 2.0. <h3>Index</h3> <ul> <li><a href="#devel">Code Development Process</a> <li><a href="#winforms">Windows.Forms</a> <li><a href="#two">2.0 Support</a> <li><a href="#debug">Mono Debugger</a> <li><a href="#monodevelop">MonoDevelop IDE</a> <li><a href="#vm">Mono Virtual Machine: ports</a> <li><a href="#gc">Precise Garbage Collector</a> <li><a href="#codegen">Code Generation and Optimization</a> <li><a href="#csharp">C# Compiler</a> <li><a href="#vb">Visual Basic Compiler</a> <li><a href="#cas">Code Access Security</a> <li><a href="#asp">ASP.NET</a> <li><a href="#api">API stability</a> <li><a href="#gtk">Gtk#</a> <li><a href="#google">Integration of Google Summer of Code Projects</a> <li><a href="#jscript">JScript Compiler</a> </ul> <a name="devel"/> <h3>Code Development Process</h3> <p>Since the Mono 1.1.xx series has got a significant amount of fixes over 1.0.xx we have encouraged users and developers to move to the Mono 1.1.xx series. <p>To avoid regressions we have done a number of things: <ul> <li>We incorporated all of our tests into our pre-release process `make distcheck' to ensure that we do not release something with known bugs. <li>We fixed the bugs that were preventing the NUnit tests to complete or disabled the tests that were specific to an environment (tests that require Internet access or to contact a specific host) from the standard test process. <li>We started development of new features in branches and only when the feature is complete we have "landed" the feature into the main repository. </ul> <p>We have used this separate branch development for the new string collation framework, the ASP.NET implementation, the new cross platform register allocator and the Cairo 1.0 migration. And we currently do the same for our VM optimizations, the precise garbage collector work and the C# 2.0 compiler. <p>The basic idea is that we turned the 1.1.xx series into a release that can be deployed on production as opposed to merely a development release. This is similar in spirit to the kernel 2.6.xx releases. <p>As a general rule we try to fix bugs before we write new features. <p>For details on what has been done in the 1.1.xx development cycle, please see the release notes for each of the releases: <a href="http://www.go-mono.com/archive/1.1.1/">1.1.1</a>, <a href="http://www.go-mono.com/archive/1.1.2/">1.1.2</a>, <a href="http://www.go-mono.com/archive/1.1.3/">1.1.3</a>, <a href="http://www.go-mono.com/archive/1.1.4/">1.1.4</a>, <a href="http://www.go-mono.com/archive/1.1.5/">1.1.5</a>, <a href="http://www.go-mono.com/archive/1.1.6/">1.1.6</a>, <a href="http://www.go-mono.com/archive/1.1.7/">1.1.7</a>, <a href="http://www.go-mono.com/archive/1.1.8/">1.1.8</a>, <a href="http://www.go-mono.com/archive/1.1.9/">1.1.9</a> and <a href="http://www.go-mono.com/archive/1.1.10/">1.1.10</a>. <a name="winforms"/> <h3>Windows.Forms</h3> <p>Windows.Forms is the only piece that is holding us from officially renaming Mono to Mono 1.2, it is still missing a few features. Our plan is to complete the missing features by the end of this month and then move to bug fixing and testing open source our publicly accessible Windows.Forms applications. We are planning on spending three months on bug fixing at this point. <p>Our aim with Mono 1.2 is to release a Windows.Forms implementation that implements the .NET 1.1 API, not the 2.0 API. <p>These are the most visible missing bits from feature completion: <ul> <li>Multiple Document Interface (MDI). <li>Menu merging in the presence of MDI. <li>Our RichTextBox is lacking a few features: selection margin, bullets, indentations as well as a few public methods and properties. </ul> <p>Our Windows.Forms implementation is implemented on top of the GDI+ API for rendering and a relatively small driver to interact with the host windowing system. Our GDI+ implementation on Unix (Linux and OSX) uses Cairo as the rendering engine. As for the windowing system drivers, today we have two complete drivers (Unix/X11 and Win32) and one driver under development (OSX). <p>Some minor features missing are: <ul> <li>Integrate the artwork from the <a href="http://tango-project.org/">Tango Project</a> as the default for the Windows.Forms toolkit. <li>Complete the MacOS X driver for Windows.Forms. <li>Add support for translucency to controls. <li>Double buffering: although we support double buffering we have it disabled for many controls just to keep compatibility with the settings on the same controls on Microsoft's implementation. We will likely change this setting to improve the user experience. </ul> <p>There are a number of features that we have explicitly postponed from this release and will only make it into 1.2 if they are contributed by external contributors, otherwise they will have to wait for Mono 2.0: <ul> <li><a href="http://www.pango.org">Pango.</a> Currently Windows.Forms is limited to render text with the GDI+ API so it lacks all the text rendering capabilities of Pango for international text and complex scripts. <li>Completing the Gtk+ theme module to have controls match the Gnome look and feel. <li>Our GDI+ implementation lacks support for bezier-based regions (we only support rectangles). <li>Input methods. <li>Printing. </ul> <p>Our <a href="http://www.mono-project.com/WinForms">WinForms</a> page tracks the progress. <a name="two"/> <h3>2.0 Support</h3> <p>We started work on the foundation for 2.0 in mid-2003 as soon as the early drafts of the new changes were submitted to ECMA. This gave us plenty of time to work on our C# 2.0 compiler and the changes to our VM to support generics. Today they are both considered feature complete. <p>Our IL assembler and IL disassembler are almost complete and should be able to roundtrip our generics-based libraries soon. <p>The core is complete enough that the latest versions of <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c6a7fee3-6495-427f-8b1f-768a2715170c&displaylang=en">IronPython</a> and <a href="http://nemerle.org">Nermerle</a> work with it. <p>Developers are starting to use the new features available in 2.0 and they have started to file <a href="http://www.mono-project.com/Bugs">bugs</a> against our runtime and compiler. <p>So far our policy was that we supported the 1.1 profile for the libraries. The 2.0 profile is being developed but is only supported in the "if it breaks, you get to keep both pieces" modality. Bugs on the 2.0 support in the compiler and runtime were routinely fixed. <p>With the release of .NET 2.0 we are shifting some of our development efforts to work on the most important areas of the 2.0 profile. <p>We are hoping to include the most important bits of the profile in the upcoming release of Mono 1.2, but we are not making any promises about the completeness of the 2.0 APIs. Mono 1.2 will release when Windows.Forms is complete. <p>The System.Xml 2 is pretty complete, mscorlib and System assemblies still require significant amounts of work. <p>See also the <a href="#asp">ASP.NET</a> section for details on the progress in that area. <a name="debug"/> <h3>Mono Debugger</h3> <p>Martin has been working on our debugger. Today it is capable of debugging 1.x applications (2.0 should be supported as soon as Cecil support for generics is completed). <p>To test the debugger today you must use SVN versions of Mono as well as the debugger as it is still rapidly changing. <p>We are now accepting feedback on the debugger: limitations and interface. Since it currently only works as a command line debugger you might want to read the <a href="http://www.mono-project.com/Guide:Debugger">debugger guide</a> in our web site. <p>If you find problems with the debugger, please file a <a href="http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%3A+Debugger">file a bug report</a>. <a name="monodevelop"/> <h3>MonoDevelop IDE</h3> <p><a href="http://primates.ximian.com/%7Elluis/blog/images/glade3.png"><img src="http://primates.ximian.com/~lluis/blog/images/galde3s.png" align="right" width="300"/></a> <a href="http://primates.ximian.com/~lluis/blog/">Lluis</a> has moved from working on ASP.NET 2.0 to work on the MonoDevelop IDE. <p>Our most important goal with MonoDevelop is to make it rock solid and eliminate every crashing bug that has been reported. <p>As for the features, MonoDevelop now sports a plugin architecture similar to Eclipse: components can be downloaded and installed without having to recompile the application (see <a href="http://primates.ximian.com/~lluis/blog/pivot/entry.php?id=42">here</a>). <p><a href="http://primates.ximian.com/~lluis/blog/pivot/entry.php?id=45">Integration</a> of a GUI designer is progressing (currently Glade3, but we hope to replace it with Stetic when it becomes available). <p>Finally as the debugger interface stabilizes we plan on enabling the debugger interface in MonoDevelop again. <a name="vm"/> <h3>Mono's Virtual Machine: Ports</h3> <p>During the last year the Mono JIT has been ported to three new architectures (x86-64, Itanium and Arm processors) in addition to the platforms it supported before (x86, PowerPC, SPARC, SPARC 64 bits and S390). <p>At this point the Novell team does not have any plans to work on new ports. Although some members of the community have expressed their interest in adding S390x and MIPS support to Mono. <a name="gc"/> <h3>Precise Garbage Collector</h3> <p><img src="http://tango-project.org/static/cvs/tango-icon-theme/scalable/mimetypes/x-directory-trash.png" align="left"/>Paolo has been working on a new garbage collector (GC) engine. Currently Mono GC interface is almost pluggable (the work to plug different GCs was done a few months ago). <p>The new GC engine is a precise, generational, compacting collector. This means that the Mono GC will be able to return memory to the operating system when it no longer needs it. <p>We are making a few tradeoffs to ship this version of the collector quickly. For instance this new GC will treat the stack conservatively has two effects: it makes it easy for embedders of Mono to use the new GC but it also might flag a lot of pinned objects. <p>We hope that the new GC can be tested in February or March, the code will start landing in December. <a name="codegen"/> <h3>Code Generation and Optimization</h3> <p>We have been working for quite some time on various new code optimizations. The code is getting ready to be submitted to the main Mono repository. Over the next few weeks expect various patches to be posted. <p>Currently we are working on the following areas to improve the performance of the generated code <ul> <li>Enabling some stronger optimizations by default (inlining and fastdce). These require us to avoid any significant regressions (both in the generated code quality as well as the JIT time). <li>New optimization framework (HSSA-based platform) and optimizations built on top of it (PRE and GVNPRE). <li>Eliminating the tree-based intermediate representation (IR) and go directly from the CIL code to the list-of-instructions IR. </ul> <p>Massi has recently posted his Fast Dead Code Elimination and he described it <a href="http://primates.ximian.com/~massi/blog/archive/2005/Nov-16.html">on this blog post</a>. <p>Massi has also been working on our HSSA-based framework and dead code elimination based on it. This optimization should be posted for review to the mailing list this week. <p>Once those two are done, Massi is going to work towards making FastDCE + CopyProp + Inlining be part of the default optimizations for Mono which will bring some immediate visible results. <p>After this our plans for HSSA are: <ul> <li>Implement copy propagation. <li>Full redundancy elimination (easier to spot than partial). <li>Partial redundancy elimination PRE (harder to spot and handle). </ul> <p>The quality of the code might suffer because removing redundant code introduces new temporary variables. To fix this we need a feedback mechanism to the register allocator that does not exist today. <p>To address the previous (and other problems) Zoltan is starting work to eliminate the tree-based IR from Mono. <pBy eliminating this stage the register allocator can do a better job (today the register allocator has no visibility inside the tree nodes). Once this is ready the redundancy elimination optimizations can actually interact with the register allocator to decide whether eliminating a redundant operation will improve the quality of the code generated or not. The development of this new IR setup will happen on a branch. <a name="csharp"/> <h3>C# Compiler</h3> <p>The C# compiler comes in two editions: <ul> <li>gmcs: supports completely the latest ECMA specification (3rd edition), produces binaries that reference the 2.0 libraries. <li>mcs: supports the latest ECMA specification minus the generic extensions (3rd edition). This produces binaries that reference the 1.0 libraries. </ul> <p>Our gmcs compiler support as of November 2005 is known to lack one feature: the late changes to nullable types in the specification. Other than that the compiler is considered feature complete. <p>As the C# compiler is at the core of much of our work we will continue to focus on bug fixes. The recent C# 3.0 features although easy to implement will have to wait. <a name="vb"/> <h3>Visual Basic</h3> <p>We had plans last year to complete a free Visual Basic compiler. Today the compiler exists in beta form and Novell will no longer fund the development of this compiler. <p>The folks at Mono Brazil have taken over the development and maintenance of the compiler. <p>The VB compiler is based on an old mcs fork that was originally created by Rafael Texeira. To upgrade the compiler from its current form to support generics in 2.0 we believe that it might be necessary to start from a fresh copy of `gmcs' and merge the various changes that make up the VB compiler. <a name="cas"/> <h3>Code Access Security</h3> <p><img src="http://tango-project.org/static/cvs/tango-icon-theme/scalable/status/locked.png" align="left"/>Code Access Security (CAS) has been available in Mono since version 1.1.4, it is enabled by running `mono' with the --security command line option. <p>Although CAS is in a very advanced stage and it will be available on Mono 1.2 we will not guarantee that CAS is complete until the next major release of Mono. We are still missing the code verifier and in 2.0 there are new CAS features that we do not implement yet. <p>Sebastien who maintains the code has been busy adding CAS attributes to our class libraries and creating the associated tests, he discussed the state of CAS <a href="http://pages.infinit.net/ctech/20051005-0314.html">here</a>. <p>As for how the CAS permissions are being set, he discusses that <a href="http://pages.infinit.net/ctech/200510.html">here</a>. <p>Sebastien has written a general bug finding tool, similar in spirit to FxCop, which we are using to set the proper CAS rules on our libraries. You can learn more on the <a href="http://www.mono-project.com/Gendarme">Gendarme page</a>. <a name="asp"/> <h3>ASP.NET</h3> <p>We released a fairly updated version of ASP.NET with Mono 1.1.9 which is much faster and consumes less memory. Our new implementation uses several tricks to improve the performance which we will blog about later. <p>In Mono 1.1.10 Gonzalo introduced a new <a href="http://www.mono-project.com/AutoConfiguration">automatic configuration</a> option to the Apache module. Setting up mod_mono now behaves like other modules for other languages, for instance users and administrators can drop .asmx, .ashx or .aspx files anywhere on their exposed directories and they will automatically be handled by Mono's ASP.NET implementation without having to make any changes to the ASP.NET configuration. <p>As for the 2.0 support in ASP.NET we have implemented various controls that do not depend on the new Configuration API (menus, trees, masterpages, gridviews and anything they require). <p><a href="http://squeedlyspooch.com/blog/">Chris Toshok</a> has taken over from Lluis on developing ASP.NET 2.0 and is almost done with the new System.Configuration namespace which is the foundation for the next batch of features in ASP.NET (profiles, portal parts and many others required it). <p>Chris has also done some work on an <a href="http://svn.myrealbox.com/viewcvs/trunk/mcs/class/Microsoft.Web.Atlas">open source implementation</a> of Atlas. <a name="api"/> <h3>API stability</h3> <p>As for the stability of the APIs: the System.* ones are set in stone and we verify the compatibility using our "corcompare" tools. The .NET 1.1.x API has been implemented (as described in <a href="http://www.go-mono.com/archive/1.0/features.html">Mono 1.0 Features</a>). <p>The Mono.* namespace on the other hand is still a moving target. <p>the Mono.Cairo assembly has had to adapt to the changes in the underlying Cairo 1.0 library and we also had to do various changes to cope with early bugs and limitations in our API design. <p>The Mono.Posix assembly has incorporated a new namespace: Mono.Unix which offers a more comprehensive binding and also provides a high-level .NET-ish API for accessing Unix as opposed to Mono.Posix which only contained raw access to Unix. <a name="gtk"/> <h3>Gtk#</h3> <p><img src="http://www.atoker.com/mono/banners/gtk.png" align="left"/>Version 2.4 of Gtk# has been released. The new features on this release are documented <a href="http://www.mono-project.com/GtkSharpNewInVersion2x">here</a>, it binds Gtk 2.4 which is the most commonly available version of Gtk+ at this point. <p>We have created an <a href="http://www.mono-project.com/GtkSharpUpgrade">upgrade guide</a> for developers moving their code from Gtk# 1 to Gtk# 2. <p>On the development side of Gtk#, a new version is available for testing that binds the Gtk+ 2.8 API and exposes a handful of new methods as well as the Cairo properties that are part of Gtk+ 2.8. <p>The work to add databinding support to Gtk# is currently on hold until Windows.Forms is completed. We expect to work again on a databound-aware Gtk# after Mono 1.2 has shipped. <a name="google"/> <h3>Integration of Google Summer of Code Projects</h3> <p>We have integrated a few of the projects that were developed thanks to the Google Summer of Code program: <ul> <li>Monodoc improvements (collaboration, Mozilla integration, CSS ification) from Mario Sopena. <li>xbuild: an implementation of msbuild is on our tree, but not compiled by default yet. By Marek Sieradzki. <li>DataGridView, by Pedro Martínez. <li>xaml compiler and helper classes from Iain McCoy. <li>The Javascript runtime improvements from Florian Gross. <li>Cecil from JB Evain is being used for Gendarme and Bugfind and we hope to start our linker soon. </ul> <p>We are planning on integrating the ASP.NET editor work from Michael Hutchinson and Blagovest Dachev as well as the bugfinder engine from Aaron Tomb into Gendarme. <a name="ado"/> <h3>ADO.NET 2</h3> <p>T Senganal will take over the maintenance of ADO.NET and will start working with the developers that are using the new features in ADO.NET 2 to get their providers working on Mono. <a name="jscript"/> <h3>JScript</h3> <p><a href="http://primates.ximian.com/~cnataren/blog/index.html">Cesar</a> is very close to pass all the Mozilla JavaScript tests with our implementation of JScript. <p>If you want to track the state of the JScript compiler and runtime see the <a href="http://www.mono-project.com/JScript">JScript page</a> on the Mono web site. <h3>End</h3> <p>You have reached the end. Congratulations! http://tirania.org/blog/archive/2005/Nov-17.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-17.html Thu, 17 Nov 2005 16:35:00 GMT TV <p>Been loving the US version of "The Office", the awkward moments are all there. <p>I also find "American Dad" hilarious. My love is divided between the fish and the alien. http://tirania.org/blog/archive/2005/Nov-16.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-16.html Thu, 17 Nov 2005 04:05:00 GMT F-Spot Monitor <p>A few weeks ago I purchased a 24" flat screen from Dell. The sole purpose of this monitor is to run <a href="http://f-spot.org/Main_Page">F-Spot</a> to manage my home photo collection. Today I completed the F-Spot setup at home. http://tirania.org/blog/archive/2005/Nov-16-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-16-1.html Wed, 16 Nov 2005 05:43:00 GMT Link-o-Fest'05 <p>Noam Chomsky on <a href="http://www.commondreams.org/views05/1114-25.htm">the debate about intelligent design</a>: <blockquote> <p>To proponents, intelligent design is the notion that the universe is too complex to have developed without a nudge from a higher power than evolution or natural selection. <p>To detractors, intelligent design is creationism --- the literal interpretation of the Book of Genesis --- in a thin guise, or simply vacuous, about as interesting as "I don't understand" as has always been true in the sciences before understanding is reached. <p>Accordingly, there cannot be a "debate." </blockquote> <p>Robert Fisk on <a href="http://www.commondreams.org/views05/1115-28.htm">the rebranding of torture</a>: <blockquote> <p>What Americans do to their prisoners is "abuse" and there was a wonderful moment last week when Amy Goodman, who is every leftist's dream, showed a clip from Pontecorvo's wonderful 1965 movie "The Battle of Algiers" on her Democracy Now program. "Col. Mathieu" -- the film is semi-fictional -- was shown explaining why torture was necessary to safeguard French lives. <p>Then up popped Bush's real spokesman, Scott McClellan, to say that while he would not discuss interrogation methods, the primary aim of the administration was to safeguard U.S. lives. <p>U.S. journalists now refer to "abuse laws" rather than torture laws. </blockquote> <p>Molly Ivins has her own <a href="http://www.commondreams.org/views05/1115-20.htm">take</a>: <blockquote> I have known George W. Bush since we were both in high school -- we have dozens of mutual friends. I have written two books about him and so have interviewed many dozens more who know him well in one way or another. Spare me the tough talk. He didn't play football -- he was a cheerleader. ''He is really competitive,'' said one friend. ``You wouldn't believe how tough he is on a tennis court!'' </blockquote> <p>I tried to track down Robert Fisk as he tours the US but the only confirmed dates that I have are for California this weekend and I do not feel like crossing the country. If you happen to know of any dates somewhere closer to the East Coast, please <a href="mailto:miguel@gnome.org">drop me an email</a>. <p><a href="http://www.normanfinkelstein.com">Norman Finkelstein</a> is talking on Thursday in Boston. Details are available <a href="http://www.normanfinkelstein.com/content.php?pg=9">here</a>. Norman is the author of the "Beyond Chutzpah" and "Israel-Palestine Conflict" books. Am pretty psyched. http://tirania.org/blog/archive/2005/Nov-15-2.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-15-2.html Wed, 16 Nov 2005 04:29:00 GMT Fast DCE Implementation Posted <p>Massi <a href="http://lists.ximian.com/archives/public/mono-devel-list/2005-November/015765.html">posted</a> his fast implementation of Dead Code Elimiation for the Mono runtime. <p>This is an optimization that we can hopefully enable by default, as opposed to the more expensive SSA-based optimizations. <p>This is the first on a series of optimizations patches that Massi is completing. http://tirania.org/blog/archive/2005/Nov-15-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-15-1.html Wed, 16 Nov 2005 03:54:00 GMT Dan Pena Ajena <p>El presidente Fox y su cabinete, nada más dan <a href="http://www.jornada.unam.mx/2005/11/15/index.php">pena ajena</a>. Que verguenza, y es que es una tras otra. Deberían de tener un examen de admisión. <p>Ese es el problema de elegir a alguien que bajaron del cerro a tamborazos. http://tirania.org/blog/archive/2005/Nov-15.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-15.html Tue, 15 Nov 2005 23:19:00 GMT Microsoft Memos <p>I was reading the <a href="http://www.hypercamp.org/2005/11/09#a43">leaked memos</a> from Microsoft and as I was reading the first few paragraphs, I could not stop thinking that nobody on their right mind writes internal company memos like this. Nobody puts this kind of history background. <p>Consider the recipients: "Executive Staff and Direct Reports; Distinguished Engineers". <p>I could not stop thinking that these memos were written to be leaked. They read like ads. <p><b>Update:</b> Alex points out that Cringely made the <a href="http://www.pbs.org/cringely/pulpit/pulpit20051110.html">same observation</a>. The difference is his article is actually interesting. Here is a tidbit: <blockquote> <p>But I have to say that Gates or Ozzie or whoever actually wrote these documents has done a very effective job of differentiating the company roles in a way that makes Google appear to be the bad guy, and Microsoft appear to be the good guy. Google is going to develop and deploy Internet services while Microsoft is going to ENABLE the deployment of such services BY ITS DEVELOPER PARTNERS. This makes Google the would-be monopolist. <p>Looking deeper, though, we see that the only way Microsoft can achieve its vision is by continuing to own the platform. They want us to be GRATEFUL, in fact, that such an enlightened outfit is running the store. And this will work to an extent, but only to an extent. Then what happens? All hell breaks loose as Microsoft again changes the game. Here's how: <a href="http://www.pbs.org/cringely/pulpit/pulpit20051110.html">read the rest</a> </blockquote> http://tirania.org/blog/archive/2005/Nov-11.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-11.html Fri, 11 Nov 2005 16:31:00 GMT Italian Fallujah Documentary <p>The Italian documentary about the use of chemical weapons in Fallujah can be downloaded <a href="http://www.truthout.org/docs_2005/printer_110805Z.shtml">here</a>. <p>A guy which sounds pretty upset about it is <a href="http://comearmageddon.blogspot.com/2005/11/stunning-hypocrisyfirst-and-foremost.html">here</a>. <p>Robert Fisk described the use of Phosphorus bombs on the civilian population of Beirut, you can read a couple of pages with Google Print: <a href="http://print.google.com/print?hl=en&id=VrXpeELOUNsC&pg=PA282&lpg=PA282&dq=phosphorus&prev=http://print.google.com/print%3Fq%3Dpity%2Bthe%2Bnation&sig=7M0Pkm7fW-0jXy4eYXQ5--P0Wq4">here</a>. <p><b>Update:</b> A reader points that the official page for the RAI documentary contains more download options and formats. The page is <a href="http://www.rainews24.rai.it/ran24/inchiesta/video.asp">here</a>. http://tirania.org/blog/archive/2005/Nov-11-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-11-1.html Fri, 11 Nov 2005 16:26:00 GMT F-Spot Tagging screencast <p>Jakub has done a <a href="http://jimmac.musichall.cz/weblog.php/2005/Nov/11#Tags?flav=php">screencast</a> of the new tagging feature in F-Spot. http://tirania.org/blog/archive/2005/Nov-11-2.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-11-2.html Fri, 11 Nov 2005 15:09:00 GMT Nat's Photo Tagging <p>Nat recently implemented tag-typing for F-Spot, our new photo management software. For those of us with large picture collections this is probably one of the best interfaces for tagging. <p>See Nat's post <a href="http://mail.gnome.org/archives/f-spot-list/2005-November/msg00008.html">here</a> and his latest patch <a href="http://mail.gnome.org/archives/f-spot-list/2005-November/msg00039.html">here</a>. <p>Send copious amounts of email to Nat until he does a screencast of this new feature. You have to see it to appreciate it. <p>On the hacking side of things, the beauty of this patch is that it was coded in two afternoons after long busy work days for Nat. http://tirania.org/blog/archive/2005/Nov-10.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-10.html Thu, 10 Nov 2005 05:56:00 GMT Secret Prisons <p>The Washington Post yesterday ran an <a href="http://www.washingtonpost.com/wp-dyn/content/article/2005/11/01/AR2005110101644.html">article</a> that claims that the CIA has a network of secret prisons where they have been incarcerating suspects. The CIA denies such prisons exist: <blockquote> <p>The CIA has been hiding and interrogating some of its most important al Qaeda captives at a Soviet-era compound in Eastern Europe, according to U.S. and foreign officials familiar with the arrangement. <p>The secret facility is part of a covert prison system set up by the CIA nearly four years ago that at various times has included sites in eight countries, including Thailand, Afghanistan and several democracies in Eastern Europe, as well as a small center at the Guantanamo Bay prison in Cuba, according to current and former intelligence officials and diplomats from three continents. <p>... <p>Mid-level and senior CIA officers began arguing two years ago that the system was unsustainable and diverted the agency from its unique espionage mission. <p>"We never sat down, as far as I know, and came up with a grand strategy," said one former senior intelligence officer who is familiar with the program but not the location of the prisons. "Everything was very reactive. That's how you get to a situation where you pick people up, send them into a netherworld and don't say, 'What are we going to do with them afterwards?' " </blockquote> <p><a href="http://billmon.org/archives/002330.html">Billmon weights in:</a> <blockquote> <p>The plot line should be familiar to students of the Abu Ghraib atrocities. Interrogation tactics originally developed and/or authorized for use against "high value targets" at Guantanamo were exported first to the broader Gitmo population, and then to Iraq, where they were put into mass production by a group of half-trained or entirely untrained intelligence officers and MPs. The result was an entirely predictable moral and political disaster -- one which may have cost the United States whatever slim chance it had of establishing a popular, pro-Western government in Baghdad. <p>Likewise, the CIA's mini-archipelago seems to have grown like a poisonous weed in the absence of any coherent strategy for fighting Islamic terrorism, other than the initial impulse to hunt down the "evildoers." But now, like a dog who chases cars and actually catches one, the war cabinet faces the awkward question of what do with its secret prisoners and their secret prisons, even as the media finally starts to peel back the layers of secrecy. This story is going to cause something close to panic in more than one Eastern European capital, I suspect, and a relatively quick exit from that Soviet-era "compound." Where will the CIA take its human contraband now? <p>It seems to me that the Cheney administration has been trapped -- both by its ostentatious rejection of the "law enforcement" model of counterterrorism, and by its complete, willful failure to understand the limits of hard power and the steadily rising importance of soft power in a struggle that will last years, if not decades. Policies based on the adrenaline rush of war fever (circa 2002) were never likely to be sustainable. They also haven't brought us any closer to capturing Osama or prevented the transformation of Al Qaeda from an organization to a movement, one that is much more difficult to fight with dirty war tactics. </blockquote> <p>In other news, Mexico <a href="http://www.commondreams.org/headlines05/1102-03.htm"> joined the International Criminal Court</a> which upset a few people in the US: <blockquote> Washington had warned Mexico that if it ratified the ICC and refused to sign an accord exempting U.S. nationals from the court's jurisdiction, it would cut 11.5 million dollars in funding from aid programs for fighting drug trafficking, according to human rights groups. The amount is equal to almost 40 percent of the economic aid Mexico receives from the United States. </blockquote> http://tirania.org/blog/archive/2005/Nov-03.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-03.html Thu, 03 Nov 2005 15:43:00 GMT Linux Desktop <p>Nat <a href="http://www.nat.org/2005/november/">makes an observation</a> about the Linux Desktop. http://tirania.org/blog/archive/2005/Nov-02.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Nov-02.html Wed, 02 Nov 2005 23:18:00 GMT Imeem and Mono <p>Today we did a <a href="http://www.novell.com/news/press/item.jsp?contentid=5d3366f8ce337010VgnVCM10000024f64189____">news brief</a> with the <a href="http://www.imeem.com">Imeem</a> folks. Imeem developed a client tool to create private networks with a number of tools (blogs, instant messaging, profiles, searching, file sharing). <p>Imeem uses Mono on their servers and also they use it on their MacOS port to reuse the same codebase that they had on Windows. Like iFolder, they are creating a native Objective-C interface using Cocoa and communicating with Mono to call into the engine. <p>My understanding is that Imeem uses Mono's cryptographic codebase extensively. <p>Someone should do an interview with <a href="http://blog.imeem.com/dalton/">Dalton Caldwell</a> founder and CEO of Imeem. http://tirania.org/blog/archive/2005/Oct-31.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-31.html Mon, 31 Oct 2005 23:42:00 GMT CORBA and Web Services <p>Michi Henning participates in a discussion at <a href="http://www.iona.com/blogs/vinoski/archives/000214.html">Steve Vinoski's</a> blog. http://tirania.org/blog/archive/2005/Oct-30.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-30.html Sun, 30 Oct 2005 17:32:00 GMT These Modern Times <p><a href="http://www.timesonline.co.uk/article/0,,13509-1814531,00.html">Priceless</a>: <blockquote> <p>AN INGENIOUS fraudster is believed to be sunning himself on a beach after persuading leading banks to pay him more than Euro 5 million (£3.5 million) in the belief that he was a secret service agent engaged in the fight against terrorist money-laundering. <p>The man, described by detectives as the greatest conman they had encountered, convinced one bank manager to leave him Euro 358,000 in the lavatories of a Parisian bar. "This man is going to become a hero if he isn’t caught quickly," an officer said. "The case is exceptional, perfectly unbelievable and surreal." </blockquote> http://tirania.org/blog/archive/2005/Oct-28.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-28.html Fri, 28 Oct 2005 18:24:00 GMT Flight of the Conchords <p><img src="http://www.hbo.com/onenightstand/img/interviews/flightofconchords.jpg" width="300" align="right">A few weeks back, when I was in LA I left the TV on as I read my email. I catched a stand up comedy show on HBO from a band called <a href="http://www.hbo.com/onenightstand/interviews/flight_conchords.html">Flight of the Conchords</a> on HBO's One Night Stand. You should watch it if you have a chance (it is available with cable on demand in a few places). http://tirania.org/blog/archive/2005/Oct-26-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-26-1.html Wed, 26 Oct 2005 20:21:00 GMT Tension <p>I have been following the Fitzerald investigation in the last few weeks. As much as can be followed by the prosecutor that has so far not done any public appearances nor said a word about his findings or his strategy. <p>Following the investigation has thus been limited to reading the various speculations based on who is being subpoenaed and the public statements done afterwards. An other interesting source of information in this puzzle is the PR campaign from those <a href="http://www.commondreams.org/headlines05/1025-03.htm">targeted</a> by this opaque investigation. <P>A few interesting links on the subject: <p>A <a href="http://www.huffingtonpost.com/arianna-huffington/plamegate-worse-than-wat_b_9522.html">Cheat Sheet</a> to get acquainted with the participants. <p><a href="http://billmon.org/archives/002284.html">BillMon</a>: <blockquote> In other words, instead of blowing sky high, the volcano may simply snore loudly, roll over, and go back to sleep. And as Dean points out, since all the testimony Fitzgerald has collected is covered by the grand jury secrecy laws, we may never know what he found. <p>One can easily imagine the howls of protest on the left, and the smug satisfaction on the right, should this come to pass. It would be particularly bitter finale for those of us who all along have regarded the Plame outing as a proxy for the more fundamental crimes committed along the march to war in Iraq. <p>Unlike some (see Justin Raimondo's last two columns, for example) I've never had more than a forlorn hope that Fitzgerald would delve into the Niger forgeries, the Chalabi connection, the Office of Special Plans, the Downing Street Memos or any of the other investigative leads into the heart of the neocon conspiracy. Nor have I seen any evidence -- or even plausible speculation -- that would lead me to believe Fitzgerald has expanded his probe beyond the immediate matter at hand: the leak of Valerie Plame's identity and CIA affiliation. But, like most hardcore Cheney administration haters, I've been content with the busting-Al-Capone-for-tax-evasion metaphor. To paraphrase Donald Rumsfeld: You go to war with the indictments you can prove, not the ones you'd like to prove. </blockquote> <p><a href="http://www.commondreams.org/views05/1024-20.htm">Jeff Cohen</a>: <blockquote> <p>But there's a special reason this scandal is so personally satisfying to me as a media critic. It's because elite journalism is on trial. Powerful journalists are playing the role usually played in these scandals by besieged White House operatives. They're in the witness dock. It's a New York Times reporter who is failing to recall key facts...mysteriously locating misplaced documents...being leaned on to synchronize alibis. <p>Elite journalism is at the center of Weaponsgate, and it can't extricate itself from the scandal. Because, at its core, Weaponsgate (or, if you're in a hurry, "Wargate") is about how the White House and media institutions jointly sold a war based on deception -- and how the White House turned to these media institutions to neutralize a war critic who challenged the deception. </blockquote> <p>A particularly cute quote from <a href="http://billmon.org/archives/002295.html">Billmon:</a> <blockquote> Of course, everybody’s free to indulge in their favorite theories about Whose Behind It All. After all, we are talking about the era of "dark actors playing their games," to quote the conveniently dead David Kelly. Like Watergate, this is one of those cases where paranoid conspiracy theories are simply alternative rough drafts of history. </blockquote> http://tirania.org/blog/archive/2005/Oct-26.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-26.html Wed, 26 Oct 2005 19:28:00 GMT Manu Chao's new Album <p><img src="http://www.manuchao.net/images/present/siberie_01.gif" align="right">The new Manu Chao album <a href="http://www.manuchao.net/presente/siberie_intro.php">Siberie m'etait contéee...</a> is wonderful. The lyrics are the best that Manu has put out so far and I can only understand half of them. If you were looking for an excuse to learn french, this is it. <p>I was only able to order this from Amazon.fr. There must be a cheaper choice. If I did not have a busy schedule it would have been just as expensive to fly to Paris and get back to get the CD. http://tirania.org/blog/archive/2005/Oct-25.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-25.html Tue, 25 Oct 2005 20:20:00 GMT Ajax.Net source public <p>I missed the announcement of the <a href="http://ajax.schwarz-interactive.de/csharpsample/default.aspx">Ajax.Net</a> source code, it was announced <a href="http://weblogs.asp.net/mschwarz/archive/2005/08/11/422293.aspx">here</a>. <p>A discussion forum is available <a href="http://forum.borgworx.net/">here</a> and various Ajaxy controls are available from their Subversion repository: <pre class="shell"> svn co https://svn.borgworx.net/SVN/BorgWorX/trunk/Web/ </pre> http://tirania.org/blog/archive/2005/Oct-24-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-24-1.html Mon, 24 Oct 2005 23:55:00 GMT Ali-G <p>Dear Lazyweb, <p>Is the era of Ali-G over? <p><b>Update:</b> Bastien Nocera points out that it is over, but there are a couple of Sasha <a href="http://us.imdb.com/name/nm0056187/">movies coming out</a>. Its the end of an era. http://tirania.org/blog/archive/2005/Oct-24.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-24.html Mon, 24 Oct 2005 18:55:00 GMT Interviews <p><a href="http://usefulinc.com/edd/blog">Edd Dumbill</a> interviewed Chia-liang Kao, the creator of SVK, a distributed version control system layered on top of Subversion: <blockquote> <p>SVK allows distributed development using existing infrastructure, which means you don't need to deploy a new system for your whole organization. SVK works best with Subversion, but you can also seamlessly branch from CVS, Perforce, or even git repositories. SVK lets you commit directly back to Subversion repositories and "commit as a patch" to other systems or to Subversion repositories you don't have commit access to. Such patches can then be applied by the maintainer, using either a regular patch tool, or SVK, which also will help filling the commit log. <p>[...] <p>It makes things easier for contributors to open source projects to maintain their patches as a local branch and accept changes from upstream, rather than being treated like second-class citizens who have to deal with patch hell just because they can't commit. You can do this with many other version control systems using "vendor branches," but mostly they require too much work to maintain a short-lived branch just for a patch or two that haven't yet been reviewed and committed. <p>Open source projects sometimes fork because it's too hard to integrate branches that have diverged too much. Painless merge makes it much easier to branch instead of fork. </blockquote> <p>John Osborn interviews <a href="http://www.ondotnet.com/pub/a/dotnet/2005/10/17/interview-with-anders-hejlsberg.html">Anders Hejlsberg</a> at O'Reilly. Mostly focused on the new features in C# 2.0 with a little touch of how they are used to build 3.0 features. <blockquote> </blockquote> http://tirania.org/blog/archive/2005/Oct-23.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-23.html Sun, 23 Oct 2005 16:17:00 GMT Today's Internet Weather <P>Light patches of slashdot comments and a heavy downpour of porn later in the evening. http://tirania.org/blog/archive/2005/Oct-20.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-20.html Thu, 20 Oct 2005 15:20:00 GMT Community Service Announcement <p>Tonight at 11:30pm, in Comedy Central, after the Daily Show. The premier of <a href="http://www.comedycentral.com/shows/the_colbert_report/index.jhtml">"The Colbert Report"</a>. http://tirania.org/blog/archive/2005/Oct-17.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-17.html Tue, 18 Oct 2005 02:12:00 GMT Interesting News <p>Sebastien posted <a href="http://pages.infinit.net/ctech/20051005-0314.html">an update</a> on the state of Code Access Security (CAS) in Mono: <blockquote> Today, actually this has been true for quite a while, we are able to run all of corlib's unit tests without any failure, including an additional <b>301</b> CAS specifc tests (i.e. that aren't normally executed). We can also execute all <code>System.Drawing.dll</code> unit tests <a href="http://pages.infinit.net/ctech/20050623-0432.html" target="_blank">without requiring, or even demanding, UnmanagedCode</a> permissions. We also have a great coverage (including <b>2450</b> CAS specific tests) for <code>System.Web.dll</code> with perfect results (except for a small <a href="http://bugzilla.ximian.com/show_bug.cgi?id=75969" target="_blank">mcs bug on partial classes</a>) and a few more tests (<b>18</b>) for <code>System.Xml.dll</code>. </blockquote> <p>Make sure you read the rest of Sebastien's post if CAS is of interest to you. <p><img src="http://primates.ximian.com/~miguel/images/gimp-on-os-x.jpg" align="right">Mikael Hallendal from Imendio <a href="http://micke.hallendal.net/archives/2005/10/gtk-macosx.html">unveiled their effort to port Gtk to OSX</a>. They had not done much publicity before as they wanted to get some code working first. <a href="http://people.imendio.com/andersca/">Anders Carlson</a> is behind this effort. Hopefully we will see the community pick up and a nice theme to integrate the apps with the native look of the Mac happen. <p>Also see the <a href="http://gimpfoo.de/2005/10/06/an-early-glance-at-gimp-on-os-x/">GIMP running without on OSX</a> without X11. <p>These are fantastic news for Gtk# users. <p><a href="http://primates.ximian.com/~edasque">Erik</a> points to an interesting inteview: <blockquote> Interesting <a href="http://www.tuaw.com/2005/10/04/an-interview-with-unity-ceo/">interview of Otee's CEO on TUAW</a>. <a href="http://www.otee.dk/">Otee</a> uses Mono for <a href="http://www.otee.dk/Documentation/ScriptReference/index.html">scripting</a> in their Unity 3D game engine, that's the JavaScript feature they're talking about. Developers can also use Boo and C# for game scripting, thanks to Mono multi-language support. </blockquote> http://tirania.org/blog/archive/2005/Oct-06.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-06.html Thu, 06 Oct 2005 16:08:00 GMT Medsphere on Business Week <p>Medsphere was <a href="http://images.businessweek.com/ss/05/09/opensource/source/4.htm">profiled</a> on BusinessWeek. Congratulations to the team! <p>Medsphere uses Gtk# and Mono to develop their application which run on Windows and Linux from the same codebase. Todd showed their application at the <a href="http://tirania.org/blog/archive/2005/Sep-28.html">Mono Users Meeting at the PDC</a>. <p>On the same issue they have an interesting article: <a href="http://www.businessweek.com/technology/content/oct2005/tc2005103_0519_tc_218.htm">Open Source: Now its an Ecosystem</a>. http://tirania.org/blog/archive/2005/Oct-03.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-03.html Tue, 04 Oct 2005 00:04:00 GMT Nemerle Offers Courses OnLine <p>The <a href="http://nemerle.org">Nemerle</a> folks are going to teach some <a href="http://nemerle.org/blog/archive/2005/Oct-02.html">courses online</a> to expose their language to more people. http://tirania.org/blog/archive/2005/Oct-03-1.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Oct-03-1.html Mon, 03 Oct 2005 22:51:00 GMT Using FireBird.NET with Mono <p><img src="http://primates.ximian.com/~miguel/pictures/firebird.png" align="left"/>Today I tried out the <a href="http://firebird.sourceforge.net/">Firebird database</a> as we just integrated Carlos' bindings for it into the Mono release. Firebird has two modes of operation, it can be used as a server that clients connect to or it can be used as an embedded database, just like <a href="http://www.sqlite.org/">SQLite</a>. <p>The traditional server/client setup works as expected, but I was more interested in using it as an embedded database, This mode is not very well documented. This blog entry tries to document the steps necessary to embed the database and use it with the managed API. <p>I installed the "FireBird Classic" configuration as an RPM, which is available <a href="http://prdownloads.sourceforge.net/firebird/FirebirdCS-1.5.2.4731-0.i686.rpm">here</a>. Other downloads are available <a href="http://firebird.sourceforge.net/index.php?op=files">here</a>. <p>These instructions are based on the data I found <a href="http://www.fbtalk.net/viewtopic.php?id=194">here</a> and <a href="http://vsbabu.org/mt/archives/2003/05/23/quick_start_firebird_on_windows.html">here</a>. <p>Then you must create a mini-firebird environment for your embedded database, the following commands must be done as root: <pre class="shell"> # mkdir /home/miguel/minibird # mkdir /home/miguel/minibird/bin # cd /home/miguel/minibird # cp /opt/firebird/firebird.conf . # cp /opt/firebird/firebird.msg . # cp /opt/firebird/security.fdb . # cp /opt/firebird/bin/fb_lock_mgr bin # chmod +rx bin/fb_lock_mgr # FIREBIRD=`pwd` /opt/firebird/bin/gsec GSEC> add miguel -pw pwd GSEC> quit # chown -R miguel * </pre> <p>Edit the firebird.conf file and add (or edit the commented line) the following line: <pre> RootDirectory = /home/miguel/minibird </pre> <p>That will create the mini-root and create an account "miguel" with the password "pwd" and set the permissions for all the necessary files. <p>You can now create a database: <pre class="shell"> $ /opt/firebird/bin/isql SQL> create database "hola.gdb"; SQL> create table developers (name varchar (40), email varchar(40) not null); SQL> insert into developers (name, email) values ('miguel', 'miguel@novell.com'); SQL> insert into developers (name, email) values ('duncan', 'duncan@ximian.com'); SQL> commit; SQL> exit; </pre> <p>The C# program to access it is fairly simple: <pre class="code-csharp"> using System; using System.Data; using FirebirdSql.Data.Firebird; public class Test { public static void Main(string[] args) { string connectionString = "Database=hola.gdb;servertype=1;user=miguel;password=pwd"; IDbConnection dbcon = new FbConnection(connectionString); dbcon.Open(); IDbCommand dbcmd = dbcon.CreateCommand(); string sql = "SELECT * FROM developers"; dbcmd.CommandText = sql; IDataReader reader = dbcmd.ExecuteReader(); while(reader.Read()) { object dataValue = reader.GetValue(0); string sValue = dataValue.ToString(); Console.WriteLine("Value: " + sValue); } // clean up reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; dbcon.Close(); dbcon = null; } } </pre> <p>Build your program: <pre class="shell"> $ mcs sample.cs -r:FirebirdSql.Data.Firebird -r:System.Data </pre> <p>To run this program you must set the FIREBIRD environment variable to point to the mini-firebird directory: <pre class="shell"> $ FIREBIRD=/home/miguel/minibird mono sample.exe Value: miguel Value: duncan </pre> http://tirania.org/blog/archive/2005/Sep-30-2.html Miguel de Icaza (miguel@gnome.org) http://tirania.org/blog/archive/2005/Sep-30-2.html Sat, 01 Oct 2005 03:19:00 GMT