Archive | Linux

A UNIX-like operating system.

Notes from NH Ruby/Rails, 21-Feb-2011

Eight attendees made it to the February meeting of the New Hampshire Ruby Rails group at the New Hampshire Innovation Commercialization Center. A round of introductions included the usual suspects and several new people with interesting backgrounds and interests.

Brian Turnbull talked about Ruby debugging. He had a sample he created on Github Ruby comes with it’s own debugging library, but you can add a good one with a gem: ruby-debug.
Commands:
list – lists the code currently load
next – steps through the code listed, but skips over subroutines.
step – steps into the code
where – dumps the stack
finish – finishes the current subroutine call
display – dumps a value
(commonly use display value.inspect to make a cleaner display)
pp – pretty print, evaluates any Ruby code you want
edit – launches the EDITOR variable in our shell
catch – catch exceptions
cont – continue
break – set a breakpoint

,,, and so forth. Use the help, it is your friend.

The second example is far more complex, with a Sinatra app using OmniAuth and an LDAP provider. Following the supplied documentation, the app crashes on startup. (That’s what you get for reading the docs!) Debug and another tool – rbtrace to the rescue! Excellent demo of the problem and how the tools can debug them.

Seacoast WordPress Developers Group announce March meeting

Organizer Amanda Giles announced a second meeting of the Seacoast WordPress Developers Group:

When: Wednesday, March 2, 2011 7:00 PM
Where: NH-Innovation Commercialization Center, 75 Rochester Avenue, Portsmouth, NH 03801
Why: Let’s get together for another meetup. More details coming soon. Please send me your suggestions or ideas for things you would like to share or see shared.

CMS Learning Curves, artist unknown

CMS Learning Curves

Notes from NH Ruby/Rails, 17-Jan-2011: Brian Turnbull, OmniAuth, Nick Plante, Mirah

Seven members attended the New Hampshire Ruby / Rails group meeting held on 17-January-2011 at the New Hampshire Innovation Commercialization Center (NH-ICC). We had two presentations: Brian Turnbull talked about OmniAuth and Nick Plante showed a project he’s doing with Mirah on the Android platform.
Brian Turnbull is an engineer working for ARRIS and injects Ruby into his build tools whenever he gets the chance. A recent project required authentication against multiple providers and he did some research on OmniAuth. Brian presented a slideshow explaining the basic concepts of authentication and how they’re implemented in OmniAuth. Apparently, OmniAuth was the authentication method of choice during the most recent RailsRumble, used by most of the contestants. Brian outlined the process needed for working with an existing provider and demonstrated it with clear and simple code. He followed that up by showing how to build your own custom provider and authentication strategy. Brian’s sample code can be found on his github account.
Nick Plante has been working on an Android rich client app as part of a web-based social application that’s soon to launch. Nick told us that working on Java for Android has reinforced his love of Ruby. There’s not yet a good port of Ruby to the Android platform, but he has been impressed with the Mirah language, a hybrid solution that compiles to bytecode and runs natively on the JVM. He has developed a Ruby generator called protoform to construct the skeletons of a Mirah app. He gave us a tour of the components and built a simple “Hello, World” app, deployed and ran it on his Android VM.
Thanks to Brian for organizing the meeting and for the OmniAuth presentation, to Nick for talking about his Mirah project and to the NH-ICC for providing the fine facilities.

Notes from CentraLUG, 6-Dec-2010: David Berube, MySQL Operations

Six people attended the December 2010 meeting of the Central New Hampshire Linux Group, held at the NHTI‘s Library from 7 to 9 PM. David Berube was the featured speaker, talking about his experience with large scale high-performance MySQL applications.

David is an independent software developer and consultant. One of his larger projects over the past couple of years has been an application for scheduling actors for auditions. This involves agents and projects, auditions, roles, videos and a number of other entities in a complex and fast-moving application. He’s used Ruby on Rails, PHP, MySQL, a NOSQL database, Amazon S3, A rack of Mac Minis, BSD, Linux, and a number of other elements. He had some insightful things to say about the development process, managing a client project, handling difficult requirements, scaling up million-row databases for subsecond response times and more. It was a meeting well worth attending.

There were a lot of useful tools and reference sites mentioned, and I was only able to take note of a few: Useful Ruby add-ons: New Relic, Query Reviewer, Percona Operations Day, Cacti for data aggregation. An In-depth discussion of NoSQL (“Not Only SQL”) Databases: what are they, what are they good for, what are the liabilities? A good discussion of the trade-offs of using NoSQL, reference to the NHRuby presentation on Redis a few months ago, and more.

