February 2007 Archives

brian d foy

AddThis Social Bookmark Button

The mini-CPAN, a smaller version of the Comprehensive Perl Archive Network that includes just the latest versions and excludes a few big things, is now about 700 MB on my machine. That means that it can’t quite fit onto a single CD, at least without removing parts of it. What should go though?

I’ve been playing with GrandPerspective, a Mac OS X utility to show a tree map of a directory to easily show where the big files are. Here’s the map for my /MINICPAN:

GrandPerspective-minicpan.png

The big files represented by the tan section in the lower left are BioPerl, Most of the other big boxes are parrotin various releases, but from different authors (so maybe my minicpan script needs to recognize the multi-author situations to remove old versions.). This would probably be a cool movie of an animated window, but I don’t know how to do that just yet. :) Now it’s easy to find the big files and remove them (although a du -s can do this too, but it doesn’t have the pretty picture).

Jeremy Jones

AddThis Social Bookmark Button

I’m trying to dig into C# a little more at work, so I decided to do something really easy and write a little code to grab an RSS feed and pull the enclosure data out of it. Before you look at the code, let me say that I don’t have an objective point to make with this. I’m not trying to make sweeping judgments based on number of lines of code or anything else. I do have some subjective remarks to make at the end, however.

Here is the C# code:

using System;
using System.Xml;

namespace RssGrabber
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            string rssUrl = "http://geekmuse.dreamhosters.com/wp/?feed=rss2";
            XmlTextReader reader = new XmlTextReader(rssUrl);
            while(reader.Read())
            {
                if ((reader.IsStartElement()) && (reader.Name == "enclosure"))
                {
                    while (reader.MoveToNextAttribute())
                    {
                        System.Console.WriteLine("{0} => {1}", reader.Name, reader.Value);
                    }
                }
            }
        }
    }
}

Here is the Python code:

from elementtree import ElementTree as ET
import StringIO
import urllib

rssUrl = "http://geekmuse.dreamhosters.com/wp/?feed=rss2"

et = ET.parse(StringIO.StringIO(urllib.urlopen(rssUrl).read()))
for elem in et.findall("//enclosure"):
    for items in  elem.attrib.items():
        print "%s => %s" % items

Now, on to the subjective. Python just feels more manageable than C#. It feels friendlier. It didn’t feel tedious to try to get data out of. That’s it. That’s my point. If your opinion varies from that, then that’s OK. I’m not here to change your mind. And I’m definitely not here to try to offer up comprehensive language comparisons. I’m just expressing a little piece of an experience I just had which I thought was worth noting.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft CodePlex logoPort 25’s MichaelF collected another bunch of Microsoft CodePlex project updates.

CodePlex Update

One of my long time techie-passions has been playing with Windows Mobile based Pocket PCs and Smartphones (now called Professional, Standard, and Classic). So, the CodePlex project in Michael’s list that caught my eye is…

SMS Notifier

Its project page describes it like this: SMS Notifier watches for incoming calls that are missed (i.e. not answered). Depending on configuration settings it does the following things: 1) Send an SMS message to the caller (configurable contents), possibly containing also the end time of current appointment (configurable). 2) Adds an item to calendar (containing the caller info).

Check out Michael’s blog to read through the rest of the CodePlex project updates.

Andy Oram

AddThis Social Bookmark Button

In the financial world, the big news today is the worldwide drop in stock prices, including the worst performance in the United States since the aftermath of the September 11 attacks. But there seems to be an interesting computer story too. During the tense afternoon in the U.S., Dow computers fell behind and failed to reflect the full extent of stock declines. Apparently, Dow brought some new computers online about 3:00 PM, and within a few minutes the Dow caught up and registered an extra 200-point fall. This, in turn, increased the panic among investors and led to an exaggerated sell-off, although this was probably mitigated by the end of the day.

I can’t find much information about this yet, and am relying on a few snippets of online news reports plus an NPR radio broadcast. It will be interesting to hear more details. It sounds as if the Dow computer administrators (who are highly paid, well-trained, and dedicated) had a back-up plan in place and implemented it successfully. But it must have been a horrendous day for them, and the jolt that investors received on seeing the sudden drop could not have contributed to good financial planning.

When we hear more about the computer systems, it may provide lessons for emergency management in a number of areas, including local and national government responses to disasters. The incident shows that information systems are at their most strained–and in the hardest ways to anticipate–just at the times when the public asks the most from them, and needs information most urgently.

AddThis Social Bookmark Button

I had a friend tell me a funny thing today. He suggested that good software would put IT admins out of basis. “The depend on bad software for their jobs,” he laughed.

While he was obviously joking, there’s some truth to his comment. If software worked perfectly, there would be no need for vendors to support it (write once, runs forever), or for IT workers to manage it.

However, this has not proven to be the case in the real world. As IT has become easier to use (and cheaper), it has expanded the market, not killed it. Take a look at Microsoft if you don’t believe me.

Lower Costs Grow Market

Microsoft, in a very real sense, is all about taking the heavy lifting out of IT. Microsoft has a range of products that are designed to interact seamlessly with each other. They don’t always live up to this promise, but that is the promise of Microsoft: IT solutions for the average person, as I’ve written before.

Some scorn Microsoft for this. Others, like me, chide Microsoft for locking customers in and competitors out with its end-to-end solutions. I’m sure there’s truth to what I’ve written on the subject, but I also believe that Microsoft genuinely sees huge market opportunity in making IT easier to use. Microsoft, as I once heard Jason Matusow say, bakes solutions into its software, removing (as much as possible) the most expensive part of the software purchase: consulting to make it useful.

Interestingly, he has also pointed out that open source has historically focused on islands of functionality that don’t necessarily work well together without consulting. This is changing, but it’s a valid criticism if you look at the past open source market.

On this note, I believe we in the open source world have a lot to learn from Microsoft. It’s important to recognize that most developers and IT administrators aren’t Linus Torvalds. They’re average, like you and I. The biggest market opportunity is in serving the needs of the average person, as Microsoft has learned. Open source needs to learn this same lesson. I believe that we are, but Microsoft may well show the way forward.

chromatic

AddThis Social Bookmark Button

Sure, it’s an oldie, but I use GNU bash every day and have no idea how I’d get my work done without it.

Not only do I have a reliable stable of shell scripts (my favorite is xt, which fills my screen with appropriately-placed XTerms in the current directory–it’s great for programming !), but I use bash completion to make the tab and space keys more powerful.

When a full shell script is too much, Damian Conway’s realias trick has saved me an immense amount of time.

Simon Myers’ Power Shell Usage is full of wonderful bash tips and tricks. I’m a big fan of Ctrl-r and $!, for example.

There are dozens of bash features I’ve never even heard of and might one day use. The level of customization and flexibility from a really good command line makes it almost painful to use a GUI sometimes. Fortunately, I don’t even have to think about what I’m doing. Yes, bash is that good.

Thank you to all of the shell developers and documenters and contributors who keep the command line flexible, powerful, and useful.

AddThis Social Bookmark Button

I had a conversation with Bill Hilf not long ago. We were talking about the Microsoft-Novell deal, but the conversation ended much more broadly, discussing the US patent system. It’s the same conversation I’ve had with Jason Matusow, and a range of others both inside and outside of Microsoft.

The conversation goes like this: we don’t like the patent system, but we’re forced to work within it. That means both licensing patents (to and from others). It means occasional sabre rattling (when you think someone is infringing your patents). And it means (very) occasionl patent suits. (Microsoft, for its part, has almost never actually ligitigated its patent portfolio, to its credit).

Funny enough, these were the same sorts of things I spent my Masters degree working on. The degree was in International Conflict Analysis, which basically boils down to, “It’s a cruddy world, but we have to make do.”

I’m not naive. I don’t think Microsoft can afford to lay down its patent portfolio and hug and kiss everyone. Others certainly don’t seem to be willing to do the same for Microsoft.

I do wonder, however, if there’s a better way to leverage it; one that doesn’t require the occasional FUD bomb.

Part of the GPL’s genius is that it allows you to have a copyright and exercise control with it, but transparent (and, I would argue, benevolent) control. You grant rights, but you don’t give up any in the process. I wonder if there’s a way for Microsoft (and others) to make their patents available in such a way that they can be used, but not easily used against the holder. I haven’t thought this through (just thinking out loud here), but it seems like this is the sort of aggressive move that would speak well to Microsoft’s competitive inclination, without making it prey to others who opted to horde their own patent portfolios.

Again, just thinking out loud. I suggest this for Microsoft because for all the grief I give the company, Microsoft has generally been an innocuous holder of intellectual property, whatever its other faults. The company has rarely sued anyone. It has a comparatively anemic licensing business from its patents. Etc.

So maybe Microsoft could afford to take a “patent-left” approach to its patents. Or maybe it’s late and someone left the gas on…. :-)

AddThis Social Bookmark Button

