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

chromatic

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.

chromatic

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.

chromatic

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.

chromatic

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.

chromatic

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.

chromatic

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.

chromatic

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

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?

chromatic

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

chromatic

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.

chromatic

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

chromatic

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!

chromatic

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

chromatic

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?

    chromatic

    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.

    chromatic

    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.

    chromatic

    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.

    chromatic

    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.

    chromatic

    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.

    chromatic

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

    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.

    chromatic

    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.

    chromatic

    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.

    chromatic

    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.

    chromatic

    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?

    chromatic

    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.

    chromatic

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

    chromatic

    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.

    chromatic

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

    chromatic

    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.

    chromatic

    AddThis Social Bookmark Button

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

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

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

    chromatic

    AddThis Social Bookmark Button

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

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

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

    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.

    chromatic

    AddThis Social Bookmark Button

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

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

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

    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.

    chromatic

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

    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.

    chromatic

    AddThis Social Bookmark Button

    The nearly 300-page Economic Impact of FLOSS on Innovation and Competitiveness of the EU ICT Sector report (warning, large