Notes from NH Ruby/Rails, 21-Oct-2008: REST, Atom and Plugins

Eight people attended the October meeting of the NH Ruby/Rails group, held as usual at RMC Research in Portsmouth on the third Tuesday of the month.

The meeting started with a general chat session where a range of issues
were covered. Quite a discussion about computer industry trade books was
a notable item. A round of introductions followed, including several new
folks.

Brian Turnbull made the first two presentations. REST, the Representational State Transfer mechanism (slides), is based on a PhD dissertation by Roy Fielding, and describes a URI-naming technique that “REST emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems.” (from Fielding) Cool stuff, and essential to understand for those developing modern web apps.

Brian also talked about the Atom Publishing Protocol (slides), which describes a scaleable way of managing and distributing documents using RESTful interfaces.

Nick Plante had the next presentation, on Demystifying Ruby Plugins. Nick and Brian had spent the past several weeks putting together the very successful Ruby Rampage — which I hope they’ll post some more about soon – and so were a bit hard-pressed to have fully-baked presentations ready for the SIG, so this presentation was more of an open conversation on “what should we say about building plugins,” a perfectly acceptable topic for a user group meeting, btw, imo. (Nick will be giving the full presentation at next week’s “Voices That Matter” conference in Boston – good luck, Nick!) Nick talked about how plugins differ from gems, the history of “add-ons” in general for Ruby and Rails, and what design considerations went into building a plugin. Then, we ran some basic code to show how a plugin would work. Excellent overview!

Thanks to Scott and Tim for promoting and hosting the meeting, to Nick and Brian for their presentations, and to all for attending and participating.

“Thank you for your service.”

Twice recently I’ve had conversations where I happened to mention my military service and the response was “Thank you for your service.” This is a new response to me, as I don’t think I heard it in the first two decades after I served. I was taken aback, but responded “I was glad to serve.”

Thank a veteran for his or her service today.

Notes from Python SIG, 23-Oct-2008: unittest and Sphinx

An even dozen (or maybe an odd dozen…) folks attended the October Python Special Interest Group meeting, held as usual on the fourth Thursday of the month at the Amoskeag Business Incubator.

It was a busy and exciting meeting. Vigorous conversations filled the first half hour, as we welcomed a few new members, a few members not seen in a long time, caught up on news and what’s new in the Python world, and made a round of introductions.

Kent S. Johnson presented a new episode of Kent’s Korner, talking about the unit testing facilities available in Python. Python has a couple of options, including a xUnit-clone version and a more Python system in nose. We got into a great discussion on the philosophy of unit-tests, the test-first-fail-code-test cycle, test-driven development, and so forth. It was quite enlightening.

Arc Riley made the second presentation on the Sphinx documentation generator for Python. Arc talked about the history of Python documentation, with docstrings and EPyDoc and ReStructuredText (not to be confused with ReST, Representational State Transfer!). Sphinx seems to be a popular project name these days, as I heard about a different project by the same codename both at the RubySIG and maintainer Patrick Galbraith’s presentation at MonadLUG).

Arc provided us with the slides to his presentation, available on the gnhlug site here: [TBD real soon now, once we get the site restarted]

Links and notes from this meeting and past meetings can be found at Shawn O’Shea’s blog at http://eth0.net/ — thanks, Shawn!

Thanks to Arc and Kent for great presentations, to Bill and Alex for organizing and running the meetings, to Janet for the incredible cookies, to the Amoskeag Business Incubator for the great facilities, and to all who attended and participated.

Please don’t backscatter your spam to other innocent victims

One of my lesser used email accounts is overflowing this morning, filled with very polite messages like:

Hi. This is the qmail-send program at hurricane.mail.adnap.net.au.
I’m afraid I wasn’t able to deliver your message to the following addresses.
This is a permanent error; I’ve given up. Sorry it didn’t work out.

Thanks very much for the notice, but kse7rt93n@example.com isn’t a real “From:” address. If your email system was configured to examine the sending address, you would recognize that this was unlikely to come from my mail server. And if you’d fed the mail message contents into your spam detector, it would almost certainly tell you this was junk (if it didn’t, you need a better spam detector). Bouncing any email you can’t deliver could also tell a malicious program which addresses got through, encouraging them to try A-Z and noting which addresses didn’t bounce.