I’m not at the HIMSS Conference today, but Steve Ballmer was, and delivered the opening keynote. Scott Shreeve was there and captured some of Ballmer’s more notable statements:

  1. Healthcare is “the greatest opportunity that Microsoft has ever had in its 30 years of existence.”

  2. Microsoft plans to “leverage ALL their hardware, software, and creativity toward solving healthcare related problems”. He promised that Microsoft would “apply” itself fully to solving this problem.
  3. Azyxxi, a proprietary enterprise Electronic Health Record company that Microsoft purchased last summer, is “the most exciting software that Microsoft is working on” right now. Ballmer described Azyxxi as a “unified healthcare information technology platform”.

Wow. That’s a lot of superlatives to find in one place. It’s especially intriguing because Ballmer isn’t any ordinary speaker - he knows that everything he says is carefully noted and will be remembered. As such, he can’t afford to waste superlatives.

His recent comments that he worries more about disruptive business models than specific competitors (a sentiment I suggested back in the first half of 2005), and that open source is one of its biggest threats (though I think it’s an opportunity), added to these healthcare statements make you wonder:

If Microsoft’s biggest threat is open source, and it’s biggest opportunity is health care, then wouldn’t an open source healthcare company be its biggest competitor?

Like, maybe, MedSphere?

Hmmm….

Jeremy Jones

AddThis Social Bookmark Button

Chris McAvoy just announced that PyCon 2008 will be held in Chicago. Congrats, ChiPy folks!

Todd Ogasawara

AddThis Social Bookmark Button

Just a quick note that…

Mono 1.2.3

…was released last week and that it includes two interesting new feature additions.

Mono is a clean room port of Microsoft’s .NET architecture that lets you build and run .NET applications on other OS platforms such as Linux and Mac OS X.

You can find a video interview with Mono project leader Miguel de Icaza on Microsoft’s Port 25 site at…

Talking Mono with Miguel de Icaza

Jeremy Jones

AddThis Social Bookmark Button

Yesterday brought PyCon 2007 to a close. Well, sort of. There are sprints going on for the next few days, but the formal sessions are over. This was a great experience for me and I’m already looking forward to next year. I’ll try to put my thougts together for a “PyCon 2007 as a whole” blog post later.

The first session was a keynote by Robert M. Lefkowitz entitled “The Importance of Programming Literacy”. This talk was humorous, engaging, thought provoking, and almost bizarre at times. As a speaker, Lefkowitz is energetic and connected well with the audience. (At least, what he was saying connected well with me.) He challenged the thought of “computer literacy” being “ability to work the applications on a computer”. He also challenged the thought of “programming literacy” being “knowledge of ‘the classic texts’ of computer science such as SICP, Kernigan and Ritchie, Stevens (network programming), and Knuth”. He proposed an analogy of programming literacy to prose literacy. If prose literacy is knowledge and familiarity with classic works of prose, so programming literacy is knowledge and familiarity with classic works of programming by way of the source code. Taking the analogy further, he proposed that our works of programming could (and maybe should) work more like works of literature. Why is it broken up into multiple files? Why do we spend as much time (sometimes more) writing spoken/written language explanations of what the code does rather than let the code speak for itself? He hinted that perhaps the future of programming would include some multimedia file format for source code which would include requirement specifications, coding reasons why an algorithm is implemented a certain way, and the kitchen sink to boot. I thought this was insightful, but I don’t have a clear picture of what a programming environment would have to look like.

The next talk I attended was “You vs. The Real World: Writing Tests With Fixtures” by Kumar McMillan. He expressed the importance of testing applications in as real world of a sense as possible. The main focus of the talk was to walk through such cases using the “fixture” package.

Next, Kevin Dangoor gave a talk entitled “The Wonderful World of Widgets for the Web”. Basically, Kevin gave an overview of the new ToscaWidgets toolkit which was recently spun off from the TurboGears project. These widgets provide a standard way of including “things” in a page (such as a forms) which include CSS for styling, JavaScript for a richer experience, and can also perform validation.

After Kevin’s talk on widgets, I attended “The Essentials of Stackless Python” by Christian Tismer. I had attended another Stackess talk on day 1 by Andrew Dalke. Christian’s talk delved a little deeper into how things actually work and he even tied some things in to PyPy.

I attended two testing sessions next. The first was “twill, scotch, and figleaf — tools for testing” by Dr. C. Titus Brown. Titus walked through using his tools (twill, scotch, and figleaf) with TurboGears and Django. This was a really informative talk and showed how easy it is to get started testing. The next testing talk was “Pybots: Testing Python Projects in Real Time” by Grig Gheorghiu. While interesting, this talk seemed slightly less applicable to the typical user. The idea of PyBots is that it allows you to automatedly test a Python application against various versions of Python on various OS and hardware platforms.

The final session that I attended was “Weaving Togethehr Women and IT” by Anna Martelli Ravenscroft. Anna discussed the disproportional ratio of women to men in the IT industry and tried to give some insight into the reasons for this. A lot of the reason seemed to be “we don’t know for sure”. But there seemed to be good indicators that much of it is specifically cultural. She brought up a topic that seemed to pop up quite a bit in the conference: basically computer classes in elementary and middle school are mostly worthless. They focus on “tools” such as MS Word, Powerpoint, etc. Her point on this was that such basic courses are relevant if you’re interested in becoming a secretary, but not much more. I think it’s always good to think about such things as her topic which challenge thoughts you may not even know you had.

Ann Barcomb

AddThis Social Bookmark Button

This week on the Perl 6 mailing lists

Remember that the European Perl Hackathon will be held next weekend, from 2-4 March, 2007 in Arnhem, the Netherlands. Registration is open until Thursday, 1 March. For more information, please look at the hackathon website.

Allison Randal and Jonathan Worthington will be coordinating the Parrot/Perl 6 portion of the hackathon.

Jeremy Jones

AddThis Social Bookmark Button

Yesterday, I described the first keynote, which was about the OLPC project, as “inspiring”. Today’s first session was a keynote by Adele Goldberg entitled “Premise: eLearning does not Belong in Public Schools”. I would describe her talk as disturbing and challenging but hopeful. The condition of public schools in the United States is troubling. It seems that attempts to use computers in public schools to help better educate the children are destined to fail. This is a gross generalization, to be sure. If memory serves me from the session (because my notes certainly have failed on that item), computers are already in the majority of public schools. That doesn’t sound like a failure. But they don’t appear to be an efficacious means of accomplishing their desired goal. That’s what I mean by failure. Now that I’ve given the disturbing part, let me move on to the challenging and hopeful part. There have been some studies which indicate that computers (programming specifically!) can have a positive result on the educational development of children. But, just like most things, it’s hard to do right. But not impossible. Adele offered some suggestions by way of techniques that work in educating children well. I am not going to rely on computers to educate my children, but I certainly will allow them to play a role in their development. I am already, in fact.

The next session I attended was an overview of SQLAlchemy by Mark Ramm. I had heard of SQLAlchemy and browsed some of the docs, but I hadn’t taken the time to study it. SQLAlchemy is an amazingly flexible ORM which is totally different from anything I’ve ever seen before. You don’t have to just map a class to a table and attributes to columns. It sounds like you can do some crazy complicated stuff with it. I hope Django builds in support for SQLAlchemy soon.

After SQLAlchemy, I attended a talk on IronPython by Jim Hugunin. Jim gave an overview of where IronPython is and where it is going. It is currently at version 1.0, which is 2.4 compatible. Version 1.1 should be coming out in April and will provide partial Python 2.5 support and more standard library modules working. 2.0 should ship early 2008 and will provide 2.5 support and still more modules working. Jim mentioned the excellent IronPython Community Edition. For anyone not familiar with the history of IPCE, it was created because Microsoft would not accept patches from non-Microsoft folks and would not bundle IronPython with other applications which have LGPL, BSD, etc. licenses. I was glad to see him directly address the issue in the middle of his talk rather than waiting to be asked about it. I was further glad to hear a straight forward answer on this subject. And while it is sad that Microsoft is unwilling do what IPCE has done, I can appreciate their hesitance to do so. And I appreciate Jim for his candor in discussing it. All in all, IronPython is an exciting project. I’m glad to see Python gain a potential community boost by way of the host of .NET developers across the world.

Next was the keynote by Guido van Rossum on Python 3000. I can’t possibly give even a succinct summary of his talk in a short space. Python 3000 should be out in June of 2008. Some changes include discontinuation of classic classes, dictionary views, all strings will be unicode strings, a new I/O library, signature annotation, abstract base classes (maybe), and a switch statement (maybe). Actually, he took a poll of the audience for the switch/case statement and the response was overwhelmingly “no”.

The next talk I attended was “Embedding Little Languages in Python” by Dan Milstein. Basically, Dan gave an overview of how he had switched from using an imperative approach to writing certain pieces of code to using a more declarative approach.

After that, I attended two IPython sessions back to back. The first was “IPython: getting the most out of working interactively in Python” by Brian Granger. This was an excellent overview of using IPython in debugging, interactive coding, and working with GUI apps without getting stuck in the main event loop. There are definitely some new tricks available since I wrote an IPython article some time back. The next IPython session was entitled “Interactive Parallel and Distributed Computing with IPython”, again, by Brian Granger. He showed how he had built a distributed application using IPython which allows users to send work to a number of “drone” processes which run on other servers.

