This year, we get "CRAP", which stands for: "Content,
Restriction, Annulment and Protection" a much better
description for the euphemistical "DRM".

The expression was coined by David Berlind, executive
Editor for ZDNet, see the details here:

CRAP stands for Content, Restriction, Annulment and
Protection. It's my catchy buzz-phrase for a technology that's
really called DRM. Now DRM technically stands for Digital
Rights Management, and it's a rather cancerous technology that
technology vendors are actually building into most of the
products that we're buying today.

So for example, if you own an iPod, it's got CRAP in
it. That's right, it's got this technology that will restrict
what you can do with your content, allows the owners of the
content to annul that content-in other words, take it away
from you-or protect it from being copied out onto the
internet.

Windows.Forms is approaching feature completeness in Mono.
In the next few weeks we will be doing the first beta release
of Mono for our target Mono 1.2.

Although most of the API coverage was done a few months
ago, the semantics of it were not exactly perfect. We were
lucky to be able to tap into a large body of open source
software for Windows.Forms to test and bug fix Mono's
implementation.

More recently, as Winforms has become more complete we have
started work in running proprietary or commercial applications
to run in Mono.

Simon for
instance built a VoIP messenger based on Jabber (Nexxia)
and has been working for the past few months with us to ensure
that it works in Mono.

He has blogged
a set of screenshots tracking the progress from the
December to this date, here are the first and last screenshot
from his blog:

It has been terrific to see folks from all walks of life
approach the booth and come carrying the applications that
they are currently working on contained in an USB keydrive and
having us run it on the different platforms. To most of them,
they tend to be very dazzled when they see their WinForms
projects run on Linux (SLED 10) often without
modification. Some of the apps they have come talk about range
from GroupWare clients, Decision Support Systems (DSS),
Enterprise Information Systems (EIS) front ends (some web
based others SmartClients), etc.

Paco, an attendee and Wade in the Mono Booth.

A journalist asked Nat whether Mono would run OpenDental.Net, an open
source Winforms-based application for dentists. Nat SMSesed
me the question, I downloaded the software, took a quick
glance at what is needed (it will require replacing some
Windows libraries with some Unix-specific libraries and
renaming a few files to make bash happy for building on
Linux):

I emailed Jordan Sparks, Doctor of Dental Medicine and
developer of OpenDental and asked him whether he could make
the filesystem layout changes to ease the porting effort, and
got a reply back from him that same night. In his words:

I'm really a HUGE fan of what you guys are doing. It's going
to change dental offices forever, and it will impact a lot of
people.

My plan is to assist Mr Jordan porting his OpenDental
software to Linux. As I mentioned, it will require swapping
out a few Windows components he is using for the equivalent
Linux libraries. It will be educational. This along with the
PaintDot.Net porting effort should be provide some good
material for a .NET to Mono migration white paper.

In general, porting from .NET on Windows to Mono on Linux
has the same feel of porting across different versions of Unix
in the past. From BSD to SystemV: replace a few libraries and
routines with different versions. It is a relatively simple
exercise.

I find this very interesting. On of my dentists is also a
hacker on his spare time, and runs his office completely on
software he has developed using Visual Basic. On one of the
visits I made to his office, as I was being treated, he
explained to me with excitement why he liked working on VB:
the software that runs his whole office is something he has
built over the years. He does a lot of the coding himself,
but he loves to spice up his application by purchasing a third
party control for displaying graphs, managing his x-ray
images and track patients.

This is the kind of ease of use that we are trying to
achieve with Mono and MonoDevelop. Lower the barrier for
creating amazing applications on Linux.

MonoDevelop

MonoDevelop
was originally a project that was developed by Mono users.
Folks that wanted to have an IDE on Linux, so they ported
various pieces of SharpDevelop to Linux and replaced
Windows.Forms with our own toolkit Gtk#. The goal here was to
create a truly native Linux application and to take advantage
of Linux and GNOME specific features.

DogFooding MonoDevelop: using MonoDevelop to develop
MonoDevelop.

As time passed on, our own engineers started using
MonoDevelop. Lluis, better known for his work on remoting
and web services, started using MonoDevelop to work on Mono
itself. He developed a plugin that would allow him to build
and develop the Mono runtime right in MonoDevelop.

Around that time we decided that we should invest in
MonoDevelop as part of the efforts of the Mono team, for a few reasons:

It was a great test of Mono and Gtk#

Many thought that without an IDE, the full
potential of Mono would not be realized.

