Mono Meeting at the Microsoft PDC

by Miguel de Icaza

Update: We had a hugely successful meeting during the PDC. I will post details after I decompress from a great week at the event.

Mono users meeting at the Microsoft PDC.

Date: Tuesday September 13th.

Location: Sheraton Downtown LA hotel, a short walk (map) from the Staples Conventions Center.

Room: Santa Monica Room.

Time:The meeting will start at 6pm and will go until 9:30pm.

Open to the public

Pass the word to other fellow .NET developers.

At the meeting we will talk about the Mono Project's current state, milestones, new developments, platform support and upcoming releases. Various Mono developers will be there to answer your questions both members of the community and Novell employees working on Mono.

The evening surprise is the unveiling of the new Mono T-Shirts design by Finnish artist Tuomas Kuosmanen. We will be giving out t-shirts to the attendees.

We will showcase some of the Mono-based applications we have built for Linux:

We will also showcase the new vector-based rendering APIs available for developers (completely cross-platform) as well as the new OpenGL-based windowing system.

We will answer your questions on how to bring your .NET applications to Linux, MacOS X and Solaris and how to take advantage of the Mono and Linux-specific APIs.

Finally, we will demo some of the the new Mono software funded by Google's Summer of Code:

  • XBuild: the open source msbuild implementation for assisting you in rebuilding your new projects on Mono.
  • Ruby.NET and PHP.NET compilers.
  • The DIVA Movie editor.
  • The new ASP.NET editor.
  • The .NET bug finder.
  • The Cecil libraries for reading and writing CIL images.
  • Mono's XAML compiler.

Background for the Mono Meeting

Background: As some of you know, Microsoft for the second time in a row blocked the Mono Birds-of-a-feathers (BOF) meeting from being held at their Professional Developers Conference. It is their conference, and I understand that a cross-platform .NET implementation might make them nervous (we are creating lots of new applications with it, and we are helping people reuse their existing skills on Linux).

It is their conference, and they have every right to control what they will allow to be shown there, but they actively have misrepresented things. On the PDC web site they claim that the BOF selection is up to INETA ( apparently an independent non-profit organization). Here is what the BOF selection process was advertised (you must have an MS Passport to read this):

The Birds of a Feather sessions at the Microsoft PDC05 are chaired by INETA (International .NET Association), the premier .NET developer user group associations.

[..]

Final selection and scheduling of the sessions will be performed by INETA based on popularity: all decisions are final. Submitters will be notified by Friday September 2, 2005 whether their session was accepted or declined.

What they failed to mention is that the Mono BOF was never listed for voting, and hence it never received a single vote. My submission was confirmed as I exchanged two emails with Stuart Celarier at Corillian, but the BOF was never listed and further emails to Stuart went unanswered, he wrote on INETA'S web site:

INETA is chairing the Birds of a Feather track at PDC 2005. This community-driven activity brings together conference attendees for open, moderated discussions on topics of shared professional or community interest.
[..]

Birds of a Feather really do flock together!

Stuart probably did not get the memo.

My guess is that it is best not to list the BOF than have to answer obnoxious questions about why the top-voted BOF had not been accepted (this year they also removed vote count display from the BOF listing).

So much for the independent INETA chairing the BOF process. On Friday, I was notified that my BOF proposal was not accepted.

I believe this is at the core on what is wrong in the way that Microsoft treats its users and developers and why people consider alternatives in the first place.

BOF sessions in every conference I have attended in the past ten years is usually an event that happens after hours and is organized by the attendees in an organic way: a white board is left open for groups to allocate an hour or two for what they consider an interesting topic. Conference organizers never have any editorial control over them, they basically give out the rooms for the various communities to get together.

At Stephen Walli's urging we put together Mono meeting on a nearby hotel and Tuomas designed a beautiful new T-Shirt (Thanks!). It will be fun, and I will probably wear my large foam red cowboy hat.

Anyways, its important to separate the great and amazing developers, testers and architects working on .NET from the marketing and management people. I look forward to a great time at the PDC. See you there!

Stickers