The last session I attended on day 2 was “A Program Transformation Tool for Python 3000″ by Jeremy Hylton. Jeremy went over a couple of tools which are currently in development which allow users to analyze their own source code and get a hint if it will have problems running under Python 3.0.

I think my head is ready to explode now.

Ann Barcomb

AddThis Social Bookmark Button

This week on the Perl 6 mailing lists

“> Errrr … I’m the one who needs the tutorial, not the one to write it.

“That makes you a prime person to capture the questions it needs to answer! You can’t evade the Responsibility Ponies that easily.”

– chromatic, responding to James E Keenan in ‘What Skills Do We Need to Finish Parrot?’

Andy Oram

AddThis Social Bookmark Button

Like so many Internet abuses–spam, artificial measures to boost search engine rankings, and most recently, anonymous postings by businesses or political campaigns that pretend to be unaffiliated–click fraud is an Internet war that undergoes constant metamorphosis.

Both sides (those who wish to abuse the system and those who want to keep it clean) are always increasing their sophistication, pushing more and more criteria through more and more complex algorithms in an effort to outsmart the foe.

In these sorts of battles, the good guys are always attempting to reduce the burden on humans by automating their responses, and run up against the problems involved in anticipating a creative human foe. Also endemic to these situations are complaints about unfairness, inaccurate classifications, and other weaknesses suggesting a need for standardization.

What interests me about the company Click Forensics is the distributed, P2P-like strategy put into practice by their Click Fraud Network. It attempts to maximize the volume and variety of data available for sifting the good clicks from the bad.

The Network brings in a huge amount of input data and allows fast turn-around for results. The question is whether this technique will work for the domain of click fraud.

As in all the collaborative, Web 2.0 sorts of sharing that are currently making the news (or quietly making revolutions in various fields), the Click Forensics strategy reaches out to large numbers of affected users in an appeal to combine their power and try for ever-better results. The philosophy behind this strategy is intriguing; whether or not it proves successful, it is already yielding some interesting public results.

Ann Barcomb

AddThis Social Bookmark Button

This week on the Perl 6 mailing lists

“: This mornings up date proposed

“Now the da rn spam fi1ters are chang.ng my spelling to look like sp*m. Yeah, that’s the 4icket… :)”

– Larry Wall, in ‘Enhancing array indices’

Jeremy Jones

AddThis Social Bookmark Button

Today was day 1 of PyCon 2007. It started with a talk by Ivan Krstić which I
can only describe as inspiring. Ivan works for the One Laptop Per Child (OLPC)
project and he described the focus of the project, its current state, and its
heavy reliance on Python. With the exception of a few low-level components,
the OLPC laptop is built entirely using Python. It was inspiring to hear the
desire of this group to provide such a tool and an opportunity to those who
would otherwise have missed out. It was also inspiring to hear Ivan speak of
overcoming “impossible” barrier after barrier. I would recommend anyone who is
able and willing to support this project with their time and talent to visit
the OLPC website and look for a spot to
fill.

The next session I attended was “Writing your Own Python Types in C” by Jack
Diederich. This was a good overview of porting Python code to C code and using
Python’s C API to do so.

Following the talk on Python types in C, I attended “Parsing revisited: a
grammar transformation approach to parsing” by Ernesto Posse. Ernesto walked
through his project aperiot.
From the website, “aperiot is a grammar description language and a parser
generator for Python. Its purpose is to provide the means to describe a
language’s grammar and automatically generate a Python parser to recognize and
process text written in that language. It is intended to be used mainly for
programming and modeling languages.” What I found particularly interesting in
this talk was Ernesto’s quest to trim back the parser to make it more
efficient while removing redundancy and ambiguity.

Next, I attended “Using Stackless” by Andrew Dalke. I would classify this talk
as enlightening. I knew very little about Stackless before attending this
session. The general idea is that stackless can be used to accomplish
concurrent programming without resorting to threads. Stackless tasklets
correspond to threads and Stackless channels correspond to queues. I’m looking
forward to Christian’s talk on Stackless on Sunday.

Next was a talk by Ian Bicking on WSGI. This is another topic which I’ve
learned a little about, but never dug into very deeply. Ian did a great job of
giving an overview of this protocol.

Following up the WSGI discussion was the much-anticipated Web Frameworks Panel.
On the panel were Kevin Dangoor of TurboGears, Jonathan Ellis of spyce, Robert
Brewer of cherrypy, Duncan McGreggor of nevow, Jim Fulton of Zope, Adrian
Holovaty of Django, Ben Bangert of Pylons, and James Tauber of pyjamas. There
were a few tense moments, but overall, these guys played very well together.

After the Web Frameworks Panel, I attended a talk on Sony’s use of Python in
their Imageworks division. It’s always interesting to hear how other companies
are using Python, especially when the result is as cool as Spiderman 3.

Jim Baker delivered the next talk I attended. It was entitled “Iterators in
Action” and it was fantastic. I wish Jim had been given another half hour to
get into some of the other topics he had prepared, but alas. Maybe next PyCon.

The last session I attended today was “The State of Python Advocacy” by Jeff
Rush. This talk showed the passion of the Python people to promote their
language of choice. This was clear both in Jeff’s presentation as well as the
questions and comments at the end of the session. It seems that things are
brewing to facilitate enlarging Python’s borders. I definitely welcome that.

I can’t wait for day 2. More later.

chromatic

AddThis Social Bookmark Button

The Parrot team has just announced the release of Parrot 0.4.9, “Socorro”, following the new monthly release cycle. This version has better Perl 6 rule support, lots of bugfixes, a PocketPC port, unified calling conventions between C and PIR components, better tools, plenty of language improvement (as always, Tcl and this time lots of Lua) and plenty of new features.

Additionally, Chris Yocum has just posted a great summary of starting to implement a new language with Parrot. He chose Dartmouth BASIC 1964 and the Parrot compiler toolchain. It looks like he had a lot of fun too.

The next release will be 20 March 2007. See you then!

Todd Ogasawara

AddThis Social Bookmark Button

PgAdmin IIII generally work in a LAMP environment. So, I was interested to read PostgreSQL on Windows: A Primer announced on Port 25. I had looked briefly at PostgreSQL about 3 or 4 years ago. But, MySQL had always suited my database needs well. It also seemed to my MySQL spoiled fingers that PostgreSQL required a lot more manual intervention to install on Linux (compared to MySQL). So, I haven’t revisited PostgreSQL since then.

The PostgreSQL server was not available for Windows back then (though I seem to recall some kind of client piece was). And, I had not realized that a version for Windows was now available. This was enough to pique my curiousity. So, I fired up a previously built and fully patched Windows Server 2003 R2 Enterprise Edition virtual machine in Virtual PC 2007, attached a shared folder pointing at a directory on the physical hard drive (for unpacking the installation files), downloaded PostgreSQL 8.2.3-1 for Microsoft Windows and followed along the instructions in the 11 page primer (9 pages of instructions with lots of nice screen captures). Chris Travers’ instructions were very easy to follow and understand. You’ll want to read it carefully though since some recommendations are not reflected in the screen caps (e.g., he recommends that character encoding be set to UTF-8 but the screen cap shows the default SQL_ASCII setting).

I fired up the bundled Pg Admin III GUI and it looks like PostgreSQL is running on my virtual machine. Nothing is as simple as installing MySQL from RPM files in Linux (one command line and set the root passwords). But, installing PostgreSQL for Windows was smooth and painless with Chris’ Primer as a guide.

Ann Barcomb

AddThis Social Bookmark Button

This week on the Perl 6 mailing lists

“Take the longest token, lie down and if the unease persists, write some code…”

– Brad Bowman, in ‘DFA/NFA context is non-local’

AddThis Social Bookmark Button

Microsoft is in the midst of oral arguments before the Supreme Court this week [Full transcript here] with interesting repurcussions possible for the entire software industry. The WSJ has a good synopsis of what’s at stake:

In general, patents are only enforceable in the country that issues them. Thus, it is no infringement for a foreign firm to manufacture and sell a rival’s U.S.-patented device abroad. To extend their monopolies overseas, U.S. companies must obtain a patent in each nation where they wish to protect their inventions. Under a special exception, though, it is an infringement to ship U.S.-made components of a patented device for assembly overseas.

AT&T Inc. holds a patent for voice-compression technology that makes it easier to transmit and store speech on personal computers and other devices. Microsoft Corp. concedes installing the technology on U.S.-built computers would infringe the patent. But it says it isn’t a violation to ship a master disk of the software overseas, where it duplicates the software for installation on computers assembled in Germany, Belgium and other countries.

Microsoft argues the “component” is a physical disk containing the software, and it is free to duplicate it overseas, much as it could duplicate any other patented device overseas. AT&T contends the software itself is the component, regardless of the medium.

