April 2008 Archives

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft’s Sam Ramji posted a blog innocuously titled…

Managing Towards Open

Honestly, I might have passed over reading it except for the fact that I read this item over on Information Week first…

Microsoft Uses Open Source To Extend Systems Management To Linux

They’re doing this by taking Open Source (MIT License variety) code from the OpenPegasus project that describes itself as open-source implementationof the DMTF CIM and WBEM standards. This alphabet soup translates to: Distributed Management Task Force, Common Information Model, and Web-Based Enterprise Management.

In a recently posted blog fellow ONLamp blogger Noah Gift called it Microsoft Trojan Horse Part Duex: System Center Operations Manager 2007 Cross Platform Extensions and Connectors. I’m taking a more wait-and-see approach to it to see what comes of out this effort to interoperate in the enterprise environment. I am curious what the OpenPegasus project members think of this and whether or not they are directly involved in this effort.

Noah Gift

AddThis Social Bookmark Button

After reading a recent press release about System Center Operations Manager 2007 being able to “manage Unix/Linux”, the first thought that goes through my head is WTF? Who in their right mind would touch that product?

After thinking for a bit, I then realize this is the exact same corporate strategy Microsoft has pursued with Active Directory. Release a trojan horse into a corporation by making an inferior, arguably broken, operating system, Windows, that won’t work with anything else, or follow the same standards, and then release a steaming pile of bandages, duct tape, glue, and well…poo, and make everyone authenticate against it while charging an expensive licensing fee.

We have active bot nets that rival NASA in pure computing power due to boneheaded Operating System design, yet Corporate America should have Microsoft manage Unix and Linux. Ha, ha, ha, I am rolling on the floor laughing. For anyone has had the “pleasure” of dealing with Active Directory and the politics that goes on with that, I shudder to think of this product. May God have mercy on your souls.

References:

Botnet
Botnet pandemic

Post Script: This is a FACT, of the 600 million computers on the internet 100-150 of them have been a part of a botnet at one point. These are primarily Windows computers. This is a complete failure by Microsoft of Epic proportions.

“Operating systems like Microsoft Windows, meanwhile, still made it too easy for criminals to infiltrate them, the experts said.”

AddThis Social Bookmark Button

Well, this is nifty. A start-up named Kickfire has released a MySQL appliance. There is nothing “nifty” about a network appliance of course; that is, unless the appliance has specialized hardware and software to outperform a similarly configured in-house configured server.

And that is the point behind Kickfire.

They have designed a specialized processor for SQL servers and integrated this with MySQL using customized code. Apparently, the box screams.

I first read about this on Jason Perlow’s blog, and he goes into greater detail, including notes about how this may set a trend for appliance based SQL servers running PostgreSQL, Oracle, and even Microsoft SQL Server. MS-SQL on an appliance? Now that would really be nifty.

Todd Ogasawara

AddThis Social Bookmark Button

Bryan Kirschner (Microsoft Director of Platform Community in their Open Source Labs) talks about three groups of people in relation to their Open Source efforts in a blog entry titled…

Open Source Day + 30 …

His group 3 includes pretty much anyone at Microsoft whose primary job does not necessarily include Open Source but touches on it. I’m really concerned with the direction Microsoft’s virtualization effort is taking since Virtual Server 2005 R2 SP1 came out and the upcoming production release of Hyper-V. The Virtual Machines team appears to be ignoring everything except for Suse Linux. While that is a fine Linux distro, there are a bunch of other important distros too (especially the ones I use :-). Virtual PC 2007 and Virtual Server 2005 R2 SP1 both have problems with Red Hat Enterprise Linux versions starting with RHEL5 (this includes CentOS 5) and Ubuntu starting with version 7.


Supported Guest OS on Windows Server 2008 Hyper-V

I’ve been tracking the various workarounds that people have figured out for RHEL5, CentOS 5, Fedora 7 and 8, and Ubuntu 7 and 8. You can find my current collection of installation workarounds in the links below to my personal blog.

Red Hat 5/CentOS 5.1 and Microsoft Virtual Server 2005 R2 SP1

TechNet Blog: Fedora 8 on Virtual PC 2007

Ubuntu 8.04LTS vs. Microsoft Virtual PC 2007

I haven’t tried these distros with VMware ESX 3.x. However, none of them cause installation problems for VMware Workstation 6 for Windows, VMware Fusion for Mac, or Parallels Desktop for Mac. I really hope that the Microsoft Virtual Machine teams takes a hard look at their product direction and add support for the current versions of major Linux distros like RHEL5 and Ubuntu. Failure to do so simply makes it easier for people to move to VMware ESX and avoid buying Windows Server 2008 with Hyper-V.

Nitesh Dhanjani

AddThis Social Bookmark Button

The Cloud Computing buzz is everywhere. The concept of grid computing on the Internet to provide elasticity and virtualization of resources is quite appealing, and hence there has been a lot of academic brain-storming going on recently that has given rise to abstract ideas on how cloud computing is destined to change the way technology resources are deployed and used.

Amazon’s EC2 isn’t abstract - it’s real. And it’s very impressive.

Doug Hellmann

AddThis Social Bookmark Button

The functools module includes tools for wrapping functions and other callable objects.
Noah Gift

AddThis Social Bookmark Button

I am going to make an effort to solve classic computer science problems in Python on a regular basis, and blog about them. It seems like a good way to have some fun. This may be a regular blog series.

Because I am going to implement a Coin Changing Restful Web Service using Google App Engine for a presentation I am doing for PyAtl next month, I thought I would show three approaches that I could think of. In doing a google search for “Python Greedy Coin Change”, I didn’t find anyone that had written one and posted the code, so I figured I would make one easily googable. The full source code is here, along with unittests:

Python Greedy Coin Algorithm Source

Approach one was to just use conditional statements, which was pretty tedious to write. Approach two used a while loop and was much shorter. Approach three used recursion, which was also quite a bit shorter. My friend Toby beat me to the recursion solution, so I have to thank him for that one. It would be interesting to see how many other ways I could solve the problem, I think trying to use only functional programming could be a fun twist for example.

I put all three in a commandline tool which make it easier to run and test things out. A couple interesting things to point out about Greedy Coin Changer.

1. You need to get rid of decimals and only work with whole numbers. int(amount*100)
2. Divmod is a wonderful built in function that divides and returns the number and a remainder as a tuple.

Method 1: Conditional Statements


def make_change_conditional(self):
        """Greedy Coin Match with Conditional Statements

        Return both number of coins and remainder

        >>> c = Change(.71)
        >>> c.make_change_conditional()
        (2, 21, 2, 1, 0, 0, 1)
        >>>

        """

        quarter, qrem = divmod(self.convert,25)

        #initialize values
        dime, drem = 0,0
        nickel, nrem = 0,0
        penny = 0

        #if remainder is dime or higher
        if qrem >= 10:
            dime, drem = divmod(qrem,10)
            if drem >= 5:
                nickel, nrem = divmod(drem,5)
                if nrem >= 1:
                    penny = nrem
            elif drem < 5:
                    penny = drem

        #if remainder is nickel or higher
        elif qrem >= 5:
            nickel, nrem = divmod(qrem,5)
            if nrem >= 1:
                penny = nrem

        #if remainder is penny or higher
        elif qrem > 0:
            penny = qrem

        return quarter, qrem, dime, drem, nickel, nrem, penny