We want to distribute some cute stickers, an idea courtesy of Mike Shaver's: something like this:

"[Logo] using Mono;"

Picture this with me: Black background, yellow letters, nice cute Mono logo outline. I think it will look lovely.

Small stickers to put on badges and medium size for laptops. If you know someone in LA or Boston that can get this done quickly and before the PDC, let me know

Posted on 06 Sep 2005


Policies and Katrina

by Miguel de Icaza

A collection of various articles that in my opinion are relevant about policy making and the Katrina effect on New Orleans.

First some background: The president finished his five week vacaction and went on a fundraising tour to Arizona and the west coast. He likes to keep a balanced life.

In the meantime, as the vice president continued to enjoy his holidays the Secretary of State was spotted in New York City attending a Broadway show and going on a shopping spree:

On Wednesday night, Secretary Rice was booed by some audience members at "Spamalot!," the Monty Python musical at the Shubert, when the lights went up after the performance.

Yesterday, Rice went shopping at Ferragamo on Fifth Ave. According to the Web site www.Gawker.com, the 50-year-old bought "several thousand dollars' worth of shoes" at the pricey leather-goods boutique.

A fellow shopper shouted, "How dare you shop for shoes while thousands are dying and homeless!" - presumably referring to Louisiana and Mississippi.

The woman expressing her First Amendment rights was promptly removed from the store.

Billmon:

Paul Krugman's column in yesterday's New York Times argues that the Cheney administration's lackadaisical response to Hurricane Katrina is a symptom of a much larger problem -- the GOP contempt for government:

At a fundamental level, I'd argue, our current leaders just aren't serious about some of the essential functions of government. They like waging war, but they don't like providing security, rescuing those in need or spending on preventive measures.

I was thinking about posting something along those same lines -- along with a modest proposal to chaingang all the conservative pundits and politicians who've spent the past twenty five years trashing the federal government, and put them to work stacking sandbags down in Louisiana. And while we're at it, we could take all the think-tank libertarians and corporate bunko artists who promised us their blessed free market could and would solve all human problems, and use them as filler for the sandbags.

Two Americas:

Local National Guard are serving in a President's war of choice. People in trouble need them here.

Molly Ivins states:

Just plain political bad luck that, in June, Bush took his little ax and chopped $71.2 million from the budget of the New Orleans Corps of Engineers, a 44 percent reduction. As was reported in New Orleans CityBusiness at the time, that meant "major hurricane and flood projects will not be awarded to local engineering firms. Also, a study to determine ways to protect the region from a Category 5 hurricane has been shelved for now."

Dave Winer:

Comment: The writer above is absolutely correct that, if we were prepared, the response to the aftermath of Katrina would be further along by now. Responsibility however is not with the administration, it lies with the electorate. We had a chance to make last year's election a referendum on the politics of terrorism, to seriously evaluate our preparedness, if we really cared.

If anything is learned from this, we have to think, we can't delegate. We need leadership that cares, not in a superficial way. That leadership must come from us. We have some very huge decisions to make right now, and many thousands of lives depend on how well we do. That said, I have few ideas of things we can do other than give money to relief agencies, which of course, we are doing.

Molly Ivins echoes the need to care about politics:

To use a fine Southern word, it's tacky to start playing the blame game before the dead are even counted. It is not too soon, however, to make a point that needs to be hammered home again and again, and that is that government policies have real consequences in people's lives.

This is not "just politics" or blaming for political advantage. This is about the real consequences of what governments do and do not do about their responsibilities. And about who winds up paying the price for those policies.

Maureen Dowd says:

Stuff happens.

And when you combine limited government with incompetent government, lethal stuff happens.

Others are a bit harsher, but still correct.

An open letter to the president:

Any idea where all our helicopters are? It's Day 5 of Hurricane Katrina and thousands remain stranded in New Orleans and need to be airlifted. Where on earth could you have misplaced all our military choppers? Do you need help finding them? I once lost my car in a Sears parking lot. Man, was that a drag.

Also, any idea where all our national guard soldiers are?

[...]