So, what’s the big deal? Well, as InformationWeek reports,

It’s possible that in their decision, the justices could give broad opinions on the scope of patent law, how it affects innovation and even outsourcing….

That, despite the fact that Microsoft and its backers argue a victory for AT&T could put U.S. software developers at a disadvantage relative to foreign competitors, some of whom operate in countries with more lenient patent regulations. An AT&T win would “hinder software development in the U.S. and encourage companies to move their software development overseas,” says Roger Kennedy, who represents Oracle in the Coalition For Patent Fairness.

What’s most interesting in the case is what it means for the definition of a software product. Is it the software, or the disk that it ships on?

Justice Anthony Kennedy called it “odd” that Microsoft would be the party contending that a computer disk, rather than the software, is product. “I mean, Microsoft doesn’t say please buy our disc because it’s the prettiest disc in the business,” he said. “It says buy our program because the program means something,” he said.

“But the program is nothing until made into a physical manifestation that can be read by the computer,” replied former Bush Solicitor General Theodore Olson, representing Microsoft. “An idea or a principle…can’t be patented. It has to be put together with a machine and made into a usable device.” In this case, “the components that make the machines run that are produced abroad are not supplied from the United States.”

I’m trying to figure out the ramifications of Microsoft winning its suit on the definition alluded to above. Do we really want to tie code to physical media? Is that what Microsoft’s argument requires?

I’m not sure, but this is a case worth watching.

Jeremy Jones

AddThis Social Bookmark Button

I have everything (except for my laptop) packed up and ready to go to PyCon. I still haven’t nailed down which sessions I’m going to attend. I look forward to meeting everyone.

AddThis Social Bookmark Button

The Open Solutions Alliance launched the other day at LinuxWorld. If you read my InfoWorld blog, you know that I’m not a big fan of the OSA. But it’s not personal to the OSA. I just don’t believe these sorts of organizations provide any value to the industry, though they occasionally provide momentary value to their members.

Why? Because customers don’t buy from committees. They buy from companies.

In many cases, they wish those companies’ products worked better with other products they buy. But what they really seem to want, if history shows anything, is for the market to naturally rally around a leader. Microsoft is a good example.

Microsoft makes some excellent products, and some that aren’t as good. (Just like anyone.) But on the balance, the company makes good software that a great deal of people want to buy. To maintain its leadership position, the company has enabled other companies to build on it as a platform and make money from add-on/tie-in/integrated products. The richer the ecosystem, the richer Microsoft’s bank account.

Only recently has the company awakened to its open source ecosystem (and the associated opportunity) with a lab set up specifically to enable interoperability, but even slow learners learn. :-)

This is the sort of interoperability that the market cares about. Not whether Alfresco is interoperable with Compiere or MuleSource - we have few customers in common at this point. It’s when customer counts dramatically increase that interoperability really matters to buyers, and at that point an industry organization set up to enable interoperability is somewhat pointless. Why did JBoss partner with Microsoft? Because more than 50% of its customers use Microsoft Windows. Same with SugarCRM. And MySQL. And Zend. And…you get the point.

But OSDL, OSA, and others may not, so I’ll restate it: the point that interoperability matters to customers is the point that an industry organization becomes immaterial.

Remember United Linux? It was an effort by the also-ran Linux vendors to counter Red Hat’s dominance. It never took off because customers didn’t want to buy from an industry organization. They clearly wanted to buy from Red Hat.

Customers interested in a full suite of software (for BI or whatever else) aren’t going to look to a disparate band of small-time open source vendors to provide it. They’re going to look to market leaders and a single company to provide it. That’s why it’s critical for open source vendors, as Microsoft learned long ago, to build a compelling product (or suite of products) and win. Everyone wants to be interoperable with a winner.

That’s the goal. To write history, not to be history. Love Microsoft or hate it, it’s writing history. Industry organizations…? You know what I think.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft’s Port 25 reports that Microsoft Virtual Server PC 2007 has been released. They have links to posts by the Virtual Machine team’s Ben Armstrong who provides tips on running Linux as a Virtual PC 2007 Guest OS. Note that both Microsoft Virtual PC 2007 and Virtual Server 2005 R2 are free products.

I’ve been running Fedora Core 5 & 6, CentOS 4.4, OpenSUSE 10.2, and Ubuntu 6.06LTS and 6.10 under Virtual PC 2004, 2007 Beta/Release Candidate, and now 2007 (production). I’ve also run Windows 2000, Windows XP, Windows Vista Beta-2, Windows Server 2003 R2 Enterprise Edition, and Longhorn Server Beta-2 as Guest OSes successfully. The most important Guest OS is Windows 98 Second Edition. Why? Because it is the newest version of Windows (I don’t count Windows ME :-) that runs LEGO Loco (see video clip below). LEGO Loco will not run on Windows NT or its descendents (2000, XP, etc.).

Be sure to install Virtual Machine Additions for any Windows version for a better virtualized experience. Happy virtualizing!



LEGO Loco is an old software toy that only runs in Windows 95, 98, and 98SE (and maybe ME). It does not run under Windows NT4, Windows 2000, Windows XP, or Windows Vista. This is a brief demo showing LEGO Loco running in Windows 98 which is hosted on a Windows XP PC running the recently released Microsoft Virtual PC 2007. This video is for a demo on the O’Reilly Media Inside Port 25 site found at http://www.onlamp.com/onlamp/port25/
chromatic

AddThis Social Bookmark Button

When I have to write in C, ccache makes it much less painful to rebuild software. I appreciate that Make handles dependencies, but its reliance on timestamps sometimes causes unnecessary rebuilds. If ccache fixed only that, it would be useful–but it does much more.

This is one development tool I would miss greatly if it did not exist. Thank you, ccache developers and contributors!

AddThis Social Bookmark Button

Venkatesh made a comment to a post on my InfoWorld blog which has been troubling me all weekend. He asserts that Microsoft’s dominance on the desktop has inhibited its ability to dominate the online world. I agree.

Microsoft has been struggling to live up to its means in the online world, as Ballmer himself has noted. What he didn’t address is why. He seems to believe that it’s just a matter of time and innovation.

What he may be missing is that by holding so tenaciously to the desktop, the company is ripe to be disrupted, not to do the disrupting. This is Clayton Christensen’s classic “innovator’s dilemma”.

I have a tremendous amount of respect for Microsoft, and believe the desktop as we know it (mostly “fat” client) will be around for awhile. But I also worry that Microsoft may be giving up its future to ensure the profitability of its past. It is starting to figure out open source - that is good. But to truly compete with Google, it needs to abandon its fetish for the desktop.

Or maybe not? After all, people like me predicted the end of bricks-and-mortar retailing during the height of the bubble. As it turned out, the Internet only partially supplanted traditional bricks-and-mortar retail. The best strategies may well combine the two.

What do you think?

Todd Ogasawara

AddThis Social Bookmark Button

I’m old enough to remember installing and using GNU EMACS, Perl, and even Linux before the term Open Source was coined. I remember patiently waiting for bunches of uuencoded installation files to appear slowly over USENET (I think GNU EMACS required something like 50 newsgroup postings). And, yes, I know RMS hates equating Free Software with Open Source. But, let’s put that aside for a moment.

So, when I saw the Slashdot item titled Has Open Source Lost Its Halo?, I felt compelled the read the Illuminata Perspectives blog item that prompted that item: Predatory Open Source? by Gordon Haff.

It hits on one aspect of the many changes we’ve seen in the Open Source community for the past five years or so. It seems like Open Source has become somewhat less of a community and more of an industry over the years. For me, the big event was when Red Hat stopped providing free ISO downloads and updates for Red Hat Linux (after RH9). Fortunately, the community was still strong and the Fedora Core project (later absorbed back into Red Hat) and CentOS distribution picked up the slack. More recently I watched MySQL fork their database into Enterprise and Community Editions. But, although the Community binary (RPM) distributions will be limited to twice a year releases, the source code seems to be flowing at its regular pace. And, it is very easy to configure and build MySQL from source. Let’s hope it stays that way.

In his blog, Gordon looks at the more recent Open Source phenomenon of firms Open Sourcing their (previously) proprietary code and ponders on possible hidden agendas. He says In effect Open Source has become a free pass for all sorts of competitive actions that would once have been–at a minimum–roundly criticized.

And, of course, the various proprietary-Open Source joint efforts (e.g, Microsoft, Novell, and Xen) and outright control by purchase (e.g., Oracle purchasing InnoDB) has raised all kind of eyebrows and questions.

One has to wonder if it is even possible to launch a new large scale Open Source project without major corporate support in today’s environment. The attorney fees alone would be daunting.