Method 2: While Loop


def while_loop_change(self):
        """Greedy Coin Match with While Loop

        >>> c = Change(.71)
        >>> c.while_loop_change()
        2 quarters
        2 dimes
        1 pennies

        """
        coin = self.coins.pop()
        num, rem  = divmod(self.convert, coin)
        self.printer(num,coin)
        while rem > 0:
            coin = self.coins.pop()
            num, rem = divmod(rem, coin)
            self.printer(num,coin)


Method 3: Recursion


def recursive_change(self, rem):
        """Greedy Coin Match with Recursion
        >>> c = Change(.71)
        >>> c.recursive_change(c.convert)
        2 quarters
        2 dimes
        1 pennies
        [1, 0, 2, 2]

        """
        if len(self.coins) == 0:
            return []
        coin = self.coins.pop()
        num, new_rem = divmod(rem, coin)
        self.printer(num,coin)
        return self.recursive_change(new_rem) + [num]

Feel free to point out corrections, or alternate solutions

Summary of Problem

Given an arbitrary amount of change, say 1.34, determine the correct amount of change to give using a greedy match, which uses the highest coins first. With US coins, 25,10, 5,1, greedy match will lead to the lowest coins possible.

References:
Google App Engine Version
Greedy Algorithm
Coin Changing Algorithm
Greedy Coins

AddThis Social Bookmark Button

So, Hyper-V is ready to be released with Windows 2008. More or less. Hyper-V is the “next generation” of virtualization for Microsoft and the Windows platform (at least as far as Microsoft sees it), and includes some enhancements of Virtual Server.

Technically, it doesn’t appear that Hyper-V is going to really frighten the current VM players like VMware and others, but there is an interesting trend that Hyper-V’s inclusion in Windows 2008 highlights: virtualization out-of-the-box.

As of Windows 2008, virtualization will be a “click and run” operation. Linux distributions are doing this as well. For example, Red Hat comes pre-packaged with Xen now and some management tools for Xen VMs.

Jeez, with the move toward application virtualization, server virtualization, and whatever virtualization, the whole argument of Windows vs. Linux or Windows vs. Anything just seems to be slowly fading away. At what point does Windows or Linux as the OS stop being a factor?

Todd Ogasawara

AddThis Social Bookmark Button

The US government’s GSA (General Services Administration) manages many billions of dollars of purchases and operations for government agencies. So, it was interesting to see this quote from the following article in GCN (Government Computer News)…

GSA makes the case for open source

While Coleman [the GSA’s CIO] saw many advantages to using open source software, she mentioned that, somewhat counter-intuitively, saving money may not be one of them.

“If you are looking at open source because of perceived cost benefits, you should know there is no guarantee it will be cheaper,” she said. “Open source does not mean free.”

It turns out that the GSA Open Source toolbox inclues JBoss, Bugzilla, JUnit, JMeter, and Eclipse. And, more importantly, the initial acquisition cost (free) is not necessarily the driving factor.

The article’s author makes the classic mistake of thinking Open Source software cannot be commercial software: Not having sunk costs in a commercial software program also means the agency can move to a new program more quickly should its needs change. So, we still have to educate mainstream journalists a bit more about Open Source. However, the main point is that more and more people understand that the value of Open Source software is not tied to the often (but not always) free procurement cost.

AddThis Social Bookmark Button

Okay, I’m confused. I just read a blog about using Microsoft Access as the database back-end for a website. I think. Well, heck, I’m not sure. Is she saying you should convert to a true client/server database model or you should use Access itself as the database back-end?

To be honest, I think there is little value in Microsoft Access outside of its insanely easy development front-end for programmers. That’s why Access is popular: It is very easy to create a database application from scratch using Access. Even with web programming languages such as PHP you have a steeper learning curve, especially since you need to setup Apache, PHP, and MySQL (well, those are usually running on a Linux server these days anyway, although that of course brings up an obvious security issue).

Matthew Russell

AddThis Social Bookmark Button

This column provides a lightweight demo of Dojo’s increasingly popular data grid and demonstrates it serving up a million records. The intent of this little demo is to demonstrate the basic pattern for putting the grid to work and save you from spending so much time trying to grok the source code.

Todd Ogasawara

AddThis Social Bookmark Button

It used to be a lot easier to understand the closed source and open source worlds in the old days. Microsoft, Sun, Oracle, and the like were closed source and wore black hats. The GNU/LAMP people were Open Source and wore white hats. This world was simple and clean. When I started looking beyond the source code and newsgroups in the early 2000s, I was surprised to see firms like Zope with a combination of Open and Closed Source products. I was a little confused by MySQL’s dual license. And, Red Hat threw me for a loop when they stopped providing free downloads after Red Hat 9 (this is before the Fedora Project emerged). JBoss’ professional Open Source idea seemed like a good idea me but seemed to be drawing some barbs now and then.

The Open Source community-industry has been undergoing a lot of growing pains over the past few years as it transforms from the community-contributer model to a full business model with employees, health plans, boards of directors and the like. Perhaps the Open Source business looked at Microsoft and figure their closed source model has made them a bit of money and that closed source is not that evil if it pays the biils. Personally, I was hoping that Open Source services (consulting, packaging, etc.) would be enough to keep FOSS firms afloat. But, at the moment, it looks like some closed sourcing for value added features is going to be the norm. The EnterpriseDB Postgres Plus effort looks similar to what MySQL is doing but seems to be mostly flying under the radar for the moment. And, as I mentioned, Zope has had this business model for years.

Having spent the 1990s working for a telephone company (good ol’ GTE) I watched a similar transformation in the Computer Telephony and VoIP industry. The Computer Telephony Expo in the early 1990s consisted of a bunch of engineers and startups showing their wares to potential customers (often phone companies like the one I worked for). There weren’t many marketing-critters in the midst. And, the only person wearing a suit and tie was usually Harry Newton (who coined the term Computer Telephony and organized the conference). By the end of the decade, the complexion of the conference had changed, I think the conference grew from 2,000 to something like 30,000 in the years that I attended. And, there were a lot more marketing critters and people in suits. In fact, I recall noting with some distaste that I had decided to wear a suit for the day I was a panel moderator there (it seemed like the right thing to do at the time). The Computer Telephony industry had grown during the decade to the point where people actually had to figure out how to make money and not just show cool IP comm gear. And, then, of course, there were the bigger companies buying the small cool ones. Intel, for example, bought Visual Voice (a very cool software firm) and Dialogic (a very cool hardware firm). Microsoft, Intel, and GTE co-sponsored the TAPI Bakeoff (an Interoperability event for vendors) for several years. As one of the event coordinators, I had a ringside seat to watch the development going on. Most of that technology is now invisible and is simply part of the infrastructure now. It is not something I actively think about unless something goes wrong (very rarely if you think about it).

