July 2006 Archives

M. David Peterson

AddThis Social Bookmark Button

Google Groups: comp.lang.functional

PLT Scheme version 352 is now available from

http://download.plt-scheme.org/

This is a bug-fix release, addressing a few bugs that were discovered
in v351.

For more details, follow the “Release” and then “Release Notes” links
in Help Desk, or see
http://pre.plt-scheme.org/plt/doc/release-notes/
A complete history of changes is at:
http://download.plt-scheme.org/chronology/

((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!

For those wondering what on earth this has to do with Windows development, please see [1], [2], [3], [4], [5], [6], [7], [8], [9]

The answer, in short: The Future of Windows Development.

Well, at least in some respects anyway.


[1] http://msdn.microsoft.com/msdnmag/issues/05/10/EndBracket/
[2] http://pluralsight.com/blogs/dbox/archive/2005/09/25/15013.aspx
[3] http://www.xsltblog.com/archives/2005/10/scheme_is_love.html
[4] http://www.xsltblog.com/archives/2005/10/project_logo_of_1.html
[4] http://www.xsltblog.com/archives/2005/10/comegabased_log.html
[6] http://www.xsltblog.com/archives/2005/11/is_the_agile_de.html
[7] http://pluralsight.com/blogs/dbox/archive/2005/11/30/17208.aspx
[8] http://www.oreillynet.com/xml/blog/2006/06/jon_udell_anders_hejlsberg_lin_1.html
[9] http://www.oreillynet.com/xml/blog/2006/07/mikechampionbloglinq_putting_t.html

Preston Gralla

AddThis Social Bookmark Button

If you’ve bought a Dell PC lately, you know that it’s absolutely filled with countless try-before-you-buy programs you don’t want, pointless software, and general crud. It’s so bad that I know many people who won’t buy a Dell, regardless of how good a deal they can get. Now, though, there’s a way to kill Dell software bloat.

M. David Peterson

AddThis Social Bookmark Button

In a recent post to the IronPython mailing list, Dino Viehland reports,

IronPython

Hello IronPython Community,

We have just released IronPython 1.0 RC1. We’re anticipating that this build will be the same as 1.0 final unless we hear otherwise. We’re looking for any feedback, but in particular we’d like to know of any blocking issues discovered against this build or fundamental language incompatibilities. Please try out the latest build over the next 2 weeks and let us know if you encounter any issues as soon as possible. Additionally, if there are any 1.01 Alpha bugs on CodePlex that are blocking you please bring these to our attention so we can take a second look at them.

Our goal for IronPython 1.0 is to be compatible with CPython 2.4 We’ve fixed all known language incompatibilities and implemented a large number of the standard CPython built-in modules with a focus on those most used. RC1 includes one new module that hasn’t shipped previous (cPickle). We do have some issues remaining but we believe these will not affect compatability with CPython. In addition RC1 has several new 2.5 Python features that can be enabled with the experimental switch -X:Python25, but by default these are disabled:

More details follow below, but let me first take the time to send out a BIG PHAT THANKYOU to both MS, the IronPython development team, and the IronPython development community for bringing this all together.

Exciting times are ahead!

The rest of Dino’s post follows below:

M. David Peterson

AddThis Social Bookmark Button

I found the following in my inbox earlier today and wanted to quickly highlight this for those who are considering the development of an electronic magazine, in this case PDF, and would like a good example of how to go about moving from free (which TUX (PDF) Magazine currently is) to paid without upsetting your subscription base in the process,

NOTE: Some of you are probably wondering,

“And this has to do with Windows development in what way?”

To which I will answer in two parts,

1) It doesn’t directly, but it *DOES* have to do with publishing, which for what I assume are obvious reasons, relates directly to what O’Reilly is in the business of. Of course, this could very easily be seen as competitive, but offering advice for folks who want to publish outside of the O’Reilly family of publishing brands has never been something that Tim O’Reilly has shy’d away from — a perfect example of how to embrace the competition without endorsing them directly, while providing valuable information to folks who have interest in self-publishing. Community-focused Marketing at its finest, in my own opinion (and I can only assume others as well.) — With this in mind, I feel pretty safe that offering up this advice is nothing to be seen as strange from an O’Reilly perspective. Community is what O’Reilly *always has* and, I can only assume, *always will* be about.

2) If not obvious, Microsoft has started to embrace Linux as of late, so in many ways this *DOES* have to do with Windows development, as the future of software has *EVERYTHING* to do with virtualization — on *ALL* known platforms, virtualizing *ALL* known platforms.

