News Archives

Chris Tyler

AddThis Social Bookmark Button

Open Source presents an incredible opportunity for educators: the ability to take students “under the hood” of complex systems and massive codebases without NDAs. But it also presents its share of challenges: constant change, collaboration across timezones, project politics, complex licensing compatibility issues, and more.

The Seneca Free Software and Open Source Symposium (FSOSS) is a two-day conference held each year in Toronto in late October, covering a wide (and eclectic!) range of Open Source and Open Content topics. This year FSOSS runs from October 23-24, and in addition to our regular slate of talks and workshops we’re adding a one-day track focused on Teaching Open Source. This track includes a series of panel discussions examining issues from the perspective of the student, professor, institution, and open source community.

You’re all invited to FSOSS, and I extend a special invitation to Open Source educators — details at http://fsoss.ca (it’s a very economical event to attend — and early-bird discounts are still in effect!).

Chris Tyler

AddThis Social Bookmark Button

Teaching Open Source development requires Open Source ways. I teach at Seneca College in Toronto, and we’ve been teaching inside the Mozilla community for the last three years with some very good results (I’ll be talking about this at OLS in a few weeks).

I’m really excited about combining two of my passions this fall: teaching Open Source, and working with the Fedora project. The LUX program will take students with an existing diploma, degree, or industry experience into the Fedora project over the course of a year, enabling them to experience open source from the inside. I’ll periodically blog about our experience here, and if you’re interested in following along, I recommend subscribing to the opensource@seneca planet.

Andy Oram

AddThis Social Bookmark Button

The first Linux Plumbers Conference has just been announced. It takes place on September 17-19 in Portland, Oregon, back-to-back with this year’s Linux Kernel summit.

The scope of Linux Plumbers Conference goes a bit beyond the Linux kernel; it spills out to include interfaces with the X Window System and some other userspace features. The list of major topics, which will be the subjects of “microconfs” lasted about two and a half hours each and will be run by leaders in the Linux community, include a number of familiar obsessions in the world of Linux (power management, graphics, audio), plus a couple interesting explorations such as video input and Linux server management.

Matthew Russell

AddThis Social Bookmark Button

As I put the final touches on my upcoming book, Dojo: The Definitive Guide, it occurred to me that it might be a good idea to go ahead and post an unofficial table of contents preview for those of you who are interested. Aside from some page numbers adjusting ever so slightly, and some heading levels changing that make Chapter 13’s table of contents entry a lot more detailed (ironically, the most dense chapter in the book), this is pretty much the real deal.

As far as I know, the book will be available early next month. I plan to continue writing my “Dojo Goodness” column semi-regularly for quite some time, so be sure to check in every now and then if you’ve been following along.

If you’ll be at OSCON, you might also drop by for some gfx discussion.

Without further ado:

Preface

Part I: Base and Core

1. Toolkit Overview 3
Overview of Dojo’s Architecture 3
Prepping for Development 7
Terminology 13
Bootstrapping 15
Exploring Dojo with Firebug 22
Summary 32

2. Language and Browser Utilities 33
Looking Up DOM Nodes 33
Type Checking 34
String Utilities 35
Array Processing 36
Managing Source Code with Modules 40
JavaScript Object Utilities 49
Manipulating Object Context 53
DOM Utilities 56
Browser Utilities 63
Summary 67

3. Event Listeners and Pub/Sub Communication 68
Event and Keyboard Normalization 68
Event Listeners 71
Publish/Subscribe Communication 77
Summary 80

4. AJAX and Server Communication 82
Quick Overview of AJAX 82
AJAX Made Easy 84
Deferreds 91
Form and HTTP Utilities 100
Cross-Site Scripting with JSON-P 102
Core IO 103
JSON Remote Procedure Calls 112
OpenAjax Hub 114
Summary 115

5. Node Manipulation 116
Query: One Size Fits All 116
NodeList 123
Creating NodeList Extensions 132
Behavior 133
Summary 137

6. Internationalization (i18n) 138
Introduction 138
Internationalizing a Module 139
Dates, Numbers, and Currency 142
Summary 145

7. Drag and Drop 146
Dragging 146
Dropping 157
Summary 167

8. Animation and Special Effects 168
Animation 168
Core fx 182
Animation + Drag and Drop = Fun! 189
Colors 190
Summary 198

9. Data Abstraction 200
Shifting the Data Paradigm 200
Data API Overview 201
The APIs 202
Core Implementations of Data APIs 208
Summary 224

10. Simulated Classes and Inheritance 226
JavaScript Is Not Java 226
One Problem, Many Solutions 227
Simulating Classes with Dojo 231
Multiply Inheriting with Mixins 240
Summary 244

Part II: Dijit and Util

11. Dijit Overview 249
Motivation for Dijit 249
Accessibility (a11y) 252
Dijit for Designers 255
The Parser 260
Hands-on Dijit with NumberSpinner 264
Overview of Stock Dijits 270
Dijit API Drive-By 274
Summary 275

12. Dijit Anatomy and Lifecycle 276
Dijit Anatomy 276
Dijit Lifecycle Methods 279
Your First Dijit: HelloWorld 286
Parent-Child Relationships with _Container and _Contained 297
Rapidly Prototyping Widgets in Markup 298
Summary 299

13. Form Widgets 301
Drive-By Form Review 301
Form Dijits 305
Summary 343

14. Layout Widgets 345
Layout Dijit Commonalities 345
ContentPane 347
BorderContainer 351
StackContainer 356
TabContainer 358
AccordionContainer 360
Rendering and Visibility Considerations 362
Summary 363

15. Application Widgets 364
Tooltip 364
Dialog Widgets 365
ProgressBar 369
ColorPalette 371
Toolbar 372
Menu 376
TitlePane 379
InlineEditBox 380
Tree 382
Editor 394
Summary 400

16. Build Tools, Testing, and Production Considerations 401
Building 401
Dojo Objective Harness (DOH) 411
Browser-Based Test Harness 416
Performance Considerations 420
Summary 422

Appendix A. Firebug Primer 423
Appendix B. Brief Survey of DojoX 434
Index 437

AddThis Social Bookmark Button

You know the drill by now. You can read the Parrot 0.6.2 release announcement on your own.

User-visible improvements include a tremendous amount of progress in Rakudo (Perl 6 on Parrot), including better object orientation, placeholder variables, and type checking. Much of this progress is due to two grants, one from the Mozilla Foundation for Patrick Michaud and the other from the Vienna Perl Mongers to Jonathan Worthington. By next month’s release, Rakudo very well may be mature enough that you can use it for your own projects. (IO needs a little work right now, and there are a couple of variable handling and assignment features in progress, but it’s very close.)

Other changes include tremendous improvements in performance (I doubled the speed of some long-running benchmarks) even without building an optimized build – but optimized builds work even faster now. There are also new OpenGL bindings in progress (and you can make and animate pretty pictures) now, as well as a resurrected Cardinal (Ruby on Parrot).

If we’re very fortunate, Rakudo and perhaps Cardinal will be able to use the SDL and OpenGL bindings by the next release.

Finally, the tutorial language Squaak (see Building a Compiler with Parrot Tutorial or the Squaak Tutorial wikibook) is now in the repository, so if you’ve ever dreamed of writing your own language, you can well and truly get started in an afternoon without diving into lex and yacc.

brian d foy

AddThis Social Bookmark Button


I’ll be at the Portuguese Perl Workshop on June 6-7.

Before the conference, I’m also giving Stonehenge’s “Intermediate Perl” master class on June 4-5. The master class format is a two-day, low-cost format that allows the trainer to attend the the conference. For the Portuguese Perl Workshop, the two day class includes the workshop registration fee and costs €200. Students get a special price of €100. You can register for the class at the same time you register for the workshop.

I’m also giving one of the keynote addresses on “Why People are Passionate About Perl”. This time around, I’m soliciting comments for people on their own versions of “Why I am Passionate About Perl”. If you’d like to participate, post your version somewhere. You can send me a link if you like, but I’ll also try to track down the posts through Google.

There’s really nothing special about Perl and passion, so the exercise might be useful for other languages too. If you’re passionate about another language, just adjust the title. :)

Ming Chow

AddThis Social Bookmark Button

Course website: http://www.cs.tufts.edu/comp/50GD

I just finished teaching my game development course at Tufts University. The first time I taught this course back in 2006 went extremely well. I continued to use Java for the programming aspects of my course. Most of the syllabus remained the same, but the 3D component of the class was vastly different, namely:

Both changes worked out extremely well, and I did not encounter many problems. In the end, it was a very successful semester, and I cannot credit my students enough for what they accomplished. I thought my 2006 class was the best class that I had, but this year’s class went over-the-top. The expectations and aspirations of the students this year were ambitious, and they all delivered nicely.

I invite everyone to check out my students’ works at http://www.cs.tufts.edu/comp/50GD/students_works/. If you have some time to kill, feel free to play and hack some of the games. Two games you can definitely download and play with no code compilation: Barrel Blaster and Zapped! Barrel Blaster is Windows-only, a final project created with Multimedia Fusion Developer 2. Zapped! was written entirely in Java: its’ soundtrack was homemade, and it has a vast set of challenging levels –just don’t get hit, that is the goal of the game! If you are a programmer, try out the CS3 game engine, a final project written in C++. If you have been curious about using LWJGL and jME, try Penelope, a StarFox-clone. There are several cool and sophisticated action/adventure/RPG games: EquipmentQuest (RPG, Final Fantasy-like), Singularity (isometric tile), and Journey to the West (sidescroller). There is even a 2D fighter: Legendary Vaporware Forever. If you want to delve into Blender and all it can do, there are models and a demo of its’ game engine. One student managed to tinker with the new open source game project, Solis (a 2D action/adventure game a la Zelda) –and created a new map based on the Tufts campus. Finally, my course notes and resources are available.

Everything is there for the taking: please feel free to use and distribute. There is something for everyone: from beginners to game hackers. I hope that this is valuable for hobbyists, game studios, and Computer Science departments that are interested in starting a course or a major in game development.

Mike Hendrickson

AddThis Social Bookmark Button

Skyline.jpg

The third Ignite Boston will be on Thursday, May 29, from 6 to 10pm at Tommy Doyle’s in Harvard Square, Cambridge, MA. This time, we’re using two floors at Tommy Doyle’s, so the acoustics will be better than our first event there. From 6-6:45 pm, mingle and talk tech with your fellow FOOs, alpha geeks, and techies from the greater Boston area. After the mingling and social stuff, we’ll have a couple of special keynote presentations by Jonathan Zdziarski of iPhone notoriety and John Viega of Security notoriety to kick off our Ignite talks. Then, onto guest speakers who’ll catch you up on the cool, new, innovative stuff going on in technology today. Don’t blink or you’ll miss their lightning-fast, five-minute presentations. During intermissions, get a cold beer and chat with speakers, sponsors, and O’Reilly’s own editors. Join us Thursday, May 29, for a fun, energetic evening of talking, learning, collaborating and drinking!

Check out the events and activities of previous our Ignite events.

RSVP If you plan to attend, email IgniteBoston at oreilly dot com for the chance to win $300 worth of O’Reilly books of your choosing. You must be present to win. There will likely be other items like tee-shirts and other promo items for those who alert us ahead that they plan to attend.

Presentation Guidelines

Ignite is a user-generated event. If you’re interested in speaking, then submit a proposal for consideration.

Presentations must:

  • Be no longer than 5 minutes
  • Be on an innovative topic (no sales pitches, please!)
  • Be viewable on a PC [a MacBook Pro with Powerpoint and Keynote, and PDF] with standard AV equipment
  • Did we mention, no Sales Pitches.

Noah Gift

AddThis Social Bookmark Button

I thought I would point out that the full length version of our exclusive Video Interview with Mark Shuttleworth is now available. Originally we had a very short version that was posted, but now you can watch it all here.

Jeremy and I are on camera for only a few seconds at most, I promise, but the approximately 20 minute interview is truly incredible, and inspirational, if you haven’t watched it.

AddThis Social Bookmark Button

Patrick Michaud gave Rakudo Perl Talk to the Dallas/Fort Worth Perl Mongers last month. These slides are a great overview of the current status of Parrot’s Compiler Toolkit and Rakudo Perl 6.

Of particular note is Effectiveness of the Parrot Compiler Toolkit, which suggests that an initial port of Python 2.5 to Parrot took six hours and a port of LOLCODE took four hours. These are powerful tools, and they’re only getting more so.

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.

brian d foy

AddThis Social Bookmark Button

Mastering Perl tutorial at OSCON
Matthew Russell

AddThis Social Bookmark Button

Whether you’re a Dojo veteran or a developer who is just starting to kick the tires, you should be excited about Dojo 1.1! I’ll leave you to the announcement and the release notes for now, but rest assured that we’ll be all over it in the ensuing Dojo Goodness episodes.

AddThis Social Bookmark Button

Do you know a student interested in compilers, virtual machines, and programming languages? The Perl Foundation is a mentoring organization for Google’s Summer of Code again this year.

Perl 6 and Parrot have several project suggestions for students, and there are plenty of other places where you or your student can participate. In particular, anything related to a modern virtual machine or compiler or programming language implementation is fair game, including garbage collection, JIT, register allocation, compiler optimizations, and parsing strategies.

The most interesting ideas on the list so far include the integration of parts of LLVM with Parrot, particularly its JIT, though making Parrot compile with LLVM’s clang is an interesting project in its own right.

There are plenty of tasks for someone more interested in building a compiler than a virtual machine, however. Start with Klaas-Jan Stol’s Building a Compiler with Parrot articles on the Parrot weblog, and you’ll be able to build your own small language in a couple of days.

Finally, Bernhard Schmalhofer released Parrot “P&P” 0.6.0 on Tuesday. Besides the inevitable bug fixes, language improvements, and minor spit and polish we always provide, this release features reworked internals of our polymorphic fundamental data types. This was one of our milestones, and we’re still on track to the 1.0 release in the medium-to-near future.

AddThis Social Bookmark Button

Plenty of people have said that Perl is dead. (Some of them post on this site.) Rather than looking in the rear-view mirror of book sales (and I keep arguing with our research group that we need to normalize that data to account for the huge sell-in spike for a frontlist title and the inevitable batch of returns three months later) or a naive search for “X programming”, Tim Bunce gathered job posting statistics and other information particular to the Perl community to demonstrate that the duct tape of the Internet is still alive and well.

Tim’s focus changes halfway through the video to discuss the development process of Perl 6 and how that’s sped up dramatically in recent months as well. Though the video’s difficult to read in places, it’s very much worth your time to watch, if for no other reason than Tim’s impressive and polite understatements, such as my personal favorite:

“The web development community tends to wear blinkers.”

Update: The link is Perl Myths Debunked.

Matthew Russell

AddThis Social Bookmark Button

Dojo is now compatible to run on Adobe AIR, which shipped as of today. The press release does a great job of summarizing, but this excerpt is worth repeating:

The updates to the Dojo Toolkit make it even easier for Ajax developers to create engaging applications on Adobe AIR,” said [Rob] Christensen [senior product manager, Adobe AIR at Adobe]. Ajax developers can take full advantage of the Dojo Toolkit’s powerful user interface components including menus, tree controls, tabs, rich text editors, and effects libraries to build rich, cross-operating system applications for the desktop.

Complete information on getting Dojo running in an AIR environment can be found here.

It’s going to be quite exciting to see Dojo on the desktop. AIR developers, I’d be interesting in hearing back about your experiences with Dojo as you press forward.

Matthew Russell

AddThis Social Bookmark Button

Just this past weekend, dojotoolkit.org rolled out significant improvements in presenting documentation. Better documentation has been one of the most common requests for the project, so this update is at least a partial delivery on that front. The hope is that continued improvements in API documentation and other efforts such as the book I’m finishing up will continue to make Dojo more and more accessible.

AddThis Social Bookmark Button