And don't listen to those who, in the coming days, will reveal how you specifically reduced the Army Corps of Engineers' budget for New Orleans this summer for the third year in a row. You just tell them that even if you hadn't cut the money to fix those levees, there weren't going to be any Army engineers to fix them anyway because you had a much more important construction job for them -- BUILDING DEMOCRACY IN IRAQ!

The president tried to use the "nobody expected this" excuse. Dave Winer has collected some evidence that the problems in New Orleans were well known.

CNN ripped each one of the excuses from the Homeland Security Secretary.

In the meantime, operation scapegoat is in full swing. Joshua explains this succinctly:

Now at least we have the storyline. The Bush administration wasn't caught sleeping on the job while New Orleans went under with a gutted FEMA run by a guy who got fired from his last job policing horse shows. In fact, according to the new White House storyline, the governor of Louisiana and the mayor of New Orleans didn't ask for help quickly enough. And the White House was powerless to act until they did. Apparently they couldn't even reschedule the president's vacation until the locals got the right forms signed.

The Independent hosts some questions and answers:

Why has it taken George Bush five days to get to New Orleans?

How could the world's only superpower be so slow in rescuing its own people?

Why did he cut funding for flood control and emergency management?

Why did it take so long to send adequate National Guard forces to keep law and order?

How can the US take Iraq, a country of £25m people, in three weeks but fail to rescue 25,000 of its own citizens from a sports arena in a big American city?

Click for the answers

Billmon points out that this disaster is similar to the 1927 flood of New Orleans and quotes some 1927 newspapers and photographs

Greg Palast on the 1927 floods and the rise of the government for the people:

There is nothing new under the sun. In 1927, a Republican President had his photo taken as the Mississippi rolled over New Orleans. Calvin Coolidge, "a little fat man with a notebook in his hand," promised to rebuild the state. He didn't. Instead, he left to play golf with Ken Lay or the Ken Lay railroad baron equivalent of his day.

In 1927, the Democratic Party had died and was awaiting burial. As depression approached, the coma-Dems, like Franklin Roosevelt, called for balancing the budget.

Then, as the waters rose, one politician finally said, roughly, "Screw this! They're lying! The President's lying! The rich fat cats that are drowning you will do it again and again and again. They lead you into imperialist wars for profit, they take away your schools and your hope and when you complain, they blame Blacks and Jews and immigrants. Then they push your kids under. I say, Kick'm in the ass and take your rightful share!"

Huey Long laid out a plan: a progressive income tax, real money for education, public works to rebuild Louisiana and America, an end to wars for empire, and an end to financial oligarchy. The waters receded, the anger did not, and Huey "Kingfish" Long was elected Governor of Louisiana in 1928.

At the time, Louisiana schools were free, but not the textbooks. Governor Long taxed Big Oil to pay for the books. Rockefeller's oil companies refused pay the textbook tax, so Long ordered the National Guard to seize Standard Oil's fields in the Delta.

Billmon points out that the US is capable of deliverig efficient relief efforts Where there's a Will. He presents various newspapers quotes from 2004 and Florida:

So you can see that when the chips are down, and the need is absolutely dire, this administration can still deliver the kind of coordinated emergency response that once made the U.S. government the envy of the world -- just as it cooly and capably protected the Iraqi Oil Ministry from the chaos and looting that trashed every other government office in post-invasion Baghdad. As is usually the case in public service, it's just a matter of having the right incentives.

The comparison between the TLC showered on Florida last year and Bush's initial "What, me worry?" response to this year's disaster no doubt will go unnoticed by the amnesia patients in the corporate media. And since I'm lucky enough to live in a swing state that is also coveted by GOP political strategists, I probably don't have to worry about it either -- that is, as long as any future disasters around my neck of the woods happen in one of those years divisible by two.

But for the citizens of staunch, deep red Mississippi and slightly less staunch but still red Louisiana, the lessons are painfully obvious. If you're going to insist on living in a hurricane alley, then you need to take personal responsibility for your own actions, stop whining about government incompetence, and embrace the free market solution to your problems -- by moving to Florida.

On Rebuliding New Orleans:

