Jonathan Chambers Web Log: Something Real
I'm posting a screenshot of the COM Interop in mono doing something real. The mono runtime is launched through Visual Studio. It runs a simple C# program that creates an Excel application, displays it, and adds a workbook.
---
[via a post from Miguel de Icaza]
---
Obviously having the ability to run a COM-based application is a requirement if you are desirous to interop between a COM-based and .NET-based application(kind of hard to Interop with something you can't "Op"erate in the first place ;). While Wine provides the abilty to run COM-based Windows applications, the support is a bit shoddy. Well, at least the last time I tried using it, which to be fair wasn't exactly yesterday. So I could be completely off with this. I think I can safely state that a Wine-based application is, hmmm.. how should I say this... Fugly(if you have no idea what fugly is, its probably for the best)? ;)
Anyway, so unless I am missing something or am completely off target on my Wine/Shoddy comment(if I am, please let me know) this doesn't offer a whole lot to the Linux and Mac-based Mono users.
However...
I do wonder about the potential of this effort leading to support within Mono for Managed C++ which is what the Phalanger project(PHP compiler for the .NET platform) has stated to be the hold up in providing support for Mono:
Is it possible to use Phalanger under Mono?No, it is currently not possible because some parts of Phalanger are mixed assemblies written in Managed C++, which is not supported in Mono. Although we are planning on rewriting these components to C++/CLI as we switch to FW 2.0, one of them - the Extension Manager - will always contain some native code. So it is likely that Phalanger will run under Mono in the future but without the Extension Manager. However, if Mono supports C++/CLI in the future we would probably port the Extension Manager to Mono.
I realize this is somewhat of a longshot given the fact that providing COM interop support has nothing to do with providing support for Managed C++. But with Mono/COM interop support on Windows you never know who might come along and suddenly take interest in working on such an effort given that Mono now plays nice with 10's of 1000's of COM-based Windows applications, many of which were either written in C++ or implement COM-based components that were written in C++.
Again, a long shot, but with these kinds of things you just never know. Providing COM Interop support isn't exactly going to hurt in finding interest for such things, so again, you really just never know ;)
Either way, you've got to applaud Jonathan Chambers for his efforts... VERY NICE!
Posted by m.david at 10:25 AM | Comments (0) | TrackBack
Came back for lunch and noticed this entry on the Monologue(syndicated site of Mono-hackers) site:
Evan Briones just sent me a screenshot showing his brand new JScript's add-in for MonoDevelop; check it out:
![]()
He offered the help at #mjs on the weekend and two days later he showed me that, yeah!
Very slick!
Posted by m.david at 07:58 PM | Comments (0) | TrackBack
From the Mono Project Downloads page you will discover the following entry:
Current Stable Version: Mono 1.1.10 (Release notes Nov 11th, 2005 (http://go-mono.com/archive/1.1.10))
From the above linked release notes:
We consider Mono 1.1.10 stable to recommend it for all users. Those upgrading from the 1.0.x series should note that these notes only contain the differences between 1.1.9 and 1.1.10. All of the changes since 1.0 are documented in the following release notes: 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8 and 1.1.9.
There a quite a few updates and feature additions that are fairly significant. However those that jumped out at me the most (setting aside the fact that they are listed first on the release notes... I promise, I read the whole page :) are contained in the mod_mono headings and the Windows.Forms heading:
mod_mono Auto Configurationmod_mono 1.1.10 features a new auto-configuration system which allows ASP.NET applications to work without having to make any configuration changes to Apache.
The experience of the new auto-configuration system is similar to PHP: any file that has one of the ASP.NET extensions will automatically be handled by Mono.
mod_mono and virtual hostsMod_mono now works correctly with virtual hosts, and it is possible to use the mod_mono control panel to restart individual servers.
Windows.Forms...
Drag and Drop for X11 has been implemented.
...
Nice! I can tell you from experience that the Auto-Configuration of mod_mono with Apache coupled with the auto-detection of an ASP.NET extension being passed to the proper handler is a gift straight from the Mono-God's (whomever or whatever they might be :) and Drag-and-Drop capabilties for X11/Windows.Forms implementation... It might seem trivial, but I'll venture out on-a-limb on this one and state that this capability alone will be the cause of some extensive Windows.Forms-based applications being developed for Linux-based X11 systems.
One other update that caught my eye (again, there are quite a few more than this, but I mentioned the Mono JavaScript compiler once before and the updated Mozilla test-suite numbers are interesting to say the least)
JavaScript Compiler...
Status 6981 successful tests out of 7229 from Mozilla's test suite.
...
If I've done my math correctly (: I'm 99.100% certain that I have :) that's just over 96.5% of the 7229 tests contained in the Mozilla test suite successfully passing (: given Brendan Eich, JavaScripts creator, just so happens to run the technical show for the Mozilla Foundation/Corp I think its probably safe to place the Mozilla JavaScript test suite into the "this is the test suite that matters most" position, wouldn't ya' think? ;) At last check a couple of months back it was just over 70% in regards to passed tests. That's a pretty significant increase made in a pretty small space of time. My hat goes off to whomever did the work in this space... Very nice!
Things are really beginning to get even more interesting over in the land of Mono.
Posted by m.david at 03:36 PM | Comments (0) | TrackBack
Welcome!Better Desktop is a project dedicated to sharing usability data with Linux developers. Over the past year, we have conducted many usability tests on different parts of the KDE and GNOME desktops. We created this site to serve as a place where developers can watch videos of these tests. Here you will find over 200 videos of people using Mozilla Firefox, Evolution, Open Office, Banshee, F-Spot and other applications. All of these can be found in the data section of this site.
If there's one complaint that I have had regarding my own experience's with the various flavors of Linux it is this: Until recently (and being quite frank) there was a certain bit of arrogance in the Linux communities as a whole that "Of course we're better! You just have to try harder to overcome the "Windoze" trance Microsoft has put upon you and *THEN* you'll see and understand." to which I would answer:
"Better than what and at what? Oh, and just what is it that I am not understanding that you *OBVIOUSLY* understand better than I do?"
You see, it seems that what the Linux communities we're forgetting to consider (again, until now) was that there were reasons that Windows was designed a certain way, looked the way it did, reacted the way it reacted. This reason, whether they wanted to agree with the results or not, was and is really quite simple:
Millions of hours and Billions of dollars in research, development, and usability testing.
I must admit that as a hacker, and furthermore as someone who spends, on average, 12-14 hours (at least!) every single day in front of a computer, I have a tendency to have very little patience for people that just don't seem to get what to me is "obviously simple common sense." But I have to catch myself before I let things get too far out of hand as this is the exact "bug" that can quickly cause my own work to fall into this same category of "arrogance" that I am complaining about. Its easy to fall into and completely understandable as to why.
But that doesn't change the fact that there is a reason why Windows is the way it is. For hundreds of millions of people in this world Windows simply makes sense. That doesn't mean training isn't required or that everyone who uses Windows uses it "correctly." What it does mean, however, is that for a new feature and/or new idea to make it into the Windows family of operating systems and related software such as Office and Internet Explorer, a series of usability tests had to be performed to determine whether or not users of the software would "get it." Would it make sense? Could the user, within a reasonable amount of time, understand what this new feature was, what function it performed, and all-in-all did this feature have "stickyness" or, in other words, would it become a part of their daily computing "experience" or would it simply be forgotten about just as quickly as it was learned.
There is obviously more to usability testing than this, but I don't want to beat this point to death. What I do want to point out is that with Novell's acquisition of Ximian two things took place:
Lets face it... Novell hasn't had much luck when it has come to making any attempt what-so-ever to take on the Microsoft-owned desktop. In fact, in many ways one could argue that it was because of their original attempt to attack Microsoft's Office dominance with the acquisition of Wordperfect that led to the downfall of its networking dominance, something it once owned in the same way Microsoft now owns the desktop and a considerable share of the server market as well.
Will this time around be any different?
If the acquisition of Ximian and projects such as BetterDesktop are any sort of sign as to whether or not Novell has learned from their past "mistakes" and is well on its way to "getting it" in regards to understanding just what the desktop market is all about then I will most certainly and with a resounding voice suggest that:
Yeah, they get it.
FINALLY! ;) :D
Posted by m.david at 10:05 PM | Comments (0)
I'm not sure how complete this is, but based on previous experience with the work of Atsushi Eno my guess is that if he's blogging about it theres at very least some substance standing behind his post.
Wow!
Posted by m.david at 02:00 PM | Comments (0)
As recently found at the above link:
[NOTE: While I have copied the text directly into this post, please visit the above link for a *FANTASTIC* graphic entitled "How CROSS PLATFORM is your .NET?"]
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.
Time:The meeting will start at 6pm and will go until 9:30pm.
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:
* iFolder file sharing and synchronization,
* the Banshee media player,
* our new photo management software,
* the desktop search,
* the MonoDevelop IDE and
* the GTK# GUI toolkit which is the API we use to create all of these applications.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.
Wait, do my eyes deceive me?
While I was aware of the XAML compiler because of the *FANTASTIC* work of Gerald Bauer and his XAML-Talk Yahoo! Groups project, I had no idea that Ruby.NET was a part of and as such a result of "Google's Summer of Code."
Excellent!
Say what you want regarding your own feelings on the matter... But the CLI flat out kicks a$$. Adding to this, as the CLI becomes even more deeply embedded into XML via language projects such as COmega, through the watchful eye of Oleg Tkachenko we've recently learned that James Gosling, the creator of the Java programming language is "Java's father is skeptical about native XML support" as the post is entitled.
This doesn't surprise me in the slightest. Anybody who has known me for long enough knows that I have always believed that Java's greatest competition doesn't come in the form of an OO-based language such as C# or even the CLI in general. Instead Java's biggest competitor is none other than XML.
"What? Did he just compare Java and XML and suggest they were actually in direct competition with each other?"
Yep, I sure did. And if you really think about it, applying the entire premise that the Java language was founded upon, that of being a cross-platform, "Write Once, Run Anywhere" language [as it was marketed in the early days] and then compare that to the primary purpose of XML: that of being a platform-independent data-interchange format such that any platform, regardless of what languages are natively supported, can have the ability to inter-operate with other systems of a different type, allowing for such platforms to continue forward doing what they were designed to do, taking full advantage of all the OS/Platform and hardware have to offer, by allowing natively compiled binaries to perform just as they were designed; and without compromise due to the need to be "cross-platform."
Take that completely rediculous run-on sentence, using this as a comparison to the write once, run anywhere focus of Java... and you've got yourself some direct competition taking place.
It seems that Mr. Gosling would like a world where we all programmed in his language of choice, which he just so happened to be the creator of. You can't blame him... we're all the same way; we have our language preferences and I can promise you that if I had invented a language that was being used by a good 50% of the software development world, I would probably feel like I was a pretty cool cat, as should he. But unfortunately we don't all feel the same way when it comes to our language of choice. Some language concepts come easier to some and not to other and vice versa. Or maybe its the syntax of one language we prefer over another. But whatever it is, we like what we like and theres not a whole lot that can be said about it.
With this in mind, and the simple fact that the CLI has taken the "Any Language Can Run Here" approach [speaking in terms of a CLI runtime implementation, or CLR, interpreting Common Intermediate Language (CIL) bytecodes, compiled to the aforemention CIL using a compiler capable of emmitting such bytecodes for any particular language of choice.] then with XML's ability to act as a way of intercommunicating between platforms, or even within the CLI Class Library Framework, it gives us the ability to write code the way we want to, using XML as the source format of the data that needs to be processed.
Isn't that what computing is all about? Processing data?
Maybe I'm mistaken, but I'm pretty sure I'm not... ;)
Enjoy your .NET "My Language, My Way"-enabled (oh, and because of the Mono Project, completely cross platform-enabled too :) Day!
[UPDATE: Brian Ritchie does a fantastic job of keeping up a list of known .NET-enabled languages for those of you interested in seeing just how many languages, full and partial, have the ability to be compiled to CIL and run via a CLI runtime implementation such as .NET, Mono, and Portable.NET. Also worth noting, for those interested in running Apache on a Windows box while still being able to run ASP.NET-based web-sites, there is the Apache HTTP server cli subproject, A.K.A mod_aspdotnet.]
Posted by m.david at 11:31 AM
What is Mono?Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Sponsored by Novell, the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications.
This is the lead in to the brand new, *EXTREMELY* well designed mono-project.com.
Take a look:
Of course I couldn't help myself from having a look around to see what other little UI treats might have been integrated into the design. While my hat goes off to whomever the site designer happens to be, I do have a teensy-weensie suggestion for the non-UI portion of the site; the code-behind, if you will, that drives the snazzy new interface...
It's tough to sell the web technology you've developed (a.k.a. ASP.NET; mod_mono; XSP) when you're not even using it to power your own site.
I don't mean to come across the wrong way; I use the Mono implementation of ASP.NET 1.1 and 2.0 quite often and its flat out fantastic. In many ways you've got the best of what makes Apache such a fantastic HTTP server (and beyond!) coupled with what many, including me, believe to be, flat-out, the absolute best web development platform that currently exists on this planet in ASP.NET; which of course is driven by, flat-out, the best development platform/framework that currently exists on this planet in the Common Language Infrastructure (CLI), better known by its marketing name, the .NET Framework.
So I guess all I'm saying is that when you have such a fantastic web platform that you have painstakingly handcrafted, why not use it?
I realize that the actual code driving this site is MediaWiki[UPDATE: See Footnote One], which is built upon a PHP foundation. And I realize that with the roots of PHP in OSS by default its a much more prevalent and understood web technology within the ranks of those working on other OSS projects, such as Mono. So with this in mind it makes it a slightly different situation than if say, Microsoft were to have this same error exposed on the .NET Framework Development Home on MSDN; or any of the other .NET-related MS sites for that matter. So, again, its tough to make too much of a fuss about things...
Either way (PHP/MediaWiki or ASP.NET), keep up the great work! I absolutely love what this project has accomplished, and the premise in which it has been built upon. I can't wait to see where the Mono community takes us next... should be fun :)
Cheers :)
[1] : I should have added to this the fact that, as far as I know, the only real OSS Wiki engine built on top of ASP.NET is FlexWiki. And while I recognize the fact that there is a lot of power that is sitting behind the front-end of this Microsoft sponsored, SF.net hosted open source wiki project, the "out-of-the-box" U.I. is not exactly what you would call "User Friendly." Its seems to me that as the project began to develop those who focused on the UI portion were already quite comfortable with the idea of accessing the underlying content using the "Title Bar" for navigation (if you have used FlexWiki you will know what I mean. If you haven't, visit FlexWiki.com and sooner or later you'll start to realize what I mean by "Title Bar Navigation" as well as why I believe this chosen method was a mistake and a hinderance to the projects overall success thus far) and as such continued forward with a "minimalist" approach, believing others would simply "get it" and think it was the greatest thing in the world, worthy of some sort of usability award of some sort, but I'm not so sure Jakob Nielsen would feel the same the way.
Which reminds me, whats up with all the posed photos made available in ultra high resolution (http://useit.com/jakob/photos/)? I mean, I realize he's recognized as the leading web usability expert and that he is highly sought after for presentations, keynotes, etc... but DAMN!(make sure you click the magnifying glass in Fx or N/S/E/W arrow in IE, to get the full "DAMN!" effect.) If the man has any problems with self-confidence, it sure isn't made evident by his personal "Action-Jackson" Me-Myself-&I photo collection; made conveniently available in near life-size proportions for ANYBODY who might want to make a cardboard cutout or a poster to hang in their cubicle. Even better would be a "Would Jakob Approve?" desktop background to "keep you in line" while your'e designing the layout and functionality of a website. In fact I just so happen to have such an item; you know, to keep me in line when I'm developing Web UI's and stuff (Think thats enough "happy, happy, joy, joy" bullshit to keep his lawyers off my a$$? Ahh, fuck it, who cares... they're in the public domain with no licensing terms listed... that means they're free game :))
![]()
Click the image for a 1024x768 image, a convenient size for those who wish to use this as desktop wallpaper; again, click the magnifying glass or N/S/E/W arrow to view the resized image (that is if your browser is set to resize images automatically; by default, most are.) Or you can just right click this link and choose the selection that seems the closest to "Save target as..."
Enjoy your Jakob Nielsen Approved? Day!
[Further Update: I guess "Each of the following photographs is available in a high-resolution version for use in print publications or for import into graphics programs when creating new Web illustrations featuring Jakob Nielsen." is kind of sort of something that could be considered licensing terms, although I'm not so sure how legally binding they would be. Besides, the above image falls perfectly into the "for import into graphics programs when creating new Web illustrations featuring Jakob Nielsen." portion of that statement... Its a good thing too... I can't imagine life without my "Would Jakob Approve?" desktop wallpaper to "remind" me not to stray too far from the "ways of the Jakob Nielsen approved" web design method; whatever that means. (don't email me to tell me; I already know... and in 99% of the cases he's right; this isn't a post suggesting that his approach to web design is wrong... I'm just not so sure the need exists for such an array of personal photo's; but who am I to suggest otherwise... If you just so happen to need a JN photo, if not before, you most certainly are now fully aware of where you can find one; or fifty.]
Posted by m.david at 02:39 PM
Apparently quite a bit...
Yes, MyXAML works for Mono but initially MyXAML had some "ugly" dependencies on Windows.Forms as far as I can remember. Thanks to Google there's now also an open source XAML parser that is part of Mono itself. See http://groups.yahoo.com/group/xaml-talk.
Sweet! I haven't kept well enough up with all of the details of the Mono-Project and this one totally blew me away!
Nice :) Thanks for the info Gerald!
Posted by m.david at 07:10 AM | Comments (0) | TrackBack
A quick post to mention I will be making a quick trip to Seattle tomorrow to meet up with Russ, Kurt, and possibly Miguel de Icaza to chat about various topics including Saxon.NET and directions for XSLT and XQuery on the Mono platform. Schedules are tight as the same time Russ begins his presentation (hes giving an AOSD presentation tomorrow after lunch) is the time Miguel needs to be to the airport so we're still unsure if our schedules will mesh. None-the-less, if there are any questions or comments you have in regards to the Mono platform and XML/XSLT/XQuery futures please email them to me and, if appropriate, I will try to chat with him about it. Theres always email and phone calls available at anytime so I am mentioning this really to help stir your imaginations and maybe to generate some momentum for open source project ideas. Let me know...
Posted by m.david at 04:26 PM | Comments (0) | TrackBack
A Novell Idea
Although Novell doesn't actually own Mono, it has taken stewardship of the project and will be using Mono technologies extensively within its product line. The company's first deliverable is iFolder 3, an open source file sharing and synchronisation tool written entirely in Mono. An enterprise version will add better security.
---
Ok, I'm not one who can complain about the use of cheezy titles but... Well, its a good article anyway.
Posted by m.david at 01:09 AM | Comments (0) | TrackBack
In a recent post to his blog Edd Dumbill has made somewhat of a "Call-to-Arms" for the open source community to pick up projects like IronPython, bring them to the Mono project, and get them fixed so that the support for dynamic languages such as Python will be available to developers on the .NET platform. Coming from a very strong Microsoft/.NET development background into the Open Source community has definitely been an eye opener in making an attempt to understand so many technologies that have Unix/Linux roots in which I have simply never had a chance to learn and therefore understand. The Mono project definitely was something I took great interest in, especially as of late, given that it brought .NET further into the Open Source limelight and opened its doors to a wealth of developers who would have otherwise had no interest. It has also helped in my personal transition to this community as it has given me the opportunity to learn about things like GTK using a language syntax I was more used to in C# (via the GTK# project.)
A few months back I created a project and site design for MonoNucleus.com which I had earmarked as a place for developers like you and I to come together and learn, discuss, enrich, extend, and publish information in regards to the Mono platform. However I haven't done a lot with it since then for the simple reason that my priorities have been with other projects. I have made note on that site that if you are interested in helping me get this site started to please contact me as such. I think having a central place in which we can all come together and work as a team on various projects building, blogging, and documenting the processes as we go could be a fantastic way to take projects like IronPython and bring them into a reality for the .NET platform via the Mono project. I have had every intention of taking MonoNucleus to where it needs to be when the time was right. Maybe that time is now?!
The other portion of MonoNucleus.com is MonoBlogs.com which was conceived to be exactly as it sounds. I just checked and it seems I never updated the zone files after I registered the domain so its still pointing at the GoDaddy parked page. I've made the change to point it to one of my servers and if there is enough interest I will be more than happy to get it set-up such that those interested in developing a blog that is directly related to the Mono platform can do so, free of charge. I have no plan nor desire to try and fund either of these projects via any source other than my own wallet as bandwidth and server space is quite cheap these days. So if you have an interest in either of these projects you can rest assured that you're not going to wake up one day and suddenly find that your blog has become a dynamic corporate billboard for something totally and completey different. In addition, and maybe even more appropriately, if you would like to have a third-tier domain like mdavid.monoblogs.com point to a specific IP or redirected to a different URL I would be more than happy to update the zonefile to something of your interest. This would of course allow existing Mono-based blogs to have a MonoBlogs.com based URI without having to move or make any changes to your existing blog. These, of course, are just ideas and I am open to hearing any others that you might have.
If you do have interest in helping me get MonoNucleus up and running or you would like to create a Mono related blog on MonoBlogs.com please contact me directly to let me know. Thanks for the kick in the butt Edd!
Cheers!
<M:D/>
Posted by m.david at 03:46 AM | Comments (0) | TrackBack