Tag Archives | GNHLUG

Notes from DLSLUG, 2-April-2009: Nifties!

“Nifties!” are the name for the Dartmouth-Lake Sunapee Linux User Group meeting nights when a featured speaker can’t be found: the Users of the Group make short presentations to each other, hopefully eliciting the “Nifty!” response.

I spoke on my work with Nick Plante and Brian Turnbull starting a business to host a coworking site in Portsmouth, NH with several of the folks there before the meeting started. We had some insightful discussions on the terminology of commercial space leasing, and the intricacies and politics of finding the right spot to start a business.

Rich Brown of Dartware talked about Dojo, the javascript library, and a book he borrowed from the DLSLUG library. (see below for more)

Lloyd Kvam presented his book report on the Google Apps books. Google Apps allows a small business or group to buy a domain, register it with Google Apps. We shared experiences of setting up domains in Google Apps.

Then we realized the meeting was actually next door in L02 rather than L01, not the first time we’ve gotten the wrong room, so we moved over and caught the end of a presentation. Then Bill McGonigle showed how ejabberd was set up with Red Hat – family user accounts (Pluggable Authentication Module – PAM) to which he contributed some code.

Richard Brittain (http://www.dartmouth.edu/~richard) showed a ksh script to kill a subprocess after a specified timout and another script that would check a path (checkpath.ksh) and remove all the cruft that builds up as software is added and removed, machines appear and disappear, etc.

Rich Brown of Dartware presented his Dojo report again. Rich needed a simple web page that would let his clients enter in several key pieces of information in a form and from that data generate a configuration file in a specific format. Eventually, he realized a prebuilt library of JavaScript could do a better job, he worked with Dojo and realized he needed a reference. He borrowed the Dojo book from the DLSLUG library. While there were a few frustrations, overall he was pleased with the content of the book, it’s organization, clean examples and good indexing. The book didn’t have a good description of how the CDN supplied JS libraries can be downloaded over the web quicker and in the correct forms and versions; he ran into a race condition that took a while to debug. The Dojo book covers 1.1 while he was working with 1.2, may even be up to 1.3 by now, always a problem with letting the ink dry.

Parker (I didn’t catch his last name) posted a Madebyparker.com blog entry that was spurred on by trying to make a copy of document, but the machine was eating dollars, so scanned to his email address and sent it to himself: nine pdfs in nine pages. The Dartmouth facilities wisely try to minimize the waste of paper with something called “GreenPrint” but the implementation leaves something to be desired, especially for folks running Linux. He searched around and found a command line to concatenate the documents together into one PDF for faster printing and management.

Ten folks made it to the meeting, and I have no doubt everyone learned something; a great result!

Notes from CentraLUG, 2-Feb-2009: Open Source Business Models

Fourteen people attended the February meeting of the Central New Hampshire Linux User Group, a chapter of the Greater New Hampshire Linux User Group. We held our meeting at the usual place and time: the first Monday of the month at the New Hampshire Technical Institute Library, Room 146. Formal meeting starts at 7 PM. Gathering and networking often starts a half-hour earlier.

A few of us met at Panera Bread in Concord before the meeting for dinner and geek talk. We’ll try to make this a regular thing, if people want to.

Before the main meeting, maddog showed off a video he had created, inspired by some recent demonstrations of Open Source software he had seen. Using nothing buy Open Source software, including Inkscape and Kino. maddog emphasized that he’s not an experienced cinematographer, nor had he much experience with the other packages, but that making the video was simple and straight-forward. And the results quite amusing. Look forward to a future post with a link to the video!

We were fortunate to have a variety of attendees to discuss the topic of “Open Source Business Models.” After a brief introduction of what the LUG was about and where to learn more, I opened the floor to the attendees for discussions, and discuss they did!

We talked about the Brazilian music scene, Microsoft EULAs, the difference between Free Software and Open Source software, some great Open Source success stories, like the Project.Net software. There were questions on the fine points of licensing, comments on the openness of the Java Development Kit and runtimes, and much good discussion.

At the end of the evening, two lucky attendees got to pick from the assortment of books we’d been provided by generous publishers. Using the formula of:

(14*rand()).to_int

in interactive ruby and counting off around the room (I started with zero and we went clockwise around the room, a surprisingly difficult process with cats). Mark and Bill each won a book, congratulations! The next CentraLUG meeting will be the 2nd of March. Stay tuned for an announcement of details. Thanks all for attending and vigorously participating. Thanks to Bill for bringing the projector, though we didn’t need it.

Notes from NH Ruby Group, 15-Jan-2009: Jonathan Linowes

Jonathan Linowes was kind enough to drive from “the other side of the Notch” all the way down to the seacoast to present to the New Hampshire Ruby Group on the 15th of January (note that the NH Ruby group has moved their regularly scheduled meetings to the third Thursday of the month). Fourteen members attended the meeting, which started with a round of introductions. Pizza, soda and T-shirts were provided courtesy of EngineYard — thanks!

A typical scene at a Linux user group meeting for the first ten minutes of a meeting to be consumed with the speaker struggling to get his X windows display to sync up with the projector. I’m beginning to suspect that the Ruby group equivalent is for the speaker to discover he’s packed the wrong DVI-mini-DVI-HDMI-Video-VGA adapter and no one else has the right video adaptor for his MacBook despite a half-dozen machines present. I wonder if Apple made a mistake by changing this adaptor in every model.
ReviewRamp is Jonathan’s project – a SaaS web site for a group to bring in documents, route them through their own defined process, and approve/disapprove/select documents. Jonathan offered examples such as business plan reviews, marketing plans and job applications. Designed to look as much like a desktop application as possible, ReviewRamp has a simple GUI, with templates and wizards to make it a couple of clicks to process. Under the hood, Jonathan talked about the architecture, which includes RESTful protocols, and a design intended to scale to thousands of projects, hundreds of submissions and a handful of reviewers per project. Unlike many JavaScript-only sites, RevewRamp works well with JavaScript disabled; sweetened with JavaScript enabled. ReviewRamp is publicly in beta. Jonathan presented some slides of the models: reviewers, projects, pages, subpages, fieldsets. This last was a segue into the 3rd presentation: fields are generated via metadata for each project, but the database tables don’t change for each project, so each project has virtual tables vis Jonathan’s DynamicTable design.

Next, Jonathan had a presentation on “Cucumber: How I Slice It” Jonathan had worked PHP and other languages before, was very attracted by Ruby as a new language and the philosophy of testing, testing and more testing. Unit-testing, test-driven-design, behaviour-driven-design. Jonathan also pointed us to Brandon Keepers presentation as an excellent starting point.

Jonathan showed us some of his Cucumber scripts, which include a lot of pretty cool extensions to the base, like {show me} to actually end a test by launching a browser so he could visually verify a result. It was apparent that Jonathan really took to the testing regime, adding extensions like “He” or “She” instead of always including “The current logged in user” or “the current project”

Should you use RSpec or Cucumber? Both, according to Jonathan: each has strengths and weaknesses. RSpec is more tuned to unit-test individual functions where Cucumber is more tuned to describing behavior and outcomes.
Check out

cap deploy:features

to run Cucumber on the deployed app (typically, you’d do this on a staging server, not a production server)
Shows some example Cucumber scripts. They describe in English the point of the test, and use keywords (“GIVEN” “WHEN” “{actorname}”), an action and an expected result. This is actually parsable Ruby code that defines fixtures and features and processes defined within the story runner. It’s not just a requirement, it’s actually the test as well!

Finally, running out of time, Jonathan jumped into his DynamicRecord presentation, where he had developed a method that was ActiveRecord compatible so that it could be integrated in the rest of a standard rails app, but actually queried against virtual tables that were created on the fly rather than actual tables on disk. Interesting stuff, and I’m looking forward to seeing this code pushed into OpenSource, Jonathan’s eventual goal.

Thanks to Jonathan for the great presentations, to Nick for running the presentation, to Tim for hosting the facilities and attempting to webcast the presentation, to Engine Yard for the pizza and T-shirts, and to all the members who made it to the meeting!

You can download the 3 presentations from the NHRuby site here: ReviewRamp, Cucumber, DynamicRecord, or view them online (Flash/JavaScript required) here.

Notes from Python Special Interest Group, 17-December-2008

Six folks attended the December meeting of the Python Special Interest Group, held on the irregular third Wednesday in December to allow for the festivities next week. (We normally meet the fourth Thursday, same place, same time.)

There wasn’t a formal agenda, and discussion was first the ice storms of last week and everyone’s power status.

I talked with Bill about setting up my new Sansa player with Rockbox and using gPodder in Fedora10 to sync music. The gPodder Podcast client can sync with using the standard file-based method or by using the Media Transfer Protocol popular in many players. To run with gPodder, I needed to install libMTP and PyMTP (there’s a Python connection!) I also discovered while importing RSS feeds that there’s a bug in Fedora 10’s version of Mark Pilgrim’s awesome feedparser, fairly easy to patch, documented here. It’s an arguable bug; it may be that feedparser throws an error instead of behaving more gracefully when hander RSS that might not be fully valid, in this case apparently a bad Unicode character. Perhaps not fully following Postel’s Law, paraphrased “be conservative in what you do and liberal in what you accept.” Is ignoring malformed Unicode too liberal? A philosophical question, perhaps. I noted that the RSS feed that fails in gPodder and from the Python command line actually passes the http://feedvalidator.org tests. Hmm.

Arc had sent a link, “If Languages were Religions,” which included the suggestion, “Python would be Humanism: It’s simple, unrestrictive, and all you need to follow it is common sense. Many of the followers claim to feel relieved from all the burden imposed by other languages, and that they have rediscovered the joy of programming. There are some who say that it is a form of pseudo-code. ” Read the whole post; there are some good ones!

Bill Freeman had an idea he’d like to float for a project to avoid name contention issues, using a naming scheme similar to Java’s com.sun…. namespace for individual projects. Kent dug around in the comp.lang.python archives for some previous threads on the subject to review what had been said on the issue before.

Kent wanted to talk about Python 3.0! Shawn had sent a link to the list for Python porting resources, but wasn’t able to make the meeting. We discussed some of the issues with porting 2.x Python code to Python 3.0 and tested out the 2to3 program. Arc and Matt arrived and joined in the conversation. We first converted the canonical “hello world” program and worked up to Bill’s telephone list program, Arc suggested jinja, and an unpublished project that Kent had been working on involving recognizing human languages, each of which had gradually more and more complex issues. The 2to3 program won’t always make working code, but it does a fine first pass in making all of the well-known changes in converting a 2.x program to 3.0. In running the programs through 2to3 and examining the results, the group had a good discussion about some of the syntax and structural changes in 3.0

Thanks to Bill Sconce for organizing the meeting and bringing the milk, to Janet for the wonderful airplane cookies, to the Amoskeag Business Incubator for providing us with the great facilities and to all for attending and participating.

Notes from October Python SIG: Unit testing 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.

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

NOTE that the next meeting of PySIG will take place on Wednesday December 17th at the Amoskeag Business Incubator across the hall from our usual meeting room. Hope to see you there!

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.

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

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.