Long before Katrina, New Orleans was hit by a hurricane of poverty, racism, disinvestment, deindustrialization and corruption. Simply the damage from this pre-Katrina hurricane will take billions to repair.

Now that the money is flowing in, and the world's eyes are focused on Katrina, its vital that progressive-minded people take this opportunity to fight for a rebuilding with justice. New Orleans is a special place, and we need to fight for its rebirth.

[..]

No sane person should classify someone who takes food from indefinitely closed stores in a desperate, starving city as a "looter," but that's just what the media did over and over again. Sheriffs and politicians talked of having troops protect stores instead of perform rescue operations.

Images of New Orleans' hurricane-ravaged population were transformed into black, out-of-control, criminals. As if taking a stereo from a store that will clearly be insured against loss is a greater crime than the governmental neglect and incompetence that did billions of dollars of damage and destroyed a city.

The press has not noticed where the real looting is going on:

President Bush yesterday told ABC-TV, ''there ought to be zero tolerance of people breaking the law during an emergency such as this, whether it be looting or price-gouging at the gasoline pump or taking advantage of charitable giving or insurance fraud.''

[..]

In a thinly disguised attempt to act as if it cared about the people wading in the water, Chevron has pledged $5 million to relief efforts. ExxonMobil and Shell have pledged $2 million apiece. British Petroleum and Citgo have pledged $1 million each.

Those disciplined operating practices are hardly confined to the oil fields. Everyone knows that Bush does not really mean what he says about price-gouging at the pump, since he just gave energy companies the bulk of $14.5 billion in tax breaks in the new energy bill. Surprise, surprise. In Bush's two elections, oil and gas companies gave Republicans 79 percent of their $61.5 million in campaign contributions, according to the Center for Responsive Politics.

If Bush really meant what he said, he would call for a freeze or cap on gasoline prices, especially in the regions affected most dramatically by Katrina. He would challenge big oil to come up with a much more meaningful contribution to relief efforts.

Insurance companies are expecting up to $25 billion in claims from Katrina. For ExxonMobil, which is headed to $30 billion in profits, to jack up prices at the pump and then only throw $2 million at relief efforts is unconscionable.

Jamie has several other updates.

Posted on 04 Sep 2005


Building a new Arc

by Miguel de Icaza

The Jesus General makes an appeal to the Gates Foundation to rebuild Noah's Arc given that the Foundation is funding the Discovery Institute to promote ``intelligent design'' (through CrooksAndLiars).

Update: A reader comments that the funding to the Discovery Institute is for project Cascadia for transportation alternatives in the Northwest. Seems like that ruins the fun of the Jesus General post.

I enjoy reading the Jesus General: `An 11 on the Manly Scale of Absolute Gender'.

In the meantime, one of my favorite BillMon's is his post: "Bring Me the Head of Hugo Chavez".

Airlines

I just got an email from one of the Airlines I fly on notifying me of a terrific opportunity: they will now have more seats in coach. In the email they seemed to be pretty psyched about it. I mean, really excited about it they even mention that they will continue to provide snacks.

Meanwhile I was thinking `There goes the legroom'.

Posted on 30 Aug 2005


Iterators and Efficient Use of the Thread Pool

by Miguel de Icaza

The new HTTP application pipeline in Mono is in my opinion a beautiful work of art. Let me explain.

The HTTP application pipeline processes an incoming HTTP request. When the request comes in it has to go through a number of steps before the request is actually handed over to the developer code: authentication, authorization, cache lookup, session state acquisition. There are a similar set of steps processed after your code is complete.

The runtime by default provides a few modules. These are listed in the machine.config file in the <httpModules> section. Mono by default includes: FormsAuthentication, UrlAuthorization, Session and the OutputCache modules. These hook up to one or more of the stages in the application pipeline.

These stages are part of the HttpApplication class. You typically have one of these per "directory" where you have deployed an ASP.NET application. As a developer, you can hook up to various points in the processing pipeline. For example, you could add your own authentication system by listing a dynamic module in the web.config file, and then hooking up to the processing pipeline:

	app.AuthenticateRequest += my_authenticator;

