Notes from PySIG, 22-May-2008: IPython and Frangoes

Twelve folks attended the May meeting of the Python Special Interest Group, held as usual at 7 PM on the fourth Thursday at the Amoskeag Business Incubator in Manchester, New Hampshire. Vigorous discussion, idea exchange, job openings and, yes, Python, was discussed in depth.

Bill Sconce was the master of ceremonies and lead off with his usual printed agenda of items: Welcome, Announcements, a round of introductions, Janet’s Famous Cookies (this week, Frangoes! Awesome!), open announcements and discussions of gotchas.

Sample Q: how to debug binary text that may or may not be Unicode? A: Mark Pilgrim’s Universal Encoding Detector, originally part of his famous Universal Feed Parser.

Sample Gotcha: scripts with a she-bang line might not always be transportable between Windows, Unix and OS X because of line ending differences. If your parser complains about invalid commands on the she-bang line, make sure your line endings are correct for the platform.

Shawn K. O’Shea arrived and proceded to note every passing mention (with links!) in his great blog entry at: http://www.eth0.net/blog/?p=12 — thanks, Shawn!

Kent asked about using Python to interface with an existing C++ code and a lot of useful suggestions were forthcoming.

Arc updated us on the state of PySoy: the major bug that was crashing PySoy seems to have been isolated, and the code is orders of magnitude more stable. Bug fixing is proceding apace and an end-of-summer major release appears feasible.

Discussion on the upcoming Software Freedom Day got an enthusiastic reception, with several folks considering something in their communities.

On to the main presentation: Kent presented his monthly Kent’s Korner featuring the IPython interactive shell. IPython is slick, with a slew of features and quite a bit of documentation as well. IPython is not just a shell, but also an embeddable library that can bring scripting features into your application, and can also be used as a non-blocking interface to graphical environments like GTK, Qt and Wx (unlike the standard Python shell, which only works against Tk). Anyone doing a lot of work with Python from the shell needs to check out IPython!

Thanks to Kent for the presentation, to Bill for running and promoting the show, to Janet for the awesome Frango cookies, to Shawn for the excellent capture of the night’s events, to ABI for their great facilities and to all for participating!

openSUSE News » Thesis on openSUSE Published

openSUSE News » Thesis on openSUSE Published

A year’s research on Novell and the openSUSE project is now published as a master’s thesis at the University of Oslo. “Managing Firm-Sponsored Open Source Communities” details the collaboration between Novell and the openSUSE community. Community members and employees in Novell have participated in the study.

It’s cool seeing some serious study of how for-profit companies can work successfully with for-merit software development efforts like OpenSuse, Ubuntu or Fedora and make it a win-win situation for both. There’s a mercifully short executive summary for those who want the highlights, and the full 130+ page thesis available online.
(via LXer.com)

Notes from NH Ruby/Rails Group, 20-May-2008

Five members attended the May meeting of the New Hampshire Ruby / Rails group, held as usual at the offices of RMC Research in Portsmouth.

Nick Plante entertained and educated the group on Rack, a foundation layer that interfaces between the web application handler (like Mongrel or FastCGI) and the actual web application framework adaptor (like Merb or Camping or Halcyon or Sinatra) in a manner similar to the Python WSGI layer. It allows for the creation of custom web frameworks while removing a lot of the grunt work. Nick had a sample application whipped up where a few lines of code could define the routing of various requests and cleverly answered “Hello, World” to the correct RESTful query.

For those for whom Rails isn’t the complete answer or those who want to build their own web functions with components other than those used by the Rails framework, Rack is a foundation on which you should be plugging together your building blocks.

Brian Turnbull volunteered to fill in for Scott Garman, who had to cancel at the last minute. Brian had been using NetBeans only a brief while, but had a great story to tell on using the built-in debugger to trace out a problem with Rails-generated CSS meta tags always getting a cache-breaking URL. While a feature in development, when the CSS was being served from a caching store like Amazon’s S3, the ever-changing URL defeated the point of caching. Brian showed how breakpoints could be applied to the code and step-by-step tracing (why is it that all debuggers have Step-In, Step-Once, Step-Over, Step-Out icons that all look the same and can’t be told apart?) and walked from his code into the Rails framework down to the mis-behaving component.