I’m typically logged into the Threading Building Blocks IRC channel (#tbb on FreeNode.net IRC). Last week, a community member noticed AMD’s new open source initiative, Framewave. He took a quick look at the project, and came back to tell us that, despite the use of the words “multicore” and “performance,” the library really isn’t like TBB, it’s not a generic multithreading framework that can be applied to multithread applications and libraries to take full advantage of multicore computers. Still, the Framewave project is interesting in that it illustrates the kind of computational power that multicore is capable of bringing to standard home and office desktops.

People have frequently disagreed with my assessment that general users will ultimately find many uses for all the new processing power that multicore brings to the desktop. The Framewave project is an illustration of the type of computation libraries I believe people will definitely find useful, once they recognize the possibilities these libraries offer.

For example, the Sourceforge Framewave page tells us that Framewave is:

a free and open-source collection of popular image and signal processing routines designed to accelerate application development, debugging, multi-threading and optimization on x86-class processor platforms.

Image processing and signal processing entail significant computation. As a result, in the past, these libraries were not brought into common desktop applications: the data manipulations would take too long to complete; few users would have wanted to wait for the processing to complete, regardless of what results were possible. Hence, applications such as Photoshop Elements and PaintShop Pro have stayed with simple image transformations, that can be performed in a fraction of a second, so the user can see the results immediately.

Multicore systems change this. The Framewave project (which uses the Apache licensing model) is a starting point.

Framewave’s architecture

I haven’t studied Framewave enough yet to know exactly how the algorithms have been tuned for high performance on multicore systems. You would think full multithreading would be required. I’ll look at that soon. The AMD Framewave page tells us that the framework’s API is compatible with the Intel’s Integrated Performance Primitives (Intel IPP), which is:

an extensive library of multi-core-ready, highly optimized software functions for multimedia data processing, and communications applications.

Looking more closely, we see that Intel IPP is itself in the same space as Framewave, offering algorithms for image processing, signal processing, vector/matrix mathematices, cryptography, and quite a bit more. The Framewave “API compatibility” statement tells us, then, that developers can create applications that apply both Intel IPP and Framewave.

Mix and match design

That implementation is reminiscent of the design of Threading Building Blocks, where you can create applications that mix traditional threads or OpenMP with whatever components of TBB you need. Of course, in the case of a math library that’s a collection of distinct functions, that’s almost the expected design. In TBB’s case, a non-monolithic design was only one of the possibilities. The fact that you can use TBB’s threadsafe containers (or memory allocators, etc.) in a native threads application is an enormous benefit. The correct design decision was made by the TBB team!

Conclusion

I plan to take a closer look at Framewave. If it’s not multithreaded already, it will be interesting to see how readily TBB could be applied to enable the library to take full advantage of modern multicore computers.

Andy Oram

AddThis Social Bookmark Button

Google’s new operating system, Android, is not just a comprehensive runtime for mobile applications. Nor is it just a rapid application development platform for such applications. In addition to these things, I see Android as a redefinition of what interactive applications should be.

The snowstorm that covered Boston yesterday didn’t keep two hundred hackers from showing up this morning for Google’s Android Code Day, most of them probably hoping to take home a slice of Google’s ten million dollar challenge. Even more amazing, the Google team flying in from California also made it. We filled the ballroom of the swanky Charles Hotel, where attendees were interested less by the landmark oil paintings on the walls than by the images delivered by a wireless network to their laptops.

In this blog I’ll summarize some of the basic elements of Android applications and how they relate to componentization, today’s trend in software development.

AddThis Social Bookmark Button

Lenz Grimmer wrote about the MySQL University session Checking Memory with Valgrind, given by Stewart Smith.

Like all good-hearted people, I think Valgrind is one of the most useful inventions ever. I’ll check out the archives after the session.

AddThis Social Bookmark Button

Jeff Horwitz spoke at Frozen Perl this past weekend about mod_parrot (embedding Parrot in Apache httpd) and mod_perl6.

Though Rakudo (Perl 6 on Parrot) is still in progress, it’s far enough along that you can write real Perl 6 programs that run atop mod_parrot. Jeff’s slides are available as The Future of mod_perl: Perl 6 and Beyond (PDF link). This code works today, right now.

(Oh, and Rakudo is far enough along that Jeff can also show off mod_perl6 written in Perl 6.)

Andy Oram

AddThis Social Bookmark Button

Open source advocate William Hurley has put up a poll asking readers who would be the best presidential candidate on open source issues. Think patent reform, for instance. Don’t give away the results…
Andy Oram

AddThis Social Bookmark Button

I had some conversations today about Nokia’s purchase of Trolltech, the makers of Qt and Qtopia. From a conversation with Juha Seppa (Director, Devices R&D at Nokia) and an email exchange with Haavard Nord (CEO and founder of Trolltech), I discovered that the relationships of these companies vis-a-vis free software is not expected to change. I assume that Nokia simply wants to ensure the continued funding and unimpeded development of Qt and the other software that has made Trolltech popular on mobile devices.

First of all, Qt and Qtopia will continue to be released under the GPL. An open letter sent by Trolltech and Nokia management to the KDE community says, “We respect the symbiotic relationship Qt has with the community and we wish to continue and enhance this relationship.” Furthermore, “Nokia will apply to become a Patron of KDE.”

However, Nokia’s long-standing support of GNOME will also continue. They have been deploying Maemo on Internet tablets and will continue to do so. One of the big draws of Trolltech, though, was the strong cross-platform support in its software. Nokia currently uses at least three operating systems (Linux, Symbian, and one of their own), so preserving flexibility is crucial.

Timothy Appnel

AddThis Social Bookmark Button

Last night, the first stable version of Movable Type under a GPL license was released. You can download it from here.

Being a Perl coder and advocate of open source, the release of MTOS has great significance to me personally.

There is still a lot of work to be done in its transition, but progress has been steady.

With development of MT’s being mostly closed to date and Six Apart’s relentless focus on end-user user experience, the MT community has significant amount of designers, consultants and other professionals who use it to run their business and deliver solutions. What is now needed are experienced Perl coders to join the mtos-dev mailing list and start discussing how to improve the existing code, tap further into the collective experience found in CPAN, and in return, make what’s been developed for MT, an asset to the Perl community as a whole.

There definitely where some issues over the years in terms of code style and quality that are being addressed. It’s improved though there is still a long way to go.

Here are some links for getting involved:

Noah Gift

AddThis Social Bookmark Button

After recently coming across the secret Tom Cruise Scientology recruitment video, I was left wondering a few things. Could Scientology make you a better programmer?

Tom claims, “We are the way to happiness. We can bring peace and unite cultures.”, and “We are experts on the mind”. That sounds like a good recipe for just improving just about anything. I also noticed a lot of acronyms like KSW, and SP. He sounds like a programmer, maybe that is some new programming technique like agile programming, or extreme programming.

Tom also claimed, “When you’re a Scientologist, and you drive by an accident, you know you have to do something about it, because you know you’re the only one who can really help… “. I wonder if they are also good at debugging bad code? I would have loved to have heard something like, “When you’re a Scientologist, and you see code that isn’t tested, you know you have to write tests because you are the only one who can really help”?

Anyone else interested in seeing Tom Cruise back on Oprah’s couch talking about the right way to Unit Test? I suppose we can only hope….

Jeremy Jones

AddThis Social Bookmark Button

I really don’t know what this means, but here is the page that contains the headline. Further down in the page are a few details regarding the announcement. Here are those details:

Python has been declared as programming language of 2007. It was a close finish, but in the end Python appeared to have the largest increase in ratings in one year time (2.04%). There is no clear reason why Python made this huge jump in 2007. Last month Python surpassed Perl for the first time in history, which is an indication that Python has become the “de facto” glue language at system level. It is especially beloved by system administrators and build managers. Chances are high that Python’s star will rise further in 2008, thanks to the upcoming release of Python 3.

Noah Gift

AddThis Social Bookmark Button

Completely Random YouTube Highlights While I Procrastinate From Real Work

Head of Microsoft Goes Ape Crazy

Steve Jobs Says Microsoft Has No Taste and Makes 3rd Rate Products

How to pronounce Linux

Stallman on Free Software

Larry Ellison says Microsoft is Not Innovative Technically

My Links:
noahgift.com
My O’Reilly RSS Feed

Andy Oram

AddThis Social Bookmark Button

System and network monitoring is one of the many fragmented fields in computing that could use better integration. Right now, 49 leaders of the field are meeting in Austin, Texas at a BarCamp under the sponsorship of BMC Software and its Chief Architect of Open Source Strategy, William Hurley, along with the Zenoss open source monitoring project. In addition to Hurley, the BarCamp is organized by Mark Hinkle of Zenoss and John Willis of the Zabovo training company. The BarCamp includes proprietary vendors as well as free software projects. Major announcements: a new Open Management Consortium will develop standards for a enterprise system monitoring agent and enterprise monitoring design paterns. The OMC Design Patterns project plans to create a domain-specific pattern language and a repository for patterns. The agent, I suppose, will define and provide protocols for handling the patterns.

AddThis Social Bookmark Button

Bob Rogers just released Parrot 0.5.2. This monthly release includes a couple of interesting new features.

First, we’ve managed to bundle up Patrick Michaud’s Rakudo (that’s the implementation of Perl 6 on Parrot) such that you can type make perl6 on Unixy platforms and make perl6.exe on Windows and get a working standalone Perl 6 binary. This is experimental and we hope to iron out some installation and deployment issues by next month’s release, but it was important to demonstrate our progress.

The second new feature is a toolkit for starting your own compiler. Max Mohun built a prototype several months ago, and we’ve added a stripped down version for now that builds the skeleton of a compiler for you using the Parrot Compiler Tools. I mentioned the LOLCODE compiler in What the Perl 6 and Parrot Hackers Did on Their Christmas Vacation; this is how Simon and Company were able to get LOLCODE up and running so quickly.

If someone asks nicely, I might even make it possible to create a standalone LOLCODE compiler executable. Where else are you going to get patch explanations like:

The bare expression before an O RLY? should both set IT and be used as a test in the O RLY?, but it should only be evaluated once.

(See Perl RT #49808.)

Noah Gift

AddThis Social Bookmark Button

After hearing the word FUD used on an almost daily basis in blogs, newstories, idle banter, I “fear” with little “uncertainty” or “doubt”, that it was perhaps the most overused word in IT in 2007. The word FUD is almost approaching the word “communism” in the McCarthy era. In fact, in a weird ironic twist, the use of the word FUD, is often FUD. Think about that one for a bit…

I submitted FUD to the Lake Superior State University banished words list. Does anyone else have a word they think should be banned?

AddThis Social Bookmark Button

Tomorrow is Parrot’s monthly New Contributor Day, as we prepare for the 0.5.2 release on 15 January 2008. Before you join us in #parrot on irc.perl.org, you might peruse three articles I wrote for Linux Magazine last year.

A Tour of Parrot explains the philosophy of the project and several of the design decisions we’ve made.

Programming PIR explains the native programming language of Parrot, an assembly language full of high-level language features and syntactic shortcuts.

Programming Reusable PIR shows how to build actual programs in PIR.

Now that the Parrot Compiler Toolkit has reached its second stage of evolution, you don’t have to write PIR to build your own compiler on Parrot. I hope to continue the series soon by showing how simple writing a working compiler for a non-toy language can be with this new technology.

Noah Gift

AddThis Social Bookmark Button

Just minutes ago they announced that Tutorials and Talks are finalized for PyCon 2008!

Here are the list of Talks:

My talk, on “Using Optparse, Subprocess, and Doctest To Make Agile Unix Utilities” was accepted, so I am pretty excited. One of the reasons I started the Google Code project on python4bash, was to get some better ideas on explaining Python to Bash programmers. If you have some ideas, please join the project, or send me an email.

Here are the list of Tutorials:

It is going to be really tough to decide what Tutorials to attend, but the Tutorial I am most excited about attending is “Practical Applications of Agile (Web) Testing Tools (C. Titus Brown and Grig Gheorghiu)”. I have a few web applications I am developing, and Titus and Grig are doing letting attendees bring in their code so it can be “agified”, if that is a word :) I am also excited about the “Eggs and Buildout Deployment in Python (Jeff Rush)”. At next month’s PyAtl meeting we are going to have three people give back to back presentations on buildout/eggs/virtualenv, so it is very much on my radar.

Here is the signup for Sprints:

I will be attending at least a couple days of Sprints this year, but I haven’t picked which Sprint I want to attend yet.

Summary:

It looks like this year’s PyCon is going to be awesome. If you have ever thought about attending, do it. Last year’s PyCon was one of the most enjoyable times I had in 2007, hope to see you there in 2008! PyAtl will be talking about PeachWSGI at PyCon, an annual WSGI Web Development Sprint we are holding at the end of May or early June….more on that later.

Links:
python4bash
Noah Gift Blog
osxautomation


AddThis Social Bookmark Button

Andy Oram

AddThis Social Bookmark Button

A modern, well-maintained web site should be valid, well-formed XML. If you want to rely on XML tools (XQuery, XSLT, etc.) for all your documentation and database access, you can now implement web sites with a new MVC framework named Flower. It hasn’t reached the 1.0 stage yet, and developer Thomas Lord warns that you’ll need help installing and building the system, but once you’ve got it going you can apply your XML tools to dynamic document creation.

Andy Lester

AddThis Social Bookmark Button

This is a copy of the official announcement about Perl 5.10.

Today the Perl Foundation announces the release of Perl 5.10, the first major upgrade to the wildly popular dynamic programming language in over five years. This latest version builds on the successful 5.8.x series by adding powerful new language features and improving the Perl interpreter itself. The Perl development team, called the Perl Porters, has taken features and inspiration from the ambitious Perl 6 project, as well as from chiefly academic languages and blended them with Perl’s pragmatic view to practicality and usefulness.

Significant new language features

The most exciting change is the new smart match operator. It implements a new kind of comparison, the specifics of which are contextual based on the inputs to the operator. For example, to find if scalar $needle is in array @haystack, simply use the new ~~ operator:

  if ( $needle ~~ @haystack ) ...

The result is that all comparisons now just Do The Right Thing, a hallmark of Perl programming. Building on the smart-match operator, Perl finally gets a switch statement, and it goes far beyond the kind of traditional switch statement found in languages like C, C++ and Java.

Regular expressions are now far more powerful. Programmers can now use named captures in regular expressions, rather than counting parentheses for positional captures. Perl 5.10 also supports recursive patterns, making many useful constructs, especially in parsing, now possible. Even with these new features, the regular expression engine has been tweaked, tuned and sped up in many cases.

Other improvements include state variables that allow variables to persist between calls to subroutines; user defined pragmata that allow users to write modules to influence the way Perl behaves; a defined-or operator; field hashes for inside-out objects and better error messages.

Interpreter improvements

It’s not just language changes. The Perl interpreter itself is faster with a smaller memory footprint, and has several UTF-8 and threading improvements. The Perl installation is now relocatable, a blessing for systems administrators and operating system packagers. The source code is more portable, and of course many small bugs have been fixed along the way. It all adds up to the best Perl yet.

For a list of all changes in Perl 5.10, see Perl 5.10’s perldelta document included with the source distribution. For a gentler introduction of just the high points, the slides for Ricardo Signes’ Perl 5.10 For People Who Aren’t Totally Insane talk are well worth reading.

Don’t think that the Perl Porters are resting on their laurels. As Rafael Garcia-Suarez, the release manager for Perl 5.10, said: “I would like to thank every one of the Perl Porters for their efforts. I hope we’ll all be proud of what Perl is becoming, and ready to get back to the keyboard for 5.12.”

Where to get Perl

Perl is a standard feature in almost every operating system today except Windows. Users who don’t want to wait for their operating system vendor to release a package can dig into Perl 5.10 by downloading it from CPAN, the Comprehensive Perl Archive Network, at http://search.cpan.org/dist/perl/, or from the Perl home page at www.perl.org.

Windows users can also take advantage of the power of Perl by compiling a source distribution from CPAN, or downloading one of two easily installed binary distributions. Strawberry Perl is a community-built binary distribution for Windows, and ActiveState’s distribution is free but commercially-maintained. ActiveState’s distribution is available now, and Strawberry Perl’s is imminent.

Matthew Russell

AddThis Social Bookmark Button

After a batch of feedback about the way that our previous Short Cut on Dojo was titled and marketed, we decided to update it for version 1.0 (the previous version targeted 0.9), make the title more descriptive of the Short Cut’s focus on creating custom widgets, and try it all again.

Here’s the link to the updated Short Cut.

One caveat is that the URLs for the code examples in it point to version 1.0.0 of the code on AOL’s Content Delivery Network. The latest Dojo build features the 1.0.2 code (a significant bug fix release). While the example code should work the same way either way, you’ll want to use the 1.0.2 code in any actual development you do over the CDN.

For those who haven’t heard of Dojo, it’s a fantastic JavaScript toolkit that you really don’t want to live without if you are a web developer in this day and age. In addition to providing facilities that comprise a JavaScript standard library, you also get a library of amazing out-of-the-box widgets and build tools. You can read a short ONLamp article about it here if you’re looking for a drive-by overview.

Also, stay turned for the upcoming book that’ll be available early next year.

PS - What more could someone possibly ask for on Christmas morning than a Short Cut on Dojo? It makes a great stocking stuffer :)

AddThis Social Bookmark Button

As you may know already, Perl 5.10 came out today. Today is also Perl’s 20th anniversary (see also Perl Simplifies the Labyrinth that is Programming Language — and to be fair, Perl doesn’t include David Bowie in extra eye makeup and tight pants).

You might not know that the Parrot porters have released Parrot 0.5.1. It’s pure happy coincidence that the monthly release cycle of Parrot coincides with Perl’s 20th anniversary, but in honor of the occasion, there’s a nice puny easter egg in this release that might bring back a stab of nostalgia. It’s an interesting comparison of how far the language and platform have evolved in two decades. Oh yes, and the Parrot tarball also contains an implementation of Perl 6 which has made tremendous progress in the past month.

brian d foy

AddThis Social Bookmark Button

Perl 1 was released to the public by Larry Wall 20 years ago today. To celebrate, Perl5Porters have released Perl5.10, the latest stable version of Perl 5. Happy Birthday Perl!

Perl 5.10 isn’t just a bug fix version: it’s full of new features that I’m eager to use: named captures in regular expressions, state variables for subroutines, the defined-or operator, a switch statement (called given-when, though), a faster regex engine, and more. You can read more about the changes in perldelta.

The perl-5.10.0.tgz file is making its way to all of the CPAN mirrors, but if you can’t wait for that, you can its torrent file. Once it makes it to the CPAN mirrors, it will the new stable.tar.gz

This time around, Perl 5.10 installation will work the same on unix and Windows: Strawberry Perl is a Perl distribution for Windows that comes with a C-compiler and everything else you need to do it yourself. Give it a couple of days to catch up, though.

Noah Gift

AddThis Social Bookmark Button

I setup trac 0.11dev last night on CentOS 5 to manage the review process for our book, using svn 1.4.5 and python 2.4.3. It was very nice! The new admin interface is great, and allows you to easily load plugins:

One gotcha, that I always forget is, if you setup tracd running behind an Apache rewrite you need to setup the trac.ini file to have both:


base_url = http://trac.example.com
use_base_url_for_redirect = True

And your rewrite stanza should look like this:



    ServerAdmin trac@example.com
    ServerName trac.example.com
    RewriteEngine on
    RewriteRule ^(.*) http://192.168.1.1:8000$1 [P]

Just a note, it is not 100% beta yet, but from the traffic on the list, it appears it should be beta any day now. Nice work Trac team…this rocks!

Jeremy Jones

AddThis Social Bookmark Button

From Guido’s blog, Python 3.0alpha2 has just been released. And here is the release page. Good work folks!

Doug Hellmann

AddThis Social Bookmark Button

Leslie Hawthorn, Program Manager on the Open Source Team at Google and lead wrangler for GHOP has posted a video summary of the status one week into the contest, including some feedback from Guido.

Andy Oram

AddThis Social Bookmark Button

The next time you have to search for information on any topic, try recording your efforts in a survey I’ve just put up:

http://www.praxagora.com/search_survey/

Easy searches usually aren’t interesting, so I’m seeking submissions just about searches that covered three or more documents (besides search engines). Relevant searches can be done online, using print media, or both–and even other media such as radio or film.

AddThis Social Bookmark Button

Thomas Klausner, the head of the Vienna Perl Mongers group, has just announced the Winter of Code. YAPC::Europe 2007 made a tidy profit. Vienna.pm decided to sponsor several small Perl projects with the money, in hopes of encouraging further development.

My favorite item on the list is restarting the Perl 5 summaries. I’m jealous of projects such as Planet GNOME and Planet KDE which have daily flows of useful technical information. Though Planet Parrot and Planet Perl Six exist, and Perlbuzz takes up a lot of slack, there’s no substitute for someone with dedication to pick out the most important developments in a week or fortnight and publish them for the world to see.

If you can devote a couple of hours to this project, please let Vienna.pm know!

Jonathan Wellons

2008 Election Correctly Predicted

AddThis Social Bookmark Button

Three European scientists have produced a document which correctly states who will win the 2008 US presidential election.

They don’t need to give you the document (although they do) because they can give you the MD5 checksum. A checksum, which is a kind of fingerprint for the document, accordingly to the conventional wisdom can only come from that one document. In principle, other documents may exist with the same fingerprint, but are technically infeasible to find. Then, after the election is over, they will make the PDF available and invite you to measure its MD5. If it matches, that proves it has to have been the same one they fingerprinted back in Nov 30, 2007.

Doug Hellmann

AddThis Social Bookmark Button

Due to overwhelming response, and the fact that we underestimated the skill-level of the contestants, the list of tasks assembled by the PSF for the Google Highly Open Participation contest is running out rapidly. The contestants are completing tasks faster than the existing mentors can think of new ones. We need your help to come up with more ideas for the contest, and soon!

Doug Hellmann

AddThis Social Bookmark Button

For the past few days I’ve been one of several people helping Titus Brown set up the Python Software Foundation’s portion of the Google Highly Open Participation(TM) contest. GHOP is an extension of Google’s Summer of Code project, for students not yet in college. The goal of the contest is to attract young people to open source, and teach them how to participate. Check out the FAQ for more details.

brian d foy

AddThis Social Bookmark Button

The Chicago Perl Hackathon is Friday, Dec 14 to Sunday, Dec 16 at Hosteling International, 24 E. Congress Parkway in downtown Chicago (which is also in walking distance of most of the populoar tourist stuff). Meet other Perl people, work on other people’s projects, get other people to work on yours, or just hang out with other Perl people.

The week before the hackathon (Dec 10-14), Stonehenge is offering open-enrollment courses its Learning Perl and Intermediate Perl courses to the public, as well as two new courses, “Beginning Catalyst” and “Test Driven Development”. Take a course, then stick around for the hackathon to meet some Perl people. :)

AddThis Social Bookmark Button

I announced last week the release of Parrot 0.5.0, a major milestone in the development of the Parrot virtual machine. The largest accomplishment in this release is the development of a powerful new object system which we believe is capable of serving as the foundation for several modern languages running atop Parrot, including Ruby and Perl 6.

This new object system — known in Parrot circles as PDD 15 — was a dependency for Parrot’s compiler tools, specifically Parrot’s AST.

With PDD 15 in place, well-tested, and stable, Patrick Michaud has in the past week made tremendous progress on Parrot’s compiler tools. He’s written a Perl 6 on Parrot ROADMAP.

An early milestone there is the completion of a language called NQP, which is a simplified version of Perl 6 built on Parrot which is powerful enough to use to build other compilers. Previously, the canonical way of writing a compiler for Parrot was to use PIR, Parrot’s native high-level language. That worked, but PIR is a line-oriented assembly language despite some syntactic sugar, so it can occasionally lead to verbose code. You might remember that a few months ago, we made tremendous progress to make the Perl 6 implementation pass the Perl 6 sanity tests (see Adding a Feature to Perl 6 on Parrot); progress slowed when it was clear that NQP would improve our work tremendously.

As of yesterday, NQP is powerful enough to write real compilers. Within the Parrot source tree, languages/abc is an implementation of the Unix bc command written entirely with the Parrot compiler tools using NQP. Perl 6 is a more complex language, but abc uses enough features of NQP and the compiler tools to demonstrate that they are complete enough to use to write Perl 6.

What’s next? Migrating the existing Perl 6 implementation from PIR to NQP. Then the fun begins.

Noah Gift

AddThis Social Bookmark Button

For the privilege of watching a Red Band Trailer, of nocountryforoldmen, all you need to do is give the MPAA and some third party site, your home IP address, Driver’s License Information, and zip code. What a deal! I am sure this information will be very safe, and it would never be used to track me, if I chose to use a P2P site.

Thanks MPAA for making my world safe! Is that SDK available to everyone? I could build one heck of Social Networking site. You just browse to the site, the webabb detects your IP address, and automatically builds a profile based on your driver’s license records.


Digg!

AddThis Social Bookmark Button

Jack had avoided looking into his sons’ faces during this Oration, because he reckoned they’d not wish to be seen with tears streaming down their faces. But looking up at Jimmy now he saw dry eyes and a quizzical if impatient phizz. Turning the other way, he saw Danny gazing distractedly at the White Tower.

“Before you embark on a new life overseas, assuming that is your fate,” Jack said, “find Eliza and tell her she is my true love.” And then he jerked the chains loose from the restraining grip of first Jimmy, then Danny. He leaned forward, pushed off against the rail with both feet, and launched himself into space above London. His cloak spread in the wind of his flight like the wings of an eagle, revealing, to anyone who might be gazing up into the sky, a lining made from cloth-of-gold that glistered in the rays of the setting sun like the chariot of Apollo. He was on his way down.

— Neal Stephenson, The System of the World

On behalf of the Parrot team, I’m proud to announce Parrot 0.5.0 "Caulked Snack." Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 0.5.0 is available from the CPAN (soon), or follow the download instructions. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Subversion or SVK on our source code repository to get the latest and best Parrot code.

Parrot 0.5.0 News:

- Implementation
  + PDD15 (OO) branch merged with trunk; this release contains a working,
    tested implementation of the latest OO model
  + Added pop_eh/push_eh_p/count_eh opcodes
  + Add --runcore command line option
  + Add gcdebug runcore to help track down GC bugs
  + minor improvements to IA-32 JIT
- Documentation
  + PDD19 (PIR): updates to macros, .pcc* directives
  + PDD25 (Concurrency): updated
  + PDD26 (AST):  draft approved
  + PDD23 (Exceptions): draft approved
  + Copyright cleanups
- Languages/Compilers
  + languages/APL: minor updates, PDD15 conformance
  + languages/dotnet: minor updates
  + languages/lua: minor updates, PDD15 conformance
  + languages/lisp: minor updates
  + languages/perl6: minor updates, PDD15 conformance
  + languages/plumhead: minor updates
  + languages/punie: minor updates, PDD15 conformance
  + languages/nqp: minor updates
  + languages/scheme: many updates, PDD15 conformance, improved tests, use
    PMCs instead of primitive registers to represent values
  + languages/tcl: bugfixes, PDD15 conformance
  + languages/WMLScript: minor updates
  + compilers/pirc: updates from PDD19, PDD06
  + compilers/pct: minor updates, PDD15 conformance
  + compilers/pge: PDD15 conformance
  + compilers/tge: PDD15 conformance
- Configuration
  + Improve test coverage
  + Improve reporting when a step fails; allow abort on failure
- Miscellaneous
  + More coding standard conformance, tests, cleanup, speedups,
    warnings cleanup
  + Bug cleanup, esp. GC bugs
  + Eliminate .imc extension (use .pir)
  + Simplify some core config steps to not allow interactive prompting
- Removed
  + clear_eh opcode

Thanks to all our contributors for making this possible, and our sponsors for supporting this project.

Enjoy!

Noah Gift

AddThis Social Bookmark Button

I am pleased to announce we have a special PyAtl meeting this December 13th, in Atlanta, GA! Some consider WSGI to be the future of Python web development, and Derek Richardson, Brandon Rhodes and the Atlanta-Plone User Group, have arranged to bring the authors of Repoze, Chris McDonough and Tres Seaver, to our local PyAtl meeting. With Repoze, it allows Zope/Zope Components, and standard web application frameworks to work together under a unified WSGI stack.

“If you haven’t been paying attention, pay attention to Repoze. I’m pretty sure this is the future. Repoze lets us set up Zope so that it runs directly in Apache (using mod_wsgi), no separate process to manage. It lets us create pipelines with things like Deliverance in them. Virtual hosting, retry (on ConflictError) and transaction management is all middleware, enabled or disabled as desired with a dead-simple configuration file and re-usable in other contexts. The Repoze website runs four or five different pieces of software, all themed up using the same Deliverance theme. Issue tracking with roundup, blogging with pyxblossom. This is cool stuff. :-)”
-Martin Aspelli

If you would like to attend, I would highly recommend doing a RSVP ASAP, as it appears we are going to have a full house. If you want to see the future come to the next PyAtl meeting, details below. There will also be a sprint that Friday following the meeting, for those lucky enough to be able to skip work.

Please go to our meetup site for more information:

Repoze Event RSVP PyAtl

(We will also be talking about our Python Web Development Related Conference planned for this summer! Stay tuned for more information.)

AddThis Social Bookmark Button