Thanks to David for an informative presentation, to the attendees for a dynamic interactive session, and to the NHTI Library for the facilities. Future meetings at the Concord location have been suspended, we encourage our regulars to attend the Manchester ManchLUG meetings. If you haven’t already, consider subscribing to the announcement list so you’ll know when there’s an upcoming meeting. (Subscribers to the discussion list will automatically receive the announcements, too.)

Notes from the Python Special Interest Group, 18-Nov-2010

Four members attended the November meeting of the Python Special Interest Group, held a week early due to the Thanksgiving holiday (anticipate a similar schedule for December). The Amoskeag Business Incubator was kind enough to allow us to use their smaller meeting room, which worked out perfectly for the smaller crowd.

It was an open Q&A evening, and boy, did we have Qs and As! Topics covered included:

  • Getting scanners working on Ubuntu 10.10
  • sharing printers in Ubuntu
  • Why DSL isn’t always at its rated speed
  • what a CO and a DSLAM is
  • Win7 Starter Edition blue-screening on an Asus Aspire One
  • the New Microsoft/Verizon KinONEm KinTWOm
  • the disaster that was the Microsoft-Danger hiptop acquisition
  • Microsoft’s announcement of Java as a “first class citizen” of their Azure cloud
  • Microsoft’s “Embrace, Enhance, Extend, Extinguish” history
  • Maybe they’ll call it IronJava? And, hey, where did IronPython go?
  • Oracle and Java and licensing and FUD
  • Oracle and MySQL and licensing and FUD
  • A public library looking for a Linux-based solution to reserving PC use
  • A great suggestion to consider Gnome Nanny
  • generating PDF Forms out of a LAMP app using pdftk
  • OpenOffice.org and LibreOffice
  • Generating PDF fill-in forums out of OpenOffice.org, courtesy of Solveig Haugland
  • the difference between “business class” and “consumer grade” machines
  • Dell and HP, Linux support, HPLIP Open Source project
  • printing to PDF in Ubuntu only worked when App Armor was removed
  • the ease of hooking up a projector to Fedora 14 with the new video subsystem and Noveau drivers
  • installing NetworkManager on Debian Lenny (there’s python in there!)
  • a quick tour of NetworkManager on Fedora 14
  • a demo of using Elementree to parse and modify an XML file used to manage installs of Atlassian Jira
  • using BeautifulSoup to parse an HTML file and generate an INI file
  • the Venus software for generating an RSS aggregator page
  • hacking WSDLs for SOAP using suds

Those were the Qs. You needed to be there for the As. And the awesome gingerbread cookies and frosted cake.

Thanks to Janet for the desserts, to Bill for organizing the meeting, to the Amoskeag Business Incubator for the facilities, and to all who attended and participated. Look for the December meeting announcement with the date tentatively planned for the 16th.

Notes from CentraLUG, 4-Oct-2010: Patent Absurdity

Five people attended the October meeting of the Central NH Linux User Group, an affiliated chapter of the Greater New Hampshire Linux User Group. We met at the NHTI Library, Room 146.

We had an attendee with a tech support question we weren’t able to answer on the spot, but gave him some resources to pursue. He was plugging his camera into his Ubuntu machine, and he wanted to set the mount point to be a fixed mount point rather that something dynamically created by dbus. He made some changes, but wasn’t sure of exactly what he had changed, and the device no longer appears when he plugs it in. It does appear on other machines, Linux Mint and Windows, so the device is unlikely to be broken. No one present was sure where the settings might be stored for this. We suggested joining the gnhlug-discuss list as well as the support forums provided by Ubuntu Linux. I look forward to some of our experts helping our friend out.

I let folks know that I’ve reserved the room for November and December. After that, we’ll likely start meeting with the ManchLUG group, unless someone else wants to keep running meetings in Concord. We reviewed the GNHLUG wiki for upcoming meetings. Especially noted were the upcoming DLSLUG meeting “About Lisp -or- Lambda, the Ultimate Lecture, presented by Yoni Rabkin” and the New Hampshire High Tech Council‘s TechWorld 2010 conference ($25 – $210) coming up next Thursday and Friday. We discussed the idea that a nicer-looking forum software, like Drupal, would be nice to implement on the GNHLUG site, and talked about the past efforts to do that, and some of the challenged past projects have run into.

