Archive | August, 2009

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.

More links from NHRuby.org’s August dinner meeting

I was finally able to decode some of the scrawling notes I took at the NHRuby.org August dinner meeting, and found a couple more resources worth looking at. With our theme of “Where’d you learn that?” I’d recommend you check out these resources:

Dave Thomas, co-author of the original Pragmatic Programmer and proprietor of the same-named shop, has a series of videos called “The Ruby Object Model and Metaprogramming” that one attendee thought was well worth watching.

Another recommendation was to check out Topher Cyll’s book, “Practical Ruby Projects: Ideas for the Eclectic Programmer” for some interesting insights into Ruby.

Notes from NH Ruby group, 20-Aug-2009, “Where’d you learn that?”

Eight folks enjoyed an excellent dinner at The Rosa Restaurant. We had a private room upstairs where we could woot and yell over each other and tell geek jokes without inhibitions, not that that has ever stopped us before.

Nick Plante mentioned Rails Rumble coming up this weekend. Watch for some incredible apps coming from the Rumble. Can’t wait to see the winners.

Adam Bair brought along two books, Kent Beck’s “Smalltalk Best Practice Patterns” (ISBN 978-0134769042) and Martin Fowler’s “Refactoring” (978-0201485677). Adam credit both books as being very helpful for his practice in the past several years where he has had to refactor a lot of code in rescuing lower-quality Rails projects.

Adam also mentioned an inspirational presentation by Marcel Molina, Jr. at Ruby Hoedown 2007 called “Beautiful Code” (http://rubyhoedown2007.confreaks.com/session09.html) – Adam recommends the higher quality videos as they include video/slides side by side – and also browsing much of the confreaks.com site for some great videos.

Russ talked about Peepcode videos (http://peepcode.com), which he really appreciates. In particular, he mentioned the most recent, Advanced Command Line, helped him debug an unusual problem he was having with one remote client whose shell behaved incorrectly. He’s used inspiration from that video to reconfigure the way he uses his shell. Russ also mentioned Ryan Bates “RailsCasts” (http://railscasts.com/) as very useful, and in particular, thought that the three part series on forms (link updated; thanks, Russ!) changed the way he developed Ruby apps.

I talked a little bit about “The Well Grounded Rubyist” (ISBN 979-1933988658) by David Black, which has helped me fill in some of the background of how and why Ruby behaves the way it does. I also passed around Jason Clinton’s “Ruby Phrasebook” which is a handy book of recipes on how an experienced Rubyist is likely to solve common problems like parsing config files or processing XML.

Nick mentioned that he’s using the unix screen command to do screen-sharing for remote pair-programming and you could see the lightbulbs go off over people’s heads (“That’s my payoff for tonight!” one attendee exclaimed.) He’s also working with EC2 instances and is fired up over how simple and powerful they are. Nick promised a followup, perhaps a demo at a future NHRuby meeting, and Casey mentioned that there’s someone local who’s been doing demos on the Amazon Web Services offerings – we hope to come up with some contact info and see if we can schedule a presentation.

The group also talked about how, as a group, we might contribute to one particular open source project. A couple of ideas were batted around. I look forward to hearing more about this idea.

The night’s theme was “How do you know that?” and I asked about how people are keeping up on all the news about what’s happening. We didn’t really come up with a list of links or blogs or news sites, so if you think of any now (or have your bookmarks handy for sharing), I’d appreciate you passing them on and I’ll include them in the meeting notes.

Thanks all, for a fun dinner amongst friends and some inspiring ideas!

NHRuby, August 20th, The Rosa Restaurant

Some of the best user group meetings I have attended have been those with the most relaxed format, where the group pretty much steers the conversation to whatever is most interesting to them.While the formal presentations by experts are great for getting some deep and rich information across, the wide-ranging discussions of an informal meeting can stretch the breadth of your knowledge.

So it is that the August 20th meeting of the New Hampshire Ruby group will take place at 7PM at The Rosa Restaurant on State Street, Portsmouth, NH. We’ll have a good meal and swap ideas about where to learn more about Ruby. The announcement. more details and directions can be found on the NHRuby.org web site. Hope to see you there!

Pro Git

Congratulations to author Scott Chacon and publisher Apress for the newly-released book, “Pro Git,” a book about the professional use of Git, the version control system. Git is the engine beneath the popular GitHub.com site where much of the Ruby on Rails community does their development. Git is also the core of the version control system for the Linux kernel. Kudos to both author and publisher, for releasing the book under a Creative Commons Attribution-Non Commercial-Share Alike 3.0 license. This is a valuable service to the community so that search engines will find authoritative information on Git, and also serves as great advertising for the book. Apress will be providing a review copy for the GNHLUG members to review; keep an eye out for a review soon! And if you’re using Git as part of your professional work, consider purchasing the book to thank Scott for his efforts and APress for their wisdom in releasing the book on the web.

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.