I think we are seeing something very similar happening to Open Source. Sun’s purchase of MySQL has set off a lot of heated discussion as Sun and MySQL tries to find a business model that can simultaneously keep the Open Source community happy while building a revenue stream. They may have found a model, but it is not exactly making everyone happy quite yet. Personally, I am watching this all with some anxiety as I depend on MySQL for a lot of projects. In the meantime, we are seeing blog titles like:

Just announced: MySQL to launch new features only in MySQL Enterprise: So, in effect, they will be giving their paying customers real, true, untested code. How is this supposed to work? In addition, this means that they are changing their internal development model, splitting the relationship between the two trees, and overall going even further down the path of getting the RHEL/Fedora model backwards.

The whole story about online backup: The business reasoning behind the decision to reserve the native modules for paying customers is that only the most demanding users have an urgent need of this feature, and I can see the value of this assessment.

Thoughts on the Fuss: I doubt that this little scheme of charging for these features ever actually takes place. It is pretty much diametrically opposed to the what Sun says they want for MySQL. I think that by the time server version 6.0 is GA that every feature will be fully available for anyone. And that is why I have not taken the time to sharpen a pitchfork and join the mob. Because in the end I don’t think this will ever happen.

The Ingres Vultures Descend: In a despicable business practice, I received a message from a PR Firm representing Ingres. Now, I even wrote about the controversy that seems to have swept the open source community; but even my writings were not completely factually correct — I wrote that even if online backups were closed it was not necessarily the worst thing in the world. The actual parts of the online backup that are not open source and free are compression and encryption — that is all. (FYI: I received a similar email from Ingres but didn’t think it was despicable - just a PR firm doing its job).

The Closed-Open Source industries are in a state of extreme flux. And, it will probably take another decade to sort this all out along with web/mesh services, SaaS (Software as a Service), and service subscriptions. If the various blog reactions to various changes are any indication, it will probably be a bumpy ride. But, let’s hope it all works out for the best for all parties involved in the end.

Is closed sourcing inevitable? I sure hope not. But, we’ll see it play out one way or another over the next couple of years.

AddThis Social Bookmark Button

I promised to explore the theme of Free-loading Adoption of F/OSS in more detail. Alan Rimm-Kaufman’s Why Small Businesses Should Support Open Source is a great place to start:

It doesn’t matter if your donation is large or small. It doesn’t matter if you give money or code.

What does matter is this: if you’re benefiting from the Open Source Movement, try to give something back.

It makes good business sense. And it is the right thing to do.

Before I joined O’Reilly, I worked in a small consulting company. As I joined, the company was migrating away from proprietary platforms to open platforms. We saved a tremendous amount of money and gave our customers far better service. Being able to use, modify, and redistribute free software let us finish jobs we’d never have been able to do otherwise.

In return, we submitted bug reports. We occasionally submitted patches, both on and off the clock. We knew that we owed a great deal of our business to a healthy commons of free and open source software… and now I know that keeping that commons free, open, and healthy was vital to the business.

The owner of the company allowed the Portland Perl Mongers to meet in our offices once a month. He rented chairs for the meeting. Maybe it’s not a big thing, but it was a way to pay back part of one of the communities which had produced so much great software integral to our business.

You don’t have to hire a core developer. You don’t have to release your own (non-derivative) source code. You don’t have to donate money to a foundation, or host a conference or a meeting.

You don’t have to contribute back to the communities which produce software you rely on… but if you rely on it now, aren’t you interested in its healthy future as well?

Nitesh Dhanjani

AddThis Social Bookmark Button

insecuremaginterview.jpg

Issue 16 of [IN]Secure Magazine is available. Mirko Zorz interviewed me in this edition (Page 41). If you decide to read it, I’d be delighted to hear your thoughts and feedback. The magazine edition of the interview is much better looking and highly recommended (as are the other articles), but for the sake of convenience, the interview session is below.

Andy Oram

AddThis Social Bookmark Button

Four days ago, the FCC held a widely publicized hearing at Stanford about bandwidth regulation on the Internet. In my summary analysis and background explanation of an earlier hearing at Harvard, I referred to the oft-criticized Brett Glass, whose experience running a rural wireless ISP radiates a different perspective from all other commentators. Glass got to speak at the Standford hearing, and his brief remarks offer a readable explanation of a key technical issue–the effects of file-sharing on bandwidth–as well as an appreciation for the worries on all sides.

Small ISPs such as Glass’s (and yes, they do exist, even today) have none of the incentives that network neutrality advocates attribute to major carriers to discriminate against voice, video, or other content. In fact according to Glass, new applications such as VoIP are great because they provide new business. “This week we hooked up a VoIP company which was dissatisfied with the quality of service it was getting from the incumbent in our area. We deployed a low-latency, high-bandwidth radio link just for them, at a cost (parts and labor) of about $1,000. We can justify the cost because we will be paid for the service. It’s cost-shifting without compensation that’s the big issue for all ISPs–large and small.”

Glass has a stake at least as precarious in the current Internet economy as the media companies using peer-to-peer transmission as part of their business plans. Laws or regulations that fail to take economics into account, in his view, could put small ISPs out of business. He defends his position fiercely, and gets plenty of flak in return. I consider Glass a friend and have even planned to tap him as an author on some projects. So I want his view heard as a balance to the “just throw more bandwidth at it” proposals.

That said, I wonder whether the problem is really peer-to-peer protocols, which Glass focuses on, or high-volume media such as video. What architecture could handle the video experiences Internet users want. Compression can achieve impressive quality at reasonable bandwidth, but the sheer volume of everybody sharing the network stresses current transmission systems.

AddThis Social Bookmark Button

I was recently doing a somewhat random Google and found a note from someone about whether there is a “market for LAMP consulting”. Ha. Perhaps. The whole Linux thing may just be ready to get off the ground. ;)

Seriously though, I do wonder about this comment: “may be some market for MySQL work - optimizing adn [sic] so on”. Hmm. I know for a fact that there IS a market for MS-SQL specific consulting, e.g., performance tuning, security, installation, etc. However, I rarely see a need specifically for MySQL consulting. Generally, “MySQL” is thrown in with the overall need for a PHP developer.

Not that this should be the case.

A database administrator is a very important role in any organization, but it seems like MySQL administration is often bundled in with the software development. That’s not so typical with MS-SQL, Oracle, and DB2 work though.

To me, this ties back into the original roots of MySQL and its popularity: LAMP. LAMP breaks out into “Linux Apache MySQL PHP”, and is the development platform of choice for many people and organizations.

But is this limiting the growth of the “MySQL profession” in some ways?

AddThis Social Bookmark Button

Matt Asay kicked up a small controversy in MySQL adoption: Deep and wide when he wrote:

Now the only thing missing in that conversation is the enterprise stepping up to pay for some or all of its free-loading adoption of MySQL. This is what is prompting MySQL to consider new licensing models. It would be very easily resolved by enterprises for owning up to and paying for the value they derive from open source, very little of which comes down to a lower price tag.

I’d like to extend that to projects beyond MySQL and to a definition of “contribution” far beyond opening a checkbook. Here’s my thesis: if your organization derives some benefit from a community-driven software project, you have a moral obligation to contribute to the health of that community in some way.