That said, I still support the cooperation and convergence of the proprietary and Open Source industries (community no more? I hope not). And, I still hope that someday one of the best lightweight operating systems built gets converted from proprietary to Open Source. Which one? Windows 98 Second Edition. It requires fewer resources (RAM and disk space) than most current Linux distros, has pretty good driver support, works with a lot of peripherals, and runs some great old games that won’t run in Windows XP or Vista. I’m looking at the Windows 98SE VHD file I use with Microsoft Virtual PC and note that it is mere 180MB (and runs comfortable in 64 or 128MB RAM)! Yep, you could burn it to a CD-R and have room to spare. Ok, I know it will never happen (see my tongue in cheek blog item from 2004 Microsoft should release Windows 98 SE as Open Source). But, it sure would be nice to have a bunch of FOSS developers take a swing at bringing Windows 98SE into the 21st century without making it too much bigger. :-)

And, as I said in my previous blog… I hope the new Microsoft-Novell Joint Interoperability Lab staff create a community around their work rather than just tell what will happen. Let’s hope the nice folks over at Microsoft’s Port 25 encourages the new joint teams in this direction.

Dave Cross

AddThis Social Bookmark Button

Competition in the marketplace is a good thing right?

So now we have both jobs.perl.org and jobs.perl.com.

I’m about to start looking for a new Perl job - so let’s see which one of them is most useful. Currently the perl.com seems a bit light on jobs in the UK, but I’m sure that’s just because it’s early days.

Update: A couple of people have decided that the comments to this post is a good place to advertise jobs. Well, it’s not. Why not use one of the services mentioned above. If the perl.com service prevents you from posting UK jobs, then contact them to complain - I have nothing to do with that site.

It might also be worth mentioning a blog post I wrote a few weeks ago which contains some advice on finding Perl programmers in London.

Mike Hendrickson

AddThis Social Bookmark Button

Hunting for a Perl guru? Or maybe you’re one yourself and are ready for a “change of scenery.” Whether you’re on the prowl for great people or are looking to be found yourself, Perl.com can help.

We’ve just added jobs to Perl.com through our partnership with the folks at Simply Hired. If you want to reach a community of Perl gurus, you’ve come to the right place. Post your job now and land the kind of Perl talent that will make you dance in your cubicle.

Or perhaps you’re ready to give yourself a raise. We’ve got plenty of jobs to choose from with some pretty cool companies. Come on in and take a look.

If you have any suggestions or comments, leave them as comments here or send email to ideas {at} oreillynet.com.

Please do not post your links to other job boards, I’ll toast them if you do.

Here are the links:

Jeremy Jones

AddThis Social Bookmark Button

I’m planning on attending PyCon next week. I was just going through the scheduled talk list and am having a really hard time deciding which sessions to attend. I mean, how am I supposed to choose among Python-Dev Panel : “We make the things that make Python work.”, WSGI: An Introduction and Towards and Beyond PyPy 1.0? And then I have choose among Web Frameworks Panel, Writing Parsers and Compilers with PLY, and Python on Parrot — under the hood. The really bad part of having so many great sessions is that you have to miss something. It’s frustrating having to choose, but it’s going to be sooooo good.

Todd Ogasawara

AddThis Social Bookmark Button

Joint Interop. LabWay back on January 30 a simple blog item titled Now Hiring: Microsoft/Novell Interoperability Labs went up on Microsoft’s Port 25 site. The positions available include: Microsoft: Software Design Engineer in Test, Linux Interoperability. Novell: Software Design Engineer in Test, Windows Interoperability. Microsoft: Program Manager, Linux Interoperability.

According to Microsoft’s Sam Ramji, it drew a good number of comments and resumes. So, he’s back blogging about it and describing the joint lab’s major focuses: Virtualization, Directory and Identity, and Management.

Microsoft-Novell Interoperability Lab - Sneak Peek

If I can put in my two US cents (And, I can! So here goes)… I’d like to see both the Microsoft and Novell Joint Labs staff become integrated into the Proprietary-Open Source interoperability community at large. A joint blog and a community Wiki would be a nice start. I’d like to see more than bits and bytes entries in the Wiki. In my experience, the intersection of proprietary and Open Source technologies is often more about practices and procedures as much as it is about bit twiddling.

So, whether or not you agree with me, head over to the Port 25 site and provide your comments about the upcoming joint lab. No one told us we had a vote. But, no one told us we didn’t have one either :-)

AddThis Social Bookmark Button

That’s the number of Brazilian government workers that will be moving to a Linux desktop soon, as reported by eWeek.

Estimated monthly deployment is about 10,000 desktops, with 50,000 desktops already delivered, EnabledPeople, a Linux development company, said. The company did not indicate the total number of desktops that are to be deployed in the course of the project.

The Computers for All project is part of the Brazilian federal government’s “Program of Digital Inclusion,” initiated in 2003. The project’s objective is to provide low-cost computers to the population and to boost technological development, EnabledPeople said.

This news follows on the heels of the Peugeot Citroen Linux desktop news of earlier this month. Both are significant, but I think the Brazilian experience poses more of a threat to Microsoft.

Why? Because I don’t believe the Linux desktop will ever go mainstream in the “developed” nations of North America and Western Europe. We just have too much experience with Windows. The benefits of moving off Windows (or, in my case, the Mac) are outweighed by the costs. Not dollars-and-cents costs, but productivity costs. It’s not worth $400 to me to switch to an experience that doesn’t work nearly as well (especially since I can get my applications as open source, like OpenOffice, Handbrake, Adium, etc.).

Established users are not the market for a Linux desktop. New users are. While this may come from consumers in established markets, I suspect the real growth is in markets that can evaluate the Linux desktop on its own merits, not on how it compares to Windows. (And I believe that most established markets will move online, if anything.)

This is why projects like One Laptop Per Child are the true battleground for the desktop in the future. Microsoft will continue to mint money in established desktop markets, but it has to earn its keep in emerging markets. It should be grateful - Microsoft does its best work when facing real competition. I don’t think it has much to worry about from Linux in its established desktop markets.

But everywhere else? Game on.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft ASP.NET AJAX logoEarlier this month I noted the ASP.NET AJAX kit release announcement and the video interview with ASP.NET Technical Evangelist Steve Marx on Port 25.

If the ASP.NET AJAX kit interests you, you might want to check on the 23 video tutorials on the topic on Microsoft’s ASP.NET site.

“How Do I?” with ASP.NET AJAX

A few of the tutorial titles include…


  • Get Started with ASP.NET AJAX
  • Use the ASP.NET AJAX CascadingDropDown Control Extender
  • Add ASP.NET AJAX Features to an Existing Web Application
  • ASP.NET AJAX Enable an Existing Web Service
  • Use the ASP.NET AJAX PasswordStrengthExtender

The video tutorials range from 2 to 28 minutes. Most of the videos appear to be less than 10 minutes long.

chromatic

AddThis Social Bookmark Button

The third monthly Parrot Bug Day will take place on 17 February 2007. I suspect one of the big pushes this week will be to divide up the work for the new metamodel design introduced earlier this week. As usual, there will be various cleanups in preparation for a new release next week, as well as any training and help and advice necessary for new hackers who want to get into Parrot development.

Personally, I hope to fix Parrot::Embed’s in-tree build so that it uses the normal Configure/make process portably, as well as to make the PBC to C transliterator work on multiple platforms.

As a side note, Ohloh’s Parrot Metrics Report has some very interesting statistics, such as the estimate that Parrot is worth $2.25 million in development time. (I think it severely underestimated the amount of code I’ve checked in, but even still.)

AddThis Social Bookmark Button

Today Red Hat announced that has joined the Vendor Interop Alliance, the group that Microsoft chartered with other top software companies, but which has not involved Red Hat to date.

I suppose it’s a good move for the industry, but I’m left wondering what substance, if any, it provides. It’s not that the VIA is a bad idea, but rather that the fact that one has to come up with such a thing in the first place suggests that the market is a bit broken, and unlikely to be fixed by a crowd of people standing around, clapping each other on the backs.

As Matthew Aslett notes, Red Hat’s participation seems to be limited to its JBoss middleware, which already had partnered with Microsoft to improve interoperability. So what, if anything, does this agreement get Microsoft that it didn’t already have? Or Red Hat?

Red Hat’s membership in the alliance builds on the interoperability work started by the JBoss Division 18 months ago to optimize JBoss Enterprise Middleware on the Windows platform. To date, those efforts have been primarily in the Web Services arena, including the critically important World Wide Web Consortium (W3C) WS-Addressing specification and several plugfests around WS-Security, WS-Transactions, and WS-Addressing. In addition, Microsoft completed Hibernate certification for Microsoft SQL Server 2005 Java Database Connectivity (JDBC) driver. Now, Red Hat can extend and deepen interoperability beyond standards to the native level on Windows for its JBoss Enterprise Middleware.

The strange thing in this announcement, and in the existence of the VIA, is that we have to talk about interoperability at all. It is precisely because the system is broken - with intellectual property rights driving vendors apart, rather than together - that something like this VIA is even remotely interesting.

But still I wonder if an industry alliance is the way to resolve the problem. Yes, you need scale/network effects to make something like this work. But in a large room filled with vendors who inherently distrust each other, I don’t see much interoperability emerging. Just lots of meetings about interoperability.