We needed a place to integrate developer tools
that we had created and that we have planned (most
based on Gtk#):

Stetic, our Gtk# GUI designer, originally
developed by Dan Winship.

MonoDoc: although it is available as a
standalone tool, it makes sense to have it
integrated directly into the IDE.

Until December, we were using
Glade-3 for our GUI design needs. At that point we went
with Glade-3 as a short-term solution and because we felt it
was complete enough to be a drop-in technology into
MonoDevelop and had enough bits to allow it to be embedded.

But we soon realized that for a full integration we would
have to spend some significant developer time in getting it in
shape for integration into MonoDevelop. So we changed our
plans and Lluis started working on integrating Stetic and
finishing the missing bits in Stetic.

The upcoming MonoDevelop will contain a new Stetic-based
GUI designer. You can learn more on Lluis'
blog entry.

The Stetic integration is fantastic, these are some of the
features I like:

Custom Gtk# widgets that you develop appear on the
toolbox palette, and you can use these widgets right
into your main application if you want to. No
placeholders anymore.

A wizard for creating custom Gtk# widgets.

Double-clicking on events for a widget will create
a stub for the handler. For example, if you double
click on a button, it will create the

OnButton1Clicked method with its
proper arguments.

MonoDevelop also went through a major refactoring effort,
where the IDE features are all plugins. This is an idea
inspired by Eclipse's
implementation.

A new release of Mono and MonoDevelop will be coming out in
a few weeks with these features.

In the meantime, Chris Toshok has
started integrating Michael's ASP.NET editor into
MonoDevelop. So we will have an IDE that can be used for
doing smart client development as well as web applications all
in one:

China, unlike Europe, refuses to be intimidated by Washington,
a primary reason for the fear of China by US planners, which
presents a dilemma: steps toward confrontation are inhibited
by US corporate reliance on China as an export platform and
growing market, as well as by China's financial reserves -
reported to be approaching Japan's in scale.

...

An additional step, already being contemplated, is an Asian
oil market trading in euros. The impact on the international
financial system and the balance of global power could be
significant. It should be no surprise that President Bush paid
a recent visit to try to keep India in the fold, offering
nuclear cooperation and other inducements as a lure.

On Venezuela:

Venezuela, the leading oil exporter in the hemisphere, has
forged probably the closest relations with China of any Latin
American country, and is planning to sell increasing amounts
of oil to China as part of its effort to reduce dependence on
the openly hostile US government.

Venezuela has joined Mercosur, the South American customs
union - a move described by Nestor Kirchner, the Argentinian
president, as "a milestone" in the development of this trading
bloc, and welcomed as a "new chapter in our integration" by
Luiz Inacio Lula da Silva, the Brazilian president.

Venezuela, apart from supplying Argentina with fuel oil,
bought almost a third of Argentinian debt issued in 2005, one
element of a region-wide effort to free the countries from the
controls of the IMF after two decades of disastrous
conformity to the rules imposed by the US-dominated
international financial institutions.

(Emphasis added).

Interesting bits about Cuba and Venezuela as well:

Cuba-Venezuela relations are becoming ever closer, each
relying on its comparative advantage. Venezuela is providing
low-cost oil, while in return Cuba organises literacy and
health programmes, sending thousands of highly skilled
professionals, teachers and doctors, who work in the poorest
and most neglected areas, as they do elsewhere in the third
world.

"Cuba has provided the largest contingent of doctors and
paramedics to Pakistan," paying all the costs (perhaps with
Venezuelan funding), writes John Cherian in India's
Frontline magazine, citing Dawn, a leading Pakistan daily.

President Pervez Musharraf of Pakistan expressed his "deep
gratitude" to Fidel Castro for the "spirit and compassion" of
the Cuban medical teams - reported to comprise more than 1,000
trained personnel, 44% of them women, who remained to work in
remote mountain villages, "living in tents in freezing weather
and in an alien culture", after western aid teams had been
withdrawn.

On a separate note, the trend is for Mexico to elect the
progressive candidate in the upcoming elections.

That's one of the things that drew me to making a film about
Murrow. When you hear Murrow say, "We mustn't confuse dissent
with disloyalty" and "We can't defend freedom at home by
deserting it at home," it's like he's commenting on today's
headlines.

The fear of being criticized can be paralyzing. Just look
at the way so many Democrats caved in the run up to the
war. In 2003, a lot of us were saying, where is the link
between Saddam and bin Laden? What does Iraq have to do with
9/11? We knew it was bullshit. Which is why it drives me crazy
to hear all these Democrats saying, "We were misled." It makes
me want to shout, "Fuck you, you weren't misled. You were
afraid of being called unpatriotic."

Joe posted
an enthusiastic description of AppArmor: a Novell technology
that uses the Linux security infrastructure to improve the
security of your system. Novell originally acquired this
proprietary product last year and included it with OpenSUSE
and open sourced the effort.

Joe links to a recent presentation at FOSDEM
which is worth watching as it explains how AppArmor
works and demostrates how you can augment the rules in
AppArmor for your own applications and how you can secure a
web site.

I once got the demo live, and it was fairly impressive as I
was given a root shell, but was basically unable to escape the
"sandbox" that AppArmor had created.

Both AppArmor and SELinux use the same kernel
infrastructure to create the sandbox. From the AppArmor
FAQ I liked this explanation:

SELinux is an implementation of mandatory access controls that
uses labeled security, ie, the application of a tag to each
data file that identifies that file's appropriate security
level. Labeled security has advantages in organizations where
secrecy is paramount, that is, ensuring that only those
authorized at appropriate clearance levels can view a given
piece of data. The labels allow the operating system to handle
data with appropriate controls, eliminating the need to store
the information on multiple computers of varying security
levels. Although this feature has value to organizations such
as intelligence agencies whose main goal is to keep secret
information secret, it introduces a significant level of
complexity and has limited value to most commercial
enterprises whose primary objective is data integrity, ie,
preventing the corruption of data.

The FAQ goes into a larger comparison with SELinux if you
are interested in that.