Michael Schwern, Perl clown and maintainer of ExtUtils::MakeMaker and Test::Simple has announced that MakeMaker and Test::Simple will no longer support Perl 5.005. This is extremely significant because those two distributions are important pieces of Perl’s upgrade infrastructure.

Perl 5.005 is nine years old, and its stable successor Perl 5.6 is seven and a half years old. From Schwern’s message:

Finally, I’m coming around to chromatic’s philosophy: why are we [worrying] about the effect of upgrades on users who don’t upgrade? Alan Burlson’s comments about Solaris vs Linux are telling: if you’re worried more about supporting your existing users then finding new ones, you’re dead.

My argument has always been very simple. There have been nearly a dozen stable releases of Perl since the release of Perl 5.005 in 1998. Anyone still running code that old obviously is not interested in upgrading to modern, supported versions of Perl. That’s the one conclusion you can draw about them. Thus, it doesn’t make sense to write new versions of Perl libraries and applications for them because they don’t upgrade their software.

My personal oldest supported version is Perl 5.6.2, released just over four years ago, but with Perl 5.10 coming in the next month or so, I might drop official support for anything older than Perl 5.8.1 (which, amusingly enough, is a couple of months older than Perl 5.6.2).

I’m all for software stability, and I’m glad that Perl 5.005 is a high-quality product that’s still viable almost a decade after its release, but we have fixed a few bugs and added a few nice features in the intervening years. I’d like to take advantage of some of that new code sometime. Kudos to Schwern for seeing the light.

AddThis Social Bookmark Button

PCW has a story about IBM’s initiative to create virtual computing clouds using Xen and PowerVM in an effort called Blue Cloud. IBM hopes that this push will be it’s latest world changing decision and compares it to their decision to support Linux. Of course, IBM wasn’t being totally altruistic when they started backing Linux, and they’re not now either.

It made market sense for IBM to push Linux to keep them from getting into another OS/2 crushing fist fight with Microsoft. And now it makes sense for IBM to push Xen and PowerVM from an open source perspective, especially given XenSource’s “off the table” status. This is survival tactics from the company that knows it best.

On the other hand, this gives IBM the space to define a great deal of the coming cloud computing boom, where physical machines become incidental cogs in a greater processing mechanism…an uber CPU comprised of small pieces loosely joined. Last month, IBM and Google announced the creation of joint academic cluster computing initiative to provide datacenters for remote computer programming to students at several U.S. universities. This will be IBM’s fertile land for the rearing of another generation of technology workers steeped in virtualization.

Todd Ogasawara

AddThis Social Bookmark Button

The OLPC Give One Get One program lets you buy one OLPC that will be donated to a child somewhere in the world and get one for yourself for US$399 (plus shipping). $200 of that amount is tax deductible for US federal taxes. This offer is only available for those in the US and Canada. The G1G1 program ends on November 26, 2007. After mulling it over for a good chunk of the day, I made the order this evening and hope whoever gets the donated OLPC is able to make good use of it. My daughter gets to play with the one shipping to me.

I downloaded the OLPC LiveCD ISO file and tried it on a PC before actually making the order/donation. I was quite impressed by what I saw. The LiveCD was even able to detect the PC’s network card and let me browse the web. One thing that didn’t work 100% was Google Docs. I was able to login and open a document. However, attempts to save and close the document resulted in what first looked like nothing happening (the document remained open). It turns out that the document changes were actually saved. However, I could not close the window and return to the Google Docs list. I suspect it is because Google Docs opens a second window (or tab) on most browsers and then closes that window or tab. On the other hand, the ISO is dated April 7, 2007. So, the shipping version may be different.

Various reviews of the OLPC indicates that the keyboard may be too small for many adults to type on comfortably. I’ll give it a try when it comes to get a feel for it. Then, I’ll ask my daughter to take it for a spin and let me know what she thinks (maybe I should ask her to write a short review :-).

Here’s an overview of the Red Hat Sugar OS inside the OLPC:
Building the XO: Introducing Sugar

Here’s a link to the Sugar OLPCWiki.

Noah Gift

AddThis Social Bookmark Button

