Archive | 2010

Notes from CentraLUG: Joseph Smith and the Coreboot project

Nine people attended the August meeting of the Central New Hampshire Linux User Group, held at the Hopkinton Town Library on August 2nd. We announce our meetings in advance on the GNHLUG-announce mailing list, a very low traffic list we encourage everyone to subscribe to. Joseph Smith presented some information on the Coreboot project, had some hardware to show off, and had a lot of insights into the workings not only of the machines but of the vendors in the space.

We had a couple of announcements, mentioning upcoming meetings on the gnhlug.org web site. We had a round of introductions. We then asked for questions, announcements, job searches or job postings, etc. One attendee had a problem with having Ubuntu insisting it was updating grub with newer kernels, but the kernels were never appearing in the menu. The group had several very good suggestions to follow up on, including the suggestion to join the -discuss mailing list for more help and support.

I mentioned that the CentraLUG is affiliated with several publishers who offer discounts on their books, and that InformIT/Pearson Education (Addison-Wesley, Cisco Press, IBM Press, Prentice-Hall, Que, Sams) sends out a newsletter and holds a monthly user group contest/raffle for good stuff on their web site.

Finally, Joseph Smith got to do his presentation. You can find his slides here. Joe is an AS400 Administrator for a local well-known retailer’s headquarters, but had always enjoyed tinkering with hardware. It was frustrating to find that set-top boxes and other devices were restricted in what they could do (or run) due to defective or proprietary locked-in BIOSes. He was delighted to find the coreboot project and has been contributing ever since. Joe attended NHTI to polish up his software skills and earn a certificate. He brought along several boxes to show us what he was working on. He talked about the sequence of events that occur within the BIOS and how coreboot can replace them. He demonstrated booting a machine with a serial console and minicom monitoring a fully-verbose debugging session. He talked about the issues with getting coreboot running on a new machine, how vendors cooperated and contributed to the project (or not!) and the problems with turning a BIOS chip into a brick and how to recover. It was a fun and interesting presentation.

Thanks to Joe for his presentation, to Bill Sconce for supplying the projector, and to the Hopkinton Town Library for use of the great facilities. Note that CentraLUG will not have a September meeting due to the Labor Day holiday (come on up and see the Hopkinton State Fair!) but plans to meet in October, November and December at the NHTI Library. Stay tuned for announcements.

Notes from New Hampshire Ruby/Rails Group, 19-July-2010: Redis, Resque, Vanity, Mogotest, Nick Plante

The July meeting of the New Hampshire Ruby/Rails group was held as usual on the third Monday of the month at RMC Research in Portsmouth. Nick Plante was the featured speaker, talking about Redis, the NOSQL database, Resque and Vanity. Brian Turnbull ran the meeting and brought pizzas — thanks, Brian and Nick!

We started off with a round of introductions and speaking a little bit about who we are, what we do, why we’re there. There’s an interesting assortment of backgrounds: a few folks with deep Ruby experience, a number of people transitioning from other languages (Java was mentioned more than once) and some web design folks looking to get a little deeper into the workings. Brian mentioned that the Ruby Rampage was coming up fast – October 16th – and that seats went quickly once registration for the event was open. Keep an eye out for future announcements.

