Archive | LAMP

Linux Apache MySQL Python Perl PostgreSQL

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, [link updated, tr] 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. [Edit: updated to current link 2014, too late for you to make the meeting, sorry.]) 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.

Notes from CentraLUG, 5-May-2008, Ben Scott, The Linux Server That Could

Nineteen people made May 5th’s CentraLUG meeting the second best attended of any LUG meeting so far this year, and the most populous CentraLUG meeting in over two years!

The meeting starting with a rag-tag band of Linux enthusiasts wandering around the campus looking for a room to meet. It’s finals week at NHTI and we’d been bumped from our regular spot. From the Library to the Crocker building to the Little Building we moved as more and more and more attendees arrived and we outgrew our first and second choices of rooms. Thanks to all for patience and multiple moves, and apologies for any folks we lost along the way.

The hassle was worthwhile, as Ben put on a great presentation on “The Linux Server That Could: Setting up a Small Office Server.” Over the years, both as part of his work and his hobbies, Ben has set up many multi-purpose computer servers: a single machine to serve a small workgroup with mail, files, printing, centralized DNS, DHCP. Ben had some slides to introduce the concepts and frame the problems his scripts solves, and then he dove into how to set up and configure the services. Providing a running commentary while he showed us configuration files, he offered a number of Best Practices tips for configuring, naming your intranet ‘domain,’ how CentOS/Red Hat family distros work, the differences in different flavors of Linux distros, editing configuration files, viewing error logs and more. It was a content-filled hour!

Slides and sample scripts and configuration files can be found on the GNHLUG web site here. Thanks to Ben for a great presentation, to Bruce Dawson for last-minute projector duty, to Bill Sconce for helping with the raffle, to the NHTI staff for helping us find facilities, and to all who attended and participated!

Koolu hacking

Found a couple of good leads on setting up the Koolu as a MythTV front-end, through persistent searching in specific forums, like the Ubuntu support forums and the MythTV mailing lists. A couple quick clues:

1. Hit DEL on startup to get into the BIOS, use the BIOS options to expand the memory dedicated to the video card. Options are: 32M, 64 M, 128 M. Not sure how much of an effect it will have.

2. Hit Shift-F10 early in the startup (prompt only appears for a second) to disable the RealTek attempt to launch the machine from a network boot image via PXE. This saves 10 or 20 seconds on every boot.

3. The /etc/fstab had an entry for a swap partition, but the UUID was incorrect. Just reassigning the device to hda5 rather than the UUID was enough to get the swap to come up.

4. I’m convinced there’s a way to get a lot more performance from the video, but need to dig in more. The AMD LX800 driver should support buffering, just need to find the trick to turn it on.

5. There’s an error in the Xorg.0.log file that indicates the kernel doesn’t support MTRR and should be recompiled to do that.

Developers, developers, developers song gets covered again

We all know the answer is “Developers, developers, developers, developers,” but who’s asking the question these days? It seems like Sun has taken up the song, according to Timothy M. O’Brien’s posting over at O’Reilly, “Surprising Contender: NetBeans as a Ruby+MySQL IDE.” Great news for all of us looking for new tools; NetBeans is shaping up to be a pretty sharp IDE.

I saw a blog post recently and neglected to bookmark it that posited the thesis that rich IDEs were bad when learning a language. A simple text editor and console can be all the interface you might need when when starting off and as your skills increased, the need for code completion, cross-referencing, inline debugging, source code control, refactoring and macros all became more valuable. Witness the training videos on http://www.rubyonrails.org where developers use a browser, a console window and the Textmate editor to build sample applications. The simplicity is appealing.

Continuous Learning Curve: Javascript