Now, typically when processing a request the various hooks are invoked synchronously: one after another. But in some cases your hook code might want to perform a lengthy operation, for example contacting a remote authentication server. Instead of blocking the executing thread, you want to queue the work using the CIL asynchronous framework and release the current thread from its duties so it can be used to process another request. To do this, you must register your hook using a different API:

	app.AddOnAuthenticateRequestAsync (begin_authentication, end_authentication);

Where begin_authentication is the method that will initiate the authentication asynchronously and end_authentication is the method that will be invoked when the asynchronous operation has completed. As I said before, while the asynchronous operation is pending the thread should be returned to the threadpool so it can handle the next request. When the asynchronous operation is completed it will be queued for execution again and when a thread becomes available it will execute the completion routine and resume execution.

The challenge is that you might have both synchronous and asynchronous hooks in a given application and also that at any stage the pipeline can be stopped (for example if authorization failed).

Now the challenge was to come up with a maintainable and clean design for the application pipeline. Here is where iterators came into play. The first step to make this simple was to treat all asynchronous registrations as synchronous at the event layer:

	//
	// AsyncInvoker is merely a wrapper class to hold the `b' and
	// `e' events, it does not actually invoke anything.
	// 
	public void AddAsync (BeginEventHandler b, EndEventHandler e)
	{
		AsyncInvoker invoker = new AsyncInvoker (b, e);
		Hook += new EventHandler (invoker.Invoke);
	}

The Pipeline is written like this:

	IEnumerator Pipeline ()
	{
		if (Authentication != null)
			foreach (bool stop in RunHooks (Authentication))
				yield return stop;

		if (Authorization != null)
			foreach (bool stop in RunHooks (Authorization))
				yield return stop;

		[...]
		
		done.Set ();
	}

Now the trick is how to implement RunHooks which takes a list of events, here it is:

	IEnumerable RunHooks (string stage, Delegate list)
	{
		Delegate [] delegates = list.GetInvocationList ();

		foreach (EventHandler d in delegates){
			if (d.Target != null && d.Target.GetType () is AsyncInvoker){
				AsyncInvoker ai = (AsyncInvoker) d.Target;

				ai.begin (this, EventArgs.Empty, resume, ai);
				yield return false;
			} else 
				d (this, EventArgs.Empty);

			if (stop_processing)
				yield return true;
		}
	}

Notice that we basically are using nested yield-based enumerators. The return value from "RunHooks" indicates whether the pipeline must be stopped (true) or not (false). RunHooks will execute as many synchronous operations as it can in order until it finds an asynchronous operation. At that point it initiates the operation calling the "begin" method and then it yields the control. The control is transfered to the Pipeline method which also yields and returns control to the caller.

The pipeline is kicked into action by:

	void Start (object callback)
	{
		done.Reset ();
		pipeline = Pipeline ();

		Execute ();
	}

Now the actual processing engine lives in the "Execute" method:

	void Execute ()
	{
		if (pipeline.MoveNext ())
			if ((bool)pipeline.Current){
				Console.WriteLine (prefix + "Stop requested");
				done.Set ();
			}
	}

	// This restarts the pipeline after an async call completes.
	void resume (IAsyncResult ar)
	{
		AsyncInvoker ai = (AsyncInvoker) ar.AsyncState;
		if (ai.end != null)
			ai.end (ar);

		Console.WriteLine (prefix + "Completed async operation: {0}", ar.GetType ());
		Execute ();
	}

Execute is basically using the IEnumerator interface directly while the Pipeline method uses the conveniece foreach method that iterates over every step.

The complete sample can be obtained here. This is the prototype I used as a proof of concept. The actual implementation (with different routine names) that we landed on System.Web is more complete is available here (you must scroll down).

At 1000 lines of code for the full file its one of the clean and small hacks that am most proud of.

Posted on 28 Aug 2005


Mono Happenings

by Miguel de Icaza

Ports: August has been a good month for Mono ports. Zoltan has completed the JIT port to the IA64 platform, another 64 bit port of the Mono VM. Wade has made some RPMs based on a CVS snapshot that you can install on SLES9/IA64 (Update: Link to an external site with the snapshots).