We mentioned that there’s a effort to create a community-driven site to support and distribute a new fork to OpenOffice.org named LibreOffice. Some of the other projects involved in the MySQL – Sun – Oracle mergers have been making interesting news as well.

Thanks to Dave Rose for providing the projector. We used a Live USB version of Fedora 14 beta which shipped last week and saw a pretty remarkable “It Just Works” effect: plugging in the running ThinkPad (a T61, 1680×1050, with an nVidia controller), the open source nouveau driver recognized the Sharp projector and automatically reconfigured the display (1400×1050) for side-by-side (“twinview”) layout with the internal screen. No xrandr, no rebooting of the machine! Wow. We brought up the Gnome display properties dialog and moved them around and finally settled on a mirrored display for the main presentation. This is a huge time saver and convenience for doing presentations!

Our main presentation was a viewing of the documentary, “Patent Absurdity, How software patents broke the system” and a discussion afterwards on what you can do (contact your Congress-person, contribute to organizations, etc.). Everyone learned something from the show, and perhaps from the discussion afterwards.

Thanks to all for attending to Dave for providing the projector, and to NHTI for providing the facilities!

Notes from ManchLUG, 28-Sept-2010, maddog, Project Cauã

Eighteen people attended the second ManchLUG (wiki, twitter) meeting, held at “Wings Your Way” on Elm Street in Manchester. Early attendees to the meeting enjoyed good food, beverages and camaraderie.

It’s never easy to summarize a maddog presentation :). Maddog had a lot of interesting materials to cover, and provided a lot of depth and background to his main thesis. Briefly, Project Cauã is based in Brazil as the center of its first pilot and rollout, but intends to be worldwide. There’s a strong ethos of openness and transparency in hopes the project will be duplicated elsewhere. It is an effort to distribute computing power and internet connectivity to as many people as possible as cheaply as possibly, but using the power of capitalism and business to drive the project, rather than some completely free charitable model that would be trying to fight the entrenched interests. There seemed to be an emphasis on sustainability, both for the project and the world, and the principles of Open Software.

The infrastructure would consist of very-low-power (10-12 watts) mini-machines, a small fanless thin-client box with USB3 and gigabit ethernet connectivity, wired into large servers centralized in neighborhoods or apartment building basements. The machines would be manufactured as greenly as possible and built for long term service (6-10 years). Small businesses would be established and trained (cheaply over the internet and/or with DVDs) to service the machines. The thin clients would rent/lease for a target price of $6/month. To avoid vendor lockin or obsolescence, the thin client design would be open, designed by the University of São Paulo and distributed/licensed freely to the many SMT (Surface Mount Technology) assembly facilities available within Brazil (import duties of 100% on finished goods, versus a 6% surcharge on raw components, means that in-country assembly is economically feasible, driving local employment). The project intends to use the network to provide free metro-wide Wifi. Some vendors have expressed an interest in providing free internet band width in exchange for idle CPU power. There’s lots more to the project of course: finding the proper motivations to financial institutions to provide the seed money the many small startups will need, certifying and bonding the local computer experts, designing and integrating the hardware, software, networking, etc., but maddog only had a little over an hour to present. More can be learned at http://www.projectcaua.org and maddog promised he’d be further updating the site soon.

Thanks to maddog for the presentation, to Kenta Koga and Chip Marshall for coordinating the meeting, to Wings Your Way for the facilities and good food, and to all for attending and participating!

PySIG Notes, 23-Sept-2010, Bill Freeman and Django

Seven folks attended the September meeting of the Python Special Interest Group of the Greater New Hampshire Linux User Group held as usual on the 4th Thursday of the month at the Amoskeag Business Incubator in Manchester. Bill Sconce, PySIG’s organizer, supplied milk and Janet supplied (excellent!) chocolate chip cookies.

Bill Freeman was the presenter for the night, and spoke about Django. Django is a web framework written in Python. It supports the WSGI web server gateway interface specification which allows a standard way of connecting to web servers and provides facilities to “stack” additional WSGI-compliant applications to act as filters, caches, security modules, etc. between the web server and your application. Bill walked through the flow of data through the application’s architecture from http request, through parsing, views and the template language, processing in the ORM and out as the http response. There are hooks galore where you can add your own code, modifying the flow of data and responses. Django is a world-class web framework, with facilities to plug in additional “engines” — mini-applications — and add your own template tags, customize the automated generate of the data schema, and of course, write your own application logic. It’s Open Source, it’s Python, and the code is there for you to mess with. Django’s most popular add-on provdes an administrative function that provides developers (and, optionally, their customers) with simple add/edit/delete forms. Django seems to be a platform well worth considering if you’re interested in web apps in Python. Bill’s slides are available on the GNHLUG wiki.

