CentraLUG Notes, 4-May-2009, Cole Tuininga on MySQL Optimization

Sixteen people attended the May meeting of the Central NH Linux User Group. Thanks to Larry Cook and Sybase for the use of their meeting room and projector!

Announcements:

  • David Marston, SwaNH Dinner, May 14th
  • Maddog: working with Koolu on Freerunner-based phone, running “Cupcake,” the version 1.5 of the Google Android phone OS. See http://www.engadgetmobile.com/tag/koolu/ and
  • Me: watch gnhlug.org for future meeting announcements

Cole works for Dyn Inc, the parent company to DynDNS and the other Dynamic companies. Cole Tuininga presented tips and tricks on optimizing the performance of MySQL in high-traffic, large-dataset situations. He talked about the selection process Dyn, Inc went through to select databases and the large scale processes they have automated at Dyn. You can find the slides on the GNHLUG site at http://wiki.gnhlug.org/twiki2/bin/view/Www/MySQLOptimization.

By the way, seven of us made it to Panera Bread before the meeting for a breaking of the bread. I hope to make this a regular extension to the regular meetings.

Thanks to Larry Cook and Sybase for providing the facilities, to Cole for the presentation, to all for participating!

June meeting *Might* be next week, or we may have to reschedule — securing a location has proven to be a problem. Stay tuned.

Notes from MonadLUG, 14-May-2009, Tim Wessels and Kablink

Five people attended the May meeting of the Monadnock Linux User Group. Thanks to Charlie for scrambling at the last minute to secure the Peterborough Town Library for the meeting, as our regular venue was unavailable. Charlie made the iniital announcements – Ed Lawson presents Scribus in June, Charlie will show OpenBSD in July, no August meeting, and Patrick Galbraith returns for another (not-to-be-missed) meeting on MySQL in September.

Tim Wessels did the main presentation of the evening. Kablink is the Open Source version of Novell’s Teaming product, bought from SiteScape, Inc., a company that started in Clock Tower Place in Maynard, MA. The Open Source version had been known as ICECore previously. Source code can be downloaded from http://www.kablink.org and sourceforge. Tim discussed some of the history of the project, where and how it is being used, possible ways to configure it for workgroup and corporate enterprise use. and reviewed some of the challenges and tricks to installation and configuration. If you’re looking for an Open Source competitor to Microsoft’s Sharepoint, with the ability to create portals, finely-control roles and access, and scale to thousands of documents, Kablink is worth investigating.

Thanks to Tim for the presentation, Charlie for running the meeting, and all for attending!

Notes from NH Ruby, 21-May-2009: Brian Turnbull on Monit, Tim, Nick and the other Nick Lightning Talks

The New Hampshire Ruby / Rails Group met on the 3rd Thursday of the month at RMC Research. (Third-Thursday is the new standard, but June’s meeting is likely to be on a different night; see below.) Ten people attended. Nick Plante started off the meeting, noting that David Berube had to back out due to emergency, but we’d fill in with ad-hoc Lightning talks.

Brian Turnbull talked about Monit [link updated – Ed.] (see his slides here), a small-memory and resource-consuming application for monitoring key performance metrics, and launch scripts and/or alerts when alarm levels are met. Brian talked about early days of managing Mongrel and the necessity to restart the services on failure. While that’s mostly been resolved with later versions (and new options like Passenger), this is still a handy utility for keeping services going, especially if you’re troubleshooting some balky applications. Brian included some clear examples in his slides. We talked about how this wasn’t a solution for remote monitoring (your network could be down, even if you’ve restarted Apache), there were solutions, like running Monit on a couple of machines “watching the watchers” and other solutions, but that Monit was a simple and relatively lightweight solution. Other tools, such as Nagios, are available for more complex problems and the need for customization. Excellent presentation!