With this in mind, please consider the following if you are one who has interest in publishing an electronic magazine, and are looking for ways to develop a subscription base while at the same time, turning this subscription base into paying customers instead of turning them against you if/when you decide to go from free to fee.

M. David Peterson

AddThis Social Bookmark Button

You bet, no problem (well, at least soon enough it won’t be a problem)

IKVM.NET Weblog - JaCIL

Almann Goo released version 0.6.0.0 of JaCIL on Saturday. The goal of JaCIL is basically to be a reverse ikvmc, it converts .NET assemblies into Java jars.

The binary distribution includes a couple of demos. Naturally I had to try and run them on IKVM :-) I ran into two known IKVM bugs, the first being that JaCIL generates a class and prior to Java 1.5 this wasn’t a valid class name, but since Java 1.5 the class name space has been significantly enlarged, almost all checks have been removed. The second bug was that Java classes with both a Finalize() and finalize() method would be compiled incorrectly (under the covers IKVM generates a Finalize() method that overrides System.Object::Finalize and calls java.lang.Object::finalize), I’ve added support for this by renaming the generated Finalize method when it is necessary.

To better understand the possibilities that exist with this, Jeroen has thrown a recursion “poem”(scroll down half a page) of his own into the mix,

maybe we’ll eventually be able to run Java on .NET on Java on .NET on Java on .NET on Java… ;-)

I conversed in email with Almann a while back when he first announced this project to the IKVM.NET forums, and was just as excited about the possibilities then as I am now.

I’d say we’ve got ourselves a pretty killer app on our hands, courtesy, once again, of a member of one of the Open Source Communities.

Thanks Almann! (and Jeroen, Mark (Wielaard), Classpath project developers in general, and other contributors to the IKVM.NET project! :D)

NOTE: Worth pointing out. What we gain with this is not *JUST* the ability to compile projects that we have the source for, but also any other .NET assembly that we don’t have the source for. In other words, like IKVM.NET (but in reverse as Jeroen points out), the CIL will be translated to Java byte-codes. So all I need is the CIL-based .NET assemblies that my project relies on, and *POOF*, I’ve got a JavaVM-enabled .NET application.

Well, soon enough, anyway.

Devin Ganger

AddThis Social Bookmark Button

Early this morning, Microsoft released Exchange 2007 beta 2, the first public beta version of Exchange 2007.

Get the bits (x86 and x64)
, the release notes, and read the documentation.

In addition, I’ve taken a look through the release notes and detailed the things I think are particularly noteworthy. You can see them on my blog.