When you bounce this message, you double the amount of traffic that spam takes on the internet, and you burden yet another innocent email system who has to process and dispose of the message you should have handled. You have become part of the problem. Please be a good internet and email citizen and silently drop email you cannot deliver. Thanks.

Notes from MonadLUG, 9-Oct-2008: Patrick Galbraith, MySQL Replication

Twelve attendees made it to the monthly meeting of the Monadnock Region Linux User Group, MonadLUG, at the SAU #1 offices in Peterborough. Our host, Ken, did a great job of finding us an alternate conference room within the building when another group bumped us from our usual spot.

Charlie Farinella called the meeting to order at 7 PM and we had a round of announcements and introductions. There were several new members as well as a few who hadn’t been seen in a while. Charlie announce that Philip Sbrogna had stepped forward to help Charlie run the meetings. Welcome aboard, Philip, and good wishes!

Our main presentation was from Patrick Galbraith. Patrick maintains a web site at http://patg.net , blogs at http://capttofu.livejournal.com/, is currently employed as a Principal Engineer at Lycos, Inc., and has some great stories to tell from past employment with Grazr, MySQL, VA/Linux, OSDN, Slashdot and others. He’s involved with a number of Open Source projects, including as maintainer of DBD::mysqld and libmemcached and others.

Patrick started with slides from a presentation he recently gave at the O’Reilly MySQL 2008 Conference, to establish some basic definitions and terms. He discussed the various models of replication and the pros and cons of each, comparing replication to clustering. He highlighted the files and scripts which needed to be invoked for replication, and the means of running multiple instances of MySQL on a single machine.

Patrick then switched to a terminal window and we began reviewing the configurations of the MySQL instances on his machine. Using a sample database, he established a master-master-slave configuration. Due to the fact that his machine is in constant use as part of his job (and a book he is writing!), the databases were in an inconsistent state. This, imo, is the best part of the meeting, seeing a practitioner use his tools to troubleshoot a system, diagnose the state, and use sometimes obscure commands to return it to a consistent state. Patrick ran a non-stop commentary while debugging his three instances and pointing out metrics of interest and the significance of various debugging commands. When completed, he inserted records into each master and showed how they appeared correctly in each slave and showed off the binary logs used to make the transactions. Excellent illustrations of replication!

There were lots of related discussions and side conversations, too. An intriguing thread involved “blackhole” data storage engines, where the data actually never is written to disk, but the engine exists purely for posting log entries, which can then be replicated. Wow.

Patrick also took a few minutes to tell us about Sphinx, an independent project thats created an extremely fast and powerful full-text search data engine that’s compatible with MySQL. Very impressive. Patrick also mentioned (and customer Philip endorsed) his wireless ISP business, but I missed the name.

Thanks to Patrick for a great presentation, to Charlie and Philip for running the meeting, to Ken and the SAU#1 for the facilities and last minute Mac video cables and to all members for attending and participating!

Notes from CentraLUG, 6-October-2008

Eight people attended our October meeting of the Central New Hampshire Linux User Group, held as usual on the first Monday of the month, at the New Hampshire Technical Institute‘s Library, Room 146, at 7 PM.

We had the usual round of announcements. I had a ‘hot off the presses’ set of Apress Fall/Winter 2008 catalogs to pass around, including the half-page feature of the GNHLUG group as the highlighted user group. I mentioned the many discounts UG members can get through the various publishers, especially Apress, O’Reilly and Pearson. As usual, I plugged the gnhlug.org web site as the place to get the event calendar, and we reviewed some of the upcoming events, like the SwaNH infoeXchange and MonadLUG’s MySQL meeting tomorrow, the NEAR-Fest the following two days, and some of the interesting upcoming meetings. Keep an eye on the calendar and subscribe to the announcement list for future meetings.

Arc Riley was the main presenter. A newcomer to New Hampshire, Arc was previously active in a FOSS group in Ithaca, NY, and is an active contributor to several Open Source projects, including PySoy (which he demoed a few months ago at PySIG). He’s also an active member of the New Hampshire Ubuntu Local Community organization (“Loco”), which is working its way to formal approval as a Loco with the Ubuntu organization. Activities such as the Software Freedom Day activism last month and presentations at the LUG count towards this recognition.