I just came across the fact that Rsync Version 3 is available for testing. I probably use rsync more than any other unix utility, and so I am very excited about some of the new features which include, to name a few:

  • –xattrs: supports OS X xattrs (which includes their resource fork data)
  • –acls: Included support for OS X ACLS too.
  • A new incremental-recursion algorithm
  • I would also be curious to know the clever ways other people are using rsync. I have used it to do everything from synchronize directories to act as a software distribution system. It is also important to note that the license for Rsync is now GPLv3. The Samba team has made some very public statements about their support for GPLv3. This obviously limits the usage of rsync in proprietary software.

    Noah Gift

    AddThis Social Bookmark Button

    Anyone else just a copy of Leopard in the mail for Fed Ex? The delivery guy mentioned quite a few people were getting this same package. I have been running several Developer Versions of Leopard for about a year now, and I am excited to finally get the production release. I am also excited I can finally talk about what I think is cool, as the NDA is up.

    Since I have been using Leopard for over a year, these are the things I could never live without again:

    1. Tabbed Terminal Rocks

    I am glad OS X finally fixed this, although this pretty much kills iTerm

    2. Spaces is absolutely brilliant.

    I use 8 spaces consisting of 2 rows of 4. I did a lot of experimenting and found this suites me best, although this is probably more than most people may want. I also assigned specific applications to specific Space windows…which makes it very handy.

    3. Python is finally fixed.

    Leopard ships with the bleeding edge, or newest, fixed version of Python 2.5.1, which is cool.

    4. Python is a first class option for Cocoa and OS X Development.

    I am very happy that Python can write both command line tools and Cocoa Applications using all of the libraries available to Objective C.

    5. Many more standard Unix Tools are available like built in SVN support, and even Ruby on Rails.

    This is very nice, and I hope OS X continues to add to the growing repository of command line tools it supports out of the box without resorting to using 3rd party package management.

    6. Development Tools have a big upgrade:

    There are some really cool features like built in Python and Ruby templates in XCode.

    7. Mail is fixed

    There are a bunch of fixes to Mail that are great improvements.

    8. The Finder is hugely improved

    I love the whole 3D finder deal. I find it way better.

    9. Downloads go to Downloads directory.

    Moving all default downloads to a download directory was a smart move, and keeps the desktop much cleaner. Good move on Apple’s part.

    10. AutoFS is finally fixed…..

    Enough said. Thanks Apple.

    That is what is cool on my end…what do you like so far, as you violently rip open your fedex delivered copy of Leopard……

    Chris Tyler

    AddThis Social Bookmark Button

    It’s day 1 of the Free Software and Open Source Symposium (FSOSS 2007) — 32 talks and 10 workshops on Open Source and related topics over two days. We’re pumped! The FSOSS web site at http://fsoss.senecac.on.ca/ will let you in on some of the excitement, with links to videos of the talks (more formats coming), Flickr images, and a blog planet.

    (FSOSS is hosted by Seneca College, where I teach).

    Matthew Russell

    AddThis Social Bookmark Button

    After a lot of article writing over the past few years, I’ve managed to put together a slightly longer piece in the form an O’Reilly Short Cut: Get Up and Running with Dojo. As it turns out, this Short Cut is the forerunner to my upcoming O’Reilly book that’s targeted for early next year.

    In a nutshell, the Short Cut is 50 pages and was written to do exactly what the title implies. Since I first become involved with Dojo about a year ago, a common theme I’ve noticed (myself included) is that developers tend to have a little bit of trouble just picking it up and running with it. The entire premise of this Short Cut was to lower that barrier to entry as effectively as it could be in a couple of sittings. The Short Cut was written against the latest 0.9 release of Dojo and should be fully compatible with the soon to be released 1.0 version (If it’s not, then we’ll update it and make it so.)

    The Short Cut is rich with code examples on the raw fundamentals of building object-oriented widgets and is written with the “average” web developer in mind. While the upcoming book will be the full monty, this Short Cut should serve you well, give you a jump start on your Dojo efforts, and be a valuable hands-on resource that will save you a lot of time.

    Noah Gift

    AddThis Social Bookmark Button

    On Nov. 8th, PyAtl, will be having a GUI showdown in which we have a series of 10 minute lightening talks on all of the available GUI toolkits we can muster. I know we are missing three big ones, wxPython, Jython, and IronPython.

    If you live, or will be traveling to, the Atlanta, GA area, then please contact me about presenting. O’Reilly has graciously given us a prize to be awarded to the best presentation, a copy of the book, Making Things Talk. As a side benefit, you will also be able to meet some of the people who work on EVE Online, as they just opened up an office in Atlanta, GA.

    In related news, the plans for an Atlanta Web Framework Shootout continue. We have gotten positive feedback about corporate sponsorship, so we can proceed with tentative planning to hold the event in Atlanta, around Summer ‘08. If you are interested in helping to organize the event, please contact me, and I will put you on the organizing list.

    Andy Oram

    AddThis Social Bookmark Button

    A few months ago I summarized the state of municipal networks, particularly wireless, and pointed out that the motivations for creating them were still strong despite some poor choices in a few major cities that made a lot of press. My blog was filed from a conference run by MuniWireless, a company focused on the business models and strategies for municipal wireless networks. They’ve just released a report reasserting the viability of these networks and showing steady growth year to year. I haven’t read the report (which is for sale), but their press release points to growth in the 30% - 50% range each year, for the past several years and projected on into the future. The networks are also gaining in bandwidth to meet demand: more fiber and WiMAX is seen.
    Noah Gift

    AddThis Social Bookmark Button

    According to my RSS reader the iPhone SDK will actually be released in Feb. 2008. This is one of my complaints in the article, “Eight things I hate about Apple”.

    This is so shocking that I wonder what is next, open source/cross-platform Cocoa?

    AddThis Social Bookmark Button

    Will Coleda, Parrot project manager, has just announced the release of Parrot 0.4.17. Parrot’s seen a lot of progress in the past month, with several features improved and a few reclaimed. In particular, the design documentations for several important subsystems have left draft status and are awaiting implementation.

    We’ll release Parrot 0.5.0 on 20 November 2007, with a full implementation of Parrot’s object system. (It narrowly missed this release.) This should also give us much better speed, as well as the ability to make much further progress on implementing advanced languages including Perl 6 and Cardinal (Ruby on Parrot). I’m also preparing to check GC-debugging code that should let us track down memory errors very quickly and effectively.)

    Next month’s bug day/new contributor day is 17 November 2007, so if you’re curious about the project and want to get involved, feel free to join #parrot on irc.perl.org between now and then. There’s plenty of work to do even if you don’t know Perl or C.

    Andy Oram

    AddThis Social Bookmark Button

    MVC frameworks such as Rails are great for new projects, but they’re hard to integrate with existing databases. Their design reflects more interest in the V than the M. If you have existing data in a relational database that you want to expose to a wider audience, you’re left with the choice of:

    • Using your MVC framework to create a new schema (which is designed for simple CRUD access, and probably less well-suited to your data than your hand-crafted schema) and laboriously load the old data, or
    • Write a tangled gateway script to translate between the framework’s schema and your schema, perhaps through a batch job (which would kind of ruin the vision of consistent, current data).

    I heard this perspective from a veteran Perl hacker in the finance industry at today’s Ubuntu Massachusetts InstallFest. It was a nice, low-key event, by the way, attracting several college students who were new to Linux when I was there, along with a couple teenagers. While veterans played with Beryl-driven graphics or tried at an OLPC system, my colleague laid out the general framework problem and described his difficulty adding a modern web interface for naive users to a useful little scheduling application he developed some time ago.

    Given that web mash-ups and visualizations of existing data are of growing interest, and that there’s a movement for more access to public and government data, we need to learn ways not just to develop green-field services with new data, but to reflect the richness of existing relational data.

    AddThis Social Bookmark Button

    Thomas Klausner has just published the final report on YAPC::Europe 2007, with plenty of statistics and details. Note that this was the largest Perl conference in Europe so far, and that it generated tens of thousands of pounds in profit.

    If you’re thinking of organizing a conference, browsing the details there will help. In particular, the timeline of planning events is a good indicator of what any community-organized conference will face. I’m sure YAPC::EU 2008 will be even better thanks to all of the work the Vienna team has done.

    AddThis Social Bookmark Button

    Michael Meeks hacks on OpenOffice.org (and other code) for Novell. While very few people question Sun’s generosity in purchasing Star Office and subsequently opening the code, there have been persistent questions regarding the community management of the project. Michael’s work log for 02 October 2007 highlights what appears to be lopsided behavior from Sun. In particular:

    If OpenOffice was blessed (like other more sensibly structured projects) with a large, diverse and healthy developer-base, then perhaps we could expect to go around rejecting big chunks of code, offending developers and driving away potential contributors. To do this solely in order for Sun to retain total ownership of the code-base (and even loosely coupled components) - seems rather a betrayal of it’s self-appointed stewardship role wrt. OO.o code ownership (under the JCA).

    Ultimately, it seems to me the current setup is not a winning, open approach, but a dangerous situation that hobbles OpenOffice.org, and leaves us in a bind.

    This fits with a lot of semi-public criticisms I’ve heard of the project management over the past few years: onerous change request processes, an insular development process, and tight control from some managers at Sun. It’s not all Sun’s fault, though–someone reminded me that the StarOffice team is a tight-knit group of developers who’ve all been working in the same building on the same code for a decade, so a distributed, community-driven development process is a big change.

    OO.o development has not exactly progressed with rapidity. While loosening the grip of the main contributor over the project is no guarantee that the project will attract more developers, the opinion I’ve heard from contributors from almost everywhere but Sun is that it’s an experiment well-worth trying, lest OO.o manage itself into irrelevance.

    Update: Michael has comments on the related Slashdot story (Sun Refuses LGPL for OpenOffice; Novell forks), mostly refuting a very misleading headline. Also, GNOME co-founder Federico Mena-Quintero argues that the OO.o governance model appears designed to discourage outside contributions, with examples from Ximian and Evolution as well as Mozilla.

    AddThis Social Bookmark Button

    From Damien Seguy:

    PHP Quebec is pleased to announce the sixth edition of the PHP Quebec Conference. The Conference will take place in Montreal, Canada between March 12th and 14th, 2008. We are looking for speakers willing to share their expertise with Canadian and United States PHP professionals.

    The Conference features the PHPLab, where speakers and visitors will find solutions to actual business problems. The two days of technical talks will be dedicated to advanced software development techniques with PHP5 and PHP6, XML, web services, databases, etc.

    Organizers will prioritize new and original topics in English or French. For more information, visit the website: http://conf.phpquebec.com

    Spencer Critchley

    AddThis Social Bookmark Button

    It’s early days, but just like the record industry, American democracy is being taken apart and rebuilt by digital technology and the web. Why should ONLamp readers care? Many of you will be designing and building our new democracy.

    Several trends are converging to make this possible and, I think, inevitable. All are characterized by the loss of centralized control to open and/or free systems. These include the rise of open political platforms, such as moveon.org, as an alternative to parties; and the disintermediation of news coverage via blogs, YouTube and citizen journalism. Lately I’ve been following the rise of a third trend: alternative ways of tracking candidates’ reputations. The latest example of that: Wonkosphere.

    Noah Gift

    AddThis Social Bookmark Button

    Things are getting much more interesting at Sun. I just read on Jonathan’s Blog that Sun is partnering with Microsoft on Sun’s virtualization technology.

    I am unsure how this affects our previous discussion about GPLv3 and Sun.

    Chris Tyler

    AddThis Social Bookmark Button

    I teach at Seneca College in Toronto. On October 25 and 25th, we’re holding the sixth annual Free Software & Open Source Symposium, an event that has grown to encompass two days of talks and workshops by top open source developers, users, organizers, and educators. This year’s lineup includes:

    • Bob Young, Co-founder, RedHat, CEO and Founder, Lulu.com
    • Dirk Riehle, Lead, Open-source Research Group at SAP Labs in Palo Alto, California
    • Mike Beltzner, User Experience, Mozilla Corporation
    • Ross Turk, Community Manager, Sourceforge.net
    • Bryan Kirschner, Director of Platform Community Strategy, Microsoft Corporation
    • Chris Blizzard, One Laptop Per Child Project/Red Hat
    • Marc Kwiatkowski, Senior Software Engineer, Facebook
    • and many more

    There will also be a number of hands-on workshops including OpenVPN, OSCAR clusters, AccessGrid, and ePresence.

    If you’re in Toronto or within a reasonable drive, this is definitely an event worth attending. We’ve kept costs low to encourage broad participation and the atmosphere is a lot of fun - details at http://fsoss.senecac.on.ca/

    Jeremy Jones

    AddThis Social Bookmark Button

    Python 3.0a1 has been released. See Guido’s announcement here. This is awesome news. I’ll have to download it tonight and start poking around.

    AddThis Social Bookmark Button

    On behalf of the Parrot team, Patrick Michaud released Parrot “Augean Stable” 0.4.15. The most important feature in this release is the addition of the NQP compiler. NQP is a stripped-down version of Perl 6 suitable for writing compiler transformations.

    Within the next day or so (if it hasn’t happened already), NQP should displace PIR (Parrot’s native assembly language with a touch of syntactic sugar) as the preferred language for writing compilers. NQP’s also a useful language in its own right; by the time you read this, it might already be capable of using libraries and objects written in other languages running atop Parrot.

    Also of note is that Gabor Szabo has written guidelines on smoke-testing Parrot. If you have a machine with spare cycles (and especially a machine somewhat more exotic than x86 Linux), you would do the Parrot porters a great service by reporting tests results.

    Noah Gift

    AddThis Social Bookmark Button

    I thought it would be about time to announce that Jeremy and I will be doing a monthly Video Podcast hosted by O’Reilly. We are going to keep things short, just a few minutes, tight, professional and hopefully put on a good show once a month. It happens to be a brave new world and video is dirt easy to make, produce and distribute. I pitched the idea to O’Reilly and they liked it, so here we are.

    We will be shooting on a combination of devices ranging from HD camcorders to our built in macbook cameras. We will be doing post production using Soundtrack Pro and Final Cut Pro. In another life, when I was a teenager I was working for ABC Network Television as a freelance editor. Oh, and I also worked on the first digital feature animated film for Disney and for Sony Imageworks. So I have a little experience :)

    If you have any ideas for our show let us know. We will be keeping it broad and covering all of open source, but we are also open to suggestions for future topics and show ideas.

    AddThis Social Bookmark Button

    Parrot’s monthly bug day will take place this Saturday, 18 August. Parrot committers and developers will be in #parrot on irc.perl.org all day to prepare for the upcoming release.

    This month, our focus is on cleaning up compiler warnings from all of the additional static checking we’ve added in the past two releases. There are also several small coding tasks for Parrot novices. We’re all happy to help you download, configure, and build Parrot and will gladly help you write your first patch for the project.

    Noah Gift

    AddThis Social Bookmark Button

    Are you one of the multitudes of people that want to know once and for all who is the king of web application frameworks in the Python/Ruby arena? You might want to attend a yet to be announced Ruby vs. Python Webframework Charity Deathmatch here in muggy Atlanta, GA. These are some ideas of how we might organize it, if you have some advice or ideas, please let me know as we are just now brainstorming how the event would shake down.

    I don’t think we would limit attendance to just Atlanta, GA programmers either. I believe anyone that wanted to attend and enter the competition would be allowed.

    Mission: Sort out once and for all who is the king of all web frameworks…for Charity.

    Rules:

    1. We find a needy charity, and they give a judge the design spec.
    2. Teams of Ruby and Python programmers are given the spec on Friday and have until Saturday morning to come up with a prototype. Saturday morning each Ruby and Python teams internally vote on the best design.
    3. One group from Ruby and one group from Python code then code until Sunday morning when judging starts.
    4. Winner gets to be the design for the Charity, and the loser..well maybe they get VC startup money?

    The initial interest has been strong so far, and there will be both technical and business people who will attend

    Lets face it Ruby and Python are both great languages and fun to code in. I think the more of these type of events we have the better. It might be cool to have a future event where groups have to design an application in both Ruby and Python and you get judged on both efforts collectively.

    Comments or Suggestions?

    James Turner

    AddThis Social Bookmark Button

    As reported first on Groklaw, it appears that Judge Kimball has ruled in summary judgment on the major point of the SCO vs Novell case, that of who actually owns Unix. Not surprisingly, the answer to that question is not SCO.

    While IANAL, a brief reading of the juicy parts seems to essentially say: A) Novell owns Unix; B) Since SCO doesn’t own Unix, they can’t sue for slander of title; C) Since Novell DOES own Unix and SCO’s been claiming they have (and collecting license fees for it…), Novell should feel free to continue their own slander of title claims.

    Anyone like to take bets on the current half-life of SCOX? Now on to FUD round 2: Steve Ballmer and the Goblet of Patents.

    Mike Hendrickson

    AddThis Social Bookmark Button

    Boston and Cambridge

    Ignitebostonlogo

    Summer is flying by and as we usher in fall, we wanted to give all New Englanders a heads-up that we are having a second Ignite Boston. The second Ignite Boston will take place on Thursday, September 6, from 6 to 10pm at Hurricane O’Reillys. Yes that is right, Hurricane O’Reillys. No, it’s not Tim’s office after FOO Camp. We’ve picked a venue that is more acoustically-oriented and should allow everyone to hear what is going on. And we are planning to mix-up the format a little bit. There will be some short “launches,” followed by lightening talks, and a couple of other ideas that we will inform you of in the coming weeks. Let’s show our tech colleagues around the country that Boston/Cambridge have a vibrant tech community that gets involved in talking about cool new technologies and ideas. Not to mention that it is a social event to get to know other developers in the area.

    If you plan to attend, email IgniteBoston at oreilly dot com for the chance to win $300 worth of O’Reilly books of your choosing. You must be present to win.

    If you are interested in connecting with some of the folks who attended the first Ignite Boston, we have a social network set up for this purpose. You can reach our Crowdvine network here.

    Another reason we wanted to announce this event this early, is so those of you who would like speak for five minutes on something cool, new, or exciting you can get into the queue sooner rather than later. Please submit your idea/s here:

    Presentation Guidelines

    • Be no longer than 5 minutes.
    • Be on an innovative topic (no sales pitches, please!).
    • Be viewable on a PC [a MacBook Pro with Powerpoint, Keynote/has remote control, and PDF] with standard AV equipment.

    To submit a proposal.

    For anyone that’s never been to Ignite, you may find it useful to see a talk or two. Here’s a link to a good example [but poor audio quality] from the first Ignite Boston talks.

    Technorati Tags: , , , ,

    James Turner

    AddThis Social Bookmark Button

    CIO Magazine just ran an article looking at how one CIO coped with going cold-turkey from Windows in a corporate environment. Although there were the usual glitches with proprietary corporate software, it is on the whole a very positive look at the practicality of bringing da Penguin into enemy territory.

    Adriano Ferreira

    AddThis Social Bookmark Button

    A Perl demographic survey is now open. From perlsurvey.org:

    Take part in the 2007 Perl Survey!

    The Perl Survey is an attempt to capture a picture of the Perl community in all its diversity. No matter what sort of Perl programmer you are, we’d love to hear from you.

    The survey can be found at: http://perlsurvey.org

    It only takes about 5 minutes to complete.

    The survey will be open until September 30th, 2007. After that, we’ll be reporting on the results and making the data freely available.

    Please feel free to forward this email to any other Perl programmers you know.

    Thanks for your help!

    Yours,

    Kirrily “Skud” Robert
    The Perl Survey
    info@perlsurvey.org

    brian d foy

    AddThis Social Bookmark Button

    At OSCON, David Adler of The Perl Foundation presented the 2007 White Camel Awards to recognize significant non-technical acheivement in the Perl community. Perl Mongers started the White Camels in 1999 and has presented three of them every year. This year’s recipients are:

    Allison Randal
    Allison is at the center of the Perl community. She’s been president of The Perl Foundation, a leader and manager of various parts of the Perl 6 and Parrot efforts, as well a Perl author and editor. Her latest contribution to Perl is version 2 of the Artistic License, under which most open source Perl code, and Perl itself, is licensesd “under the
    terms of Perl itself”.
    Tim O’Reilly
    You may think of Tim as the guy who published
    Programming perl and Learning Perl, but he also kick-started the current form of the Perl community by giving it a place to come to together once a year. O’Reilly & Associates started The Perl Conference in 1997. Perl Mongers, the organization that helped start Perl users groups all over the world, started at that first Perl Conference. O’Reilly Media has been incredibly gracious and helpful to the Perl community.

    Norbert E. Grüner
    Norbert help start the German Perl Workshop in 1999 and now is involved in several of the Perl conferences and workshops that take place in Europe. He’s the chair of the YAPC::Europe committee.

    AddThis Social Bookmark Button

    The best hack I saw in OSCON yesterday was in Jonathan Oxer’s Hardware / Software Hacking: Joining the Real and the Virtual.

    Jonathan brought a table lamp in a whole box of breadboards and other electronic components from Australia. He connected the table lamp to a remote appliance control. Then he opened the remote control and connected a relay across one fof the buttons. The relay hooked up to an Arduino also connected to his laptop.

    He then wrote a small program to run on the Arduino. By sending a single command through the USB port, the Arduino flipped the relay and turned off the light.

    That’s not the end of it. He ran ser2net to redirect requests from a network socket to the USB port. Then he wrote a very small PHP program which translated CGI parameters and sent the appropriate results to the local network socket.

    Within Second Life, you can create an object which invokes a script when touched. This script can make HTTP requests; Jonathan had an off button object.

    “Ha!” I thought. “He’s running this CGI program on his laptop, in the conference center, and there’s no way that Second Life can reach his web server through all of the layers of NAT and connection sharing going on here!”

    Then he said, “How many of you have heard of reverse tunneling?” ssh -R opens a port on the remote host that forwards to the local host. With a quick connection to his web server in Australia, he switched back to his SL client, clicked on the off button, and the lamp turned off.

    It had been shining in my eyes all morning anyway.

    AddThis Social Bookmark Button

    Next week is OSCON, so there will be plenty of wonderful programmers in Portland. We’re taking advantage of this to host a Beautiful Code discussion panel at Powell’s Technical Books, just across the river from the conference.

    The panel will consist of the Beautiful Code contributors Karl Fogel, Greg Kroah-Hartman, Simon Peyton-Jones, and Andy Oram. Ward Cunningham will moderate, and I’ll chip in where I can.

    I have my copy of the book already and I’m trying to figure out what to say that isn’t already in there… I’m really looking forward to hearing what Ward and the other panelists have to say.

    Even if you’re not an OSCON or Ubuntu Live attendee, you’re welcome at the panel. I hope to see you there.

    Noah Gift

    AddThis Social Bookmark Button

    For anyone that plans to be in the Atlanta, GA area on Aug. 9th, I hope you can attend the PyAtl meeting. We have Juan Pablo who is a Django instructor for the Big Nerd Ranch, traveling in for a special Django presentation. This should be very exciting as he is a true pro. I also invited our local Atlanta Ruby group to attend as well. I think it would be great to have more Python/Ruby crosstalk as the languages have so much in common.

    For our second meeting, we have up and coming author, TurboGears committer, and Elixir co-creator, Jonathan LaCour. He will be giving a presentation on SQLAlchemy + Elixir.

    I was a bit bummed out when I moved from Los Angeles about a year and half ago, but it turns out that Atlanta, GA is one of the Python powerhouses cities in the United States. At this point, we have the largest meetup group, although I realize not every group uses meetup. I know quite a few of us are working on books, open source projects, and commercial projects in Python. If you live around Atlanta, GA area, program in Python and haven’t yet attended, your missing out!

    If your city is a Python powerhouse, let me know!

    Andy Oram

    AddThis Social Bookmark Button

    People who read my blog regularly know I’ve been researching what happens on mailing lists and in other forms of free online documentation. I now have a sort of portal or home page for the resulting articles. I’ve just published the most recent one, How to Help Mailing Lists Help Readers (Results of Recent Data Analysis). I hope to put up some other interesting experiments besides articles in the next stage of my work. I’ll be speaking about this research at O’Reilly’s Open Source convention on Wednesday, July 24.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just noticed a post on Grig Gheorghiu’s blog that mentions that Pownce is built on the Django web framework. Here is an interview with Leah Culver, the lead developer for Pownce, and here is Leah’s blog post on Pownce. For anyone not aware, Pownce is the new brain child of Digg creator Kevin Rose. Pownce is supposed to be a better Twitter and/or Jaiku.

    Jeremy Jones

    AddThis Social Bookmark Button

    Here is a press release on Dr. Dobb’s regarding the Storm ORM.

    And here is a discussion on reddit about Storm.

    It appears that Gustavo Niemeyer created Storm when SQLAlchemy didn’t exactly meet his needs (and after contributing some code to the SA project).

    From the Dr. Dobb’s press release:

    “Storm is particularly designed to feel very natural to Python programmers, and exposes multiple databases as stores in a clean and easy to use fashion.”

    May SQLAlchemy and Storm feed off of one another, provoke one another to higher levels of excellence, and live peacefully with one another.

    Jeremy Jones

    AddThis Social Bookmark Button

    A couple of weeks ago, Noah Gift and I signed a contract with O’Reilly to write a book on Python for System Administrators. We’ll be covering topics ranging from creating command line utilities to processing text to interacting with databases to SNMP to a bunch of other fun stuff.

    Noah just stumbled across Storm, an ORM created by Canonical (the folks who brought us Ubuntu) and has blogged about it.

    Question one for the readers: is Storm something you’d like to see covered in the book?

    Question two for the readers: is there something you’d specifically like to see in the book Noah and I are working on (taking into consideration this is a Python book for system administrators)?

    Your thoughts are graciously welcome.

    AddThis Social Bookmark Button

    Scott Ambler has just published the results of the 2007 Agile Adoption Survey. Though it appears that the respondents selected themselves, there’s a lot of interesting information here.

    In particular, the third page has a list of the effectiveness of various agile practices. The top two are iterative development and regular delivery of working software. I think there’s a strong connection between those and a project’s success.

    I’ve had several discussions recently regarding the delivery of software, and how infrequent releases are so prevalent… yet it’s my experience that regular release cycles with small, well-defined sets of changes, make upgrading so much less painful that it’s almost never painful.

    If customers didn’t want new features, they wouldn’t pay for continued development. It seems to me that succeeding with a project means delivering value to the customer frequently–especially if you have the opportunity to refine the project based on frequent feedback.

    By removing many of the consequences of failure–hey, it’s only a week until the next iteration!–it’s much easier to take advantage of new opportunities. Unless your organization’s measure of success is static throughout a project, an iterative approach may deliver greater benefits.

    Noah Gift

    AddThis Social Bookmark Button

    Were you like me? Did you foolishly wait in line for the iPhone even though you never wait in line for anything? I don’t do lines, but I did wait in line at the Fayetteville, GA AT&T store. The line wasn’t too bad and I arrived home with an iPhone for my wife and and an iPhone for me.

    I had some problems getting my iPhone activated and I thought I was pretty clever when I called up AT&T and told them to cancel my Activation. I had just been working on some multi-threaded python code with two separate thread pools and I kept thinking to myself….this is a stuck worker thread in the queue :) As a side note you can find a great description of the queue module working with threading in python here.

    I think I was right and someone did not do enough unit testing at AT&T! When I cancelled my activation over the phone and re-activated my iPhone it worked in seconds. Sure, sure, I admit maybe it wasn’t a poorly written unit test on multithreaded code, but IT COULD HAVE BEEN and don’t wake me up from my dream that I was the one person in the world that found the secret to unlocking the iPhone. For that day I was Indian Jones.

    With that miracle iRock to iPhone turnabout on Saturday night, I quickly jabbed and taunted my friends over email and IM about my victory. I then set to work on playing with my iPhone. I really like the fact that it connects to my home Wireless Network. The first big win I had was with my almost 7 month old son. We went to YouTube on my iPhone and typed in Gummy and my son almost had a heart attack.

    He froze in his tracks in his tracks and was completely awestruck by the power of YouTube, which is run on Python BTW, iPhone, and a provocatively dancing Gummy Bear. Already, the iPhone has payed for itself. I have a lethal stun weapon for my wild alien baby.

    The next day we decided to go the Zoo and since we decided to go at the last minute, we didn’t even bother to look up directions. In the car, I realized, hey wait, I have a friggin iPhone! I pulled up Google Maps and typed in “Atlanta Zoo” and I got step by step directions in about 10 seconds. I also realized that my iPhone synced up my Safari and Mail apps and I could use my bookmarks and send and receive mail. The iPhone is amazing. The only thing I didn’t have is a shell, which I have a fix for now…I will explain more later.

    One of the other fun side purposes of my Star Trek Communicator, is that I was detecting wireless hotspots and connecting all along the street route to the zoo. It was amazing how many unsecure wireless routers there are next the Atlanta Zoo. I also took a bunch of pictures of my wife and kid at the Zoo with the iPhone and they came out great.

    Here is a picture of my kid after I took away the “Gummy Bear Singing iPhone” away. As you can see he takes after me, as I had the same look on my face from Friday night until Saturday night, as my iPhone wouldn’t activate. On a side note,I was able to upload these pictures quickly and share them out via Picasa through the iPhoto plugin after my iPhone synced to my MacBook Pro.

    My iPhone saga ends with a fix for the Terminal problem. Of course, python is involved, yet again, in my iPhone melodrama. A friend emailed me tonight with this link to a python ajax terminal .

    Ok that was my story this weekend. I would love to hear some other programmer/geeks tell me about their iPhone experience and tell me what they plan to do next with their Phone. If someone can get iPython to work you are my hero!

    Noah Gift

    AddThis Social Bookmark Button

    My involvement with the Wild West side of Python came somewhat accidently. I am helping organize PyAtl and on June 14th we had an incredible meeting! My company Racemi gave a mind boggling demo of our datacenter management tool that is written in all python. Our FlagShip Product Dynacenter allows any OS, including Windows to move around to different hardware in the time it takes to warm reboot…go Python! Finally, Google gave two presentations, one on Cross Site Scripting Attacks and one on Twisted. We also officially launched the PyAtl website that night which is running the bleeding edge Turbogears stack of Sqlalchemy,Genshi, and Toscawidgets. My friend Alberto Valverde is in charge of Toscawidgets and the concept is really awesome! If you haven’t met Alberto yet, you should, he is one of those rare exceptionally helpful, yet insanely smart people.

    Here is where the the fun started…

    I invited Mark Ramm and Jonathan Lacour to come to our meeting and talk about Turbogears. Mark and Jonathan mentioned that on the way up to the meeting they had a crazy idea. How about building Turbogears on top of Pylons? They announced an experimental sprint the next weekend and this is where things got wacky!

    Rick Copeland, Jonathan, Mark,Mike Schinkel, and myself met at Jonathan’s house and started to experiment. We ran into an initial snag with understanding the pylons controller and I called up Shannon Behrens, another friend, who is insanely smart and incredibly helpful. Shannon works on the Pylons trunk and asked him how we would mount Turbogears on top of Pylons. After he got over the “you want to do what!”, he helped us with some good advice. At some point we all went to get some Pizza, then came back to watch Jonathan and Rick go into the “Zone”. After they came up for air, a controller was working and Frankenstein was born..mu ha, ha, ha, ha!

    It was 1 in the morning by the time we all quit, but Mark, Jonathan, Rick and I decided to meet at Panera the next day at 1PM to finish it off. A little more work was done the next day, but part of the day was spent just hanging out and talking shop which was pretty cool as I hadn’t met Mark or Jonathan before. It turns out Mark and I have a bit in common as we both grew up on a “Ranch type compound” for parts of our lives, we both have been SysAdmins, and we are both writing a Python book right now. Mark is a really fun guy to hang out with for anyone who hasn’t met him yet!

    So, after the weekend was over with I started to hear about some of the excitement. I emailed my most educated friend Mr. Phd from Caltech Titus and mentioned maybe he could contribute with some Twill stuff for TG2. I talked via email a little with Kevin Dangoor and noticed his big announcement.

    Apparently, people were really fired up about the collaboration between Pylons and Turbogears. Lets face it, I am very excited that all of these smart people are working together! It now seems that some momentum in the battle for the perfect Python Web Application has shifted, as Pylons and Turbogears have the 800 lb Gorilla of ORM’s in SQLAlchemy, and they have Toscawidgets which is about to come into its own.

    I have written several small web applications in Turbogears and Django and I like both. Currently Turbogears and Pylons don’t have a way to graphically manage the database like Django’s admin tool and the API isn’t as stable, but from what I hear this is about to change…..

    I do get the impression that many people in the Turbogears/Pylons world feel left out and a common heard rallying cry is that Django has a “Not invented here attitude”. Whether this is true or not, I learned this past week that if smart python programmers feel they aren’t apart of the fold, they are capable of creating an uprising and doing just about anything!

    I will close with this comment, Ian Bicking, who wrote paster which I think is pretty sweet, mentioned in a fairly famous post that it would be great, but unlikely that Pylons and Turbogears would merge, yet the impossible happened and the two frameworks are closely working together. May I suggest an equally implausible scenario? What if Django, Pylons and Turbogears worked on developing an interchangeable API? Is this impossible…you tell me!

    Jeremy Jones

    AddThis Social Bookmark Button

    Mark Ramm, author of the TurboGears book, just posted his experience with working on the next generation of TurboGears. All the details aren’t totally in yet, but it looks like they are working with Pylons code somehow. I hope the work that is being done will help promote cross-framework cooperation and strengthen Python’s (already strong) position in the web arena. Personally, I like the diversity in the Python web realm, but I think some more sharing and cooperation could only be a good thing. I’ll continue to watch the progress of the new TurboGears and post back here with my findings.

    Jeremy Jones

    AddThis Social Bookmark Button

    PJE posted today regarding the status of PEAK, the Python Enterprise Application Kit. In the above referenced post, he linked to an email he sent to the PEAK mailing list with a subject of “PEAK Status Report” which goes in depth on where PEAK is and where it is going. I’d highly suggest reading the status report. However, the nutshell is that PEAK as a unified entity is pretty much dead, but some of the individual projects inside of PEAK such as setuptools, RuleDispatch, and wsgiref are doing rather well. Even in its “dead” state, PEAK still has plenty of promising and usable pieces.

    brian d foy

    AddThis Social Bookmark Button

    The Summer 2007 issue of The
    Perl Review
    is out, and it’s a special edition for the href="http://perlworkshop.dk/">YAPC::NA sponsored by href="http://www.livetext.com">LiveText (who are looking for good
    Perl programmers in the Chicago area). href="http://www.theperlreview.com/Images/covers/v3i3-cover-large.png"
    >This issue’s cover is some of the conference detritus I’ve
    collected over the years.

    The >Summer 2007 issue of The Perl Review
    is online and ready for download. Subscribers should have already received an email
    telling them all about it.

    In this issue:

    • Managing Modules Without Going Crazy — brian d foy
    • Carp & Friends — Alberto Simões
    • The Perl Debugger — Richard Foley
    • Tk Mega-widgets — Charles Colbourn
    • and other stuff

    We’re always looking for people with good Perl stories to tell to, and you can
    submit an article idea.

    Jeremy Jones

    AddThis Social Bookmark Button

    On Thursday, June 14, 2007, the Python Atlanta Group met and had an eventful time. There were two presentations by Google and one by a company named Racemi.

    The first presentation was an introduction to the Twisted network application framework by Cary Hull of Google. It was a very informative introduction. He used Twisted itself as the presentation engine for the talk. Nice touch. I’m hoping for Mr. Hull to present in the future either a more in-depth presentation on Twisted or an overview of Zope interfaces (hint hint, Cary :-). Or both.

    The next presentation was by Luis Caamano of Racemi. I’ll only gloss over this presentation now because I plan to get more detailed with them soon. But their product is pretty amazing. Basically, you can move operating systems from machine to machine in a data center. Yes, it sort of sounds like what you can do with VmWare, but it really is very different. And it’s written in Python. Something over 200,000 lines of it (and something over 100,000 of test code) if memory serves me correctly.

    The final presentation was on cross site scripting by Dan Morrill of Google. It was an interesting talk emphasizing the necessity of sanitizing user input. This was an interesting talk for a few reasons. First (and in increasing order of interestingness), he used the BaseHTTPServer and CGIServer from the Python standard library. Second, several of us are perpetually working on projects using Django or TurboGears, so topics of this sort are always interesting. (As a side-note, Mark Ramm was there and mentioned that Genshi and Kid automatically escape data that you pass into a template, so should be nearly non-susceptible to javascript-injection-type attacks.) Third, he pointed out projects which Google is working on such as Gears and the Google Web Toolkit. Again, these types of projects are always of interest as some of us are constantly working on things which could benefit from Google code goodness.

    Interestingly, and as already mentioned, Mark Ramm showed up for the meeting. He mentioned some collaborative effort which was beginning with TurboGears and Pylons. I’m still waiting on details on this, but it sounds promising. I’ll post back here as I learn more.

    The meeting was packed (not surprisingly given Google’s presence). Tons of new faces were there. I hope there was enough interesting material to bring some of those folks back. It’s always a good time to hang out with folks with similar interests.

    Andy Oram

    AddThis Social Bookmark Button

    Somewhere among the readers of the O’Reilly Network are people who know something relevant to pending software patents. For instance, you might have seen papers, conference presentations, or actual working code similar to a “Cooperative mechanism for efficient application memory allocation” or a “User selectable management alert format.”

    The US Patent and Trademark Office wants your help. Through the Peer to Patent project you can look for prior art, discuss its relevance with other people in your field, and tell the patent office why they should take it into consideration–and you’ll be listened to.

    At noon Pacific time today (June 18), members of the Peer-to-Patent project team will discuss the project on the New York Law School’s Democracy Island in Second Life. This is sure to be informative for anyone interested in public policy regarding inventions, and perhaps a memorable occasion in a project that could change how government interacts with citizens.

    Andy Oram

    AddThis Social Bookmark Button

    Head over to the O’Reilly Network OnLAMP site for my article Why Do People Write Free Documentation? Results of a Survey, which analyzes the 354 responses to a survey on the O’Reilly Network.

    Andy Oram

    AddThis Social Bookmark Button

    Two interesting conferences are coming up in Lowell: Penguin_day (Friday, June 22) and Grassroots Use of Technology (Saturday, June 23). They’re aimed at non-profit organizations and are very inexpensive. Both are hosted by the Organizer’s Collaborative, a small, dedicated non-profit that helps other non-profits by teaching them to use open source technology. So naturally, there’s a good deal of overlap between the conferences.

    Presentations range from the imminently practical (e.g., Digital Advocacy on a Small Budget) to big-name (prize-winning author Allison Fine) and geeky (Open Standards: Why the grassroots should care).

    Lowell is a fascinating place, well suited to these events. The setting of the early days of the Industrial Revolution in North America, it has its up-and-coming neighborhoods as well as areas mired in poverty. Its ethnic diversity is invigorating and also challenging. And it’s home to a U.Mass. campus with strong computer-related offerings. If anything I’ve mentioned touches you, check out the conferences.

    Andy Oram

    AddThis Social Bookmark Button

    Advocates of software standards and open source–including such major backers of the Open Document Format as Sun Microsystems and IBM–have been arguing a year against the standardization of Microsoft’s proprietary Office formats in the form of OOXML. We’ve heard lots of arguments about what OOXML doesn’t come up to standards of what makes a real standard. Now Sam Hiser, an O’Reilly author and a director of the OpenDocument Foundation, has written a sleek 14-page summary of the major arguments against making OOXML a standard.

    Jeremy Jones

    AddThis Social Bookmark Button

    Corey Goldberg has begun work on a Python-based open source performance testing tool. This topic is near and dear to my heart since I spent a few years doing quite a bit of performance testing work. Good luck, Corey. I’m interested to hear of your progress.

    Chris Tyler

    AddThis Social Bookmark Button

    Fedora 7 is about to be released (minutes), and it should prove to be one of the most interesting Fedora releases to date. The concept of Fedora Core and Extras — on-disc and off-disk package sets, maintained by Red Hat employees and a mix of Red Hat / non-Red Hat contributors respectively — has been abolished.

    In its place is a single unified repository hosted, built, and distributed outside of Red Hat, with substantial contribution from Red Hat in employee time and financial resources.

    So what software from the repository is ‘on-disc’? Whatever software you want. There will be some initial ISO ’spins’, but Fedora 7 provides tools to assemble any spin you want, either for installation or for use as a live disc. These spins can include any combination of Fedora and non-Fedora packages. So if you want a KDE-based live CD to give out at a seminar, or a server spin that includes your company’s PHP scripts, or a Gnome-based USB version, you can easily make it.

    This is an exciting day for the Fedora project, and I look forward to seeing the results of this experiment unfold.

    Andy Oram

    AddThis Social Bookmark Button

    Ignite Boston takes place in Harvard Square this coming Thursday. A first pass at the list of speakers is now up. The variety is just the kind of enjoyable mix you’d expect from an academically and culturally diverse place like Boston. There are straight tech talks, idea talks, and discussions of processes. The order apparently hasn’t been assigned yet, so I don’t know how long I’ll have to wait till I can finish my talk and start drinking.

    Mike Hendrickson

    AddThis Social Bookmark Button

    Ignitelogo

    Our first Ignite Boston is filling up fast. Since we have limited space at Tommy Doyle’s, please RSVP for the Thursday, May 31,[6 to 10pm] event by sending email to IgniteBoston [at] oreilly [dot] com. With your RSVP, your name will be entered into a drawing to receive $300 worth of O’Reilly books! (But you must be present to win!) We won’t use your name for anything other than this raffle. RSVPs are not required but appreciated.

    The event’s location can be accessed via mass transit [Red Line, Busses] and is located at 96 Winthrop Street in Harvard Square, Cambridge, MA.

    Here is a quick tentative agenda for the evening.

    Time Activity
    6:00-7:00pm Socialize, mingle and talk tech with your fellow FOOs, alpha geeks, and techies from the greater Boston area.
    6:20-7:00Opm Join a MAKE challenge team and participate in building bridges
    (how much weight can your bridge–made from less than 1K popsicle sticks–support?).
    7:00-7:10 Brief intermission and set up
    7:10-7:30 Ignite Keynote - Scott Berkun will kick off our Ignite night with a talk about myths of innovation.
    7:35-8:40 First 12 Ignite talks. Five minutes each.
    8:45-9:00 Judging the Bridges and awarding Raffle prizes
    9:00-10:00 Final set of 12 presentations. Five minutes each
    10:00-2:00am Drinks, conversations and socializing

    We hope to see you there!

    Want more information? Visit our Ignite Boston blog.


    Technorati Tags: , , , , , ,

    Andy Oram

    AddThis Social Bookmark Button

    The GNOME Users And Developers European Conference, a major European free software conference is open for registration for its seventh year. O’Reilly Media is a sponsor. The schedule lists a mind-boggling range of projects, some of which I’ve heard of and some of whose names I’m not sure I could pronounce, and even a couple that I wish I could attend because they’re relevant to another blog about desktops I put up recently. There are also talks and sessions–as you’d well imagine–and the organization of an open-source project and legal issues in open source.

    Jeremy Jones

    AddThis Social Bookmark Button

    In case anyone missed it, I had the opportunity to interview Guido van Rossum at PyCon this year. The audio interview (stored in mp3 format) is embedded in this article entitled PyCon 2007 Wrapup. Just look to the left side of the page.

    In addition, I have two other audio interviews and one conversation I have been sitting on and haven’t edited yet. One is an interview with Ian Bicking on WSGI. The other is an interview with Kevin Dangoor on TurboGears. I also had a non-interview conversation with Ron Stephens of the Python 411 podcast. As soon as I can get these edited, I’ll post them.

    Andy Oram

    AddThis Social Bookmark Button

    People in Eastern Massachusetts who are curious about what academics, computer programmers, and hackers are doing in our area should attend Ignite Boston on Thursday, May 31. This is not a serious academic conference; it’s a chance to meet interesting folks and be dazzled by the wide range of stuff your neighbors are inventing. It’s in a drinking establishment, presentations will be five minutes long–and there’s lots for the audience to do.

    I’ll be giving the first public presentation of a mock-up of a quiz program I’m working on to help determine the quality of online documentation. Scott Berkun (author of two O’Reilly books, The Art of Project Management and The Myths of Innovation) will keynote. Some of the other people I’ve talked to, and who I know are presenting, are doing some really fun things–and useful ones too.

    There’s still time to sign up if you’re working on a project you’d like to show the community. Tell all your tech-loving friends to come.

    AddThis Social Bookmark Button

    On behalf of the Parrot team, I’m proud to announce Parrot 0.4.12 “Of the Caribbean.” Parrot is a virtual machine aimed at running all dynamic languages.

    Mike Hendrickson

    AddThis Social Bookmark Button

    Boston Skyline-2-2 The first Ignite Boston will be on Thursday, May 31, from 6 to 10 pm at Tommy Doyle’s located at 96 Winthrop Street in Harvard Square, Cambridge, MA.

    From 6-7, mingle and talk tech with your fellow FOOs, alpha geeks, and techies from the greater Boston area. Or, join a MAKE challenge team and participate in building bridges (how much weight can your bridge–made from less than 1K popsicle sticks–support?). After that, keynote speaker Scott Berkun will kick off our Ignite night with a talk about myths of innovation. There’s more! Guest speakers will give lightning-fast, five-minute presentations, catching you up on the cool, new, innovative stuff going on in technology today. During intermissions, get a cold beer and chat with speakers, sponsors, and O’Reilly’s editors and staff.

    Join us Thursday, May 31, for a fun, energetic evening of talking, learning, making, collaborating (and drinking!).

    Plan on coming? You can RSVP by sending an email to IgniteBoston [at] oreilly [dot] com. With your RSVP, your name will be entered into a drawing to receive $300 worth of O’Reilly books! (But you must be present to win!) We won’t use your name for anything other than this raffle. RSVPs are not required but appreciated.

    Want more information? Or want to be a guest speaker? Visit our Ignite Boston blog.

    See you there!

    Technorati Tags: ,

    Dave Cross

    AddThis Social Bookmark Button

    Senior perl programmers seem to be in short supply in London. They may well be in short supply in other places too as far as I know, but it’s London-based recruitment agents that are calling me every couple of days asking for help and advice.

    A couple of months ago, Simon Cozens had an idea. He suggested running a day or so of free Perl training in London. Other people agreed it was a good idea. Ovid got The Perl Foundation involved. There was a lot of discussion about what exactly should be taught on such a course. Plans were hatched.

    But, unfortunately, real life got in the way. Simon was called away to Japan. Ovid got too busy on other things and the project stalled.

    Or so it seemed. Actually some people from the BBC picked up the ball and ran with it. And now they have a venue (BBC offices in White City), a date (Saturday 2nd June) and a trainer (me). They’ve even got sponsorship for some lunch from BBC Backstage. All we need now is some attendees.

    So if you’re an intermediate Perl programmer in London and you’d like to spend a day working on your Perl skills, then please visit our web page and sign up.

    If it’s a success then we might arrange other similar events in the future.

    Jeremy Jones

    AddThis Social Bookmark Button

    TurboGears 1.0.2 was released today, May 2, 2007. The changelog can be found here.

    Jeremy Jones

    AddThis Social Bookmark Button

    Doug Napoleone has just posted an update on his progress with the audio and video of PyCon 2007. It looks like much, if not all, of PyCon will be available starting “real soon now” (my quote, not Doug’s). You can read Doug’s full post here.

    Andy Oram

    AddThis Social Bookmark Button

    I’d encountered a bunch of Nokia reps at the 2005 GNOME summit, so I’m not too surprised to see a press release for a GNOME Mobile & Embedded Initiative (GMAE). (Thanks to author Karim Yaghmour of Building Embedded Linux Systems for notifying me.)

    Jonathan Wellons

    AddThis Social Bookmark Button

    This Tuesday, I have the good fortune to give a presentation on N. Smith, A. Capiluppi, and J. Fernandez-Ramil’s classic journal paper “Agent-Based Simulation Of Open Source Evolution,” from Software Process: Improvement and Practice 2006; 11: 423-43. Well, if anything from 2006 can be a classic, F/OSS is the place.

    Figuring out how Free Software evolves is a black art. There’s quite a bit of grant money in it and I’ve seen theories that do everything from trying to quantify the exact number of developers the core of a project must have to purporting to build a checklist of all features that define when you will be successful integrating Open Source into your organization.

    In this case, Smith et al. have taken the CVS logs from the Gaim, Wine , Arla , and MPlayer projects, plotted how their complexity evolved over time, then tried to tweak a model of developer-agents until the virtual project’s complexity had the same shape as the real ones. They hope to use this to causal relationships between module fitness, complexity and other factors. You will have to make your own decision as to whether they succeeded.

    Andy Oram

    AddThis Social Bookmark Button

    Unicon Systems has just announced a development kit for mobile devices based on Linux, boasting it as “the first and only” such kit. Unicon devices are meant for specialized embedded applications (”industrial, banking, medical,…appliances, entertainment…”).

    The kit is apparently not open source, but is shipped with a device for $599.

    They list a wide range of software features in a PDF comparsion sheet, including localization and support for various software development practices, such as rapid prototyping.

    The device, built around a ARM9 S3C240A 266-MHz chip, offers such amenities as stereo audio inputs and outputs, Wi-Fi, and a color touch screen. Its graphics are based on Nano-X.

    AddThis Social Bookmark Button

    Andy Armstrong has strong-armed Google Co-op to make a custom search engine dedicated to the Perl world. That might help narrow down some searches I’ve performed lately.

    Are there similar engines for other communities and projects?

    AddThis Social Bookmark Button

    Damien Seguy just sent me links to Nexen’s PHP Adoption Statistics for March 2007 (also an analysis of the PHP adoption statistics for March 2007).

    Buried in the data is one little gem: if you want to run on the majority of public-facing PHP installations, target PHP 4.3.10 or later. That represents 60% of the PHP-enabled hosts.

    There are other interesting statistics, too. Apparently PHP 5.2 is taking over from PHP 5.0 and 5.1, while PHP 4.4 is still dominant. Even more interesting is that Apache httpd 1.x is almost three times as popular as Apache 2.x.

    I’ve wondered before if people upgrade. So far, few do.

    AddThis Social Bookmark Button

    Parrot, the virtual machine designed for Perl 6 and other dynamic languages, will have its monthly bug day on 14 April. Contributors will be present in #perl on irc.perl.org all day to answer questions, to give guidance, and to close all tickets for the Parrot 0.4.11 release.

    If you’re in the northwest, come by the Portland Perl Mongers April 2007 Meeting. I’ll talk about the implementation and design of Parrot, its compiler tools for hosting languages on Parrot, and give a short tutorial about its native PIR programming language.

    By the end of the talk, you’ll know how to hack on Parrot. If you have a language you’d like to port, you want to help port an existing language, or you have a platform more exotic than x86 Linux and a modicum of skills with Perl or C, we’d love to see you in IRC or at Free Geek next Wednesday night. Both is good too.

    Andy Oram

    AddThis Social Bookmark Button

    The integrity of the DNS root servers is clearly critical to our ability to use the Internet.A new
    series of articles will recommend the use of DNSSEC to help distribute the management of the servers, thus both improving security and reducing the role of the U.S. government.

    According to the introduction, “the U.S. government assumes exclusive responsibility for” the root servers, and “For that reason, DNS root zone file management has been one of the most controversial issues in Internet governance.”

    You can follow the articles as they come out, and submit your own comments for further discussion to take place at a conference in May.

    Chris Tyler

    AddThis Social Bookmark Button

    The Seneca Free Software and Open Source Symposium (FSOSS) is a great community-oriented event held in Toronto each October. I’m co-chairing the 6th edition this fall, which for the first time will include two days of presentations and workshops (October 25-26). If you’re interested in speaking or teaching, we’re looking for solid presentation and workshop proposals at http://fsoss.senecac.on.ca/2007/.

    AddThis Social Bookmark Button

    Will “Coke” Coleda released Parrot 0.4.10 on 20 March 2007. I’m particularly excited about this version because we finally have Parrot::Embed compiling and running (with the appropriate path setting for certain platforms) on multiple platforms.

    Parrot::Embed allows you to use Parrot code in your Perl programs. Right now it supports basic subroutines (though multidispatch works on the Parrot side). Soon it will support Parrot objects.

    Yes, there is a Ruby version in progress.

    If there’s any interest, I’m happy to walk through the code or show examples of its use.

    AddThis Social Bookmark Button

    Martin Michlmayr is writing his PhD thesis about release management in large F/OSS projects. He’s published some of his findings:

    I’m curious to see his conclusions!

    Jeremy Jones

    AddThis Social Bookmark Button

    Ian Murdock, founder of Debian announced today that he is joining Sun to “head up operating system platform strategy”.

    AddThis Social Bookmark Button

    The monthly Parrot Bug Day is this Saturday, 17 March. Will “Coke” Coleda has a list of open issues in Parrot for the 0.4.10 release that he’d like to address.

    There are plenty of tasks for novices to Parrot, Perl, and C, as well as a few tasks for people with experience but who need some guidance to get started. I’d also love to find someone with hard-won experience compiling software on Windows (specifically creating a shared library that links against another shared library dynamically).

    Parrot continues to make progress; this will be the best release yet. Come join us in #parrot on irc.perl.org all day, regardless of your timezone.

    brian d foy

    AddThis Social Bookmark Button

    I’m a couple of months late for mandatory ISBN-13 support, but I’ve uploaded Business::ISBN-2.00_01 so people who depend on the module can look at the new interface and make comments on it. It supports ISBN-13 seamlessy. Most of the internals are completely new: this was my second-ever module, and I did a lot of dumb things back then.

    Interface changes (all open for discussion and improvement):

    • I’ve renamed methods that used “ean” to use “isbn13″.
    • Things using the term “country” now say the more correct “group”.
    • The exportable functions are gone. They might come back, but as a separate module, like File::Spec::Functions.
    • I got rid of the odd handling on constants at the user level. is_valid() is now just true or false. You can still get the specific parsing error with the new error().

    This isn’t ready for production. It’s pretty good, but don’t blindly replace what you have now. Give it a try, and if you run into a problem let me know.

    brian d foy

    AddThis Social Bookmark Button

    The next issue of The Perl Review is out, and it’s a special edition for the Nordic Perl Workshop! Not only that, the PDF-only price is now only $7. Subscribe now to beat the price increase for US postage rate increases in May.

    The Spring 2007 issue of The Perl Review is online and ready for download. Subscribers should have already received an email telling them all about it. In this issue (besides the cover showing Gary Blackburn’s license “PERL GOD” license plate), there’s:

    • History of the Nordic Perl Workshop — Jonas Nielsen
    • New Features in Perl 5.10 — Renée Bäcker
    • Dynamic Object Reconfiguration — Peter Scott
    • Adding Transactions to [cpan://DBM::Deep] — Rob Kinyon
    • Parsing with Parse::Eyapp — Casiano Rodriguez Leon
    • can() You Do It? — brian d foy
    • and other stuff
    Andy Oram

    AddThis Social Bookmark Button

    Every couple years it’s time to say, “Everything you thought you knew about MySQL has to change.” Well, not everything; it still is (and always will be) the lovable, streamlined, easy-to-administer, web-friendly database it was known as from the start. But MySQL AB is aggressively branching out into new markets and domains, so they can surprise you.

    For instance, when I saw the roll-out of MySQL Cluster at their 2004 conference, I (and most other observers) predicted it would be adopted in very limited markets and pose little threat to other clustering solutions, because it required all databases to be stored in RAM. I also assumed that eliminating this restriction and allowing on-disk storage would be too big a job to be worthwhile. Well, on-disk storage is reportedly part of MySQL 5.1.

    The old choices for storage engines (which, few as they were, represented a good selling point for MySQL, because each storage engine offered advantages for particular applications) have suddenly burgeoned. The primacy of InnoDB is fading, while much excited debate and obsessive benchmarking is taking place around two new entrants, Falcon (from MySQL AB) and PrimeBase XT (PBXT) (an independent open source project).

    Anyway, there are plenty of reasons–whether you’re a current user of MySQL or just curious about what it could offer you–to register for the 2007 MySQL Conference & Expo, run in conjunction with O’Reilly. It’s bound to be both fun and informative–if not, everything you thought you knew about MySQL (and O’Reilly) has to change.

    Jeremy Jones

    AddThis Social Bookmark Button

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

    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.

    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.

    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.

    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!

    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.)

    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!

    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

    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.

    Spencer Critchley

    AddThis Social Bookmark Button

    CivicSpace, the free open source community organizing web platform, is migrating to Groundswell, which is essentially the same thing, but with a subscription fee and a promise to shield users from technical challenges. It’s not surprising: CivicSpace was impressive, but it seemed to occupy a limbo between open source and consumer software. CivicSpace invited non-technical users by making it easier to build an online political operation. But it was never easy enough, and maybe never could have been, given that just installing it required some minimal familiarity with the LAMP environment. Handling all the ensuing support requests, for free, must have been quite a burden.

    AddThis Social Bookmark Button

    It’s important to understand volunteer motivation to encourage further altruistic and mutually beneficial behavior. O’Reilly Editor Andy Oram has created a short survey for people to contribute to community documentation:

    “Do you answer questions on mailing lists about how to use a software tool or language? Do you write documentation, put up web pages, or contribute to wikis about software? If so, please take the following survey to help O’Reilly do research that will help us understand why people contribute to documentation (versus software projects themselves.) The results will be published on the O’Reilly web site, and may help software projects and communities get more such contributions. We’re only interested in hearing from people who do this for non-monetary reasons.

    AddThis Social Bookmark Button

    The Plat_Forms web publishing contest has just started. Alvar Freude let me know that the nine Plat_Forms teams represent Java, Perl, and PHP. Oddly, there are no .Net, Python, or Ruby entrants.

    The Plat_Forms live contest blog is also available; it has frequent updates throughout the contest.

    Andy Oram

    AddThis Social Bookmark Button

    Do you answer questions on mailing lists about how to use a software tool or language? Do you write documentation, put up web pages, or contribute to wikis about software?

    If so, please take our survey to help O’Reilly do research that will be published on the O’Reilly web site. It could help software projects and communities get more such contributions.

    We’re interested in hearing only from people who do this for non-monetary reasons.

    AddThis Social Bookmark Button

    The nearly 300-page Economic Impact of FLOSS on Innovation and Competitiveness of the EU ICT Sector report (warning, large PDF file) will take some time to review and digest. Meanwhile, the report’s table on the largest commercial contributions to F/OSS caught my eye.

    With a review of the code in Debian GNU/Linux through the Constructive Cost Model (that is, COCOMO), the top contributor by far is Sun. That’s a nice confirmation of Sun’s claim to be the largest contributor to F/OSS. IBM provides the next largest amount of contributions.

    It’s interesting to see SGI, SAP, and Real Networks in the top ten.

    It’s even more interesting to see that smaller, newer companies such as Red Hat, MySQL, and Ximian are in the list. (That’s a good sign that they contribute disproportionately to their size; their influence is much greater than that of many larger companies.)

    See pages 48 - 51 of the report for more information.

    Jeremy Jones

    AddThis Social Bookmark Button

    Penguin.swf just announced the final release of Flash Player 9 for x86 Linux. I just tried it on the ubiquitous talking cat video and the not so ubiquitous angry cat video. Both played fine for me.

    Yes, it would be nice if Flash Player were open source. Yes, it would be nice if there were a release for 64 bit and Power PCs. But it is nice that I have a Flash 9 Final for my laptop. I consider this progress. I’ll keep hoping with everyone for Adobe to open Flash Player. I’ll also keep hoping for releases for non-32-bit-x86 Linuxen.

    UPDATE: I just received this press release about the Flash Player 9 Release:

    Adobe Delivers Flash Player 9 for Linux

    New Release Joins Adobe Flex 2 for Linux-based RIA Creation

    SAN JOSE, Calif. — Jan. 17, 2007 — Adobe Systems Incorporated (Nasdaq:ADBE) today announced the availability of Adobe® Flash® Player 9 for Linux, the next-generation client runtime for engaging with Flash content and applications on Linux open source operating systems. Adobe Flash Player 9 delivers a consistent cross-platform experience and extends unprecedented performance and advanced features to the broadest set of developers and users to date. Additionally, Linux developers can create, test and deploy rich Internet applications (RIAs) on the Linux platform using the free Adobe Flex® 2 Software Developers Kit (SDK), Adobe Flash Player 9 and the free Flex Data Services 2 Express.

    Installed on over 700 million Internet-connected PCs and mobile devices worldwide, Adobe Flash Player engages people across a wide array of different channels, enabling collaboration and delivering richer, more interactive experiences that work consistently across multiple platforms.

    “With the proliferation of video on the Web, Adobe Flash Player is quickly becoming the de facto industry standard for delivering engaging interactive content and applications,” said Emmy Huang , senior product manager at Adobe. “Now the Linux community has full access to the high volume of Flash content and applications available on the Internet today, bringing Linux developers and users to the forefront of the Web 2.0 experience.”

    Adobe Flash Player 9 for Linux vastly enhances user experiences with new capabilities such as efficient memory utilization, advanced features for graphics, video and text, as well as the ActionScript Virtual Machine (AVM2), which allows up to 10 times faster scripting performance. Adobe recently contributed source code from the AVM2 to the Mozilla Foundation, which is hosting a new open source project called Tamarin to accelerate the development of a standards-based approach for creating rich and engaging Web applications that work across multiple platforms. The Tamarin source code is available via CVS, an open source version control and collaboration system, from the Mozilla site www.mozilla.org/projects/tamarin/ .

    “Adobe Flash Player 9 delivers high-quality performance, a more secure viewing experience and an enhanced programming model that will help further advance SUSE Linux Enterprise Desktop as the top Linux desktop for business,” said Justin Steinman, director of marketing for Linux and Open Platform Solutions at Novell. “Novell is committed to providing our users the means to experience the latest in rich content on the Web.”

    “Red Hat is committed to providing the world’s best Linux user experience,” said Tim Yeaton, Senior Vice President of Red Hat Enterprise Solutions. “Offering our users Adobe Flash Player 9 for Linux helps Red Hat deliver the desktop capabilities Linux users want, and is an indicator of the growing demand for rich Internet applications certified for Red Hat Enterprise Linux.”

    Pricing and Availability

    Adobe Flash Player 9 for Linux is available immediately as a free download from www.adobe.com/go/getflashplayer linux. The standalone and debug versions of Adobe Flash Player for developers are available from www.adobe.com/support/flashplayer/downloads.html . Adobe Flash Player 9 for Linux will also be included in Linux operating systems distributed by Novell and Red Hat later this year.

    Adobe Flash Player 9 is available in both English and localized versions and is available for Linux, Windows and Mac platforms. To learn more about Adobe Flash Player 9, please visit www.adobe.com/products/flashplayer/ . For system requirements, please visit www.adobe.com/products/flashplayer/productinfo/systemreqs/ .

    For more information about developing RIAs for the Linux platform with the free Adobe Flex 2 SDK and Flex Data Services 2 software, please visit www.adobe.com/products/flex/productinfo/overview/ .

    About Adobe Systems Incorporated

    Adobe revolutionizes how the world engages with ideas and information - anytime, anywhere and through any medium. For more information, visit www.adobe.com .

    ###

    © 2007 Adobe Systems Incorporated. All rights reserved. Adobe, the Adobe logo, Flash and Flex are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Mac is a trademark of Apple Computer, Inc., registered in the United States and other countries. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries.

    AddThis Social Bookmark Button

    Aaron Seigo has an excellent summary of a lengthy report on the use of F/OSS in European governments. He makes me want to read the entire study… alas, not today.

    Here’s my favorite quote from his posting:

    oh look, we’re doing better in smaller firms. again, no surprise. many of us have been saying that’s the case for some time all while too many continue to obsess over the “enterprise” when that is not where our bread and butter tends to be, by a factor of 2.

    AddThis Social Bookmark Button

    From Jerry Gay, this month’s revolving Parrot release manager:

    On Saturday, 13 January, 2007, please join us on IRC in #parrot (irc.perl.org) to work on closing out as many RT ([https://rt.perl.org/rt3/]) tickets as possible in the parrot queue. This will help us get ready for the next release of parrot 0.4.8, scheduled for Tuesday 16 January 2007. You’ll find C, parrot assembly, perl, documentation, and plenty of tasks to go around. Core developers will be available all day (starting at around 10am GMT) to answer questions.

    No experience with parrot necessary. See [http://rakudo.org/parrot/index.cgi?bug_day_2007_01_13|the parrot wiki page] for more information.

    Last month’s first-ever Parrot bug day was a huge success, as we closed some old bugs, attracted some new developers, and managed to improve portability to alternate platforms and toolkits.

    This time, I hope to improve the state of Parrot::Embed. Windows developers are particularly welcome.

    Jeremy Jones

    AddThis Social Bookmark Button

    The 2.5.0 release of the Twisted project was just announced. The release announcement follows:

    Get Twisted: http://twistedmatrix.com/

    Twisted is an event-based framework for internet applications which
    works on Python 2.3.x, 2.4.x, and 2.5.x.

    Twisted 2.5.0 is a major feature release, with several interesting new
    developments and a great number of bug fixes. Some of the highlights
    follow.

    * AMP, the Asynchronous Messaging Protocol, was introduced. AMP is a
    protocol which provides request/response semantics over a persistent
    connection in a very simple and extensible manner.

    * An Epoll-based reactor was added, which can be used with twistd or
    trial by passing “-r epoll” on the command line. This may improve
    performance of certain high-traffic network applications.

    * The ‘twistd’ command can now accept sub-commands which name an
    application to run. For example, ‘twistd web –path .’ will start a
    web server serving files out of the current directory. This
    functionality is meant to replace the old way of doing things with
    ‘mktap’ and ‘twistd -f’.

    * Python 2.5 is now supported. Previous releases of Twisted were
    broken by changes in the release of Python 2.5.

    * ‘inlineCallbacks’ was added, which allows taking advantage of the
    new ‘yield’ expression syntax in Python 2.5 to avoid writing callbacks
    for Deferreds.

    * Many improvements were made to the Jabber support in twisted.words.

    Hit http://twistedmatrix.com/trac/wiki/Downloads to see what’s new and
    to get the latest downloads, including tarballs and Windows
    installers.

    Again thanks to Jean-Paul Calderone and Cory Dodt for helping get this
    release out the door, and thanks to all the Twisted contributors whose
    work went into Twisted 2.5.


    Christopher Armstrong
    International Man of Twistery
    http://radix.twistedmatrix.com/
    http://twistedmatrix.com/
    http://canonical.com/

    brian d foy

    AddThis Social Bookmark Button

    A while ago I wrote the Learning Perl Study Guide for O’Reilly. It’s 64 pages of additional exercises and answers for the end-of-chapter exercises in Learning Perl, 4th Edition. At the moment it’s available through Pearson educational channels as a bundle with Learning Perl. At Stonehenge we use these guides in our Perl trainings.

    To make my study guide available to everyone, I bought a big box of them and am selling them at cost myself. O’Reilly’s already paid me for the work and I just want to make the study guide available to anyone who wants it. The cover price is $19.99 (US) and $25.99 (Canada), but I’m selling it at $14 (North America) and $18 (everywhere else). That’s a flat price that already includes taxes, shipping, and everything else.

    And, since it’s just me selling these out of my home office, I can give people a break on bulk orders and special deals. Just ask!

    AddThis Social Bookmark Button

    On the Perl Foundation’s weblog, Jim Brandt asks what do you want from a TPF-sponsored hackathon? (This is useful information for other groups too; see Steve Holden’s Organizing a Sprint for more ideas.)

    Jeremy Jones

    AddThis Social Bookmark Button

    There are some really cool new features in 0.7.3 such as custom tab completers, better alias support, job control… Here is a list of new features. And downloads are here.

    For anyone unfamiliar with IPython, check out the home page. The nutshell description of IPython (from the IPython site) is

    • An enhanced Python shell designed for efficient interactive work. It includes many enhancements over the default Python shell, including the ability for controlling interactively all major GUI toolkits in a non-blocking manner.
    • A library to build customized interactive environments using Python as the basic language (but with the possibility of having extended or alternate syntaxes).
    • A system for interactive distributed and parallel computing (this is part of IPython’s new development).
    Jeremy Jones

    AddThis Social Bookmark Button

    Guido, the BDFL for the Python language recently posted concerns about the Python 3000 release schedule. It seems that the discussions are “more about radical redesign of the language than about the relatively modest tweaks that [Guido] had in mind when [he] started the project.” His post showed a considerable amount of wisdom in balancing the needed (and desired) changes with getting things done. In any project, you can spend an infinite amount of time thinking and re-thinking the design, but at some point, you have to decide to get it done even if there are improvements that you could have made.

    The results of the post were 1) Guido committed to try to set the tone on the Python 3000 Dev list to focus primarily on the work that needs to get done. 2) He offered to create a Python 4000 list on which people can discuss more radical changes to the language. 3) Guido mentioned some specific items for Python 3000 which he could use some help on. If you’re so inclined, read the post I’ve linked to and see if there’s an area where you can lend a hand.

    Ming Chow

    AddThis Social Bookmark Button

    I will be teaching Security, Privacy, and Politics in the Computer Age again this spring semester at Tufts University through the Experimental College. I had great success the first time I taught the course. This time, I am reshuffling the syllabus with several major changes:

    • New sections for 2007:
      • Social Engineering
      • Databases and Data Security
      • Risk Management and Policy Framework
      • Software Insecurity
      • Secure Software Development
      • Regulatory Compliance
      • Digital Investigations and Forensics
      • Ethics
    • Deeper discussion of privacy

    Also, students will be placed in groups to design two “secure” products, which will be 25% of the final grade.

    As usual, all news, lectures notes, resources, and selected students’ works will be online on the course website.

    Jeremy Jones

    AddThis Social Bookmark Button

    This morning, Guido announced the creation of a refactoring tool for Python. In the link I’ve posted above, Guido mentioned that this could serve as a tool which could facilitate migrating code from Python 2.x to 3.0.

    The gist of the tool is that it generates a parse tree of a piece of code. It then starts looking for nodes in the tree which match some pattern. When it finds matching nodes, it applies matching rules to matching nodes and “grafts” the resulting transformed node back into the parse tree.

    I have just downloaded the source code for the refactoring tool, so I haven’t gotten my hands dirty with the code just yet, but it looks interesting and promising. Guido’s purpose in announcing the tool was to invite people to try it and give him a hand if you’re so inclined. So, go download it and put it through its paces.

    AddThis Social Bookmark Button

    Parrot’s first ever Bug Day is this Saturday, 16 December 2006. The core Parrot developers will be in #parrot on irc.perl.org all day to:

    • Review tickets in the Parrot RT queue
    • Answer questions from newcomers
    • Fix bugs
    • Add features
    • Improve the documentation or tests or…
    • Recruit and encourage new developers

    If you’re curious about Parrot, please join us. You don’t have to be an expert programmer. If you can follow the build instructions (or report where they fail for you), manage a source code checkout, and work an IRC client, you’re plenty qualified. There are plenty of ways to get involved in almost any capacity you can conceive.

    Curtis Poe

    AddThis Social Bookmark Button

    Recently I was pointed to a blog entry announcing the retirement of Stefan Esser from the PHP Security Response Team. Stefan, amongst other things, developed Suhosin, a PHP security tool. His retirement announcement was extremely disturbing and is worth reading.

    AddThis Social Bookmark Button

    Perl fans rejoice. This year we have two advent calendars. The Perl Advent Calendar reviews one fantastic CPAN module every day until Christmas. (We’ll also send you a book of your choice if you contribute a review.) Similarly, the Catalyst Advent Calendar gives one tip or trick every day for using the Catalyst web framework.

    AddThis Social Bookmark Button

    It’s been three months since PHP Versions in the Wild. What does Nexen report about PHP version adoption statistics for November?

    Andy Oram

    AddThis Social Bookmark Button

    A newly unveiled company named Kryptiva is trying to meet all the important requirements for securing email. Many companies have offered encryption, digital signatures, and proofs of delivery for electronic mail. But up to now, according to Kryptiva founder and CEO Karim Yaghmour, each design has embodied an important flaw that reduces either usability or security. (Karim is the author of Building Embedded Linux Systems, which I edited. Kryptiva is proprietary software.)

    Andy Oram

    AddThis Social Bookmark Button

    The winners of the Sysadmin of the Year contest were announced this morning. Do you ever hug your system administrator, or do you go to him or her just when you have something to complain about? Well, if your sysadmin is an extraordinary figure, you may have a chance to show your appreciation in a future contest, because it seems this contest has satisfied the expectations of the key sponsor, Splunk.

    I profiled Splunk earlier this year, praising their contemporary approach to solving system admiinistration problems by linking and providing data mining tools for large quantities of data, and for incorporating end-user feedback into the solution sets. Although this contest gained them some new potential marketing contacts, it was a contribution to the field, endorsed by a wide range of companies you can find on the contest’s home page.

    Winners included an administrator who stayed in a burning building long enough to rescue his company’s data (thus saving not only the business but the key information of their customers), someone so popular at his web hosting service that 700 individuals submitted separate endorsements, and other worthy professionals.

    AddThis Social Bookmark Button

    Alvar Freude just wrote in to ask for help soliciting Perl development teams for the upcoming Plat_Forms contest. He describes it as “an international contest and comparison with scientific evaluation about programming languages (and frameworks) for web development.”

    It will take place at the end of January in Nuremberg, Germany. The rest of Alvar’s message is:

    AddThis Social Bookmark Button

    Josh Clark just sent me an e-mail to say:

    I’ve just made available a free Perl Critic plugin for the BBEdit text editor for OSX. It gives a handy GUI for running scripts through Perl Critic, and I thought that Mac users of Perl.com might find it useful.

    Perl::Critic is one of my favorite open source projects. Integrating this with any editor is fantastic. BBEdit-using Perl hackers, install this plugin now!

    AddThis Social Bookmark Button

    The Perl community is not new to hackathons; the Pugs hackathon in Toronto in 2005 before YAPC::NA is one of the best known. However, most of these sprints took place before or after conferences: OSCON, YAPC, et cetera.

    I went to the Chicago Perl Hackathon this past weekend. Barring some troubles during the trip, it went flawlessly.

    AddThis Social Bookmark Button

    I prefer programming to administering systems–so much so that if there’s a way for me to avoid deploying software or running backups or installing software, I’ll take it.

    I also prefer re-using existing software to writing my own, mostly. If someone else has already built something I can use trivially, great!

    What happens when you combine those two concepts?

    My colleague Tony Stubblebine, who you may remember used to be a senior software developer here at O’Reilly, recently went to a Salesforce conference. Their AppExchange program caught his attention, and he twisted our arms into publishing a three-part series on building your own hosted applications with AppExchange.

    Even if you’re not in the business of writing hosted business software, the development and deployment and business models are very interesting.

    Andy Oram

    AddThis Social Bookmark Button

    There are a lot of applications left for clusters and grids to explore, as two companies I’ve talked to recently show.

    Cleversafe: Better reliability and security by letting go of data

    Cleversafe is commercializing a distributed storage technology that first showed potential back in the 1990s, and that was being widely discussed in 2001 when the peer-to-peer craze hit and people first talked seriously of monetizing the grid computing model of SETI@home. The Cleversafe approach is doubly interesting because it is distributed in two senses:

    • The data is stored on many systems, geographically scattered around the world to facilitate disaster recovery.

    • Responsibility for the system is distributed. Cleversafe provides only the technology (open source) and the service. Actual storage will be purchased from a variety of companies, so that no one entity has control over users’ data.

    Dave Cross

    AddThis Social Bookmark Button

    The London Perl Workshop 2006 has just been announced. It will be on Saturday December 9th at Westminster University. The announcement also contains details of how to submit talks for the workshop.

    The LPW is (like all of the other local Perl workshops) a grass-roots, one day, free Perl conference. The talks are of a very high standard and it’s a great way to meet people from the Perl community (who come from all over the world to be at the workshop). The two previous ones have been very enjoyable. I’m just gutted that I’ll have to miss this one because I’ll be out of the country.

    Chris Tyler

    AddThis Social Bookmark Button

    If you couldn’t make it to the Seneca Free Software and Open Source Symposium last week, you can still hear the presentations by Mike Shaver (Mozilla), Nat Friedman (Novell), Chris Blizzard (OLPC/Red Hat) and others via the raw video that has been posted online. Edited versions incorporating the presenters’ slides should be available soon (the organizers decided to “release early and release often”!).

    Curtis Poe

    AddThis Social Bookmark Button

    This call for proposals is delayed because I managed to set up my calendar notification incorrectly. My apologies if this has inconvenienced anyone. Also, after this, I’ll be on vacation for a week and a half, so I won’t be able to respond right away to grant submissions, but I’ll catch up with this when I get back.

    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 deadlines is the last day of November, voting starts in December and we will be awarding the grants by the beginning of January. I’ve fixed my calendar notification and we should be back on schedule after this.

    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 thee grant process.

    Jeremy Jones

    AddThis Social Bookmark Button

    Abe Fettig, author of Twisted Network Programming Essentials just announced that Google has purchased JotSpot, which is the company he’s been working for. Here is a post from googleblog confirming the acquisition.

    Congratulations, Abe and all!

    Jeremy Jones

    AddThis Social Bookmark Button

    Ubuntu announced today that Edgy is officially released. Desktop enhancements include:

    • Tomboy, an easy-to-use and efficient note-taking tool
    • F-Spot, a photo management tool that enables tagging, photo editing
      and automatic uploading to on-line web management sites such as
      Flickr
    • GNOME 2.16, which in addition to new features such as enhanced power
      management, makes the GNOME desktop more secure, faster and more
      stable
    • Substantially faster startup and shutdown with eye-catching
      high-resolution graphics
    • The latest Firefox web browser, version 2.0, which offers inline spell
      check support in web forms, easy recovery of crashed sessions, built-in
      phishing detectors, enhanced search engine management with built in
      OpenSearch support, and better support for previewing and
      subscribing to web feeds
    • Proactive security features, preventing many common security
      vulnerabilities even before they are discovered
    • Evolution 2.8.0, which brings new features such as vertical message
      panes

    Unfortunately, I didn’t see anything about the inclusion or automatic configuration of Compiz/Beryl. I’m upgrading the laptop that I’m blogging this from as I type via `apt-get dist-upgrade`. I also plan to install from scratch on a second hard drive, a new server I’m setting up, and my son’s laptop. I’ll blog back with results of how the upgrade and fresh installs go.

    Jeremy Jones

    AddThis Social Bookmark Button

    SQLAlchemy announced yesterday that version 0.3.0 was available. I’ve been hearing about and reading references to SQLAlchemy for a while now. I just downloaded and installed SQLAlchemy and have been thumbing through the documentation. It appears to have all the power of, say, SQLObject or Django’s ORM with even greater customization functionality.

    From the SQLAlchemy front page:

    SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL.

    It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.

    SQLALCHEMY’S PHILOSOPHY

    SQL databases behave less and less like object collections the more size and performance start to matter; object collections behave less and less like tables and rows the more abstraction starts to matter. SQLAlchemy aims to accommodate both of these principles.

    SQLAlchemy doesn’t view databases as just collections of tables; it sees them as relational algebra engines. Its object relational mapper enables classes to be mapped against the database in more than one way. SQL constructs don’t just select from just tables–you can also select from joins, subqueries, and unions. Thus database relationships and domain object models can be cleanly decoupled from the beginning, allowing both sides to develop to their full potential.

    This will be an interesting project to watch if for no other reason than the projects which are working to integrate with it (such as TurboGears and Django).

    Jeremy Jones

    AddThis Social Bookmark Button

    I apparently missed the announcement until this morning while listening to a couple of podcasts which mentioned the new beta of Flash 9 for Linux. Apparently, chromatic is less than pleased with the general “Linux” label since this release is only for 32-bit x86 Linux.

    Here is a page from Penguin.swf, apparently an Adobe employee involved with the Linux port. There are links in there to the download, install, and FAQ page.

    I installed it and tested it on GooTube. One of the issues with Flash 7 for Linux is the audio/video synchronization problem. I first watched the angry cat video to see if this issue has been resolved in Flash 9. It played fine. It looked and sounded like the video and audio were in sync, but with cat videos, you never know. So, I decided to check out an episode of Hope is Emo to see if there was proper synchronization. So far, it looks good.

    Chris Tyler

    AddThis Social Bookmark Button

    Fedora Core 6 will be released on Tuesday. It is the latest and greatest distribution from the Fedora project, hardened out-of-the-box with SELinux and including Xen 3, the latest KDE and Gnome desktops, AIGLX eye candy (for the few cards that support it so far), a handful of new or rewritten management tools, and a much faster version of the Yum package-management system.

    Another Fedora-related download is available today: my book, Fedora Linux: A Complete Guide to Red Hat’s Community Distribution is available in PDF form from the O’Reilly web store. This provides a convenient way to access the content while on-the-go (and at a 50% discount from the book’s list price). For those who prefer paper, the print edition will be out before the end of the month.

    It’s exciting to see my first book reach fruition. I wrote it as a hands-on guide to the complete Fedora system using the same lab-based approach as Chris Brown’s SUSE Linux, and made it the type of book that I wished I had when I was coming up to speed on Linux. I hope it will prove valuable to a wide range of Fedora users.

    Nitesh Dhanjani

    AddThis Social Bookmark Button

    codesearch_logo.gif

    Reviewing software for security bugs is a highly recommended best practice. There are various techniques for doing source code reviews, one of them being “static code analysis” which (in most cases) involves the use of a ‘grepping’ (pattern matching) tool along with a database of patterns that indicate potential security flaws. There are disadvantages to static code analysis: high rate of false positives and the inability to detect logic errors that may lead to security bugs. That said, static code analysis tools can be used to perform a quick first pass on the source code to detect bugs that can be easily identified by a grepping technique (”low hanging fruit”). Some of the free static code analyzers (security) are: Flawfinder, RATS, and SWAAT.

    Jeremy Jones

    AddThis Social Bookmark Button

    Fuzzyman just posted yesterday about TIOBE’s index of top programming languages. It’s interesting, but not particularly meaningful, that Python and C# have swapped places since last year, putting Python in slot 7 and C# in slot 8. What’s interesting about this? It implies that Python is in the realm of being commercially competitive. This is a good statistic to provide to dynamic-language-leary bosses when that next project rolls around. What’s not particularly meaningful about this? It doesn’t mean anything, really, in regard to Python’s usefulness compared to C#. Nor does it mean that Python is really being used more than C#. Python had a 3.144% and C# had a 2.992%. I’d say that statistical wiggle room outweighs the 0.152% variance between these two numbers. At best, I’d put all these statistics in the category of “rough guess” even though they have hard evidencial “proof”. Regardless, it’s encouraging how hight up in the list Python is. And it was amusing that Python bumped C#.

    Jeremy Jones

    AddThis Social Bookmark Button

    Python 2.5 Final has been released. Here are the main release page, the 2.5 highlights, and the full-blown what’s new in Python 2.5 page.

    Chris Tyler

    AddThis Social Bookmark Button

    For the past five years, Seneca College in Toronto has been running a Free Software & Open Source Symposium. This year promises to be the best yet, with an interesting lineup of speakers including:

    • Chris Blizzard, Red Hat / One Laptop Per Child Project
    • Marcus Bornfreund, Creative Commons Canada
    • Nat Friedman, Novell
    • Mike Shaver, Mozilla Corporation
    • Louis Suarez-Potts, OpenOffice.org

    I teach at Seneca (and will also be speaking at the Symposium) and I’m really looking forward to this event.

    If you’re in Toronto or within a reasonable drive, come join us on October 27, or come a day early and take in some fabulous workshops on the 26th (XUL and Firefox Extensions, Building an OSCAR Cluster, Getting High on Rails, Eclipse Plugin Development, and more). The cost is next to nothing and the atmoshere is a lot of fun - details at http://fsoss.senecac.on.ca

    AddThis Social Bookmark Button

    In case you hadn’t seen it, the US Supreme Court has upped the ante in the software patent fight. This article in The Register reviews a recent ruling by the USSC about what constitutes ‘obviousness’ in a patent. Now, instead of getting experts to argue whether a patent is valid or not, and having a judge weight the evidence, there has to be physical evidence that someone thought of it before the person who applied for the patent.

    From the article:

    The Federal Court of Appeals has recently used a “suggestion test” to determine whether or not a patent is “obvious”. The EFF argues that the test forces those opposing a patent’s grant to produce documents proving that even the most obvious improvement has been suggested before.

    So, now is the time for all good geeks to come to the aid of there software. The first thing to do is to start blogging about every obvious invention you can think of. It doesn’t matter what it is. If you think of it, blog it. Blog everything you can. Don’t keep it to yourself, or assume everyone knows its the next step.

    Andy Lester

    AddThis Social Bookmark Button

    The Chicago Perl Mongers and The Perl Foundation are proud to announce the Fall 2006 Chicago Hackathon, the weekend of November 10-12, 2006 in suburban Crystal Lake, IL. It will be a round-the-clock weekend of programming on Perl-related projects with your colleagues in the open source community. Dozens of programmers from the open source community in the midwest, as well as others from around the US, will be getting together to share ideas, work on code, and move their Perl-related projects forward.

    The participants set the agenda for what we’ll be working on, but Perl 6 and Parrot are already on the roster of projects. Chip Salzenberg, pumpking for the Parrot project, will be on hand to help with Parrot and Perl 6. Andy Lester will also be driving some Parrot maintenance tasks, and other midwest programmers will be working on their own projects. There’s sure to be something interesting for everyone!

    Participation in the hackathon costs nothing. The Perl Foundation is even providing hotel rooms at a special rate if you want to spend the night. Even if you’re in the area for just an hour, stop by, grab a snack or some pizza and talk with other people interested in Perl. You might contribute more than you think just by talking with other programmers.

    To find out more, visit http://hackathon.info. If you’ll be attending, please sign in on the Attendees
    wiki page, and/or email rsvp@hackathon.info.

    You can also send questions to Andy Lester at andy@hackathon.info.

    Ming Chow

    AddThis Social Bookmark Button

    Documentation and download are available at http://lejos.sourceforge.net/links.html. leJOS is the popular Java-based firmware for the first generation Lego Mindstorms RCX brick. This will be the final release of the firmware, and no surprise considering the recent release of the Lego Mindstorms NXT. So far as I tested, it is now compatible with Java 5.0. leJOS has been a blessing for me over the years. It was a part of my senior design project in college. I know many academics institutions still use it in programming and robotics classes. My thanks to the group’s work over the years.

    Jeremy Jones

    AddThis Social Bookmark Button

    I took my recalled Dell laptop battery to the Post Office this morning to see if they would ship it. It turns out that it is their policy to not ship batteries in general, and not just the exploding ones. The postal worker told me, “due to everything that’s going on, a lot of our policies have changed in the things that we ship.”

    UPDATE (2006-08-24 19:43): I heard back from the USPS and some types of batteries are restricted. Here is a quote from the email:

    Some types of batteries are restricted from being shipped through our system. For specific information, you will need to contact the Mailing Requirements Office in your area.

    Chris Tyler

    AddThis Social Bookmark Button

    The development version of Fedora Core will now install on and boot from a USB drive without any initrd magic or special installer options. I’ve been testing with a USB-connected IDE drive, but look forward to using this feature with a USB stick (”thumb”) drive. A 4 GB USB flash drive — with a street price under $100 these days — can comfortably hold a no-compromise desktop installation (Gnome, Firefox, Evolution, and OpenOffice included) with half the space free for user data.

    Jeremy Jones

    AddThis Social Bookmark Button

    Since around May of 2005, my household has purchased three laptops from Dell: one Inspiron 9300 for me, one Inspiron 9300 for my wife, and one Inspiron 6000 for my daughter. About a week ago, I heard of a massive recall effort by Dell regarding potentially explosive batteries. I dutifully powered my laptop off, popped the battery from the bottom of it, and checked the serial number. It was fine. When I got home, I did the same thing to my wife’s laptop. Hers was fine as well. Finally, I checked my daughter’s laptop. BINGO! We have a winner! (Wasn’t there a Murphy’s law about always finding something in the last place you look for it? I guess that doesn’t apply here…)

    With battery in hand, I brought up the Dell battery recall website and entered the serial number into the appropriate fields and hit the “Submit PPID Number(s)” button. It just brought up the same page again. After about the fifth time of doing it, I realized that my script blocking Firefox extension was doing its job all too well. After enabling javascript on the page, I saw a message that said something to the effect that I needed a replacement battery and should proceed to fill out some information so they could ship me one. That was August 17.

    On August 21, I received an email stating that the battery had shipped. On August 22, the battery arrived. The whole process was much more painless (with the exception of the javascript glitch) than I expected it to be.

    However, in the instructions that I received from Dell, I am told to put my old battery in the box they sent and mail it back to them. I didn’t notice a hazardous materials stamp on the box. Nor did I notice a “Caution: exploding battery enclosed” label to affix to the box. I don’t want to be alarmist here, or raise false concern, but is this really responsible? Haven’t some of these batteries exploded/caught flame while the laptop was not powered on or plugged in? This just seems a little concerning to me. Does anyone else have an opinion on this? Am I worrying too much? Should I just send it and let the US Postal service worry about it?

    Jeremy Jones

    AddThis Social Bookmark Button

    I was glancing on Digg this morning and noticed a story about the latest Ubuntu xorg-core update breaking X. My initial thought was, “Well, isn’t that lovely? I just installed that but haven’t restarted X to see the breakage.” Fortunately for the sake of my laziness, the story links to a Ubuntu forums post that tells how to fix the problem. Basically, downgrading to the previous xorg-core package and (re)starting X will fix the problem. The command for downgrading is:


    apt-get install xserver-xorg-core=1:1.0.2-0ubuntu10

    I am writing this post on the previously afflicted laptop, so the suggested fix really works. After reading the post (but before applying the fix), I decided to restart X to see how badly it was broken. And the result is that it was broken pretty badly. After downgrading xorg-core, X started up right away. Now I have an annoying, “update to the latest version of xorg-core” on my panel. I imagine that Ubuntu will roll a new release out shortly since the breakage is on the front page of Digg.

    Jeremy Jones

    AddThis Social Bookmark Button

    I’ve read what appear to be two first-hand observers blogging about a statement Guido made to the effect that Django is “the” web framework. I found the first one on this site. Color me dense, but I can’t figure out for sure who posted this. It looks like maybe Greg Wilson, but I’m not sure. The next post was from Titus Brown. Both posts included that Django would not be included in the standard library according to Guido . The third-bit post went on to say that Guido hopes that Django and TurboGears will merge.

    What does all this mean? It means that more people will likely begin their Python web development journey with Django now. It also means that more seasoned Python web developers who haven’t used Django will likely give it a peek. This may secure Django’s position as the number one Python web framework (if it’s not there already)….but temporarily. I really doubt that, though. The meat of all this is that it’s more publicity for Django, which is a good thing for that project.

    But Django can’t forget that it has formidable competition. TurboGears is perhaps the most impressive competition that Django has. Kevin Dangoor of TurboGears posted a couple of days ago about Guido’s observed “announcement”. This is, in my opinion, the pivotal statement in Kevin’s post:

    TurboGears has a collection of APIs and idioms that I think make it great fun to work with, and I know others agree with me. Django has its own collection of features that others like working with. That’s fine by me, and it’s not likely to change any time soon.

    Kevin recognizes that there’s room for alternatives in the same space that he’s working in. But he spends a fair number of words in the same post discussing TG’s “collection of APIs and idioms” and how they make TG a more than viable alternative to anything that’s out there, whether Python-centric or not. And I have to admit that what is going on in the TG community sounds exciting. And Kevin was quick to state that a merge between TurboGears and Django is “not very likely”.

    So why did Guido state such things about Django and TurboGears? Some have speculated that Guido is concerned that the fragmentation in the Python web framework space makes any Python solution a less appealing alternative to Ruby on Rails. I really doubt that. I think more than likely, Guido was just expressing his own opinion of Django and what should happen between Django and TurboGears.

    My take on having a Django and TurboGears around as automonous projects is that it is a good thing for the Python web community. Each one will spur the other on to further excellence. As many of you know, I am a satisfied Django user who formerly was working with TurboGears. But I am more than happy to see TurboGears excel. If TG is doing something innovative that Django is not (which should be included in the framework), it will be just a matter of time before Django adopts it. And the converse is also true. Django is excellent. TurboGears is likewise excellent. Django is arguably dominant at the moment. But an open source project does not maintain its dominance by riding the publicity of glowing proclamations from very public open source figures; they have to keep working for it. And it looks like Django and TurboGears will each provide one another with more incentive to work for a more excellent product.

    AddThis Social Bookmark Button

    Bleadperl pumpking Rafaël Garcia-Suarez (that means the person with final authority over the development version of Perl) has released Perl 5.9.4. perl594delta shows the immense list of changes since Perl 5.9.3 — including impressive enhancements to the regex engine, more improvements in Win32 support, the underpinnings of a Perl 5 to Perl 6 translator, and a few more features backported from Perl 6 (including my favorite, DOES().)

    This is a development release, so it can benefit from your testing your modules and programs on various platforms.

    AddThis Social Bookmark Button

    I suppose an introductory post would fit, given that this is my initial blog entry. Without any ado, I’m Justin Troutman, from the greater Charlotte metropolitan area of North Carolina. I’m a maturing cryptographer, which essentially equates to the fact that while I practice it, I’m still immersed in the incessantly extensive theoretical nature of academic cryptography. I tend to focus primarily on the cryptanalysis of symmetric primitives, such as block ciphers, as well as MACs, or message authentication codes, built from block ciphers. In fact, I’m a MAC-zealot, you might say; it [authentication] is an aspect that I advocate quite often.

    For the past couple of years, I’ve taken an exceptionally passionate interest in cryptovirology, which is an intriguing sub-genre of cryptography that involves the offensive, malicious application of cryptographic primitives in adversarial attacks. (It is, in itself, an infantile field, pioneered by Dr. Adam L. Young and Dr. Moti M. Yung - two cryptographic luminaries, respectively.) I’m in the midst of conducting some original research concerning cryptovirological information extortion, and the implications of game-theoretic, arbitrated protocols for shifting trust, ensuring fairness, and establishing formal notions of security, such as IND-CCA2 and INT-CTXT. The most practical facet of this research is an efficient, MAC-based cryptovirus.

    Recently, I gave a lecture on cryptovirology and game theory, at Duke University, for the TIP (Talent Identification Program), which is basically an opportunity for young folks, in the middle school to high school range, to be exposed to a plethora of subject matter. I was incredibly pleased with the response of the students, and it sparked my enthusiasm for preparing cryptographic material with an aim towards that audience, as well as the layman-oriented population in general. As such, I’ve been experimenting with an informal style of writing about cryptography, in such a way that casually introduces readers to aspects of cryptography that aren’t covered in the general media; it’s intended to inform the layman, while containing material that even a seasoned cryptographer would appreciate. There’s a large gap between the academic community and the layman community; it’s this gap that I’m trying to close, even if just a little.

    Departing from all the crypto-jive, I suppose I could say a little about the non-cryptographer in me. I’m a native of Gastonia, North Carolina, which is strongly evidenced by my unmistakably deep southern Appalachian accent and dialect, and I spend a considerable amount of time exploring this state that I love most, whether it be fly fishing, hiking, skiing, snowboarding, or letting my Sony capture what one’s eyes capture the best. Oh, and my master-of-19-instruments best friend is teaching me the mandolin. It will complete the Southern me. I can already tear up the Andy Griffith theme song.

    Perhaps I shouldn’t admit that I’m a hardcore UNC basketball fan, since I lectured at Duke recently, but I can’t help it; if you’re raised to love the lighter shade of blue, you’ll understand what I mean. I like my orange too, though - Tennessee football, that is. To cap off my sports interests, I’m becoming more and more proud to admit I’m a Cincinnati Reds fan, now that they’re having a decent season. However, Barry Larkin’s departure was the end of the Reds generation I grew up with. I’d like to see them build a team that can do what they did in ‘90.

    Anyhow, that about sums it up for now. If you’re so inclined to see what I’m up to, you can peruse http://www.justintroutman.org, which essentially points to http://www.extorque.com - Extorque, from which I consult on matters cryptographic and perform cryptanalytical research. It also houses links to articles and academic papers pertaining to cryptovirology and various other cryptographically-focused things. My blog entries will cover things of this nature, and I’m certainly interested in what you folks would like to see discussed. I’m relentlessly strict about good cryptography, and prefer a no-nonsense treatment of security, so I welcome the most critical of feedback.

    Until then - cheers, from the humid Carolinas!

    Jeremy Jones

    AddThis Social Bookmark Button

    snippetsEmu is perhaps the coolest vim plugin I’ve ever used. In the words on its vim page, snippetsEmu is “[a]n attempt to emulate TextMate’s snippet expansion”. I first stumbled across snippetsEmu by reading the “using vim with Django” page. In addition to using all of the snippets on the “using vim with Django” page, I’ve created a number of my own, such as generic class, method, and function declaration snippets, and some Django-specific model and template snippets. It’s already an incredible plugin, is getting better all the time, and appears to have some plans for the future. I highly recommend looking into this if you’re a vim user.

    AddThis Social Bookmark Button

    Parrot pumpking Chip Salzenberg released Parrot 0.46 yesterday. Today, Ars Technica’s .NET and Java to get better dynamic language support gives Parrot a fair mention. It’s nice to see that the article picks up on two of Parrot’s great advantages right now (PGE and TGE as well as the by-design support for agile languages), while it’s interesting to compare the level of support and funding for all three projects.

    (By my estimate, Microsoft’s Vista programmers spend more time reading e-mail in a week than there has been paid development time on all of Perl 6 in the past five years.)

    Jeremy Jones

    AddThis Social Bookmark Button

    I received an email this morning with the release information (of the Ubuntu 6.06.1 LTS release), but haven’t been able to find a page on the Ubuntu website with the announcement. Following are the header to the announcement, about Ubuntu, and some download locations.

    The Ubuntu team is proud to announce the release of Ubuntu 6.06.1 LTS,
    the first maintenance release of “Dapper Drake”. This release includes
    both installable Desktop CDs and alternate text-mode installation CDs
    for several architectures, for Ubuntu, Kubuntu and Edubuntu. Xubuntu is
    also included, although commercial support for it is not available from
    Canonical Ltd.

    About Ubuntu
    ————

    Ubuntu is a Linux distribution for your desktop or server, with a fast
    and easy install, regular releases, a tight selection of excellent
    packages installed by default, every other package you can imagine
    available with a few clicks from a global network of mirrors, and
    professional commercial technical support from Canonical Ltd and
    hundreds of other companies around the world.

    To Get Ubuntu 6.06.1 LTS
    ————————

    Download Ubuntu/Kubuntu/Edubuntu/Xubuntu 6.06.1 LTS here:

    Ubuntu:

    Europe:
    http://fr.releases.ubuntu.com/6.06.1/ (France)
    http://releases.ubuntu.com/6.06.1/ (All)

    Rest of the World:
    http://releases.ubuntu.com/6.06.1/

    Kubuntu:

    Europe:
    http://fr.releases.ubuntu.com/kubuntu/6.06.1/ (France)
    http://releases.ubuntu.com/kubuntu/6.06.1/ (All)

    Rest of the World:
    http://releases.ubuntu.com/kubuntu/6.06.1/

    Edubuntu:

    Europe:
    http://fr.releases.ubuntu.com/edubuntu/6.06.1/ (France)
    http://releases.ubuntu.com/edubuntu/6.06.1/ (All)

    Rest of the World:
    http://releases.ubuntu.com/edubuntu/6.06.1/

    Xubuntu:

    http://cdimage.ubuntu.com/xubuntu/releases/6.06.1/release.1/

    Jeremy Jones

    AddThis Social Bookmark Button

    FLOSS (Free/Libre Open Source Software) Weekly is a podcast in the TWiT family of podcasts. This week’s podcast featured an interview with Python’s creator, Guido van Rossum. The interview covered Python’s origin and future, a very little bit about Python usage and internals, and another small bit about the current state of Python in the web framework arena. Guido mentioned that his favorite web framework, and what would likely remain his favorite framework for quite a while, is Django. He mentioned that he was using a piece of Django at Google and gave huge kudos to the Django development team because, “they really get open source.”

    While I’m excited to hear about Guido’s interest in Django, I would love to hear about some of other projects which he is following.

    Jeremy Jones

    AddThis Social Bookmark Button

    The Django Team snuck in a release over the weekend. Just this past week, before this announcement was made, I updated to the current SVN trunk of Django and found a few things different. For one, it looks like access to the authentication framework is undergoing some changes. It appears cleaner and seems to put more control in my hands regarding logging in.

    The release notes mention which APIs can be considered either stable or in work. One interesting “in work” API reads as follows: “Forms and validation will most likely be compeltely rewritten to deemphasize Manipulators in favor of validation-aware models.” This is a really interesting concept which I’m interested to see worked out.

    Kevin Shockey

    AddThis Social Bookmark Button

    Back in Portland again for this week’s open source convention. This will be my third, second as a speaker, but my first as a journalist. Early this year I took over the TUX Magazine Editor in Chief position from Nicholas Peterley. TUX Magazine is the first and only magazine for the new Linux user. It’s been an exciting and new change for me. This job has been a reset (of sorts) in my life, as I initially started my career by studying journalism before switching to computer science. I feel fortunate that the trajectory of my life and career has brought me back to journalism. Although I still haven’t gotten used to thinking of my self as a journalist. I love computers, software development, Linux, and open source so much it is a real privilege to actually write about what I’d be doing anyway.

    brian d foy

    AddThis Social Bookmark Button

    The white camel is a special sort of beast. You’ve seen pictures of camels. and they were probably brown. Every so often, a white camel appears, and camelherders consider them to be extra special and more valuable. The Perl community has its own valuable members who go far beyond their own personal interest to make the community a better place for everyone.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just stumbled across a news story which mentioned that a pre-release of Flash Player 9 for Linux would likely be available before the end of this year and the full release could be expected by early 2007. I don’t mean to sound ungrateful, but I have mixed feelings about this. I’m annoyed with sites that needlessly put content into Flash. I’m even more annoyed with Adobe for skipping Flash 8 for Linux. I’m thoroughly annoyed with sites which require Flash 8 (or presumably, higher) in order to work properly. That said, I’m glad that Adobe is working on Flash 9 for Linux so I can go back to being annoyed at viewing content in Flash rather than going to a site, seeing that it requires Flash, being annoyed, and then being perturbed that I can’t view it with my version.

    I read on Penguin.swf’s blog a few days ago that the Linux Flash development effort was going not-so-great. (S)he did have encouraging words to say about audio/video synchronisation, which has some … umm … issues in the current Flash 7 for Linux.

    brian d foy

    AddThis Social Bookmark Button

    Earlier this summer, I interviewed Curtis “Ovid” Poe about Perl Hacks, grants from The Perl Foundation, logic programming, and his effort to make CGI programming less tedoius and more productive through Class::CGI. Now you can read his answers!

    Jeremy Jones

    AddThis Social Bookmark Button

    Adrian just blogged that the Ruby on Rails podcast interviewed him about Django. This struck me as really interesting, but not overly surprising. I blogged some months back about a video of a meeting between Ruby on Rails folks and Django folks where each side (David Heinemeier Hansson from Rails and Adrian Holovaty from Django) presented their respective frameworks and had some interesting discussion. The interaction between Adrian and David seemed pretty amiable and the approaches taken by the Rails folks and Django folks don’t seem too terribly different from one another. It’s nice to see positive recognition among “competing” frameworks and “competing” languages. At least I hope this is positive recognition. I haven’t yet had a chance to listen to the podcast. I’ll post back with a report when I do listen to it.

    Jeremy Jones

    AddThis Social Bookmark Button

    In a web framework performance shootout among Symfony (PHP), Ruby on Rails, and Django (Python), Django came out the clear winner. The results of the study are posted here. I’d love to see an exhaustive analysis like this which includes lines of code and any other (meaningful) code metrics (if LOC is meaningful) and which compares dynamic languages (Perl, Python, PHP, Ruby) against their more static competition (Java, .net).

    Jeremy Jones

    AddThis Social Bookmark Button

    Anthony Baxter just announced the release of Python 2.5 beta 2. You can download it here, see what’s new here, and see my comments on Python 2.5 beta 1 here.

    Jeremy Jones

    AddThis Social Bookmark Button

    This article at DesktopLinux.com talks about running WoW on Linux. They mention that Linux users have been able to run WoW (and other “Windows only” games) on Linux by using Cedega. However, due to recent improvements in wine (a Windows emulator), Crossover Office may be able to run WoW as well. I guess the only reason this is news is that Cedega and Crossover provide a “just works” solution. Wine appears to be able to install and run WoW with some work. Has anyone actually tried this? Anyone actually have the time to play WoW?

    Jeremy Jones

    AddThis Social Bookmark Button

    I just found a link to a PyPy Video Documentation page. There are interviews, discussions, and overviews. This looks like great stuff. The files are only available via bittorrent, but there are quite a few seeds and not many folks downloading. All of the videos are divx avi, so that’s a nice standard format that should play anywhere. I look forward to watching these videos. Looks like there is about 5 1/2 hours of video, so that will keep me busy for a while.

    For anyone not aware, PyPy is an implementation of Python in Python. It is Python compiling and running Python.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just stumbled across a posting on the TurboGears mailing list which stated that a TurboGears package had been accepted into Debian Experimental. The author of the previously mentioned post is optimistic that TurboGears will be included in the upcoming Debian Etch release. Congratulations to the TurboGears team and the TurboGears community. This is great news.

    This got me thinking about my choice of Python web frameworks, Django. I didn’t find Django in any of the Debian repositories. However, I did find it on a list of packages being worked on. Sadly, it doesn’t look like there is any recent (for the last couple of months, anyway) activity on moving this forward. Hopefully this will right itself and we’ll see TurboGears and Django in the Etch release. And presumably that’ll trickle down to Ubuntu.

    While this is all fine and dandy and great for the projects from the standpoint of credibility and publicity, I doubt that it will help me much. Both of these projects have been under pretty heavy development over the past number of months. When I have wanted to run either of their code bases, I would typically just grab it from their respective SVN repositories. Even deploying to production (on shared hosting), I rely on a build of Python which I compiled myself and a build of Django which I’ve been running in testing for a while. I guess maybe inclusion in Debian will be more useful when both of these projects stabilize and APIs solidify. Nevertheless, it is good to see both of these projects even considered for inclusion in Debian.

    Andy Lester

    AddThis Social Bookmark Button

    I’ve put on my overalls and rubber gloves to help Perl 6. I’m the chief Parrot Cage Cleaner, and I’d like you to join me in helping to keep this crucial bird healthy.

    Parrot is the virtual machine designed to efficiently compile and execute bytecode for interpreted languages. Parrot will be the target for the final Perl 6 compiler, and is already usable as a backend for Pugs, as well as variety of other languages.

    The Parrot project was re-energized by a week-long hackathon at YAPC::NA 2006, with Parrot wizards from around the world converging on Chicago to create more magic. However, when wizards create magic, they spend less time fighting entropy. The Parrot project is starting to accumulate technical debt, and that helps diminish the potential velocity of the project. It often turns out that without janitors, the wizards get stuck.

    That’s where I come in — and where you can join me, even if you’re new to Perl or Parrot. I don’t know Perl 6 or Parrot yet, but I don’t need to, and neither do you. The beauty of a janitorial job on a project is that it doesn’t require wizard-level skills on the main project, but a competence on the lower-level parts of maintenance. Parrot Cage Cleaners just need to be comfortable with building C programs, and with large projects, and an eye to watching the corners.

    Cage cleaning will be a learning experience for everyone. This is a great way to get familiar with Parrot, and get your feet wet working on a next-generation virtual machine. It’s also a way to help out on an important open source project without having to devote lots of time. There are always smaller tasks to be done.

    I’ve worked with Chip Salzenberg, the new Parrot pumpking, to come up with a list of high-level goals:

    • Enforcing coding standards, naming conventions, etc

    • Smoke testing on many platforms

    • Decreasing the amount of repeated code

    • Automated generation of C headers

    • Improve low-level code quality

    • Creating automated code checking tools

    • Documenting function behavior and structure members

    • Developing coverage tools where they don’t exist

    This is a great opportunity for those of you out there (and I know you’re out there!) who have always wanted to help out Perl, but don’t know where to start. If you’re interested, please contact me at andy at perl.org, or visit the #parrot IRC channel on irc.perl.org. You should also subscribe to the parrot-porters mailing list at lists.perl.org, currently transitioning from the name perl6-internals. For the latest information on the Cage Cleaners, visit http://parrotcode.org/cage-cleaners/.

    I hope to see you soon!

    Curtis Poe

    AddThis Social Bookmark Button

    My apologies for not writing much lately. I’ve just moved from the USA to Nottingham, UK. The whirlwind of settling into a new job, trying to find an apartment (ahem, “flat”), and learning how to type on a British keyboard has been quite a distraction for the last few weeks. Now, on with the show!

    Have you wanted to contribute to the open-source community but you need a bit of incentive? 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 application to tpf-proposals@perl-foundation.org. Grant applications must be in by the last day of July and we will be awarding the grants at the beginning of September.

    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 thee grant process.

    Jeremy Jones

    AddThis Social Bookmark Button

    Anthony Baxter posted that Python 2.5 Beta 1 has been officially released.

    You can find downloads here and “what’s new” here. It looks like they have included a quasi-currying function called “partial”, which is interesting. Also included is a ternary styled conditional expression in the form of “x = true_value if condition else false_value”. Also, you can have try, except, finally, and else all at the same time. And, ctypes, ElementTree, hashlib, sqlite, and wsgiref are all part of the standard library.

    These are some pretty big changes and there are more changes on the “what’s new” page referenced above.

    Tara McGoldrick Walsh, ORN Editor

    AddThis Social Bookmark Button

    As the sometimes baffling yet ultimately sage Yogi Berra once put it: “You got to be very careful if you don’t know where you’re going, because you might not get there.” This slightly corkscrew bit of advice holds a nugget of truth for managing successful projects–you gotta know what can cause a project to fail, to know how to make it succeed.

    Andrew Stellman and Jennifer Greene offer more straightforward advice on what programmers need to know to save floundering software projects in Why Do Projects Fail?, an excerpt from their PDF with the very apropos title: How to Keep Your Boss from Sinking Your Project.

    Jeremy Jones

    AddThis Social Bookmark Button

    Ned Batchelder announced about a month ago (announcement here) the release of Tabblo, his company’s new web app. Interestingly, Django was used to create Tabblo.

    Tabblo is a photosharing site with a twist. Your standard, run-of-the-mill photosharing service allows people to upload and categorize their photos for other people to view. Tabblo’s twist is that users can organize the photos on a page with their own words in order to tell a story about the photos. Each photo story page is itself referred to as a “tabblo”.

    I’ve created a couple of tabblos, just to play around and see how functional it is. I have to say that it is really easy to create a great looking tabblo. Organizing the images on your tabblo is literally as easy as dragging and dropping. Tabblo feels more like a photo scrapbook than groups of images. It has actually been fun to just browse through tabblos that other people have created. This is a great app built in a great framework.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just downloaded and installed Google Earth R4 Beta for my Ubuntu laptop. It installs from a .bin file rather than a package and it feels a little jerky at times, but it’s great to have this app out for Linux. I can see myself using this more than Google’s other recent release. This is great news.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just noticed that IPython 0.7.2 was released, so I updated my dev environment to this version by doing easy_install --upgrade ipython. Anyone who uses Python even casually and doesn’t know about IPython needs to install it. This is one of a few of what I consider to be “must have” tools. It is an enhanced, customizable shell for Python.

    I started IPython just to make sure it upgraded properly and to thumb around a bit. It said that it was on the correct version, so I gave the %magic command and started browsing through. I don’t know if I have just been asleep for a few months or if there are new features, but there’s some really cool stuff in IPython that I hadn’t noticed before. For example, dhist prints your history of visited directories. This has been in since before 0.7.1, so I’ve apparently been asleep. Another feature I’ve missed is pfile. I’m sure I’d be embarrased to know how long these features have been in and how much time they would have saved. Looks like my article needs updating. I guess I’ll be reading the docs on IPython today. Great work, folks.

    Jeremy Jones

    AddThis Social Bookmark Button

    Ubuntu announced today the release of Ubuntu 6.06 LTS (Long Term Support). This release has been referred to as “Dapper Drake” during its development cycle. The name “LTS” sums up some of the differences between this release of Ubuntu and previous releases. One of the driving goals for this release has been to get Ubuntu ready for deployment into the enterprise. That includes ease of install and use, automatic hardware recognition and configuration, and support.

    The download options seem a little different this time. Here is an example mirror to a download page. The options are “Desktop CD”, “Server install CD”, and “Alternate install CD”. The “Desktop CD” looks like what was formerly referred to as the “Live CD”. The description for the “Desktop CD” says

    The desktop CD allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of CD is what most people will want to use. You will need at least 192MB of RAM to install from this CD.

    The description for the “Server install CD” says

    The server install CD allows you to install Ubuntu permanently on a computer.

    And the description for the “Alternate install CD” says

    The alternate install CD allows you to perform certain specialist installations of Ubuntu. It provides for the following situations:

    * creating pre-configured OEM systems;
    * setting up automated deployments;
    * upgrading from older installations without network access;
    * LVM and/or RAID partitioning;
    * installs on systems with less than about 192MB of RAM.

    I just updated my already-installed-from-Dapper-Flight-7-and-daily-updated-system this morning and only had two updates, so I don’t think a reinstall of Dapper would buy me much. I may install this final release just for fun and to see how smoothly it runs. But so far, this has been the best OS install of my life. I would highly recommend Ubuntu to newbies and veterans alike.

    Jeremy Jones

    AddThis Social Bookmark Button

    I just read that Google has released Picasa for Linux. Google has set up a main Picasa for Linux page and a download page. I installed the .deb from the download page on my Ubuntu Dapper laptop. I noticed that the only dependency in the .deb was on libc6 >=2.2. The download page states that WIne and the gecko engine are included in the download.

    Here is a screenshot of Picasa running on my laptop:

    picasa_full_screen.jpg

    It’s hard to see from this screenshot, but the menu items in particular suffer from the standard Wine look and feel. Otherwise, it looks really good. The little bit of functionality I played around with seemed to work OK. I haven’t had a chance to plug in a camera or to index thousands of images yet. I find this an interesting port to Linux. It’s not something I’m particularly excited about since my wife is the one who manages the photos. I’m glad to see the effort, nonetheless.

    Jeremy Jones

    AddThis Social Bookmark Button

    Here is the download page. This release fixes a number of bugs and gets it closer to CPython compatibility.

    AddThis Social Bookmark Button

    A little tip flew by Planet Python the other day that Django has joined MySpace.

    If a band can join a social networking site and get friends and a celebrity can have a handler join and get lots of friends and if a soft drink or any other form of advertising can join, why not a free software project?

    (What’s next? Orkut had groups such as “I love (Perl|Python|Lisp)” and “I hate (Perl|Python|Lisp|Java)”. Will there be anti-project competitions?)

    Here’s Django on Myspace. What other projects are there?

    Jeremy Jones

    AddThis Social Bookmark Button

    I’ve been listening to the Distributing the Future podcast from the beginning. It’s a well produced, informative, thought-provoking podcast which covers a variety of technology related topics. I was catching up this morning on a couple of episodes I hadn’t gotten around to yet. The episode that really caught my attention was The Maker Faire.

    I’m not a maker. I’m a code junkie. I used to tinker around with things in my younger years. I recall disassembling nearly every toy that I had as I was growing up which could be disassembled because I wanted to see how it worked. And, of course, I would (attempt to) put it back together after I had finished destroying it. I guess I’ve shifted most of my energy toward code, but I maintain an interest in breaking and making stuff. (In fact, I’ve been subscribing to the RSS feed for Make Magazinge for a while now.)

    As I was listening to the Maker Faire episode, especially a clip where a girl and her dad were talking about their “redneck pool heater”, I kept thinking to myself, “This is what I want for my kids. I want to provide them the opportunity to learn how things work and build them for themselves.” I guess one of my reasons for wanting this for my kids (currently 2 and 4) is that I see the same disassembling curiosity in my son’s eyes (my 2 year old) that I had (have) in my own. I would love for him to have the opportunity to really learn from tearing stuff up and then building it back together.

    Make has a section on their site for kids, interestingly under the Maker Faire area. Great podcast. I’m looking forward to more of the same. I hope my kids share my excitement.

    AddThis Social Bookmark Button

    Zak Greant reminded me that PHP Vikinger registration has just opened. This unconference is a small, informal meeting for PHP developers, superstars, and anyone who can get to Norway in late June and register.

    If you can make it but don’t consider yourself a PHP rockstar, don’t worry. Sign up anyway. Unconferences are always enlightening and often quite a lot of fun.

    Andy Oram

    AddThis Social Bookmark Button

    Jason McIntosh, who used to work (and play games at lunchtime) with me at O’Reilly in Cambridge, Massachusetts, just contacted me to show me the project he’s currently devoting his life to: an open-source platform for multiplayer interactive games. Named Volity, it has a web site for game-players as well as one for game developers.

    Volity provides libraries in Perl and Python. These aren’t so much for creating the settings, pieces, rules, or moves of a game (those are all game-specific, and you do them on your own), but for the wrapping that makes it possible to sign up players and get them communicating.

    With Volity, for instance, gamers can easily search for other gamers and invite them to games. Volity handles all the messages passed between gamers, and does so quickly and efficiently, although it’s not designed for intensive twitch-based gaming (as Jason called it) with real-time requirements. Gamers can chat while playing. A reputation system is being developed (personally, I think that will be the hardest part).

    AddThis Social Bookmark Button

    Perl 6 pumpking Patrick Michaud recently posted an announcement of a Perl 6 compiler running on Parrot. This version uses Patrick’s PGE and Allison Randal’s Parrot compiler tools.

    That is, this is probably the approach that the official released version of Perl will use.

    With a little bit of hacking after Patrick’s initial checkin (kept slightly secret mostly by the lack of an official announcement), this compiler can run some of the Perl 6 specification tests developed by the Pugs project. It’s also inspired some cleanups to Parrot, the Parrot compiler tools, and a handful of other languages running on Parrot.

    This is how progress looks.

    (Oh, along those lines, Chris DiBona just published an interview with me about Perl 6, also featuring Brad Fitzpatrick of LiveJournal, about Perl 6 and our progress.)

    Jeremy Jones

    AddThis Social Bookmark Button

    The BDFL blogged today that Django is “gaining steam”. He mentions a talk that Jacob Kaplan-Moss, a Django developer, gave at the Bay Area Python Interest Group, aka “Bay Piggies”, and that several folks at Google are interested in Django. I found a Google video link to the above-mentioned talk on the Django mailing list. I haven’t listened to it yet, but will probably listen to it tonight. This level of exposure that Django is receiving is really exciting. Mark Ramm, from the TurboGears side of things, posted on Guido’s blog that he was excited at what was going on in Django, TurboGears, and Zope. As he mentioned, these are exciting times for web development in Python. Well said, Mark.

    AddThis Social Bookmark Button

    After years of discussion and legal work, TPF has released drafts of the new proposed Artistic License v 2.0 and the Perl Contributors Agreement.

    The reason for the new licence is to clear up potential ambiguities and contradictions in the first version of the Artistic License while retaining Larry’s original goals for the license. (Use the code as you wish, but don’t prevent people from using the official Perl in addition to or instead of modified versions.) It should be easier to use AL2-licensed code with code under other OSI-approved licenses. Additionally, there is language related to the use and enforcement of patents.

    The reason for the contributor agreement is legal indemnification for distributing the code and holding a compilation copyright on the entirety of the Perl and Parrot and Perl 6 distributions. It’s important for TPF to know where code comes from and that contributors have the right to give TPF the right to redistribute the code that they write. It’s just good sense.

    TPF-president emeritus Allison Randal worked on these projects for three years. Along with the Perl trademark, these documents may be her biggest legacy — and they’re excellent next steps in the continuing reinvention of Perl and the Perl community.

    use Perl; has further discussion at Artistic License 2.0 public review. You can review the documents themselves at TPF’s legal section.

    Jeremy Jones

    AddThis Social Bookmark Button

    The BDFL just posted that Google is looking for students from undergrad through Ph.D levels to work on new open source code and mentors to, well, mentor these students. Obviously, since Guido is posting this, the particular students and mentors he’s trying to draw are Pythonically inclined. This is a great opportunity to get involved in some Python related project. The Python Summer of Code Wiki is here and the Google Summer of Code page is here.

    AddThis Social Bookmark Button

    At O’Reilly, one of our goals is to identify important and interesting new technologies and uses of technology. I like to think we’ve succeeded in some ways (Ruby on Rails, Web 2.0, syndication and feeds). Always looking in new areas while trying to give existing areas the attention they deserve can be difficult, though.

    brian d foy

    AddThis Social Bookmark Button

    The Perl Journal, started by Jon Orwant, then going through a couple different owners and forms, has stopped publishing. It’s last contribution, and article by me, was in January 2006.

    TPJ was a big part of the early Perl community, and I’ll miss it.

    Kevin Shockey

    AddThis Social Bookmark Button

    Today at LinuxWorld Boston, the Open Source Technology Group announced the winners of their first ever SourceForge.net® Community Choice Awards. With nearly 1.3 million registered users, and almost 117,000 projects, SourceForge.net is the world’s largest collaboration site enabling IT strategy through Open Source. For SourceForge.net, these awards are consistent with keeping with SourceForge.net’s mission to foster the Open Source movement and community. According to Jay Seirmarco, general manager of SourceForge.net: “offering an annual opportunity to highlight top achievements in Open Source software development is one avenue for us to demonstrate our commitment.” By allowing the worldwide technology community to voice their support and appreciation for projects on the site, they foster the creation of, participation in and evaluation of Open Source software worldwide.

    Jeremy Jones

    AddThis Social Bookmark Button

    The announcement is here and the release notes are here.

    Jeremy Jones

    AddThis Social Bookmark Button

    TurboGears 0.9a2 has been released.

    Kevin Shockey

    AddThis Social Bookmark Button

    During the upcoming LinuxWorld Boston, TUX Magazine, Nicholas Petreley and I will present the The ABCs of Desktop Linux: Everything you Need to Start Using Linux Today. Nicholas is the Editor in Chief of Linux Journal, and ever since December 2005, I am the new Editor in Chief of TUX Magazine.

    Our objective with this activity is to provide new Linux users an opportunity to see what Linux is all about. By providing high level demonstrations about Linux and Linux-based applications we hope to eliminate the fear, uncertainty, and doubt associated with a permanent switch to a Linux desktop. This free mini-seminar will run from April 4, 2006 through April 6, 2006; it will give participants a chance to meet Nicholas and myself and hear our stories about getting started with Linux.

    brian d foy

    AddThis Social Bookmark Button

    Several O’Reilly Perl authors will be at Powell’s Technical Books (the one at 33 NW Park Avenue) in Portland, Oregon this Saturday for a book signing and Q & A session.

    Come meet:

    • Allison Randall (Perl 6 and Parrot Essentials)
    • Randal Schwartz (Learning Perl, Intermediate Perl, Perls of Wisdom, Effective Perl Programming)
    • Tom Phoenix (Learning Perl, Intermediate Perl)
    • brian d foy (Learning Perl, Intermediate Perl)
    • chromatic (Perl Testing: A Developer’s Notebook, Extreme Programming Pocket Guide)
    • Curtis Poe (Perl Hacks, out May 1)

    If you don’t have these books already, you can buy them at Powell’s!

    Jeremy Jones

    AddThis Social Bookmark Button

    Gnome 2.14 was released within the past couple of days. I’m currently on Gnome 2.12 running under Ubuntu Breezy. Hopefully, Dapper will include 2.14.

    Here’s what I’m excited about in 2.14 from what I’ve read from the release notes:

    1. Multiple Monitor Handling - they claim that multiple monitor handling is improved in this version of Gnome. Right now, I have to go through a painful ritual involving ceremonial knives and hacking my xorg.conf file in order to get into dual-head mode.
    2. Performance improvements - they benchmarked Gnome terminal printing a list of all English words in 1 second as opposed to about 3 in Gnome 2.12.
    3. The Deskbar - they don’t go into detail on the release notes page, but it looks like a task automation/facilitation utility which is pluggable with Python. I usually don’t use stuff like this, but I’m going to have to give it a spin.
    4. Image Viewer - I have yet to find an image viewer I’m absolutely in love with. The new one included in Gnome looks like it has some potential. Definitely worth a look.

    2.14 contains other improvements such as enhanced searching, which I’m +0 on. I’m glad it’s there, but I don’t think I’ll use it much. The release notes mentioned that the search system would integrate with beagle. I’ll likely give beagle another try, but the last time I tried it, memory usage was unreasonably high, even on a machine with 1.25GB of RAM.

    Another cool feature that they mention that I have very little use for is fast user switching. All of my desktops are pretty much single-user, but this is still a cool feature. Again, not many details were spelled out on the release notes page, but I hope it will be like Windows user switching where it preserves the desktop session when you switch.

    They also mentioned that it would include GStreamer 0.10. I have not had great success with GStreamer. xine has been really easy to configure with every media format I’m interested in viewing. Any media player I use that has a GStreamer backend seems to have problems with some media types. Maybe I just need to buckle down and try to get it working with various codecs.

    Altogether, I’m looking forward to it. I’m downloading the Dapper Flight 5 live CD now (which contains Gnome 2.13.92) in hopes that I can get a little closer preview into what will be in Gnome 2.14.

    brian d foy

    AddThis Social Bookmark Button

    Intermediate Perl, the renamed Learning Perl Objects, References, and Modules (the “Alpaca” book), is off the presses and on its way to bookstores. You can now order it on Amazon (although other online retailers still list it as “pre-order”). I got my author’s copy last week (although I neglected to check my mail for a week, so I really just got it).

    This edition expands and updates the previous edition. We added more chapters on Perl testing, which has become a hot topic since the first Alpaca, as well as chapters on using CPAN modules as well as creating Perl distributions using the latest tools. We updated everything for perl 5.8.

    The three authors, Randal L. Schwartz, Tom Phoenix, and myself, will be at Powell’s Technical Books in Portland, Oregon on Saturday, March 25 at 1 pm for a book launch party and book signing. Since Portland is a nexus of Perl development and authorship, we’ve also invited chromatic (Perl.com editor and co-author of Perl Testing: A Developer’s Notebook) and Allison Randal (O’Reilly editor and author of Perl 6 and Parrot Essentials).

    Jeremy Jones

    AddThis Social Bookmark Button

    Cherrypy is a web development framework written in and for the Python language.

    Jeremy Jones

    AddThis Social Bookmark Button

    Beta 4 of IronPython has been released. The release details are here.

    Iron Python in Microsoft’s implementation of the Python language for the DotNet f framework/runtime.

    Jeremy Jones

    AddThis Social Bookmark Button

    The lead developers of the Django Project, Adrian and Jacob, are authoring a book about Django. The announcement is here. Apress will be publishing the book. Interestingly, the book will be released under an open source license. This is reminiscent of another exellent Python book, Text Processing in Python. I really look forward to getting my hands on a copy of this book.

    AddThis Social Bookmark Button

    It was a very quiet February.

    Coming soon from the (UK) Guardian:

    From New York City BSD UG

    Worth reading:

    Misc

    NetBSD

    OpenBSD

    AddThis Social Bookmark Button

    Microsoft’s new ASP.NET 2.0 training center has something additional — a PHP Cross-training site. Of course, the site really wants to convince PHP developers that learning ASP.NET in addition to PHP will make them more employable… but it looks like the site runs normal PHP articles as well without the “Hey, use something else!” evangelism, so it could be useful.

    Besides that, like Chad Fowler points out in My Job Went to India, learning something new almost never hurts.

    (Disclaimer: the O’Reilly Network helps CMP run the site. ONLamp has no other connection to it though.)

    Jeremy Jones

    AddThis Social Bookmark Button

    Kevin Dangoor, creator of TurboGears, just announced that he has posted a screencast of his PyCon talk at this address. I look forward to watching it. Since I was unable to attend PyCon this year, I hope other speakers will do likewise.

    Jeremy Jones

    AddThis Social Bookmark Button

    This is slightly stale news now, but well worth reporting. In case you haven’t heard of TurboGears, it is a Python web mega framework that is comprised of a number of other project in order to create an all-in-one web development toolkit. You can find the changelog for the current release here.

    AddThis Social Bookmark Button

    The fine folks at QA Podcast just interviewed Ian Langworth and me about Perl and QA. Have a listen at Testing with Perl.

    Sid Steward

    AddThis Social Bookmark Button

    Related link: http://listmixer.com

    “ListMixer is an easy way to track web pages that momentarily hold your interest. It’s handy for tracking blog comments or for pooling timely web pages among friends. No account is required. Really.”

    Friday night I hatched this idea. Late Monday night it went online. After some debugging early Tuesday, I emailed my friends. Not only is this my fastest TAT for a web app, but it is the most useful web app I’ve made. I love this thing, and I think you will too.

    It’s ListMixer, a bookmarking service for the meme generation ;-). This is what I am telling my friends:

    It uses a bookmarklet. Each bookmarklet has a (long) unique ID in it, so there’s no need for formal accounts.

    Click the bookmarklet to add the page you’re viewing to your Mix. If a link in your list goes unclicked for 30 days, it gets automatically deleted. The result is a nice, informal parking place for interesting links. If you want to promote a link into your permanent bookmarks, just hover over it and ‘add this’ links for del.icio.us, etc., appear.

    Share your unique bookmarklet with friends to pool links into a little <buzz>meme tracker</buzz>.

    You can embed a link roll on your site to share.

    You can subscribe to your link roll via RSS.

    It’s. So. Cool. (-:

    Take a look at my own Mix to get a feel for it.

    The initial uptake has been good. Paul Kedrosky says:

    … Sid Steward has a funky new service called ListMixer where you add your bookmarks, and then if you don’t use it again in 30 days it disappears. Love it! It’s like the vestibule for bookmark heaven, a place to keep things until you’re really and truly ready to commit to permanence.

    Chris DiBona says: “you totally have to have to have to kill the logo. Sorry dude :-)”

    Please give it a try and let me know what you think. Thanks!


    Here’s an example of one link roll style. Give it a whirl!


    Here is another, more lightweight style. It is also good for mobile devices:

    More at the ListMixer link roll page.

    Advertisement