If the goal is to get one-on-one interaction, what good does the Alliance provide? Not much, in my view.

I do think it’s important to make sure different enterprise software works well together. I think this is particularly true of open source and proprietary software, and I applaud all that Bill Hilf, Sam Ramji, Jason Matusow, and others at Microsoft have done in this regard. They have made Microsoft a great partner for open source companies (really), whatever Microsoft’s larger intentions may (or may not) be.

But their work has been done one-on-one, which I think is the right wayt o enable interoperability. We’ll see if VIA can prove me wrong.

chromatic

AddThis Social Bookmark Button

Dru Lavigne, our resident BSD guru, argues that the issue of women in F/OSS is all about respect.

While it may be worthwhile to consider stereotypes, generalizations, and snap judgments that affect your first impression of someone of whatever gender, perhaps Dru is right. What does it take for an unknown novice to gain respect in a community?

AddThis Social Bookmark Button

Perhaps not perfect, but Microsoft has done a decent job of trying to standardize its Open XML format. As Jason Matusow writes:

Customers have been very clear with us over the past few years (as have many other vendors including our friends in Armonk) that they wanted to see our Office document formats become more open and standardized. So we did that. (OSP-licensed, Ecma standardized)

Governments have been clear that they need the ability to have interoperability between ODF and Open XML. The Open XML Translator is now in production, and delivers interoperability. In fact, we built that to enable ANY ISV to use the technology - not just Microsoft. Novell has already announced (back in December) that they are going to build it into Novell’s OpenOffice. Sounds to me like customers are going to have greater choice.

I have attended open source conferences for the past 6 years, and sat on innumerable panels with various executives from IBM. I am really unclear as to the relationship between the rhetoric of openness and increased choice that they have been saying in that arena and how it lines up with the reduction of choice and closing of a participatory process in this arena. The message from IBM standards participants around the world has been consistant: don’t even consider Open XML for ISO/IEC standardization. That is less choice for customers.

Why, indeed….

Well, Jonathan Murray thinks it may have something (actually, everything) to do with IBM’s business model and its fiduciary duty to its shareholders:

IBM’s position on the Open XML vs. ODF standardization debate is in no way altruistic. IBM takes the position it does, not to make life better for the Open Source community or to advance the position of free software. IBM takes the position it does because this position ultimately creates more value for its shareholders. Period. It is a pity that they seem to be doing this against the best interests of their customers.

The question is why IBM would be taking this position when the risk to its reputation with its customers seems to be so high. My personal belief is that the 180,000+ hungry mouths in IBM’s global services division are a big part of the reason.

The importance of global services to IBM cannot be over stated. IBM is a services company far more than it is software or even hardware company today….

So what does this have to do with the IBM’s campaign against the Open XML standardization process? In a word: complexity.

[I]f you are in IT services business…complexity is your friend. Any reduction in complexity dilutes the value you can offer to your customers. This, in my view, is why IBM seems to be so focused on preventing customers from having to right to choose between two open standards for their document formats.

Jason has apologized for making snarky comments about IBM’s lack of enthusiasm for OpenXML, but he needn’t have. IBM should be called into account for its continued intransigence vis-a-vis Open XML. It’s not a perfect standard/process, but nothing ever is. I personally don’t believe that this opening up of OpenXML is a big deal, as I’ve written before. An open file format is not going to move enterprises off Microsoft technology any time soon, especially given that SharePoint, not file formats, is the new battleground.

Regardless, Microsoft should be given kudos for OpenXML, and IBM should be a bit ashamed. IBM has been given a lot of love for its open source support, but look a little closer and all you see is support for Apache-licensed projects (and, of course, Linux). Like any good corporate citizen, it feeds itself before it worries about feeding others. But word on the street is that IBM won’t consider buying an open source company unless its licensing is Apache-style. I guess it likes to consume open source but doesn’t like free source-requirements to give back….

chromatic

AddThis Social Bookmark Button

I use HTML Tidy in a well-tuned shell alias that cleans up HTML from articles and weblogs before I post them. We use a subset of XHTML on the O’Reilly Network, and this wonderful utility turns poor HTML (especially converted from word processor files) into valid XHTML. It’s simple to parse that with an XML parser to transform into something useful and clean.

I’ve even used it on hand-written HTML just to make sure things were correct. It’s a great utility I use almost without thinking. Thank you, developers of and contributors to HTML Tidy!

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft CodePlex logoPort 25’s Michael Francisco provides a list of recent releases on Microsoft’s CodePlex open source project hosting site.

CodePlex Projects Update

I tend to build web sites using PHP, but this ASP.NET project in Michael’s list will probably be of interest to ASP.NET coders.

ASP.NET RSS Toolkit

The package handles both creating RSS feeds as well as reading them. You should check out the Port 25 blog item to find other CodePlex gems that may interest you.

You can find the official ASP.NET site at…

Microsoft ASP.net

Jeremy Jones

AddThis Social Bookmark Button

While I was just creating a blog post on this site, Firefox decided to die horribly. No worries, right? I’m running Ubuntu Edgy and Firefox 2.0.0.1. It has crash recovery. It even preserves the text which you’ve typed in text areas. I guess it would have, too, had it decided to come up. Instead, each tab which was opened prior to the crash just sat and spun until each of them appeared to totally freeze and I became too impatient to wait any longer.

I figured Firefox had to keep that session information somewhere, so I began rummaging through my Firefox session folder (~/.mozilla/firefox/{{random text string}} on Ubuntu). Two files which showed promise were sessionstore.bak and sessionstore.js. I opened the .bak file and looked for some text that I had been typing in and to my (almost) surprise, I found it.

I saved off the section that I was interested in to its own file. It had been reformatted slightly. All the spaces were %20. The urllib module in the Python standard library has an “unquote” function, so a little ` urllib.unquote(open(”/tmp/blogpost.txt”, “r”).read())` at an IPython prompt fixed my text right up.

Jeremy Jones

AddThis Social Bookmark Button

The 0.10 release for a project called “pycallgraph” just popped up on the Cheeseshop. This library is supposed to allow you to create graphviz diagrams based on your application’s call tree. This sounded pretty interesting, so I decided to install it and see how well it worked.

I did an `easy_install` of the pycallgraph package and followed the usage directions on the pycallgraph main page. I have a simple little “main” module whose contents I’ve listed below. Basically, main calls mod1 which imports and calls mod2 which imports and calls mod3. Here is the code for `main.py`:

import mod1
import pycallgraph
pycallgraph.start_trace()
print mod1.mod1("Some Text String"), "\n"
pycallgraph.make_graph("callgraph.png")

The pycallgraph output was a little less than desirable:
callgraph.png

I thought that pycallgraph was confusing itself and not filtering its own activities, so I took a stroll through the source code to see if there was a “filter” option. That’s when I noticed a `stop_trace()` function. When I changed my original script to look like this:

import mod1
import pycallgraph
pycallgraph.start_trace()
print mod1.mod1("Some Text String"), "\n"
pycallgraph.stop_trace() ##HERE'S THE stop_trace() CALL##
pycallgraph.make_graph("callgraph_clean.png")

here is the output that was created:
callgraph_clean.png

I can see this utility coming in handy.

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft PowerShellThere are great inventors and scientists that are so well known, that, like rock or movies stars, we can refer to them by a single name (usually the surname) and know that other people will know the reference: Newton, Darwin, Freud, Einstein, Curie, Watson & Crick, and Hawking, for example.

Our tech biz has created one-name recognition (mix of surnames and given names) for Knuth, Stallman, Rasmus, Guido, Jobs, Woz (part of name! :-), Linus, and Kernighan & Ritchie come to mind for that group. Open Source, in particular, seems to have created a good number of these one-namers because great ideas rarely come out of design-by-committee (IMHO).

We are at a unique point in tech-history in that most of our recognizable by one-name people are still alive today. I find the various podcasts (netcasts?) and videocasts involving these people particularly interesting from both an informational point of view and a kind of future historical record point of view. So, I was very pleased to see that Microsoft’s Port 25 site posted a video interview with the co-creator of the latest language that I’ve been tinkering with… PowerShell. You can find a Port 25 interview with Bruce Payette at…

Powershell in Action! Hank interviews Bruce Payette

Bruce discusses the UNIX and Open Source software that inspired the design of PowerShell. He also takes to the keyboard and taps out a number of examples of how PowerShell works.

You can find two useful PowerShell tutorials at…

Microsoft: What Can I Do With Windows PowerShell? A Task-Based Guide to Windows PowerShell Cmdlets

Arstechnica: A guided tour of the Microsoft Command Shell

…and, of course,…

O’Reilly: Top 10 Tips for Using Windows PowerShell

And, finally, one little complaint. There doesn’t seem to be a PowerShell release that works with Microsoft’s Longhorn Server Beta-2 release. The PowerShell available for Longhorn IDS (server) Build 5600 decided that it was not compatible with the Beta-2 version.

AddThis Social Bookmark Button