I’ll write more about this tomorrow.

AddThis Social Bookmark Button

Recently, we were working to bring up a VMware installation for a client of Puryear IT and we hit a snag. To provide some background first though: We had decided to go with a GigE NAS based environment rather than a more traditional SAN. We had seen Dell’s NF500 in use already and were pleased with it overall, so we went with the NF500 with RAID-10 on a GigE switch and, of course, GigE on the Dell servers running VMware.

Great, right?

Alas, not so much. During our benchmarking, we found that the NFS performance on the NF500 across the GigE was pretty bad. This goes for every variation, including NFS over UDP and TCP, v2 and v3, rsize and wsize of everything from 4kb to 32kb, and so forth. Yes, we tried every performance tweak in the book, but just could not get the Linux servers to get good NFS performance against the NF500. Well, the performance is good enough if you were using the NAS as only a file server, but not if you want to run VMs off it.

That said, there is no real reason why you can’t or shouldn’t run VMs off a GigE network and a really fast NAS. It’s more than sufficient. Unfortunately, we didn’t have the hours to troubleshoot whether there was something going on with the Linux NFS implementation or the NF500, but we still had to get the problem solved.

Fortunately, we did find a solution that not only worked, but worked well: CIFS.

Everybody knows and loves CIFS. (Well, everybody at least knows CIFS. Oh, and hello Samba.) It’s just Windows Networking. Generally, we use NFS within Linux and UNIX networks where we can tighten down security enough on the network to make it reasonably safe to use (NFS is not, and has never been, a secure protocol.) But I am quite familiar with CIFS and was curious if using it would clear the problem up. And yes it did.

I found that mounting the VM shares off the NAS on the local Linux VMware servers let us transfer at near-wire speed. We were then able to run our VMs off the NAS; we have yet to see any performance issue or bug, and the whole thing just works like a champ.

Very interesting.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft’s Chief Software Architect Ray Ozzie (Bill Gates was their first CSA) delivered one of two keynotes at the Microsoft MVP Summit I attended last week. I was debating whether or not to get in line at one of the microphones during the Q&A session to ask him about Microsoft and Open Source. But, someone else decided much faster and was able to make a good statement and ask a good question. The entire transcript of Ozzie’s presentation and Q&A session can be found at…

Ray Ozzie: Microsoft 2008 Most Valuable Professional Global Summit

Here’s the section from that transcript regarding Open Source…

QUESTION: I have a question about the software as a service space that’s currently existing. If we look out at the Web now with all the providers and vendors, we see Open Source playing a very strong role with a large number of vendors, and it’s very different from the Microsoft platform what role Open Source plays as opposed to the other platforms. In fact, Java is Open Source now.

So, my question is, with the Microsoft vision, where do you see Open Source playing a part on the Microsoft platform, and what is your position towards it?

RAY OZZIE: Well, my position toward Open Source generally is that it’s a part of the environment. It’s very useful for developers to be able to get the source code to certain things, to modify them.

Microsoft fundamentally as a whole has changed dramatically as a result of Open Source in terms of as people have been using it more and more, the nature of interoperability between our systems and other systems has increased. And I can tell you from an inside perspective in terms of dealing with individuals inside, when you build a new product, immediately you start thinking of how shall this product expose its APIs, what type of developer is it serving, should there be SOAP or Web Services APIs, because it will be being used in system integration context within an enterprise, are the people who are going to be integrating with it going to be more of the Web community and should they exposed through REST-based technologies, should the results come back in XML or JSON or some other formats based on the type of consumer of the thing.

Open Source is a reality. We have a software business that is based on proprietary software. We tactically or strategically, depending on how you look at it, will take certain aspects of what we do, and we’ll Open Source them where we believe there is a real benefit to the community and to the nature of the growth of that technology in Open Sourcing it. The .NET Framework is a good example of it, and we’re working with Novell to make model work so that people don’t have to make this choice if they do want to do something with a Linux or UNIX back-end, and so that we can share tools and technologies.

But the bottom line is we believe very much in the quality of Microsoft products. We are an IP-based business. But we live in a world together with Open Source, and we have to make it possible for you to build solutions and for customers to build solutions that incorporate aspects of both.

Doug Hellmann

AddThis Social Bookmark Button

Compare files and directories easily with the filecmp module.

AddThis Social Bookmark Button

Parrot hacker Jerry Gay released Parrot 0.6.1 on Tuesday. Parrot is a virtual machine designed to run dynamic languages efficiently, to allow them to interoperate in the same process, and to provide great compiler tools for building and modifying these languages.

This release is interesting for a couple of reasons. First, the Lua and Perl 6 implementations continue to receive lots of attention. In particular, Rakudo (Perl 6 on Parrot) gets new features every week. This release includes basic IO, object delegation, basic multi-dispatch, and more. Second, we found some optimizations that speed up Rakudo (and almost every part of Parrot’s OO) by around 40%. That’s more features, faster, with less code and fewer bugs. What more could you want? (Oh yes, and parallel building works, so it even builds faster.)

The next release will be 20 May. I’m not sure what to expect yet, but we’ll probably have localization for error messages, hopefully some compiler improvements, and possibly even more speed improvements.

Todd Ogasawara

AddThis Social Bookmark Button

Some of the articles and blogs about Sun/MySQL’s growing Open/Closed Source forking has been pretty dramatic. ZDNet’s is one example…

Did Sun just my MySQL Closed Source?

MySQL was moving down this path by splitting features available in their Community and Enterprise editions long before Sun announced it was buying MySQL. So, I’m not placing the blame (if that is what it should be called) on Sun. I think it is just the reality of trying to stay in business in the Open Source world. It is tough to make money from a free product - even a great one like MySQL. If the model of selling services does not justify something like a billion dollar price tag, what then? For MySQL and Sun, the answer is to provide more value-added features for a price and closing the source.

Am I happy about this? Not hardly! But, I saw this coming and have been preparing for it. I’ve been looking at PostgreSQL since the day Sun announced buying MySQL. And, recently, it was pointed out to me that Ingres (which I used back in the 1980s) is now an Open Source product. I’m not going to suddenly stop using MySQL or recommend that people switch away from it. But, I think it is prudent to take a look at alternatives.

MySQL related blog entries at Microsoft Port 25

Todd Ogasawara

AddThis Social Bookmark Button

If you work with Microsoft adCenter to generate ads, you might find it interesting to read the PHP code samples collected in this blog entry by Walter Poupore.

Recommended Reading — php and Ad Groups

The code samples available there cover the topics listed below:

How to Check the Status of an Ad Group in PHP (V5)
How to Submit an Ad Group for Approval in PHP (V5)
How to Create Keywords in PHP (V5)
How to Create Ads in PHP (V5)
How to Create Ad Groups in PHP (V5)

For more PHP-Microsoft Windows related interop, here are the Port 25 blog items with a PHP tag.

Port 25 - PHP

Nitesh Dhanjani

AddThis Social Bookmark Button