This will be a big release, I think. There are some major under-the hood changes for Exchange, including:

  • The shift to Powershell and .NET technologies. These make Exchange easier to manage, so I think they’re good things, but a lot of people who are used to Exchange 5.5 are going to be in shock the first time they stare down a Powershell prompt and have to run a Set-ReceiveConnector cmdlet.
  • A completely new SMTP stack to play with — no more extending the IIS SMTP service.
  • The Edge server role can be securely deployed in a DMZ, reducing the reliance on ISA Server to create a secure yet supportable Exchange SMTP gateway configuration. And for those of you who think Exchange has no business being the SMTP gateway for the org, I have news for you.
  • Massively increased message hygiene capabilities and support. Deploying the Edge role means that you have the capaiblity to pull your users’ individual Outlook junk e-mail settings up to the edge and accept/reject messages on a per-user basis — all without making your firewall rules look like you loaded your shotgun with rock salt and took aim.
  • Opportunistic TLS! Yes!
  • AD topology-based routing, instead of the often overly-complex AG/RG topology.
  • Lots and lots of compliance and archival features — Managed Folders, Transport Rules, and more.

    On the other hand, there’s a lot that hasn’t changed from the Exchange 2000/2003 world. You don’t have to ugprade directory services again! We’re still using SMTP as the default transport — no equivalent of the X.400/MTA to SMTP shift (in fact, X.400 support goes away!) You can still use public folders (although you’ll have to manage them from the command line or from the Exchange 2003 ESM as long as you have Exchange 2003 servers left in your organization) — but you don’t need them if all you use them for is system info.

    Grab the beta, start playing with it, and don’t be afraid. This is a good step forward.

  • M. David Peterson

    AddThis Social Bookmark Button

    I’ve used the Phalanger 1.0 compiler successfully on several projects, and am happy to see they have now upgraded the code base to version 2.0 of the .NET Framework,

    Phalanger - The PHP Language Compiler for the .NET Framework

    Phalanger v2.0 runs on .NET Framework 2.0 and finally supports full .NET interoperability. It means that you can directly use or extend any .NET class; be it System.Xml.XmlDocument, System.Windows.Forms.Form, or System.Web.UI.WebControls.DropDownList. We also support delegates, events, generics, and even some basic LINQ.

    A couple of points worth noting,

    M. David Peterson

    AddThis Social Bookmark Button

    According to a recent email from Russ,

    I am about to publish a little article on .NET services to SOA Ranch, the author of that article is Mark Christy and he’s looking at a .NET implementation of a collection of BLIP publishing and routing services.

    The first of this series is now live,

    SOA Ranch - Articles - SOA in .NET: A Step by Step Guide to creating and consuming services in .NET (Link removed due to dead site.)

    In this article, resident SOA expert Mark Christy shows you how easy it is to create and consume a service using Microsoft’s Visual Studio environment

    This doesn’t cover anything specific to Blip Messaging just yet. That’s next. In the mean time, if you are new to Service Oriented Architectures as they relate to Web Services and the .NET platform, this is a simple, straight forward entry point that will continue forward in a Blip-Oriented direction.

    (BOP? < I like it! :D)

    Todd Ogasawara

    AddThis Social Bookmark Button

    I’ve been spending a lot of time playing with the Parallels Desktop for Mac virtualization software (see Parallels Desktop for the Mac and (Short Cuts PDF) Windows for Intel Macs) recently. So, I decided to pay some attention Microsoft’s Virtual PC 2004 which recently became a free downloadable product. I installed Windows XP Pro SP2 and Ubuntu Linux 6.06 on the Intel Mac, so it seemed like an interesting idea to install Ubuntu Linux using Virtual PC too.

    M. David Peterson

    AddThis Social Bookmark Button

    While I may not be a fan of Adobe’s politics, I *AM* a fan of their software.

    Up until now, the Adobe Lightroom Beta was available only to users of Macintosh OS X. As of a few minutes ago (at least, thats when the email arrived… Not sure how long this has actually been available for download to the general public), this has now changed.

    If you are a professional or amateur photographer (I’m about as far to the amateur side of amateur you can get, but still enjoy it none-the-less) looking for what looks to be a typical example of what Adobe does best (build *GREAT* image creation and manipulation software), I’d take a moment to download, install, and then get involved with the feedback process for this project.

    Adobe Labs - Project: Lightroom

    Project: Lightroomâ„¢ is Adobe’s effort to engage the professional photography community in a new way, giving you the opportunity to kick the tires and shape the feature set of a new tool being created just for you. Ultimately, we want Lightroom to be truly built from the ground up by photographers, for photographers, helping solve your unique workflow challenges.

    We’re releasing a preview build now so that you have plenty of time to give us feedback on what’s working for you, and what isn’t. Whether you choose the beta for Macintosh platform or the newly released Windows platform, your feedback is needed. Download now before the Lightroom beta 3 build expires January 30, 2007.

    Enjoy!

    Preston Gralla

    AddThis Social Bookmark Button

    Symantec has just come out with a report claiming that Vista may introduce a host of network security holes with Vista, even as Microsoft labors to make the operating system more secure than XP. But this is just an instance of sour grapes on Symantec’s part.

    M. David Peterson

    AddThis Social Bookmark Button

    Update: via an update to this same mentioned thread, Seo Sanghyeon reports -

    > IronPython nt module now uses Marshal.GetHRForException method which
    > is not yet implemented in Mono. I filed Mono bug #78839 for this and
    > linked a patch that fixes the problem for me.

    Fixed in Mono revision 62550. That was fast.

    I’d say I’d have to agree :)

    Seo has also built an archive index of all of his reports in regards to each Beta release, and building this release on Mono. On this same site, there are several how-to’s and a solid line-up of Python modules to help get you going with IronPython.

    Thanks Seo!

    [Original Post]
    Seo Sanghyeon is one of the more high profile users found reporting bugs, and building solutions, on the IronPython users list. He has dedicated himself to ensuring a smooth running IronPython runtime for the Mono platform.

    For example,

    [IronPython] IronPython 1.0 Beta 9 on Mono

    After applying a patch for #78839, IronPython 1.0 Beta 9 works nicely with Mono.It passes my informal battery of tests which you can get here. I must automate running this… http://sparcs.kaist.ac.kr/~tinuviel/fepy/example/ Again, many thanks to hard-working Mono team, in addition to incredible IronPython team.

    Seo Sanghyeon

    Please follow the above link for a complete list of instructions and links to the single necessary patch for IronPython Beta 9 to both compile and run on top of the Mono platform.

    Seo represents another fine example of the results that take place when you involve your community with the development and testing/debugging process.

    Like Seo suggests, my hat goes off to both the Mono-Project developers and the IronPython development team at Microsoft.

    My hat also goes off to Seo. Seo is the perfect model representation of how the symbiotic relationship between the corporate software development world, and the community of software developers in which use their products, both can, and quite obviously does, work.

    Thanks Seo!

    M. David Peterson

    AddThis Social Bookmark Button

    IronPython

    This release focuses primarily on fixing bugs resolving around compatibility with CPython, finalizing the public API surface, and improving the new method binder. There’s also some significant performance improvements as well as the runtime support required to use the pickle module. One of the most significant changes is the final updates to the hosting API. The hosting APIs have removed the concept of a ModuleScope and replaced it with a normal dictionary.

    You can download the IronPython Beta 9 from the CodePlex IP download page.

    An extended list of updates, bug fixes, etc… from Dino Viehland’s announcement made a few minutes ago to the IronPython mailing list is copied below,

    M. David Peterson

    AddThis Social Bookmark Button

    [IronPython] IronPython Console on Unix.

    Hello, Something in IronPython is now looking for Control-z, which is fine on Windows, but on Unix, Control-Z stands for “suspend application”. In Unix, the end-of-file descriptor is control-d; Am not sure why the code is actually looking for a Control-Z, while it could be checking whether there is input available instead. miguel.

    NOTE: If you follow-through to the post linked above, you’ll notice that ‘miguel’ is none other than Miguel de Icaza. Okay, so Miguel de Icaza’s interest in the .NET platform is no secret, so to find him reporting bugs that relate to .NET software is of no great surprise. The surprise, if any, is that the report is to the IronPython users list, which, of course, represents a run-time engine implementation of Python for the .NET platform being developed internally at Microsoft.

    This is the “wave of the future” folks. Unix* and Windows* environments do not *HAVE* to be seen as competitors for each of them to be successful in the marketplace. To see folks from *BOTH* camps, working together to solve problems…

    Well that just warms my hacker heart to see this take place. :)

    Update: For those unaware, IronPython is an open source project. You can access the latest check-in of the source on the CodePlex source code page for the IronPython project. If you have interest in gaining the benefits offered by the Python programming language combined with the benefits offered by implementations of the .NET runtime (pick a platform, any platform) I would encourage you to get involved with the bug reporting process.

    M. David Peterson

    AddThis Social Bookmark Button

    Update: Please disregard what follows. I was wrong.


    Update: Dalibor Topic has chimed in three separate times, providing in-sight in regards to a) The benefits that would come if Sun were to decide to standardize the Java language and Java platform, doing so as two separate and distinct entities. b) Whether or not it is truly too late for Sun in regards to gaining ANY level of mindshare in regards to the developers behind the efforts of building dynamic languages and language extensions to the Java platform.

    Thanks Dalibor! You’re time spent providing this information for the rest of us is TRULY appreciated!

    Also, Russ Miles has taken the time to follow-up in regards to his feelings on the matter, and how they relate directly to his reasoning for falling in love with Ruby-on-Rails (”time to market, productivity, more…”.) This is a MUST NOT be missed type of post from someone who, like Dalibor, just so happens to know a thing or two about the Java language and platform.

    Thanks Russ!

    [Original Post]
    Analysts see Java EE dying in an SOA world

    Java Platform, Enterprise Edition (Java EE) is not going to survive as a major standard programming model in the next five years, predicts Richard Monson-Haefel, senior analyst with the Burton Group, and SOA is part of the reason.

    Richard Monson-Haefel, Senior Analyst, Burton Group goes on to say,

    In five years, Java EE will be the CORBA of the 21st Century. People will look at it and say, ‘It had its time but nobody uses it any more because it was too complicated.

    Huh… I’d say I was pretty damn close

    NOTE: If you read the first of those last two links you’ll also notice I believe there is a way for Sun to save Java for what seems to be the inevitable. But for obvious reasons, I would pay attention to what Richard Monson-Haefel has to say LONG before my own feelings on the matter.

    UPDATE: The following comment from the same linked story I think speaks VOLUMES:

    with the release this spring of JEE5, the Java EE platform has grown too complex to be workable for enterprise developers, who are increasingly looking at alternatives such as Ruby-on-Rails.

    While I can’t say I know this for certain (never actually talked to Russ about his reasoning for falling in love with Ruby-on-Rails), it would seem to me that Russ’s example from yesterdays post, which uses RoR to communicate with the .NET platform via SOAP, would suggest that he saw the writing on the wall a while back, and has since adapted accordingly. I’ll ping him to get some insight.

    For those unaware, Russ is one of those folks who understands a thing or two about Java. ;)

    Preston Gralla

    AddThis Social Bookmark Button

    Mention RSS to most non-techie computer users, and expect to get a blank stare. But the RSS features built into IE 7 are good enough that it’ll finally bring the technology to the everyday PC user.

    Preston Gralla

    AddThis Social Bookmark Button

    Microsoft’s decision to finally support the open source Open Document Format (ODF) standard via a plug-in to Office is very good news, and the company should be commended for it. But there may be a little less here than meets the eye.

    M. David Peterson

    AddThis Social Bookmark Button

    [UPDATE: Previous title was:

    The GNU/Linux and Solaris Admin : An Endangered Species Due to the Danger of Self Inflicted Genocidal Tendencies?

    but as per my comment below:

    In thinking about this I realized that the title is really misleading as to the content contained inside. I’m currently thinking through this, and trying to decide on a better title that more accurately describes the point that is a *SMALL* number of folks who are ruining things for the rest of the GNU/Linux and Solaris/Open Solaris admins. After coming back to this, and re-reading my chosen title, thats obviously not the sense that is invoked, and instead something of much grander, biblical-type proportion.

    I will fix this just as soon as I can come up with something that is accurate to the content itself.

    My apologies for not realizing this until now!

    I have changed it to be more accurate as to the content and overall point of this post.

    [Original Post]
    Tom Adelstein has written one of the best “state of the union” reports I have seen in a LONG time regarding the problems that a SMALL number of GNU/Linux and Solaris admins are inflicting on the larger population of GNU/Linux and Solaris advocates because of their own selfish acts of “self preservation.”

    Linux and Microsoft: Taking a Pragmatic Approach - O’Reilly Sysadmin

    Would it surprise you to discover that Linux administrative and support employees have created barriers to entry for others with similar talents? What if I told you that a difficult job climate has emerged because of your Linux buddies? Would you believe it?

    Get a grip because that’s something with which you may have to deal if you attempt to change jobs or enter the market. Recruiters tell me that “Linux guys” take job offers from predominantly Microsoft shops, go through training and within an average of three months leave their employers hanging. That means having Linux credentials could work against you. Technologists with Linux on their resumes might find something akin to age or gender discrimination when they start applying for work.

    I have a tiny bit of experience with Open Solaris, and quite a bit more (although I’m still VERY MUCH your average Joe Linux user) experience with GNU/Linux systems, and I’ll be honest… Even though WinXP Pro/Win2k3/Vista are by far and beyond my platforms of choice, I LOVE both GNU/Linux and Open Solaris for a lot of REALLY SOLID reasons.

    With all of the blood, sweat, and tears that have gone into the development of these platforms and the good that both of these platforms bring to the world of computing, to see this kind of things sickens me.

    But unfortunately…

    It doesn’t surprise me.