Nick Plante talked about Redis, Resque and Vanity. You can view the slides here: http://www.scribd.com/doc/34712184/A-Quick-Introduction-to-Redis-NH-rb. Redis (http://github.com/antirez/redis) is a NOSQL (“Not Only SQL”) database that has a simpler API (put/get/list keys) than the complex SQL needed for a relational database. It is a “key-value” store that stores flat values (and/or documents, arrays, lists, etc.) with a great deal of speed, high-performance, reliability and scalability. It is ideal as the primary means of access for data on a demanding web site, acting as a cache for underlying relational data or transient data. Nick talked about how he and his partner used Redis and the Resque
Ruby library (http://github.com/defunkt/resque) to manage a job queue where the front-end servers posted jobs, many background workers processed the jobs, and the front end could display progress or completion. Nick also talked about A/B testing with Vanity, another package which uses Redis as its backend datastore. Vanity lets you present two different interfaces (hence the A/B) and monitor statistics on how the users react to the differences (do green buttons get better conversion than orange?). Nick wrapped up by showing us some of the code used in Mogotest and how they managed backend tasks.

As a bonus, we got the briefest of tours of what Mogotest can do: it will spider a web site, gathering the content, show you validation issues with the code (HTML and CSS), compare how the web pages look in a number of different browsers (side-by-side or a slick overlay). This can be really handy to include as part of testing a web site. Mogotest has just entered into public beta, during which you can test your site for free. Check it out!

Thanks to Nick for a very interesting presentation! Thanks to Brian for coordinating the event and getting pizza! Thanks to RMC for the great facilities.

Upgraded to WordPress 3.0

As seems to be the case with WordPress, I did another uneventful upgrade. Gotta love how smooth the devs have made upgrades! Let me know if you see anything out of the ordinary. Keep an eye out for some new WP 3.0 features

Beware FireFox security add-ons

Interesting account of how an add-on for FireFox claiming to be a
security test included a backdoor that captured usernames & passwords.
If you’ve recently download “Mozilla Sniffer” you’ll want to pay
particular attention to this article:

http://news.netcraft.com/archives/2010/07/15/firefox-security-test-add-on-was-backdoored.html

Notes for CentraLUG, 7-June-2010: Wikis

The topic of the month is Wikis. “Wiki Wiki!” is Hawaiian for “quick, quick!” and is a pattern of presenting a read-write web site. There are more variations and implementations than grains of sand in the universe. but we’ll look at a couple of them, specifically:

We’ll talk a little bit about the range of markup languages, the technology behind the wiki, the social and community aspects of how a wiki works (or doesn’t), and how Free/Open Source has played into the success of wikis.

Recommended Reading: “The Wiki Way, Quick Collaboration on the Web” by Ward Cunningham (inventor of the wiki) and Bo Leuf, Addison-Wesley, 2001, ISBN 0-201-71499-X and http://wiki.org/. We’ll have a copy there for your browsing.

Comments from other members suggest we might also want to look at:

MindTouch (http://sourceforge.net/projects/dekiwiki/)

Wekkid https://launchpad.net/wikkid

Wikipedia’s entry on Wikis: http://en.wikipedia.org/wiki/Wiki_software and

a list of software with comparisons: http://en.wikipedia.org/wiki/Comparison_of_wikis

and http://www.wikimatrix.org/

My most active Wiki experience: http://fox.wikis.com (Not open source, either in implementations nor base language).

Notes from Python SIG, 27 May 2010

The May meeting of the New Hampshire Python Special Interest Group was planned as an informal chat, and there was no dearth of topics! We met as usual (the fourth Thursday of the month) at the Amoskeag Business Incubator (http://www.abi-nh.com) in Manchester, from 7 – 9 PM. Seven people attended the meeting.

We had a demonstration of a prototype of a video bulletin board system to be used for the community TV channel in Pepperell, MA. It was using a Python script to drive displays including slides in OpenOffice.org Impress and videos played in VLC. Interesting libraries in use include shlex for parsing command lines and a graphics library whose name I missed to generate the “crawler” at the bottom of the screen.

We discussed the licensing issues with video and audo codecs and the solution that’s provided by Fluendo.

We looked at the new photography management application Shotwell included in the most recent Fedora and Ubuntu distributions. Shotwell is written in the new Vala language that “aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C” and Bill noted another derivative language, Genie, which has a style far more similar to Python. (You wondered what all this had to do with Python, didn’t you?)

We looked for some solutions for accessing the output of Java classes from within a Python application., citing pages like this and discussing the pros and cons of the solutions available. We’re looking forward to a future meeting where we get a report on how it comes up.

As always, a good time was had by all. Thanks to Janet for yummy chocolate chip cookes and frosted brownies. Thanks to the Amoskeag Business Incubator for the use of the facilities, to Bill for organizing and moderating the meeting. and thanks to all for attending participating.

HowTo notes: installing REE, Passenger, Ruby on Rails on CentOS5

Recently, I installed Redmine, the Rails-based project tracker,  on an existing virtual private server, running CentOS 5 Linux and an assortment of LAMP applications and web sites using Apache, PHP and MySQL. I chose Ruby Enterprise Edition (REE), an optimized and high-performance version of Ruby, and Passenger, an Apache module to connect to Ruby. Here are the steps I followed, as a reference and in hopes it might help others:

  1. Log onto the box via ssh. As a good practice, I run as an unprivileged user, and use sudo only when superuser rights are needed. So, download the files and un-tar them and read the READMEs and run the processes as a regular user, switching to root via sudo only when the rights are needed.
  2. Download and install Ruby Enterprise Edition. Today, that’s:
    wget http://rubyforge.org/frs/download.php/68719/ruby-enterprise-1.8.7-2010.01.tar.gz

    but follow the instructions you’ll find at http://www.rubyenterpriseedition.com/download.html for the latest. Those instructions will have you un-tar the file and then run the installer.

  3. Install the tools needed to build Ruby Enterprise Edition. If you run the installer, it will prompt you for missing tools. In my case, I needed to:
    sudo yum install gcc-c++ make patch zlib-devel openssl-devel readline-devel
  4. If you’ll be using mysql, you’ll need the native code to build the matching gem. REE attempts to build gems for MySQL, SQLite and PostgreSQL, so choose your flavor and issue the appropriate command like:
    sudo yum install mysql-devel
    

    or postgresql-devel or sqlite-devel as appropriate.

  5. Follow the instructions supplied by the REE installer. They did a nice job on that. To install Passenger when I was done, some additional source code files were required:
    sudo yum install httpd-devel apr-devel
    sudo /opt/ruby-enterprise-1.8.7-2010.01/bin/passenger-install-apache2-module
  6. Once again, follow the prompts to add the proper load module and path commands to your web server configuration, add a configuration file for your site, and you’re ready to start installing your site’s code.

NOTE: It wasn’t the case with my particular host, but you may need to adjust your SELinux settings, if you’ve got SELinux enabled. See the post at http://www.catapult-creative.com/2009/02/04/installing-rails-on-centos-5/ and look for “SELinux” for some ideas.

Git presentation, CentraLUG, 3 May 2010

The Central New Hampshire Linux User Group will meet at its usual place and time, NHTI Library, Room 146, 7 PM – 9 PM. Directions can be found at http://wiki.gnhlug.org/twiki2/bin/view/Www/NHTILibrary.

In keeping with the tradition of 3-letter presentations (CSS, Vim, SQL, er, HTM), I’ll talk abut Git, the distributed version control system. Git was originally developed by Linus Torvalds for the Linux kernel and is licensed under GPL2. It’s become popular in Rails development as well, especially with the hosted site GitHub.com. Similar to Mercurial [Updated link, Ed.] or Bazaar, Git is a DVCS – a distributed (or Decentralized) version control system or revision control system. DVCSes introduce an easier way to work on shared project. We’ll talk about how DVCSes work and Git in particular, look at some of the available references, handy cheatsheets, and sites to host your DVCS.

As always, we’ll have some time for introductions, job postings, folks looking for work, questions and hopefully answers.

Hope to see you there.

Some additional links, besides the ones I posted to the announcement above:

Scott Chacon is the authority on Git. Check out his book, his tweets, his online reference, his PDF, and Why Git Is Better Than X.

The Git wiki is a good source of reference materials.

A great diagram and discuss about using git branches in a real development and production environment.

Notes on ViM

The original vi was written in 1976 by Bill Joy. Vim (Vi Improved) was a rewrite/emulation for the Amiga platform (Fred Fish 591). Vim was written and continues to be maintained by Bram Moolenaar.

Bram talks about the Vim philosophy in “The Seven Habits of Effective Text Editing 2.0,” video at Google by Bram: http://www.youtube.com/watch?v=eX9m3g5J-XA

Efficient Editing with Vim: http://jmcpherson.org/editing.html

Save that file you don’t have rights to (as long as your user has sudo rights):

:w !sudo tee %

Source: http://www.catonmat.net/blog/top-ten-one-liners-from-commandlinefu-explained/

Resources:

One of the most helpful postings I have ever seen on the internet: “Your problem with vim is that you don’t grok vi” http://stackoverflow.com/questions/1218390?tab=oldest#tab-top

References: http://en.wikipedia.org/wiki/Vim_(text_editor)

EPILOGUE: Some additional links provided by CentraLUG participants:

Python with a modular IDE

VOom: Vim Outliner of Markers

The story of vi vs. emacs at paintball, perhaps related to this link or this one.

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.