Tim Golden, our host, announced he had finally gotten to “Hello World” (a long running joke within the group) and described some of the challenges of setting up a Ruby development environment in Windows. He used the Ruby one-click-installer, and installed many gems. He’s trying out NetBeans as his IDE, and sticking with SQLite as the development database.

Nick Quaranto spoke on his work with gemcutter, developing a new scheme for a gem repository with a simple and scriptable API and a more scaleable and responsive repository architecture. This could grow to be a worthy replacement to RubyForge.

Nick Plante showed off the cool stuff he’s developed at RDoc.info – a web site that displays Ruby documentation generated with Yard . Noting that GitHub hosts your web pages and repositories if you name your repo as yourname.github.com and provide an index.html, he and fellow troublemaker Jeff Rafter came up with the righteous hack of creating the user and repo of http://docs.github.com and hosting the documentation for the thousands of projects hosted at github, fashioning their Yard template to closely duplicate the GitHub interface. For all practical purposes, they added a new feature to GitHub. The GitHub owners were… disturbed. But we hope they’ll come around, as this is a pretty elegant solution.

Nick Quaranto took the podium again to show off the use of Metric-Fu at ThoughtBot for their public projects. Metric-Fu is a rake task that automates other metrics tools (like Flog and Flay) to generate a number of interesting statistics that will point out excessive churn or suspicious smells in a project. Nick showed off the Sinatra front end to the package. This could be another very interesting set of pages on any repository offering software, although Nick noted that it would be resource-intensive, as the test runs and coverage processing can be pretty extensive.

Nick Plante announced a possibility of getting a special speaker in June, although the meeting would need to be on an alternate night. All present agreed that shouldn’t be a problem. Stay tuned for the announcement.

An excellent meeting, well worth the cost of admission. And that’s not even counting the free pizza! Thanks to Nick Plante for organizing the meeting, to Brian, Tim and the two Nicks for their presentations, RMC Research for the great facilities, and all for attending and participating!

If it’s the third Thursday…

If it’s the third Thursday of the month, this must be Portsmouth, New Hampshire. Today’s the day for the (recently rescheduled) New Hampshire Ruby / Rails Group to meet. Tonight’s meeting will feature two presentations: David Berube (co-author, Practical Rails Plugins, former leader of GNHLUG and CentraLUG) talking about high-performance web sites using Ruby on Rails and MySQL, and also Brian Turnbull (contributor to Rails Rumble and Portsmouth Coworking founder) talking about Monit, the monitoring system. The full meeting announcement is here. Hope to see you there!

Tonight, MonadLUG (new location): Tim Wessels, Kablink

If it’s Thursday, it’s LUG-Day. Tonight: Tim Wessels demos Kablink open collaboration at MonadLUG: http://mail.gnhlug.org/pipermail/gnhlug-announce/2009-May/000709.html – note unusual location.

Kablink looks promising: a synchronizing folder feature, document management, and conferencing software. It appears to be (or have been) the Open Source version of Novell’s SiteScape, at least a portion of which came from the 2008 acquisition of SiteScape, Inc., a company that traces its roots back to Clock Tower Place in Maynard, Massachusetts and the Alta Vista folks.

Looking forward to the presentation!

New Hampshire’s UNIX license plate

David Brooks posts a teaser for an article coming up in Sunday’s Nashua Telegraph on maddog’s UNIX license plate: http://www.nashuatelegraph.com/granitegeek/2009/05/14/unix-license-plates-galore/

NH Ruby Group meeting video from 30-April-2009

Thanks to Tim Golden for arranging a WebEx recording of our meeting last Thursday. It’s nowhere near as good as being there, but it does leave more pizza for the rest of us!

https://rmcres.webex.com/rmcres/lsr.php?AT=pb&SP=MC&rID=12020837&rKey=948CB787A0A2E83B

See my notes from the meeting, here.

Notes from NH Ruby presentation, 30-April-2009