There’s been some recent chatter and speculation on the upcoming enhancement to the PCI standard. Among the discussions, I’d like to publicize my opinion on one argument I’ve heard multiple times during the last few days. The argument goes something like this: The cost of performing security code reviews is too high, but the cost of performing black box reviews and/or implementing web application firewalls is lower. Therefore, the solution is to recommend that organizations rely on penetration assessments and/or web application firewalls.

AddThis Social Bookmark Button

Remember Andy Lester’s rant about Can’t You Just…?. There aren’t often easy answers in any field.

I really like what Chris Cummer had to say in a comment on “All I Need is a Programmer”:

Every time you use “just” to describe a feature or a process it tells me you’ve made a gross assumption about what I’ll need to do.

(Of particular amusement is when non-contributors tell volunteers what to do in free software projects.)

Noah Gift

AddThis Social Bookmark Button

Jeremy and I are turning in the final draft of our book on “Python for Unix and Linux Systems Administration” on Monday, April 16th. But, if you are a sysadmin and have a really tricky problem you need solved shoot us an email ASAP and there is a chance we will solve it for you. Yes, this is free consulting, but you have to act very quickly!

Some examples could be:

1. Need to process 3TB’s of data everyday.
2. Need a solution to manage virtual hosting.

Tell us the specifics and we will do our best to tackle it as one of our case studies.

Andy Oram

AddThis Social Bookmark Button

A conference attendance that tops 2000 suggests that a technology involves a certain number of subtle angles. MySQL became a hit because installing it and manipulating tables were so simple–and yet when you get serious, the simple things start growing hair.

AddThis Social Bookmark Button

I was reading a quick run-through of memcached and it occurred to me how absolutely simple and SIMPLISTIC memcached is. Really, it’s absolutely.. basic. Oh, but wait, what is memcached? memcached is really nothing more than a cache service for accessing data. Its origins are as a cache service for the RDBMS used by Facebook. Anyway, memcached is nothing more than a hash table in memory that is used to cache query results. That’s it.

“So what?” you ask.

Well, memcached is actually a pretty big deal. It’s used all over now. And if you monitor places In The Know, like the High Scalability blog, you’ll notice a trend: A lot of people use it or plan on using it Real Soon Now.

memcached was written to serve one basic role: cache database request. It wasn’t written to provide a massively redundant service. Or to distribute load across memcached nodes. Or to provide a secure proxy to a database service. It just takes a query and returns whatever is in the cache. And this is done using a simple hash, meaning that at its core memcached uses a set of algorithms that you’ll find on every second year Computer Science exam in college.

What I find so fascinating is that yet again we see a very simple but hugely effective service developed in the UNIX world. Why aren’t these things happening for Windows? With Microsoft’s forays into HPC, you would hope that people both in research and business would start fleshing out these genius little nuggets on the Windows platform, but I haven’t seen this happen yet. So, what’s the hold up?

Todd Ogasawara

AddThis Social Bookmark Button

IronRubyMeetup.jpg
I’m attending the Microsoft MVP (Most Valuable Professional) Global Summit in Seattle this week (I’m a Windows Mobile - Mobile Devices MVP). IronRuby was not on the Open Spaces meeting agenda this afternoon, so John Lam staged an impromptu meetup for people interested in talking about IronRuby. John is 4th from the right in the photo. And Jimmy Schementi (Program Manager - Dynamic Language Runtime) is 2nd from the left.

I found the nearly two hour long session very interesting even though, as I explained to John and Jimmy, I’m one of the people too lazy to build IronRuby from source (I compile nearly everything from source for Linux but nothing for Windows) and am waiting for the installable binaries.

John will talk about IronRuby on Rails at the upcoming RubyConf.

Port 25 — Blog entries tagged with Ruby

Todd Ogasawara

AddThis Social Bookmark Button

I often refer to blog entries over on the Microsoft Port 25 site. if you are interested in Open Source interoperability with Microsoft products, you definitely need to follow some of their product teams as much as you follow Open Source product information. Here’s a MSDN blog post by Tadd E. Dawson that collects and lists what looks like every Microsoft product team blog in existence.

Microsoft Product Team Blog Directory

AddThis Social Bookmark Button

If you look at the CPAN test reports for Parrot, you’ll see that the pernicious and persistent problems relate to odd bits of not-quite-always-cross-platform math, specifically floating point numbers and not-a-numbers.

It’s reasonably easy to find and read the C89 and POSIX specifications. They’re well-published. Even if there are confusing parts and contradictions, you can look for them and find the specifications.

Now try to find current information about how various operating systems and the various compilers and major versions and minor versions and libc versions in all of those combinations interact. In short, if I want to figure out exactly what OpenBSD does in its C library in its standard configuration to return a negative floating point 0.0 (or not, as the case may be), where do I go, what do I read, who do I talk to, and — most importantly — how do I change the software I work on to deal with those platform-specific quirks such that the users of my software don’t even have to know that these quirks exist? Ditto GNU/Linux, Cygwin, FreeBSD, Mac OS X, et cetera.

I know that knowledge exists somewhere. Perl 5’s core encodes it somewhere. I suspect the same is true of Python and Emacs and Guile and Glib and kde-base or related projects. Yet the knowledge in code is only useful in two ways. First, in projects that use the code directly and only need to trust that it does the right thing. Second, if other people read the code.

There ought to be a third option: encapsulating that knowledge outside of code somewhere. Maybe this specific case is documented and I just can’t find it. The same goes for alignment concerns (64-bit Intel/AMD, PA-Risc, Sparc, ARM), pointer sizes, and other information.

Does this information exist in one or two good places, or does everyone have to track it down on his or her own? Worse, does everyone just hope these problems never come up?

Doug Hellmann

AddThis Social Bookmark Button

Handle Unix-style filename comparison with the fnmatch module.
brian d foy

AddThis Social Bookmark Button

Mastering Perl tutorial at OSCON
Curtis Poe

AddThis Social Bookmark Button

Vim is incredibly powerful, but it has the downside of a steep learning curve. Once that is surmounted, however, it’s easy to do a lot of powerful tricks with it. Many of these are things that one sees in full-blown IDEs. My setup provides auto-completion, test suite management, build management, source control integration and a variety of other useful tricks. One of the things that I really appreciate about vim is its handy filtering ability, but most vim developers don’t seem to be aware of it. I’ll explain one way of using it, with a primitive java2perl filter.

Noah Gift

AddThis Social Bookmark Button

I have cut things down to the essentials as I finish up the book I am working on

AddThis Social Bookmark Button

Not exactly “new” news but there is a reasonable article by Gary Morgenthaler at Business Week about Apple and Microsoft. Definitely well worth the read. Gary discusses how Apple is developing a multi-pronged strategy to battle Microsoft. In all honesty, the strategy has very clear for a while:

1. Use bottom-up marketing by targeting consumers to increase mind- and market-share.
2. Focus on ease-of-use, which has always been a foundation for Apple.
3. Keep their presence known in the enterprise, but don’t focus on it.
4. Be the cool company.

I think we can all agree the strategy is working. Apple is becoming a bigger player every day, and *gasp* they do seem to be slowly making some headway in the enterprise, albeit extremely slowly (at least in my experience).