Arc had a presentation on the upcoming version of Ubuntu, 8.10 (Year.Month) due out at the end of the month, code-named Intrepid Ibex. A list of new features can be seen on the web site and Arc reviewed them briefly (slides) and then demonstrated several of them, including: Gnome 2.2.4., X.org 7.4, Guest session, Network Manager 0.7, and more.

We also got to break it a bit, perhaps, by testing to see if a USB device plugged in when the Guest user was active would be readable, and whether there would be any security implications to that. The USB subsystem seemed a bit unresponsive, and poking in the logs revealed that some of the other devices on the bus, like the webcam, weren’t natively recognized (Arc hadn’t added drivers yet) so it was possible the subsystem was unavailable. Did we mention it was a beta? Beta test reports are welcomed by the Ubuntu team, as they hope to release a final product at the end of the month.

We got to talk a bit about Ubuntu and the community behind it, the philosophy surround the distribution, and the activities of the Loco, including pictures from SFD 2008, which included a Wookie, balloons, a penguin, Ben Scott and lots of geeks promoting Linux. Ben was heckled in absentia at the CentraLUG meeting. The next meeting of CentraLUG will be on Monday, November 3rd, the day before what may be the most important election of our time (vote early, vote often!) with a topic TBD, but at the same place and time. Stay tuned for announcements and updates! Thanks to Arc for presenting, to Bill for the projector, to Nikki for the transportation, to the New Hampshire Technical Institute Library for the facilities and to all for attending and participating!

Notes from Ruby/Rails SIG, 16-Sept-2008

We had a triple-header at the September meeting of the New Hampshire Ruby and Rails group, held as usual on the third Tuesday of the month at RMC Research in Portsmouth.

Brian Turnbull… spoke on the HTTP protocol, reprising a well-received presentation he did at the SeaCoast Linux User Group last week. At SLUG, he was able to talk for over two hours. Due to the schedule, Brian was far more restricted this time, but did a great job of covering the material and trimming it to fit the allocated time. RFC 2616 is the key document you want to read, and it is quite readable.

Scott Garman… spoke about the Virtual Private Server (VPS) that will be offered to contestants of the upcoming RailsRumble. He showed us the console and talked about the advantages of a VPS over some of the other shared hosting solutions. Scott had recipes for setting up the VPS with Ubuntu 8.04 and Rails in two configurations: one using Mongrel and the second using Passenger’s mod_rails plugin.

Nick Plante… spoke on the git version control system and the GitHub hosted services.

The doorprizes were many and generous. The big prize was a conference admission to the upcoming Voices That Matter Professional Ruby Conference, coming up in Boston November 17-20. I was lucky enough to win that. Nick Plante also brought three copies of his new book co-authored with David Berube, Practical Ruby Plugins, so many folks went home happy that night.

Tune in to the next meeting of NHRuby by keeping an eye on the website at http://www.nhruby.org

Notes from PySIG, 25-Sept-2008: What’s New in Python 2.6

Fourteen people attended the September meeting of the Python Special Interest Group of the Greater New Hampshire Linux User Group, held as usual on the fourth Thursday of the month at the Amoskeag Business Incubator in Manchester, NH, 7 PM – 9 PM.

Our presenter of the evening had to postpone, due to family obligations, so we had a general night of discussion. It was vigorous and interesting. I was a tad late to the meeting, so I missed Ray Côté’s description of a gotcha using Python. It pays to show up early to the meetings! Bill Sconce brought along a two page agenda and list of topics, focused on new features in Python 2.6. This lead to a lot of discussions, clarifying what can be done in earlier Python versions and how the new version works, including many times when we dropped to the shell and started python to test out our assumptions.

Janet provided yummy cookies, as always — thanks, Janet! And Ben was harassed in absentia. Thanks to Bill for arranging, announcing and herding cats to run the meeting, the Amoskeag Business Incubator for their great facilities, Janet for the cookies, and all for attending and participating.

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.