Fourteen attendees made it to the NH Ruby / Rails group meeting on Thursday, April 30th. We met on the 5th Thursday of the month, unlike our regular third Thursday (note that the next meeting is on May 21st, our regular night) at RMC Research in Portsmouth, thanks to host Tim Golden.

We did the usual round of introductions. NH Ruby attracts a great mix of people: beginners, experts, professionals, hobbyists, computer people, engineers. We had two presentations — Russ Jones on state machines, and Nick Quaranto on Git — as well as pizza provided by organizer Nick Plante and announcements and discussions from all.

Russ Jones is an independent contractor (as “codeofficer“) and has been working in Rails for some time. His presentation was on state machines. Russ has presented before, speaking on Design Patterns in Portland for the Maine Ruby User Group. Russ admits he was a more of a skript kiddie in PHP, getting code to work, but is taking a more serious engineering angle to his work on Ruby. See Russ’s slides here. We reviewed the definition of state machine from wikipedia, formal and correct, but Russ prefers a simpler one: a machine serves as a container for states, and supports the events and transitions between states. Typically implemented as the supporting structure for a single attribute of an object, ex: states could be “draft,” “reviewed,” “approved,” published,” “destroyed.” Attributes are most often a string. Events are often exposed as methods and have “guards” that could be used to validate and/or nullify an event, log it, or trigger afterwards. Two most common implementations are State Machine and Acts As State Machine — the first is a Ruby plugin, the second originally Rails code, migrated into a gem. Russ showed us an example code of a class “Light” that has a state machine to store “intensity” and an event “switch.” Showed another example from the State Machine docs of an auto transmission.

Russ switched to Safari and TextMate at this point, and showed us a hand-coded CMS used for publishing items to the web. The Admin module has the ability to change the state (submitted, reviewed, approved, published, rejected, spam) of submitted articles. Digging into the code, he shows us he was using two Listable and Statusable mixins as separate modules as his primary posting entities – Jobs, Events, Classifieds, etc. — share these behaviors, but not all their attributes. State Machine also includes a link into graphviz that generates diagrams of state transitions, great for documentation. His final example was a command-line driven simulation of the states of his motorcyle, from off to idle to 1st, 2nd, 3rd, crash and repair states! An excellent presentation with clear examples!

Nick Quaranto is in a 5-year Software Engineering program at RIT and is interning this semester at Boston-based Thoughtbot. He blogs at http://litanyagainstfear.com and can be found on twitter and github as qrush. Nick’s slides can be viewed and download at drop.io/gitstarted. While Nick’s presentation was all-slides, it wasn’t fluff: he packed a lot of heavy concepts and pushed through a lot of material pretty quickly and clearly. I think Nick made a fair assumption that most of the people in the room should have the basic concepts of source code control down, and dove right into the material. So, we got a brief introduction to the basics followed by some intensive work on forking, branches and rebasing. I found this to be a very useful presentation and took lots of great notes for future reference. Also, note there is a “Learn More” slide near the end of Nick’s presentation with a couple of very useful links.

Thanks to Russ and Nick for great presentations, to (the other) Nick for organizing and publicizing the meeting, to Tim and RMC Research for hosting and to all for attending and participating. Next meeting is scheduled for May 21st, same location, topic TBA. Hope to see you there!

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!

Updated tedsriver to planetfoxpro

Many years ago, I cobbled together the Planet feed aggregator to host a page of FoxPro posts on my website, called ‘tedsriver.’ It was primarily an experiment in using Planet and was pretty much a quick hack. Well, it’s turned out a number of people are following the postings there, and the Planet software hasn’t kept up. Over the weekend, I updated from Planet to Venus (cute, eh?) that Sam Ruby and a number of others are maintaining, and cleared out a bunch of errors from blogs that had moved. I’ve also moved the URL to be a bit more descriptive: http://www.tedroche.com/planetfox

If you know of other FoxPro blogs that should be included on the list, please don’t hesitate to let me know and I’ll add them!

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.