There’s a question that comes out of this success however: How does this impact the open platforms like Linux and FreeBSD? Well, a lot actually. Linux maintains a strong but shared leadership position in the data center, but has yet to have even moderate success on the desktop. Certainly you can find stories of large Linux desktop roll-outs here and there, but when viewed in light of the total desktops in use and those being deployed now or even in the future, the number is almost dismissively small.

Just as importantly, if you ask your average consumer or enterprise desktop user about Linux they will either have no idea what you are talking about or ask you why they would put the mail server on their desk.

That’s not the case with Apple. Everyone knows Apple. And most people have a very positive impression of Apple computers, although Apple is often avoided due to cost and compatibility (whether that remains a valid reason or not). But Apple on the enterprise desktop? That’s another ballgame altogether. The “cost” side of the equation goes away for the user and the compatibility issue is slowly fading with virtualization, published applications and terminal services, and web-based access. So what DOES happen if you put an Apple on someone’s desk? They’ll probably play with the computer for hours and tell their friends how snazzy it looks. And then they’ll start working.

Microsoft does indeed have a very serious problem here.

AddThis Social Bookmark Button

Didn’t get one of the 10,000 golden tickets in special Google-brand chocolate bars? Python isn’t your favorite language? Not sure about hosting your code and data with the world’s largest ad broker? Never fear — Google’s not the only supercomputing grid in the world. It may not even be the largest.

Computerworld reports that the top botnets control over a million computers and can deliver over a hundred billion advertisements per day. MapReduce and AdWords have nothing on this.

Yes, the deployment platform is mostly Windows, and you don’t exactly have professional system administrators in charge of every whim and need of the machines, but you do have root access, and there’s little chance the box owners will suddenly yank your code and data if your business model conflicts with theirs. Google’s offering has a ways to go if it wants to compete.

Matthew Russell

AddThis Social Bookmark Button

The last column introduced some of Dojo’s AJAX machinery where we fetched content from a server using the dojo.xhrGet function. One thing that wasn’t mentioned, however, is that there is an underlying abstraction called a Deferred at play. Since the entire Dojo I/O subsystem uses this abstraction, it’s important to understand exactly what it buys you.

AddThis Social Bookmark Button

If you’ve never used multiple dispatch, you’re in for a treat. We’ve had it working in Parrot for years, but Jonathan Worthington just added the basics of MMD support to Rakudo (Rakudo is an implementation of Perl 6).

Why do you want multiple dispatch? Here’s a clever little example:

class Thing             {}
class Rock     is Thing {}
class Paper    is Thing {}
class Scissors is Thing {}

multi sub defeats(Thing    $t1, Thing    $t2) { 0 };
multi sub defeats(Paper    $t1, Rock     $t2) { 1 };
multi sub defeats(Rock     $t1, Scissors $t2) { 1 };
multi sub defeats(Scissors $t1, Paper    $t2) { 1 };

my $paper = Paper.new;
my $rock  = Rock.new;

say defeats($paper, $rock);
say defeats($rock, $paper);

Download the new Parrot release next Tuesday, 15 April 2008, then type:

$ perl Configure.pl
$ make
$ make perl6

… and you too can play with this in your own code.

Update: Note that multiple dispatch is different from static signature-based overloading and pattern matching in that multiple dispatch works correctly even when you don’t know the specific types of the invocants at compile time. Imagine that I threw a rand() call in there, for example.

Todd Ogasawara

AddThis Social Bookmark Button

I just read in Matt Asay’s CNET blog that Microsoft Open Source Lab Director Sam Ramji has been promoted to lead Microsoft’s entire Open Source/Linux efforts.

Microsoft gets a new open-source chief

You can find Sam’s Port 25 blog items here…

Sam Ramji - Port 25

AddThis Social Bookmark Button

Benjamin Otte’s Open Source will scale brings up an interesting point.

If currently 1% of the world uses GNOME and it suddenly were 100x as many, we’d be at 40 million bugs right now.

The persistent lie that increased usage guarantees hordes of available volunteers descending from heaven to wipe out all signs of resistence (accompanied by the appropriate Wagnerian soundtrack) is one of the most pernicious Myths Open Source Developers Tell Ourselves.

Though Benjamin finds hope in the fact that users tend not to report bugs (and distributions don’t work well enough with upstream), the entire scenario still bothers me. I don’t mind fixing an interesting segfault now and then, and I’m always happy to fix a well-reported bug with a test case and a sensible description which helps me reproduce the problem. Yet I don’t scale, especially for projects where I can devote only a few hours a week.

That’s not a few hours every week, either.

Bug reporting, bug triaging, and bug fixing are all activities present in healthy project communities. In return for the freedom of using great software (often at low or no cost) with no usage restrictions and few (if any) distribution restrictions, users have the responsibility of ensuring the community’s long-term health. That may mean submitting a bug report, testing a development version, posting a bug bounty, producing a patch, or even sponsoring a developer. Otherwise, you’re relying on the goodwill of volunteers who’ve already more than paid their obligations to you — and I’m concerned about the long-term sustainability of that model.

Sometimes I wonder of the dual-licensing model is actually healthier in some ways. At least there the costs are explicit and fungible.

Noah Gift

AddThis Social Bookmark Button

Last night I went to my first Open Solaris User Group meeting. It was located at the Sun Office in Alpharetta, Georgia, and I learned quite a bit about the new roadmap for Solaris. The new roadmap at first glance, seems to incorporate many aspects of open source development combined with an enterprise Unix mindset.

Just like Ubuntu, there will be 6 month releases of Open Solaris, and 18 months of support. The new distribution in May will be released on one CD, just like Ubuntu. In addition, like Fedora and Red Hat, the community releases will eventually make their way into the actual enterprise Solaris release. One very interesting fact about SUN is that they will be the only vendor in the Unix/Linux Operating System game that makes hardware and participates in this new Open Source development model of frequent releases with support. This does appear to give them some sort of an advantage in making a stable enterprise Operating System.

On the virtualization front, Sun has quite a few buns in the oven. They have a partnership with Microsoft such that the hypervisor for each respective server will run the other’s guest OS. They have this new LDOM technology, which I have gotten to play, and can vouch is very cool! They also have a new upcoming x86 virtualization product coming out as well.

One of the other reasons I attended the meeting was inquire about the use of Python in Open Solaris. One use of Python is in their package management system, or pkg, in Open Solaris. Apparently, the packaging spec is still underway and in active development to some degree. If you are interested in contributing you can follow the link.

In a final note, when I mentioned the book Jeremy and I were writing, “Python For Unix and Linux Systems Administration”, one comment was, why another language? It is a very good point that I would love to hear a response to from other Python developers. I can think of a few responses to that question, especially as it pertains to Perl and Bash, but I would be curious what other people would say in response to the question of, “I already know Perl and Bash, and maybe C and Java too, why should I learn Python?”.

Noah Gift

AddThis Social Bookmark Button

