Archive | Technology

Notes from NH Ruby/Rails group, 15-Feb-2010, Brian Turnbull and Object Oriented Programming

Despite being President’s Day, February 15th’s meeting of the NH Ruby group got 14 attendees. Held as usual at RMC Research in Portsmouth and hosted by Tim, a good time was had by all.

There was a round of introductions so everyone got to know each other. Announcements including Leslie Poston’s NHTweetup calendar, and the Rails Camp NE. Rails Camp is only a month away and down to a few last seats – don’t miss it!

Brian presented “Object Oriented Programming” — you can find the slides here. The presentation was a good high-level overview of OOP, as seen from the Ruby perspective. Brian noted ways in which Ruby differed from C++ and Java. There was some very good discussion and some teasers of future presentations: Mixins were thought too complex to try to squeeze into this presentation, and Brian is developing another talk, “The Complete Class,” which will include a discussion of all of the methods, properties and attributes a class should have to encapsulate best practices. I’m looking forward to both of those discussions.

Brian finished with two puzzles. Having covered the principles of OOP, Brian handed us an interesting problem to code: a 3×3 sliding tile puzzle. It’s great to see actual code being developed at the meetings, and it was a good challenge in that we all understood the problem domain. We broke into small groups and started modeling the problem. At the end of the evening Brian presented his model and code.

The bonus  challenge involved taking Brian’s model and solving a particular puzzle in the fewest steps possible. I worked with a team that took this one on, repeating the classic steps of invoking recursion, discovering the limits of Ruby on the Mac for stack overflows 😉 and failing to properly store and retrieve states and scopes diving in and out of the recursion. While we didn’t finish the solution, we had some great discussions on the various ways to solve the problem and all learned more about working with Ruby, which after all is the point. Brian also posted his solution to finding the shortest steps to solving this problem.

Thanks to Tim and RMC Research for hosting us in their fine facilities, to Brian for organizing, pizza and the presentation, and to all for attending and participating!

Notes from Seacoast LUG, Caroline Meeks and Sugar on a Stick

The Seacoast Linux User Group met last night, as they always do on the second Monday of the month, in Morse Hall Room 301 on the UNH Durham campus, at 7 PM. Kudos to Robert Anderson who’s been running the group… well, forever. Sixteen people attended last night’s very interesting meeting, which featured Caroline Meeks speaking on “Sugar on a Stick.”