I’ve avoided spending too much time delving into Javascript. My four-year switch from Windows-uber-alles (including VFP, VSS, SQL Server, Ingres, Oracle, HTML, OLE, ODBC, SCC, COM, XML, MCSE, MCSD, XSLT, DCOM, RSS, MS Office, Exchange, MAPI Bad, SMTP Good, MVP and more acronyms!) to Linux-Apache-MySQL-Postgres-PHP-Python-Ruby, not to mention XHTML, CSS, bash, Smarty, Django, TWiki, dojo, et al had kept me busy enough. But a new client assignment needs a highly-interactive web site and dropping in great big globs of someone else’s Javascript is not going to solve all the problems; at a minimum, I’ve got to be able to read it, debug it and tune it for the client’s particular needs.

Did you know that a limited version of Safari, the O’Reilly online library, is included with a membership to the Association of Computing Machinery? I’ve been an ACM member for years and been meaning to get around to trying this out. My Javascript studies seemed the perfect occasion. I’m reading Shelley Power’s Learning Javascript online and getting quite a bit out of it. I love when you settle down with a book and start going “Oh, is that what that meant?” or “Now I get it!”

Notes from PySIG, 24-April-2008: Questions, Answers, Brownies!

Eight attendees had a great time last night eating all of Janet’s brownies, cookies, cupcakes and Ray’s milk while discussing Python, news, questions, life, the universe and everything. The April meeting of the Python Special Interest Group of the Greater New Hampshire Linux User Group took place as usual on the fourth Thursday of the month at the Amoskeag Business Incubator in Manchester.

Shawn K. O’Shea took some great notes with links to dozens of the topics on his blog at: http://www.eth0.net/blog/?p=11 (what a cool domain, eh?)

Thanks to Bill and Alex for arranging the meeting, to Janet for the awesome confections, to Ray for bringing the milk, to the ABI for the great facilities and to all for attending and participating!

MerriLUG Notes, 17-April-2008: Dan Walsh & SELinux

Eleven people attended the April meeting of MerriLUG, the Merrimack Valley chapter of the Greater New Hampshire Linux User Group. Heather called the meeting to order at 7:30 PM, noted the that attendees were pretty much The Usual Suspects, and dispensed with the long-winded announcements for new members. http://www.gnhlug.org will tell you all you want to know.

Dan Walsh was the main presenter tonight. Dan had a very special visit from the Demo Gods, just before he was to start. His hard drive decided that his boot partition wasn’t. Never heard of ext3. Ouch. Ever the good showman, he borrowed my laptop, downloaded his presentations from the web, and put on a great show.

Dan mentioned that he’d lost his previous laptop during his recent tour in Europe when it was stolen and that maintaining your home directory encrypted was a Good Idea.

Dan reviewed the history of SELinux and the iterations we saw in Fedora 3 though 8 and RHEL 3 through 5 and what to expect in 9. He talked about the evolution of the policies, the different feature sets available, how the SELinux architecture can meet the stringent requirements of DoD level organizations (with bullet points like: “RHEL5: MSP Policy: EAL4+, LSPP, RBAC” – who wouldn’t be impressed?) to the Significant Others at home who really just want a machine to use the browser on.

Dan showed off the new kiosk policy, xguest, which was essentially a minimal-permissions user (no setuid, no executables in the home directory, no installation abilities, etc.) extended to run FireFox. Perfect when someone wants to borrow your machine for a second! In the default settings (installable in F8 or 9 with sudo yum install xguest), it creates a fairly ‘safe’ user that can’t do a lot of harm and whose directories are temporary RAM-based and vanish when the user logs out. (You can modify it to keep a persistent home to store cookies and bookmarks.) Ideal for a library or public kiosk situations. Yes, the evil minded boys in the room could come up with some work-around exploits, but this is a promising start!

Thanks to Dan for a great presentation under trying circumstances, to Heather and Jim for managing and promoting the meetings, to Martha’s Exchange for providing the facilities, and to all who attended and participated.

UPDATE: Dan’s posted an article to Red Hat Magazine, “Confining the user with SELinux” that covers a lot of material in the presentation, with more detail than my notes and links for further study.

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.