Having identified the problem, our discussion took a tangent into a discussion about monkey-patching, and how this ‘feature’ was a bug deserving of an optional switch to disable, and ought to be submitted upstream to the Rails maintainers. To confirm, we went through the steps to grab the latest version of rails as a plug-in (gem? I’m not sure.) so that we were working with the latest ‘edge’ code to confirm the problem hadn’t already been fixed. By installing this way, we were overriding the Rails framework only for this application, and could easily revert to the stable version, without disturbing the main shared code on the machine. We talked about how this was a Best Practice when bringing an app under development up to production, so it was isolated from changes outside of the app’s control.

Plenty of time was available for discussion, and we talked with Tim a bit about configuring a new machine with all the tools he’d need to develop a Rails app with NetBeans: Ruby, Rails, a couple good gems, the Java runtime. Nick and Brian noted that the default Rails environment within NetBeans is JRuby not MRI (Matz’ Ruby Interpreter) and how you might want to reconfigure NetBeans to use MRI instead if you weren’t planning on deploying to a JRuby environment.

Thanks to Nick and Brian for their presentations, to Scott for arranging the meeting, to Tim and RMC for providing the great facilities and to all for attending the meetings! Discussion is ongoing now on the topics for the June meeting; join the mailing lists at http://mail.nhruby.org/mailman/listinfo/ and keep an eye on the new meeting plans at http://wiki.nhruby.org/index.php/Upcoming_meetings.

CentraLUG, 2-June-2008, Hopkinton, NH: Open Source Advocacy

The monthly meeting of CentraLUG, the Concord/Central NH GNHLUG chapter, happens the first Monday of most months. On June 2nd, we’ll be meeting at the Hopkinton Public Library from 7 PM to 9 PM. (Directions and maps here.) Open to the public. Free admission. Tell your friends. At this meeting, Mark Boyajian, Bill Sconce and other special guests will discuss “Open Source Advocacy.” I hope this spurs some discussions on how we can duplicate their success and avoid problems they can experienced.

About the presentation: Mark and Bill have been working with the Pepperell (MA) Lawrence Library to raise awareness of Open Source software solutions. They kicked-off this effort with a presentation last October in support of Software Freedom Day. The enthusiasm of library director Debra Spratt resulted in the Lawrence Library Tech Talk series: a monthly presentation on Open Source software and issues. Additionally, Debra has facilitated the creation of an Open Source information kiosk as well as a Linux-based computer in the reference library for use by the public!

The Tech Talk series formally launched in February and has consistently drawn a good audience. The kiosk and computer have been up and accessible since March. The experiences of working with this rich environment has surprised, challenged, and taught us many things we never expected. We are all working and adapting to better understand the [technical] needs and interests of the community and how the library can support them.

About Mark and Bill: Mark is an IT consultant (Simple Solutions) specializing in curriculum development and training, database development, and information management using Open Source solutions wherever possible. Mark “started life” as a music teacher, spent 20 years as an environmental field scientist specializing in wetlands and data management, and launched Simple Solutions as a full-time endeavor in 2001 built on Open Source solutions.

Bill Sconce is the proprietor of In-Spec, Inc., a Milford, NH-based consulting company. Bill is an activist with the Greater New Hampshire Linux Group, Secretary to the Board of Directors and coordinator of the Python Special Interest Group. He’s presented to most of the chapters and advocates for Open Source software at many other venues, including the McAuliffe and the NELS/FOSSEd conferences.

Future Meetings: Stay tuned for details on the upcoming bbq/picnic all-hands meeting in July, and for the location of the August meeting, still TBD. As always, meetings are subject to change. You are encouraged to join the low-traffic announcement list at http://mail.gnhlug.org/mailman/listinfo/gnhlug-announce to get announcement and cancellation information.

Meeting promotions: I’ve posted this meeting at lots of locations: FindEventsFast, Eventful, zVents, Upcoming, the GNHLUG announcement list, NHPR, the Concord Monitor. I’d be interested in hearing about where you learned of the event to better tune the meeting promotions.