Just an FYI, the video podcast series, “Spotlight on FOSS” is scheduled to air in exactly one week from today from what I hear. We have a background article in which we explain some of the “fun” of arranging an interview over the internet and talk a bit about Python use at Canonical as well. The shortened show we produced is about 7 minutes, but at some point we may release a longer 20 minute version. This video would have been released much sooner, but Jeremy Jones and I have been pretty busy with getting our book on, “Python for Unix and Linux Systems Administration” done by April 18th, and it took a bit to get everything through the proper channels etc.

Our guest is Mark Shuttleworth, yes, that Mark Shuttleworth, and it is a powerful interview. We also cover Ubuntu with a quick screencast of some of the highlights of the OS.


AddThis Social Bookmark Button

Has anyone read Putting Our Own House In Order? I thought this little quip was funny: “Tony’s background is in academia, a place where Microsoft has had some challenges.” (Queue the old graphic of a million students sitting in class with Macs.) Okay, pretty accurate really. When I was going to LSU ages ago it was cool even back then to have a Mac instead of a PC for a laptop.

Mind you, when I went to LSU my first assembly class was on an IBM 3-something-another and I remember learning that there was no stack for us to use. We had to do all kinds of weird things. I had already learned PC x86 assembly by then (anyone remember coding or watching intros or demos in high school?), and so I thought the IBM assembly was pretty sucky. Still, I did learn a lot. ANYWAY.

The basic premise of the blog about Microsoft is that they have made some strides, but have quite a ways to go. I think the discussion about Microsoft and academia is pretty on point. Most universities basically give Microsoft Office away (by “give away”, I guess I should say “license thousands of copies on your behalf”), but that’s not the point being made. The issue is: Is Microsoft making any headway in being a real power in the academic side of universities, not the business side?

Even back in my day, you could go to a “Windows lab” and work with Visual Studio or go to a “UNIX lab” and use vi and gcc. And you know what? All the fun was in the UNIX lab? And not just for me. There was just a difference in the attitudes and ethic across the two lab environments. People in the Windows lab were trying to get their project in before it was 11:59 PM, while people in the UNIX lab were goofing off, playing with code, and… trying to get their project in before it was 11:59 PM.

What is it about UNIX, vi, emacs, gcc, perl, and INSERT-HERE that makes it fun to play with, while Visual Studio just makes you want to… well, work?

There’s an argument here that the point of coding is work but *cough cough*, no, I don’t think so. Most of the innovations in software are from people that tweak, fiddle, and play with concepts, code, and ways of doing things. And THAT is the essence of academia: The freedom to play and learn and make progress.

Licensing is a big factor here. But there’s something else, and I can’t quite put my finger on it. I think Microsoft is trying to figure out the same thing.

AddThis Social Bookmark Button

So, I’ve been MIA for almost two weeks now. I’m sure you were pretty worried and possibly even losing sleep. But, it’s okay. I’m fine and back. For now. But what happened?

Well, the whole “SSO” happened.

O’Reilly uses Single Sign-On (SSO) within its network between certain applications (apparently), and something wonky happened with my blogging account that prevented me from properly signing in. I don’t have all the details, but I do know that while logging into the “O’Reilly SSO Site” works, that I can’t then access the blog manager because I’m again prompted to login. Which fails.

So much for SSO.

But let’s not be too critical on O’Reilly here. Sure, it’s annoying, but it happens. Everywhere.

Why is SSO such a pain? When I work with clients on Identity and Access Management (IAM), the first acronym they usually bring up is SSO. And then I warn them that achieving true SSO is usually a long and difficult journey, and that you need to start small. Usually real small.

Typically, I see SSO develop over time using a progression such as:

  1. Implement a single username/password system for core services such as logins to servers. No SSO, but you do have Centralized Sign-On (CSO).
  2. Implement some type of identity management on top of the directory containing your single username/password.
  3. Begin thinking about SSO.
  4. The problem with SSO is that until you at least have a handle on where your username and password is STORED, you can’t get very far with it. And most people don’t have a handle on that.

    So stay focused!

Noah Gift

AddThis Social Bookmark Button

It is slightly old news to some that Google has gotten into providing Cloud Computing.

The interesting part to Python Developers is that the runtime environment uses Python. All I can say, is way to go Guido!

If you want to see a real application using this cloud check out Huddle Chat.

At PyAtl the May meeting is dedicated to talking about Cloud Computing with Python, so if you are in the Atlanta area I hope you can make it. In addition, PyAtl, and some other people in the WSGI community are holding a WSGI Sprint this summer, where we are going to be developing with Cloud Computing and WSGI! If you are business in the Atlanta area and would like to get involved in sponsoring or contributing please contact me.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft released another 14,000 pages of protocol documentation for Microsoft Office, Office Server, and Exchange Server (2007 versions). This brings the total documentation pages released up to 44,000 (and, no, I have not actually counted this to verify it :-). The documentation is in what they call preliminary form. I’m not quite sure what that means (not fact checked? incomplete?).

You can find their general principles statement at…

Interoperability Principles - Open Connections, Standards Support, Data Portability

The key line/point to note and ponder is:

5. Open Source Compatibility. Microsoft will covenant not to sue open source developers for development and non-commercial distribution of implementations of these Open Protocols.

The MSDN (Microsoft Developer Network) protocols documentation is found at…

MSDN: Open Protocol Specifications

Todd Ogasawara

AddThis Social Bookmark Button

Jonathan Walz and Hal Rottenberg posted the second part of their interview with PowerShell architect Jeffery Snover on their PowerScripting Podcast. At one point Snover makes says “I’d like to Open Source almost everything” (at 22:14) in response to a question about open sourcing the PowerShell GUI host. He does backtrack a bit and restates it as “Shared Source.” But, still, the thought is there :-)

If you are interested in learning more about PowerShell, you can find the Windows PowerShell Getting Started Guide on the Microsoft TechNet site.

Noah Gift

AddThis Social Bookmark Button

If you work in an media industry you might often have a problem of a common directory in which duplicate files get placed constantly. The duplicate files could be fonts, mp3 files, quicktime files, or whatever. One thing you could do is run a tool I wrote liten in a script via supervisor.

I recently added config file support, so you could setup an appropriate config file for liten, and then include it in another script with a sleep command:


#!/usr/bin/env/python
import time
from subprocess import call

time.sleep(3600)
call("liten.py --config=myconfig.ini", shell=True)

Tell supervisor to auto-restart this process and then you will have the duplicates cleaned out of that common directory every hour. This is a piece of cake with Supervisor and if you use it in this manner it can act as a more intelligent cron. Consult the manual for more details.

There is also an OS X Leopard Package for Liten available.

Noah Gift

AddThis Social Bookmark Button

If you like music then give PandoraBoy a try.

Doug Hellmann

AddThis Social Bookmark Button

The operator module contains functions that perform the same operations as man of the built-in operators.

AddThis Social Bookmark Button

At the 10 year anniversary of Mozilla’s rebirth as a F/OSS project, Brendan Eich offered a short history of the development of JavaScript. In particular:

The big debate inside Netscape therefore became “why two languages? why not just Java?” The answer was that two languages were required to serve the two mostly-disjoint audiences in the programming ziggurat who most deserved dedicated programming languages: the component authors, who wrote in C++ or (we hoped) Java; and the “scripters”, amateur or pro, who would write code directly embedded in HTML.