In the meantime Paolo has made significant progress on the ARM JIT port. It is now running on both little-endian and big-endian machines. Geoff even managed to build Mono and run Mono on his 133 Mhz Linksys machine

Plenty of progress on the students from Google's Summer of Code:

XBuild: Marek reports that his implementation of msbuild (xbuild) is now able to compile itself. Congratulations!

ASP.NET Editor: Michael has merged Blago's code into the ASP.NET editor and it is now possible to create ASP.NET controls and also edit the HTML with the Mozilla editor. You can see his screenshot here. The code is available from SVN from the module `aspeditor'.

XAML Compiler: Iain has reached feature completion on his XAML compiler.

Bug Finder: Aaron report talks about some real bugs being found by his bug finding tool. His bug finding tool uses the Cecil library to read the metadata and analizes the program for known mistakes that developers incur on.

DIVA: This is probably the flashiest and most visual of all the summer of code projects. This is a video editor that uses GStreamer. I recommend you read Michael's blog which is gives a detailed description of his progress and has various videos of the various UI widgets he has created to create an open source video editor with Mono and Gtk#. Michael just integrated Mono.Cairo into his application to polish various of his widgets.

Compilers: Florian assisted Cesar in various JScript tests and the results are very promising. Mono's JScript compiler is passing more and more of the Rhino tests. Jaen checked in his Ruby.NET compiler into the repository and Florian has been assisting a bit. Discussion is happening on the #ruby.net channel on irc.gnome.org.

Work on GCC CIL has made great progress but suffered a set back as Jey broke his wrist this week.

And finally PHP.NET is on schedule to complete the goals that Raffa signed up for in the summer of code. He will continue working on the other milestones as part of his university work after the summer is over.

Cecil: Cecil continues to make progress. The best way of tracking Cecil progress is on JB's blog. It is now capable of writing assemblies and hopefully soon we can start on the Mono diet linker.

Monodoc: has received plenty of improvements: now it uses Mozilla, has font changing features, can summarize contributions, supports CSS rendering and integrated Lucene indexing to search the contents of documentation.

DataGrid: Pedro continues to make progress on the Winforms DataGrid widget. His code hopefully can soon go into SVN.

ASP.NET: We just landed a large patch to our implementation of ASP.NET.

Libgdiplus: Now that Cairo 1.0 and the API is frozen we ported Libgdiplus to use the new version of Cairo. The code is almost ready to be landed on the main branch but there are a few loose ends still required before we commit it. The good news is that Windows.Forms applications are now significantly faster.

MSDN Browser: Ben wrote a beautiful piece of code: a Gtk# client application for browsing MSDN documentation. The beauty? 220 lines of C# take a look at it and marvel at all the features Ben is using.

IronPython: Zoltan has fixed pretty much all bugs in Mono that prevented Mono from running IronPython 0.9 and its included regression test suite. We have identified a couple of problems that still must be fixed, but hopefully they will be in place by the time we release Mono 1.1.9.

MCS Just when we thought that we were done with the C# compiler Microsoft rectified a problem in the Nullable Types specification. We are all glad that they did and Hari is working on fixing this. In the meantime Marek and Atsushi continue on a quest to eliminate MCS bugs and to make the compiler stricter and more useful.

There is one regression in the usefulness of mcs that I have noticed recently. In the past the compiler would continue reporting errors for other problem areas in your source, but now it stops too early. Way too early. So when you have been hacking for a few hours straight you might need a few builds to get all the errors ironed out. You always do, but we used to need less.

The problem originates in that in a few places in the compiler we decided that if we can not compile a chunk it was best to stop processing and not continue as the compiler might depend on the types being defined and that might cause the compiler to crash. At the time, I felt that it was best to stop the compiler, but now am thinking that maybe we would serve our users best if we coped with incomplete trees in the compiler and produce more errors. It wont be easy to change this though.

Posted on 27 Aug 2005


PDC, take two

by Miguel de Icaza