Mary Jo is reporting about Microsoft’s new officelabs project. What is it? It’s an attempt by Microsoft to upgrade its development methodology to Development 2.0. Also known as open source. As Mary Jo writes:

One of the criticisms most often levied against Microsoft — and not just by anonymous posters on Mini Microsoft — is that the company has gotten too big and too slow to be effective. Can Microsoft change this dynamic?

Officials have been trying. That’s what all those greenhouses and incubators seeded throughout Microsoft are all about. Allow small, targeted teams to flourish inside the bigger Borg. Good concept, but the results haven’t been all that noticeable.

Enter, officelabs.

Officelabs, sources say, is a new kind of incubator that is taking shape inside the Microsoft Business Division (the unit in charge of Microsoft Office, Dynamics ERP and Dynamics CRM). It’s a fledgling group that is going to operate more like the Windows Live team than the Office one, by tossing a bunch of new products over the transom in beta form and watching to see what sticks.

It’s fascinating to see how Microsoft is pushing officelabs. Here’s some text from a job posting on its site for an officelabs developer position:

Officelabs is a new group in Microsoft Business Division tasked to push the productivity horizon farther through rapid innovation. We believe officelabs is the most innovative group pushing the envelope at Microsoft.

We are assembling small teams of top notch developers, PMs, and SDETs that will pursue their most creative ideas with a near-complete autonomy….Teams will operate in a beta release model where early, addictive and widespread real-world usage of innovations will enable them to have maximum impact without the usual prolonged shipping process. Teams will be encouraged to use an internal Open Source Model to leverage the tremendous developer talent across Microsoft. We envision that when a team decides that most of the learning is done with respect to current project, it wraps it up; and sets its sight on the next exciting challenge.

“The most innovative group…at Microsoft.” “Maximum impact without the usual prolonged shipping process.” Dare I parse this for you?

“We believe open source is a superior development model to our creaky old system, and we’re hoping and praying it will save the company.”

OK, I may have exaggerated a wee bit, but it’s almost shocking to see this sort of admission from Microsoft: open source works better. Or, at least, Microsoft believes it just may work better, and is experimenting to see for sure.

All of which means that, as I’ve said before, open source is perhaps Microsoft’s biggest opportunity and it, more than any other big proprietary software company that I know, is really struggling to figure out how to compete against open source and work with it, all at the same time.

Threat and opportunity, with the opportunity rising the better the company figures out how to leverage open source, rather than compete against it. This is a project/concept worth watching inside the company.

Jeremy Jones

AddThis Social Bookmark Button

Kevin Chu just posted on the IronPython mailing list that IronPython Community Edition (IPCE) is included in Mono 1.2.3. For those of you unaware, IPCE (by Seo Sanghyeon) “aims to provide enhancements and add-ons for IronPython”. This is excellent news. Congrats Seo!

Todd Ogasawara

AddThis Social Bookmark Button

20061015 Post Earthquake
Chemical light There have been two natural disaster related reflective blogs over on Port 25 in the past month…

On January 9 Bill Hilf posted What Matters… (with photos!) discussing the loss of electrical power in his area for eight days.

A few days ago Kishi Malhotra commented that It’s not all technology… and focused on power abstinence, chaos, awareness, and our fragile infrastructure.

Looking at the photos and reading the situation descriptions brought to mind my own shorter bout with nature a few months ago. I blogged about it on the MacDevCenter (see blog link below), so I won’t repeat the details here.

A Tiny Taste of “Jericho”: Tech Grades After an Earthquake

But, I did want to note that for me it was always about the available technology and what was actual usable and useful. I suspect that because my area did not seem to be in any danger after the tremors stopped and the weather was reasonably nice (see the photo at the top left), I started assessing what was working right away. Electricity disappeared about 10 minutes after the quake. In fact, I had just booted up my Mac mini to check the news as power failed. Fortunately, the UPS kicked in and I shut it down gracefully. Wired phone service stayed up but my cell carrier was overwhelmed and I was out of wireless voice and data for the duration. But, old and simple technology like flashlights, canned food (canning is technology IMHO), and propane camping stoves all worked fine. As I mentioned the 100+ year old wireline phone service kept working too. One radio station stayed up even though they kept playing a pre-recorded political panel discussion for nearly an hour after the quake. One television station stayed on air. But, because most of us get TV signals from cable (I can barely get radio reception where I am), the only people who saw them were in other States.

Generally speaking, for the ordinary citizen (like me), GSM, GPRS, EDGE, TCP/IP, and a whole lot of other tech developed in the last 40 years were unusable. Even the relative oldster Television (in its mid-60s in age for widespread use) was not helpful even though one station was broadcasting.

There are, of course, exceptions to the rule. I seem to recall reading that a mesh wireless LAN used for security cameras in New Orleans survived Hurricane Katrina and was used to provide Voice over IP (VoIP) after other communications conduits failed.

Given the seemingly slow recovery times we’ve been seeing nationwide (worldwide?) for mild to catastrophic events, one wonders if the powers that be and utilities factor in technology recency and complexity into their post-disaster triage plans.

AddThis Social Bookmark Button

Over on Port 25 Anandeep is wondering, in essence, “Is open source structurally incapable of innovating?” Anandeep answers correctly (”Yes”), but not for the same reasons I’d give (and have given here and here).

He writes:

[C]an futuristic experimental projects be developed using the open source process?

I think that the answer is yes. But these kinds projects cannot be developed in a pure open source community process like that of Linux. An institution like a university or a company has to bring to it critical mass. The US government paid for a lot of ALICE - before it could be put out there in a true community process.

I agree with Anandeep that having an organization makes open source innovation easier. After all, an open source company is no different in its ability to innovate than Microsoft, a proprietary startup, or anyone else is. It just chooses to license its software differently.

But, by the same token, what is to stop an individual from innovating a new project - perhaps the “Cloud OS” that Anandeep talks about - and releasing it as open source instead of proprietary software? Nothing. There is no structural defect in open source to prevent this, and to prevent a community from growing up around it, anymore than there is a structural defect in proprietary software from doing the same.

That said, it may be very true that there are plenty of legal reasons (If I develop something on my employer’s time, it will likely own the innovation, for example), money reasons (I may not believe I yet have a strong enough profit model in open source to convince me that I can keep it open source and still become a billionaire, for example), and other reasons. But structural incapacity in the open source model itself?

I don’t think so.

AddThis Social Bookmark Button

I’m in the middle of watching what apparently others had inflicted on them during the Superbowl (I’m a soccer guy - I watch real football): Microsoft’s “a href=”http://www.clearification.com/”>Clearification” campaign for Windows Vista (link courtesy of OS Weekly.)

Nothing could be more confusing. Or annoying.

It’s like the ad agency was desperate to be like a Wes Anderson film (Rushmore, The Royal Tenenbaums, etc.), and failed miserably to capture his genius. Or even his worst moments.

Bill Gates did a poor job of pitching Vista to Newsweek readers. Now the entire company seems intent on lobotomizing the world into buying Vista through sheer, relentless inanity. (You can watch one of the TV spots here).

I’ve seen Vista running. It’s very pretty. I’ve talked with some Microsofties who describe how easily it discovers networks and devices on the network (printers, etc.). It’s supposed to be dramatically more secure and stable than any Windows Microsoft has ever shipped. I believe it.

But this message doesn’t convey these benefits. Nor do the TV spots that talk about clutter. Vista helps cut through clutter, sure, with improved search and other means. But this is not a message that will win over my parents, at whom the TV ads seem to be targeted. “We used to be a business thing, and now we love consumers” might be one way to describe the marketing message(s). As for the Clearification site, I can only guess that I’m the target audience and that they have overestimated my attention span and underestimated my IQ, if only be a few points.

Microsoft: you have developed a cool new product. This is not the way to market it. Maybe it doesn’t matter, since the entire known universe has already bought into Windows, but I can’t see how these commercials will make people want to upgrade.

You have undersold Vista’s value.

AddThis Social Bookmark Button

I posted what I thought was an innocuous post on Bill Gates’ comments on the superiority of Vista over Mac OS X, and spent the rest of the weekend approving comments. I’ve never had so many comments on a blog post. Traffic, already quite healthy, went up 388%.

Why?

Because Mac people and Windows people seem to have more mutual scorn than open source and Windows people have for each other. Just one more reason to believe that open source is an opportunity for Microsoft, not a threat. Macs and Windows are separate entities, though virtualization is changing that. Open source and Microsoft need not be.

All that said, I do think we need to remove the political and/or religious vitriol from the discussion. I lean pretty far to the “Left” on licensing issues - I prefer the GPL to the BSD, for example. But a license is just a license. Microsoft could use OSI-approved licenses as easily as it does its Shared Source licenses. It chose not to for a range of reasons (mostly out of caution, in my view, which caution should dissipate over time). But it could.

A license should begin the conversation, not end it. The real conversation is about customer value, which really is about service. You can roll some of that service into the code itself, as Jason Matusow once told me is one of Microsoft’s goals. That makes sense, and I think it’s good for customers, but customer value will always be more than just code.