Whether any existing language could be used, instead of inventing a new one, was also not something I decided. The diktat from upper engineering management was that the language must “look like Java”. That ruled out Perl, Python, and Tcl, along with Scheme. Later, in 1996, John Ousterhout came by to pitch Tk and lament the missed opportunity for Tcl.

Of greater interest may be Brendan’s thoughts about code sharing and canonical URLs for the millions of identical bundles of JavaScript shuttled across the Internet every second.

James Turner

AddThis Social Bookmark Button

Sometimes it may seem like a well-kept secret, but ONLamp has (and has had for just about a year) a comic strip that has run once a week, The Watering Hole. I’m happy to announce that as of this week, we’ve shifted from one strip a week on Tuesdays, to two strips a week on Tuesdays and Thursdays. This means twice the geeky humor per unit time!

If you haven’t see the strip, it’s the exciting adventures of the animals who grace the covers of the O’Reilly books. In the past year, they’ve gotten lost in the desert due to a sabotaged GPS, handled incursions by the RIAA and a patent troll, and much more. You can think of it as User Friendly with animals, or Bambi with computers.

Todd Ogasawara

AddThis Social Bookmark Button

In a recent blog item here titled Linux ext2 recovery, NTFS, and Ghost my Inside Port 25 blogging colleague Dustin Puryear mentioned Chris Traver’s great technical analysis note…

Recovering Data from Windows Systems by Using Linux

I thought it might be useful to highlight just a few of the points Chris brings up in his paper…

- Using sfdisk instead of fdisk
- Using dd (this may seem trivial to old time *NIX users, but most Windows users have never heard of dd)
- Linux NTFS support and issues
- The Coroner’s Toolkit (TCT)

Click on the note’s title above. It will take you to Jamie Cannon’s blog item announcing the paper and provides a link to download the PDF document file.

Andy Oram

AddThis Social Bookmark Button

I’m at a unique symposium this week named Codework, which I do not dare to describe because it has barely begun. I can only say that snagging Ted Nelson to deliver the opening talk was not only a great motivation for attendance but an exquisitely appropriate historical marker for the workshop, which bills itself as “Exploring relations between creative writing practices and software engineering.” Nelson, of course, is one of the first people to recognize the benefits literature and computing could offer each other.

Readers have plenty of ways to learn about Nelson’s famous Xanadu and his more recent project Zigzag, one of the best ways being to hear him speak as we did in a full hall last night. Thanks to the World Wide Web that Nelson perennially maligns, he is much more famous than he otherwise would be, and also has much more opportunity to spread his views. But here I’ll just jot down a few observations I haven’t seen others offer about Nelson’s ideas, and that aren’t immediately obvious from his talks, fascinating and well-argued as they are.

AddThis Social Bookmark Button

Adobe has released a beta of AIR for Linux. Good news, everyone with a 64-bit processor, or PPC, or Sparc, or ARM, or anything more exotic than 32-bit x86. AIR for Linux Release Notes say that all you need is:

Processor - Modern processor (800MHz or faster)

Finally, web applications have freed us from the tyranny of worrying about such difficult issues as endianness, alignment, and struct padding!

Andrew Kutz

AddThis Social Bookmark Button

(Sorry “by the end of the day” turned into four days. I was in rural Pennsylvania with no Internet!)

In 2006 I was taking a look at the then unreleased XenSource XenServer 3.0. The server was running on a Dell laptop on a filing cabinet next to my desk where the XenServer management interface was open on my desktop. My wife walked into our office, looked over my shoulder, and while pointing to the monitor on my desk asked, “Is that the Xen thing you said you were going to be reviewing?” I responded that the laptop next to me was running Xen, and that she was just looking at the management software.

The fact of the matter is that to most people, the software that manages virtualization *is* virtualization — a fact that may save companies like VMware. See, the virtualization management interface is the most public facing component of the virtualization ecosystem, and two crucial parts of this ecosystem are quickly becoming commoditized: the hypervisor and the virtual machine (VM). The entire virtualization ecosystem is being redefined, and in a few years the companies that wish thrive in this market will need to focus on an entirely different set of technologies than they like to tout now.

This blog briefly discusses the commoditization of the different parts of the virtualization ecosystem and what areas companies like VMware will need to pay attention to in order to survive software giants like Microsoft and open source alternatives such as Xen and KVM.

Todd Ogasawara

AddThis Social Bookmark Button

microssoftosiapril1.gif
I read this over on Port 25 this morning…

Microsoft Open Source Initiative

…and nearly got sucker punched until I headed over to the linked so-called blog entry on OSI’s blog page…

Microsoft looks forward to working with the OSI

OK, I get it now. April Fool’s. I rarely like tech site April Fool’s entries. But, I have to admit that I was amused by this one. BTW, click around OSI’s site. That Microsoft OSI logo is everywhere, not just that one blog entry page.

Todd Ogasawara

AddThis Social Bookmark Button

One of the things that most impressed me about Microsoft Virtual Server 2005 R2 (besides being free) was Microsoft’s official support of various Linux distros as a Guest OS. I started testing Virtual Server after I found that the then current version of VMware ESX 2.5 could not run Red Hat Enterprise Linux 4 based distros (CentOS 4 in my case). Microsoft Virtual Server did and when the R2 release officially listed RHEL4 and SUSE Linux as supported Guest OSes, I was pretty happy. So, I when I read this headline on Network World, I was really puzzled.


Hyper-V Leaves Linux Out In The Cold

I headed over to this Microsoft web page to check things out for myself…

Supported Guest OS on Windows Server 2008 Hyper-V

…and verified that the only supported Linux distro there is SUSE Linux Enterprise Server 10 with Service Pack 1. Now, to be fair, the list also does NOT include Microsoft’s own Windows Server 2000, Windows NT, Windows 98, or MS-DOS either. Hyper-V should at least include support for RHEL5 based distros, Ubuntu based distros, FreeBSD/OpenBSD, and Open Solaris.

However, this makes sense given that the current Virtual Server 2005 R2 SP1 does not really support the X11 that ships with RHEL5 and Ubuntu. I’ve been wondering why this is so hard since workstation based virtualization products like Parallels Desktop for Mac and VMware Workstation 6 work fine with the current Linux/X11 releases I’ve tried. I spent quite a while piecing together how to configure RHEL5 based distros to work under Microsoft Virtual Server 2005 R2 SP1 (see my blog entry linked below).

Red Hat 5/CentOS 5.1 and Microsoft Virtual Server 2005 R2 SP1

I hope this lack of support for major Linux/BSD distros is just something that will be corrected before Hyper-V is released in its complete 1.0 format. But, if not, it will be a huge disappointment to me having invested a number of years working with Microsoft Virtual Server and in the planning stages to migrate to Hyper-V.

Here’s a detailed take on Microsoft’s virtualization and interoperability direction from Michael Francisco written last August…

Linux and Windows Interoperability: On the Metal and On the Wire

One of the things Michael says in it is: First, customers are insisting on support for interoperable, heterogeneous solutions. To me “heterogeneous” needs to include more than just SUSE Linux from the *NIX ecosphere.

Advertisement