Stephen Walli an ex-Microsoftie weights in on the Mono BOF at the PDC:

They published the CLR and C# language specifications as international standards through ECMA and ISO, but it still looks like a proprietary controlled technology to the customer base. Standards are a message in the marketplace that encourage multiple implementations. As long as there is only one commercial implementation, there is no standard, and the customers know it regardless of the number of trees killed to produce specifications.

He goes on saying that we should take our impromptu gathering beyond the hallway meeting into something larger:

Instead of gathering in a hallway like stubborn refugees, get a meeting room in a neighbouring hotel, or take over a bar like a Dick's Last Resort.
[..]
Hand everyone a copy of the latest SuSE distribution, and whatever Mono tools can be put together. Hand out t-shirts to the first 100 people through the door and make them GREAT t-shirts.

Posted on 27 Aug 2005


George Galloway in the US

by Miguel de Icaza

George which kicked ass on his US Senate declaration and did not let any of the smears stick is touring the US.

Am sadly going to miss him in Boston as am out of town on September 13th, but maybe I will catch up with him later on his US Peace Tour.

Posted on 27 Aug 2005


Jon Stewart

by Miguel de Icaza

Last night's Jon Stewart show kept me on the brink of suspense since Jon announced that Christopher Hitchens would be the guest on the program. Hitchens being probably the best informed person and probably the only articulate person backing up the war on Iraq is a difficult bone to chew, and I knew this was going to be an interesting interview.

Jon sometimes chooses to not confront head-on his guests on the show when they representing dissenting ideas. With Hitchens it was different, he asked directly "explain to me why I am wrong" and had the best comments on the debate.

The episode was fantastic, if you missed it Crooks and Liars has the interview and in my opinion one of the best openings on talking points.

My other show

Nat recently introduced me to Discovery Channel's Mythbusters a TV show that looks at urban legends and looks at how plausible those myths really are. Am hooked on it.

English

Not being a native speaker means that sometimes my spelling is not great. I depend on Emacs ispell and Evolutions speller for many things, but recently I have started using Google's "define:word" to look up word definitions. Its just two keystrokes away: C-j define:word ENTER.

Posted on 27 Aug 2005


Mono Meeting at the Microsoft PDC

by Miguel de Icaza

There are many new things in the new Mono that are worth showing and talking about to folks at the PDC this year.

Am afraid this year the Mono BOF will not be accepted again at the Microsoft PDC. My submission was reviewed on Tuesday and it has still not shown up in the voting list for BOFs, chances are voting for it will only happen (if it happens at all) on Saturday/Sunday, clearly the worst days to get any votes on.

At the last PDC the Mono BOF had the largest number of votes when half the spots were still available and it got dropped out of the list. When I asked the various people in charge what happened they kept pointing fingers at someone else until it reached full circle. Nobody could tell me why the most voted BOF proposal did not get selected. I would be happy with an honest answer even if it is "We do not want to promote open source/Mono/Novell" instead I heard a number of variations on "The problem is that `New frontiers for 6502 assembly language in the copy-editing industry had more votes'" (it didnt).

Anyways, this PDC ts looking just like the last one. So it is time to get ready for a Mono meeting like we hadthe last time: in the middle of the hallway. Last time we picked a spot in the middle of two concourses which had enough space and chairs to hold our meeting (about 80-100 people). I will do some scouting on Monday and find a good spot and a good time to hold the meeting and announce a meeting place here.

If you get to the PDC early, and you know the spot where we had the meeting the last time and you can provide directions, please email me.

Posted on 25 Aug 2005


Google IM

by Miguel de Icaza

Am on Google IM now, miguel.de.icaza@gmail.com

Please only request to be added if we have IMed, talked in person or emailed each other in the past.

Instructions for Gnome/Gaim users: here. Google's IM is based on the open Jabber protocol which not only allows for many implementations and creative uses of IM, but in addition Jabber is an interesting protocol that can be used to route arbitrary XML messages across the internet (not necessarily IM only).

The protocol has now a big service provider with a big user base that will help realize its potential.

Posted on 24 Aug 2005


« Newer entries | Older entries »