Regardless, that’s what the debate should be about. What license/software/service/etc. drives the most customer value? Not whether my Mac is prettier (it is). :-)

Jeremy Jones

AddThis Social Bookmark Button

I noticed a link to loggrok (which is a simple log parsing library/framework) the other day on the CheeseShop updates page. I brought the link up in Firefox and decided to look at it later. Later happened this morning since I was at Walt Disney World the better part of last week.

The install for loggrok was as simple as `easy_install loggrok`. The only snag I ran into was that I needed to install the libxml2-dev and libxslt1-dev packages (under Ubuntu Edgy) for a dependency on lxml.

After I installed it, I was able to run the example program on a logfile containing the following lines:


2007-02-05 08:55:33,123 WARN THIS IS A WARNING
2007-02-05 08:55:33,123 ERROR THIS IS AN ERROR
2007-02-05 08:55:33,123 WARN THIS IS A WARNING

This seems like a nice little log parsing library. But the more interesting part of the library is that the code is quite pretty. Both the loggrok and the supporting xix library (both written by Drew Smathers) are well documented (by way of docstrings) and very clean to look through. If you don’t have use for a log parsing library/framework, I’d still recommend downloading loggrok just to look through the code to give you ideas for how to document and lay out your code. This openness which often leads to fruitful cross-pollination is one of the many reasons I love open source. Thanks, Drew!

chromatic

AddThis Social Bookmark Button

I’ve used Xfce as a window manager for almost four years now. It does everything I want: flexible numbers of virtual desktops, no icons on the root window, customizable root menus, adaptable mouse behavior, and vitally important window management features such as window shading and window hiding.

I couldn’t do my work without it, and I keep finding new features and enhancements (xfce4-verve is wonderful). Thank you to all of the Xfce developers, documenters, testers, and other contributors!

Todd Ogasawara

AddThis Social Bookmark Button

Microsoft ASP.NET AJAX logoPort 25’s Michael Francisco let us know that…

ASP.NET AJAX Released!

And, Port 25’s Sam Ramji provides a 20 minute video interview with ASP.NET Technical Evangelist Steve Marx in…

A Technical Look at ASP.NET AJAX

ASP.NET AJAX is probably exactly what you might guess from its name. It is a freely downloadable AJAX framework for use with the ASP.NET platform. You can download it from…

ASP.NET AJAX Home

It is a Javascript library that is cross-browser compatible.

It can be used with either the full Visual Studio 2005 or the free…

Microsoft Visual Web Developer 2005 Express Edition

You can also download the SQL Server Express Edition and MSDN documentation at the same time (you’ll need just shy of 2GB free for all this stuff).

Or, you can choose to use your own tools. According to the ASP.NET AJAX documentation: However, you do not require Visual Studio 2005 to use ASP.NET AJAX to create ASP.NET Web applications.

You can install and use the Microsoft AJAX Library without the .NET Framework. You can also install it on non-Windows environments to create client-based Web applications for any browser that supports ECMAScript (JavaScript). In fact, you don’t even need to use Microsoft Windows to make use of this library.

You can, for example, look at the…

PHP for Microsoft AJAX Library

…on the Microsoft CodePlex site.

ASP.NET AJAX is licensed under the…

Microsoft Reference License (Ms-RL)

…which is apparently similar to the BSD license (I’m not a licensing expert :-). However, while you can modify the library for internal use (if I’m reading the Ms-RL license correctly), Microsoft will not be taking community contributed changes into the production codebase.

Curtis Poe

AddThis Social Bookmark Button

If you have an idea for doing some work for the Perl community and you think it’s worthy of a grant, please send your grant entry to tpf-proposals@perl-foundation.org. Submission deadline is the last day of February, voting starts in March and we will be awarding the grants by the beginning of April.

First, please read about how to submit a grant. Read that carefully as grants are often rejected if they don’t meet the criteria. For example, if you want to submit improvements to a well-known project but there’s no evidence that you have at least tried to work with the maintainers of that project, the grant will likely not be approved. You can also read through our rules of operation for a better idea of the grant process.

AddThis Social Bookmark Button

Mary Jo Foley has an interesting post today about Microsoft paying IDC to research Linux TCO and tweak that research to Microsoft’s advantage. The “facts” came out in court documents filed for an Iowa antitrust case against Microsoft.

When the results didn’t come out in Microsoft’s favor, it voted to bury them:

In an e-mail dated Nov. 1, 2002, Kevin Johnson, now the head of Windows, wrote: “I don’t like it to be public on the doc that we sponsored it because I don’t think the outcome is as favorable as we had hoped. I just don’t like competitors using it as ammo against us. It is easier if it doesn’t mention that we sponsored it.”

Before we cry ‘Foul!’, however, let’s ask ourselves honestly a simple question, “Would we have done the same?” I think the answer is “Yes,” nine times out of 10. If Linux Vendor X commissioned a study and the study wasn’t favorable to Linux, I’m betting that X would either bury the report or certainly take their name off of it. This is part of competing: you present your best case and defer to your competition to present your worst case.

In some ways, though, as Mary Jo says, it just doesn’t matter. This is ancient (circa 2002 :-) history.

But the problem is that Microsoft continues to use the bought-and-paid-for research in its Get the Facts campaign. Maybe it feels the “facts,” however gathered, are, well, factual. Or maybe it feels that since it admitted to paying for the research, it’s for the buyer (reader of the facts) to beware, and not its job to delineate the “facts” lineage.

I don’t know. I do know that as a products company, Microsoft does a very good job. I don’t like its strategies fairly often (like this one), but I respect its products. I think Microsoft competes very well on the “facts” of its products’ strengths. Those really should be the primary facts it sells. Not this anti-Linux FUD.

Todd Ogasawara

AddThis Social Bookmark Button

Generic tools
The authors (James Avery and Jim Holmes) of the recently published book Windows Developer Power Tools wrote an article for O’Reilly’s WindowsDevCenter making…

The Case for Freeware and Open Source Windows Tools

One of their key points is that even if you already use the feature rich Microsoft Visual Studio for development, there are many freeware and Open Source products that can be used to enhance your work with Visual Studio.

A Port 25 post titled simply Following-up… from May 2006 lists a number of Microsoft-related freeware and Open Source tools. Two in particular that caught my attention are Open Source products that help Visual Studio work with the popular Open Source CVS and Subversion version control applications.

Jalindi Igloo - Connects Visual Studio to a CVS repository

AnkhSVN - Visual Studio add-in for working with a Subversion repository

AddThis Social Bookmark Button

I have been arguing for years that Microsoft, perhaps more than any other company, has much to gain from open source. Think about it. Windows is the world’s biggest platform, especially when you measure it across the server, desktop, and mobile environments.

While I’m not a fan of some of the company’s moves, I firmly believe that there is a growing force within Microsoft that wants to figure out “this open source thing.”

The company is starting to get it, after years of marketing FUD and other wasteful responses. With the most popular open source software - SugarCRM, Alfresco, Zend, MySQL, JBoss, etc - running on or with Windows (over 50% of the time, in many cases), it makes sense for Microsoft to support this new category (open source) into its ecosystem.

In this opportunity, however, lies Microsoft’s biggest roadblock. It’s a massive platform company and, as such, needs to be neutral to positive toward all players that enrich its platform with their applications. But Microsoft is also an applications company, with a growing database business, exploding Sharepoint business, and an already gargantuan Office business. Yes, Windows competes with Linux. But I believe Microsoft’s biggest opportunity is above the operating system, and this is where it bumps into a range of open source (and proprietary) businesses.

Josh Greenbaum of ZDNet concurs:

Microsoft, always interested in being the center of the IT universe, has realized that the carrot is just as good, if not better, than the stick. Remember the key component of an ecosystem strategy — to paraphrase an old Ann Landers column on whether a husband is considered a philanderer if he looks at another woman — it doesn’t matter where a customer works up an appetite as long as they come home to Microsoft’s technology to eat. So what if a customer is using Linux, Java, Business Objects, or something from Software AG (whatever) as long as the main platform comes from Redmond.

This is yet another example of how smart…Microsoft has become in a market where its traditional monopolies are more and more threatened. I would argue that, done rightly, being the owner of a software ecosystem could be even a better deal than just bludgening the market with monopolistic practices.

So far, Microsoft has done a good job of working with open source companies - even competitive ones - to facilitate their integration with Windows, SQL Server, etc. And so it should. The question will be whether it can continue to do so.

In short, the billion-dollar question is whether Microsoft can continue to view itself as a platform company. To the extent that it does, open source is an opportunity, not a threat.

chromatic

AddThis Social Bookmark Button

Dave Cross just posted a short analysis of Perl Programmers in London and the job situation there. This matches what I’ve heard, and what I noticed when I was in Europe last summer.

There’s plenty of work available for people who want to work in finance with Perl and related technologies in Europe, and there aren’t enough people to go around.

Maybe the secret weapons of the high finance industry can’t remain secret any longer, if they want to continue to attract skilled technologists.

Advertisement