Thanks to Bill Freeman for a great presentation, to Bill Sconce for organizing the meeting, to Janet for the awesome cookies, and to the Amoskeag Business Incubator for providing the fine facilities.

Notes from ManchLUG’s Launch Meeting

Twenty-seven people attended the first meeting of the Manchester Linux User Group, held on August 24, 2010 at Wings Your Way, Elm Street, in Manchester, NH. Congrats to organizers Kenta Koga and Chip Marshall for taking the initiative to start a group, finding a location and publicizing the meeting!

The meeting was primarily a meet-up, more focused on finding out if people would come out than running a training session. Kenta and Chip made a few announcements at the beginning of the meeting, including mentioning the GNHLUG calendar at http://gnhlug.org (on a Mac!), Leslie Poston’s efforts to bring together a lot of local tech and social media calendars on Google, activities happening at Float Left Labs and their Archimedes Space in Manchester, Jellies at Studio99 in Nashua.

Conversations were pretty local at that point, with a lot of people in a small space with good food and beers and apparently lots to say. What a joyous noise!

Thanks to Kenta and Chip for organizing the event, to Wings Your Way in Manchester for providing the space and to all who attended!

Notes from Ruby SIG, 16-Aug-2010

The New Hampshire Ruby/Rails group met as usual on the 3rd Monday of the month. We met at the New Hampshire Innovation Commercialization Center, a new space near the Pease airfield. Mark Galvin, NHICC’s Managing Director, was kind enough to offer the space for our meeting and tell us about the ICC. Eleven members attended the meeting.

As we often do, we started with a round of introductions. It’s always interesting to find out who’s there and what they’re up to. I mentioned the GNHLUG calendar and Nick plugged the upcoming Ruby Rampage. Near the end of the meeting, we plugged the NorthEast RailsCamp, coming up on it’s third meeting, this one in Stowe, VT. 5 alums from previous camps were there, and all loved it. There may still be a ticket or two left, even though the site says zero – you’d better hurry!

We were lucky enough to have two presentations tonight.

Brian Turnbull presented “Interfacing Ruby with C.” He explained he needed to do some automation with a “black box” his company was using, and their documentation consisted of a C API and a DLL. Rather than developing an entire application in C, he used Ruby to interface to the C API and then could develop an easy-to-modify Ruby app. That turned out to be a good idea, as the final product he delivered turned out to be very different from the initial request, and having the ability to rapidly re-develop in Ruby was a success. To show us how to use C to access Ruby and vice-versa, Brian used a simple example of a “leaky bucket stack,” a fixed-length stack that would lose the oldest item as the stack was pushed. It was a great example in that it had enough complex behavior to be useful, while simple enough to explain and translate into C without too much effort. First, we reviewed the pure Ruby implementation. Brian proceeded to build up the equivalent code in C, calling Ruby array functionality and data types where appropriate. He then showed how to configure the C extension from from Ruby, build, compile, debug and run from the ruby command line.

See the example code and slides (I’ll update the URL when available). Also http://github.com/bturnbull/padpaws for his more advanced C example.

Brian Cardarella, @bcardarella, http://bcardarella.com, presented his gem, client-side validation, which he developed while working on the “Raise Your Vote” site for the Democratic National Committee. The Raise Your Vote site is intended to assist in voter registration by collecting data online and generating matching PDFs of the voter application. Naturally, 50 states have fifty different forms, with different requirements. He wanted to avoid duplicating the server-side validations with hand-maintained client side code, as the regular changing of requirements and the difficulty of keeping business rules in synch across the two languages would doom the project. He wrote client-cisde_validations to use the declarative validations within the entity models to generate the equivalent Javascript code. Client-side_validations has remarkable depth and breadth, handling nearly all of the common and exceptional types of valiation (Brian notes the few difficult cases in his slides). You can find the code on GitHub (gem code, examples) and the slides here: client_side_validations.pdf

Thanks to Brian Cardarella for travelling all the way to Portsmouth and thanks to both Brians for their fine presentations. Thanks to Nick Plante and Brian Turnbull for organizing and promoting the meeting and the group. And thanks to Mark Galvin and the New Hampshire Innovation Commercialization Center for providing the fine facilities!

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.