Caroline’s been involved in Open Source since 1999 and is very interested in education. Her business, Solution Grove (http://www.solutiongrove.com) specializes in Open Source learning and knowledge management. She’s currently studying at Harvard Graduate School of Education and plans to complete her Masters in Education this year. She spoke (and demoed) enthusiastically about the activities available on Sugar and the remarkable effects they had on kids, leading to very positive educational outcomes.

Sugar on a Stick, a project from Sugar Labs, is an effort that puts the Sugar desktop (started on the One Laptop Per Child machines) onto a USB stick so an educational computer is available to a child any time they can access a computer. (SugarLabs is a spinoff open source project, with it’s own Sugar Labs Oversight Board (yes, SLOBS) and an all-volunteer force.) Caroline presented what Sugar on a Stick can do now, how it’s working in and out of schools, discussed the technical hurdles they are running into and made an appeal for help in testing/debugging/building, especially on Ubuntu’s project, the Sugar Remix.

Sugar on a Stick addresses the Achille’s Heel of the One Laptop Per Child program: despite a number of successful pilot programs, most deployments of OLPC haven’t resulted in each child having their own computer that they could keep with them, take home safely and use fulltime. When children have to share computers, or only get an hour at the lab, they are missing out. Sugar on a Stick lets the kids take their USB sticks with them and use them in whatever computer is handy. They can run their projects on Mom or Dad’s computer without harming that machine (or vice versa!) and can play whenever a machine is available.

Some games and educational programs don’t work at improving outcomes. One attendee cited an example of a well-known reader game. A study revealed that scores went _down_ after six months of using the reading program. The attendee referred to it as the “Drill and Kill” syndrome.

There’s lots of work that needs to be done on the project. The current version, based on Fedora’s Live stack, was developed in an era of much smaller capacity USB sticks and made compromises that aren’t needed any more. The compressed filesystem is suspected of being a problem with the corrupted stick phenomenon, which occurs too often to consider the project “ready for prime time.” Caroline said that, with a classroom of kids working Sugar on a Stick, there would always be one or two corrupted sticks. That’s too much data loss, too much frustration and disappointment, and too much disruption to be suitable for a classroom environment.

SugarLabs need mentors (those of us in LUGs) to finish making the software work. There’s not a lot of money in it right now, although they are looking at all possible grant sources. There’s a lot of enthusiastic high school students who need help pointing them in the right direction. College students have an opportunity to use a “Do Something” grant to provide compensation for working on this project. The call to action is for mentors and those familiar with the internals of Linux, especially Ubuntu’s live media functionality, to coach, mentor, supervise and help out in getting the next version of Sugar on a Stick, the Ubuntu Sugar Remix.

Prezi was the presentation software http://prezi.com/ Caroline was using. It was pretty neat. Her presentation can be found at: http://prezi.com/kuuhqwmkxxtm/ Caroline’s presentation and demonstration were quite impressive, and her obvious enthusiasm for the project lead to an energentic question-and-answer session at the end.

Thanks to Caroline for the presentation, to Robert and UNH for hosting and all for attending and participating!

Notes from CentraLUG, 1-Feb-2010

Five people attended the February 1st meeting of the Central New Hampshire Linux User Group. We met at Room 146 of the New Hampshire Technical Institute’s Library from 7 to 9 PM.

There were lots of interesting discussion. Ed was attending for the first time, and is getting back into software engineering after some time in another career. He had some questions on what the different distros were and how they worked, and there were, of course, plenty of opinions. Susan had some updates on her research on the BF scheduler, the bleeding-edge Ubuntu releases, realtime kernels, and the Dragon Naturally Speaking application. I reviewed some of the upcoming meetings, and there was a lot of interest in the Seacoast LUG’s “Sugar on a Stick” presentation and the Cascading Stylesheet presentation at PySIG at the end of the month.

Mark McSweeney made the main presentation. Mark works in a small office with a few partners, and budgets are tight. A few years ago, they had deployed a Microsoft back end and discovered that there were no satisfactory solutions for spam filtering on the Exchange server they had as a mail server. Mark came up with a very effective and economical solution using PostFix, Amavisd-new, ClamAV, DCC, Razor, Pyzor and SpamAssassin. Mark’s slides can be found at http://wiki.gnhlug.org/twiki2/bin/view/Www/SpamFilter, including links to the solution he followed, an updated version of which can be found at http://www.freespamfilter.org/

Member Susan Cragin will be making the presentation at out March 1st meeting, on the Dragon Naturally Speaking 10 program running on WINE. Stay tuned for more details.

Thanks for Mark for his great presentation, to the NHTI and Library staff for the great facilities, to Dave Rose for bringing the projector, and to all for attending and participating!

Visibone, a source of great reference guides and online utilities

Visibone's Everything Book
One of my favorite tools for the past couple of years has been a web developer’s reference guide from Visibone. The book has rarely left my desk, within arm’s reach, to help out when I just can’t remember all the options for an HTML tag or a CSS style. While there are some great online references, having it all in a couple sheets of paper makes it easy to find what I’m looking for (especially if I couldn’t remember if it was text-something or font-mumble) and the reference has also let me browse around the dusty corners and learn something I didn’t know.

Recently, I did some web development using XHTML 1.1 and CSS 2.1 and realized my 2004 version of the guide was getting out of date. I was pleased to see many of the pages had been updated to a 2009 version. After reviewing the many options, I chose to go all in and bought the Everything Book, a step up from my earlier version. This one includes cheatsheets for PHP, MySQL, JavaScript, DOM, HTML, CSS, HTML special characters, web colors and a great index. The reference not only includes broad coverage of each topic but many side notes and compatibility guides (for CSS, the IE-Netscape-Opera-FireFox-Safari compatibility color coding is tremendously useful!)

There are a number of bonus references available on the Visibone site at no cost. Check out the color lab, the color swatches for many of the common graphics programs, the online color codes reference, and excerpts from all of the various reference materials. In addition to reference book, Visibone offers posters, charts and mouse pads. The web site is worth a visit; it’s charmingly quirky, retro, opinionated and clearly individualistic.

Ted Roche named ACM Senior Member

Senior Member Certificate

Ted Roche named Senior Member of the Association of Computing Machinery

The Association of Computing Machinery, the oldest computer user group, named me a Senior Member. It’s a new designation, and I’m not sure the ACM knows what they will be doing with this designation. The process was simple: get nominated (or self-nominate), get 3 ACM members to endorse you, and wait for the committee to review the application. I was promised a special member card as well as a certificate, but this is all I’ve seen so far.

Notes from Python Special Interest Group, 20-Nov-2009

Eight people attended the Python Special Interest Group, held a week early to avoid the Thanksgiving holiday. Anticipate a reschedule December meeting as well.

Last night’s meeting was a vigorous and far-reaching discussion of MySQL, Oracle, the future of MySQL, Maria DB, OpenOffice.org automation using Python, OpenOffice.org automation using Visual FoxPro, Twisted, IE6, Zope, Plone, Django, MS SQL Server, pyodbc, SQLAlchemy, Cascading Style Sheets, IE6, FireFox and FireBug, User Agents, IE6, how not to insulate a bungalow roof, the (Python!) cssparse module (http://cthedot.de/cssutils/), Fortune’s selection of Steve Jobs as “CEO  of the Decade”, Lenovo netbooks and Ubuntu, the Millennium, why calendar years are one-based and not zero-based, distributed version control systems, master-slave and master-master replication using MySQL and Postgres, svn and git, and more! Whew! You should have been there!

Thanks to Bill for organizing the meeting, to all for attending and participating, and to the Amoskeag Business Incubator for providing the great facilities!

Stay tuned for an announcement of the December meeting, and hope everyone has a good Thanksgiving!

NHRuby, 17 September: Games in Ruby

The New Hampshire Ruby / Rails Group announces the topic of their September meeting: Games. It sounds like the games are just an excuse for us to have problems to solve by actually writing code in Ruby. Not a bad idea — trick us into coding by having fun? Radical.

This Thursday: Patrick Galbraith at MonadLUG

  • Who: Patrick Galbraith
  • What: Memcached and moxi
  • Date: Thursday, September 10, 2009
  • Time: 7:00PM
  • Where: SAU 1 Offices, 106 Hancock Rd., Peterborough

About the presentation:

Patrick will do a talk on memcached (http://memcached.org/), the moxi memcached proxy (https://code.google.com/p/moxi/) and about Northscale’s memcached AMIs for Amazon EC2 as well as using these with the memcached functions for MySQL (user-defined database functions) that he wrote. How you can use these for caching data to reduce the load on database servers.

About Patrick:

Patrick has been working with Linux since 1993. Some of his previous experiences have included working on Slashdot, Linux.com, Newsforge.com, launching Slashcode.com and Sourceforge Foundries, developing and maintaining DBD::mysql, mysqlslap development and more than I could possibly list here.

He is the author of “Developing Web Applications with Apache, MySQL, memcached, and Perl” published by Wylie and Sons.

Adding Fail2Ban to the web site

I swapped out web servers two weekends ago, when the old machine started showing some unacceptable behavior. Part of that swap involved switching from a CentOS-based Linux distribution to an Ubuntu-based distribution. There were some great learning moments involved in that. I also wanted to swap out a few programs that hadn’t worked as well as I had hoped.

One of the new packages I’m trying out is Fail2Ban, an Python-based application to review the logs and temporarily bans IP addresses based on the patterns of abuse. Similar applications like DenyHosts are well-rated, but DenyHosts specializes in ssh, which hadn’t been too much of a problem for me, and didn’t have a straight-forward configuration for ftp, which unfortunately I must offer. I had used a similar Perl-based application before, but it hadn’t supported a couple of a my applications, and appeared to introduce some instability in the system. Fail2Ban came with configurations for Apache 2 and vsftpd. In their wiki, there was a HOWTO for banning PHP-based file upload attacks, something which had begun to fill the logs with nonsense.

So, 48 hours in and things seem to be running well. The log files clearly show some applications being blocked, other applications seems to be running well, and performance and responsiveness of the site seems to be okay.

Notes from Python Special Interest Group, 27-August-2009

Twelve folks attended the August meeting of the Python Special Interest Group, one of the most active chapters of the Greater New Hampshire Linux User Group. The meeting was held on the regular night, the fourth Thursday of the month at the Amoskeag Business Incubator in Manchester, gathering at 6:30 with the formal meeting starting at 7 PM.

I gave the usual pitch about the GNHLUG, checking the calendars for upcoming meetings, joining the announcement mailing lists for low-traffic meeting announcments, or the GNHLUG and PySIG discussion list for slightly-higher traffic but high-quality technical discussions, and mentioned some of the upcoming meetings. I also reminded members that user group discounts are available from many of the book publishers, and that if they are interested in reviewing a recently released book, I can request one through the user group program.

Software Freedom Day is coming up September 19th, and Arc will be running an event in Manchester. Keep an eye on the mailing list for further details.

Mark talked about his monthly Tech Talk presentations in at the Lawrence Library in Pepperell, MA (next meeting, September 30th), and his Tech Talk newsletter. Mark is doing a great job getting the word out there and spreading the message about Free/Open Source to non-technical folks. He’s also tried to get a hearing about Open Source in his local schools, but without much luck. Mark also pointed out the new Full Circle magazine Issue 27, which starts a tutorial series on Python.

Arc Riley gave a quick demo of Crunchy, a python-based local web server for serving Python tutorials. Looks neat.

Arc talked about the Python Software Foundation and the Google Summer of Code and also here. The project Arc mentored helped to develop the 3to2 program for rolling back code written for Python 3 to run in Python 2.x. While the code is still in an alpha state, it successfully performs a lot of the conversion needed, and will continue as a framework for the final product. Arc managed the GSOC for the PSF. The Python Software Foundation had the second largest number of sponsored GSOC projects (Apache was #1) and most were completed successfully. Thanks to Arc for a lot of hard work this summer!

Kent S. Johnson talked about itertools. Itertools provides a simple way to represent and manipulate large sequences of numbers without the necessity to consume large memory and CPU resources with creating the entire sequence before iterating over the sequences. Starting with some simple examples of arrays and lists, sequences and generators, Kent built up examples (with some contributions from Bill Freeman) into a more complex problem that illustrated why itertools is so handy. Well done!

Bruce Labitt is almost single-handedly responsible for keeping the pysig mailing list going this summer. Bruce talked about the work he’s doing with intensive calculations and huge arrays. Bruce is building some complex simulations of radio waveforms and calculating various aspects of the radio waves for regulatory compliance. He’s using Python and NumPy and other libraries to generate test data and simulations, and interfacing common PCs with some supercomputing facilities for the heavy number-crunching. Very interesting talk.

Thanks to Bill Sconce for organizing the meeting, to Mark, Arc and Bruce for presenting, to Janet for the awesome cookies, to the Amoskeag  Business Incubator for the great facilities, and to 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.