The Venus aggregator is a Python program which will read in a list of RSS feeds and generate an HTML stream-of-news page that displays the posts, most recent first. Planet Fox (http://www.tedroche.com/planetfox/) uses the list of blogging FoxPro folks posted to the FoxPro Wiki as its source. Add yourself to the Wiki and your posts will appear in the aggregator. Thanks to one of Planet Fox’s regular readers for pointing out that Jim Nelson’s great PEMEditor blog was not on the list; it turned out the Wiki post incorrectly listed the location of the RSS feed. I’ve updated that manually, and you can see Jim’s posts.
Archive | Technology
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.
Fail2Ban more skript kiddies poking 404 files
I review my web server logs pretty regularly, and there’s a pattern of 404’s I’ve seen recently that I haven’t been blocking up until now: searching each directory for ‘contact.php’ or ‘setup.php’ — the latter often searching for every variety of phpMyAdmin. I don’t have PMA on my machine, but I’d sure make sure I read all the instructions and removed setup.php if I had! (And you should, too!) I found this link that adds a simple test and rules using Fail2Ban to temporarily banning sites that hit too many 404’s too fast. I’ll have to see if this bonks too many search engines.
http://www.barbarycodes.com/2010/10/06/automated-banning-of-script-kiddies-with-fail2ban/
“That shouldn’t break anything…”
I changed one of the settings on the web server. I had it set to redirect from the older location of this blog http://www.tedroche.com/blog/ to the new subdomain of http://blog.tedroche.com but the redirect was set to a temporary (302) redirect rather than a permanent (301) one, causing extra traffic to the web server and slower response to the clients. I’ve changed this to a permanent redirect. There shouldn’t be any negative effects, he said, with his fingers crossed…
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.
Paul Irish’s HTML5 Boilerplate
I’ve had the chance to use Paul Irish’s HTML5 Boilerplate on a new project, and I’m finding it very helpful.
Paul appeared at the San Francisco HTML5 user group meeting, which was recorded (and very well produced!) by MarakanaTechTV:
Paul Irish on HTML5 Boilerplate
ManchLUG, 25-Jan-2011, Marc Nozell and Sheeva Plug, Kenta Koga with Boxee and Kinect
Seventeen people attended last night’s meeting, held at Wings Your Way on Elm Street in Manchester. A good time was had by all. There was no dearth of conversation, whether on-topic or dissing Perl.
Marc Nozell brought a Sheeva Plug to show us the tiny computer. Marc has owned it for a couple of years and uses it as his in-house file sharing server. The Sheeva came with an older Ubuntu installed, he has used a couple of different Debian installations. It’s an ARM-based processor, has 512 Kb Flash and 512 Kb RAM. It has an MMC slot that supports Compact Flash, and that’s typically where Marc keeps his OS. The box also has USB and Ethernet connections, so it can host external drives via a powered USB hub and have a network presence. Marc passed it around and there were a fair number of questions on installation and configuration and file system choices.
Kenta brought his Mac to show Boxee, an application based on XBMC (originally, XBox Media Center, but its evolved to be more hardware-generic). Kenta talked and demonstrated how Boxee could show his social media feeds, NetFlix, Hulu, YouTube and more. It’s a pretty slick application for the next generation of media centers. We talked about some of the hardware available, proprietary and not, and the evolution of the media space.
Kenta also brought a Microsoft Kinect and showed how he had hacked it to work on his Mac. We talked about some of the new immersive and interactive technologies out there.
Thanks to Kenta (and Chip Marshall) for organizing and announcing the meeting, to Wings Your Way for the fine facilities, and to Marc for his presentation, and to all for attending and participating!
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 SeaCoast WordPress Developers meeting, 11-Jan-2011
The premiere meeting of the Seacoast WordPress Developers group occurred on Tuesday, January 11, 2011 at the Portsmouth Public Library from 6:30 – 8:30 pm. Four people attended, a modest but promising showing. All four – Amanda, Jesse, Kevin and I – had experience with WordPress and relatively advanced computer experience, as befits a “Developers” group rather than a “Users” group. We did a round on introductions and discussed what we’d like from the group. There was a lot of meta-discussion: how to organize the group, when to meet, what features to offer attendees, etc. We talked about what we had done with WordPress and what we were looking to do. We shared some advice on resources and plugins we’d had success with.
Kevin shared some insights into the Drupal community and the Seacoast NH Drupal Group. Kevin talked about working with Drupal’s Aegir enterprise management system and the Content Creation Kit
I mentioned the Joomla’s recent 1.6 release and Barry North’s CompassDesigns.net pointing out we have a lot of good options in CMSes out there, and we talked about some of the hybrid solutions: some of this and some of that.
Jesse’s been working with Expression Engine and is interested in the CMS capabilities of WordPress as an alternative. I pointed out that Expression Engine is built on the CodeIgniter framework which I’m currently working with.
We spoke about a lot of related groups and hope to share contacts and exchange publicity with the New Hampshire Ruby Rails Group, the Greater New Hampshire Linux User Group, SLUG, the Seacoast Linux User Group (meeting in Morse 301 on the second Monday at 7 Pm for the past 11 years). Amanda and Kevin recalled the GNHLUG meeting featuring Linus Torvalds, attended by over 200 people, on 31 Jan 1996 (accoding to GNHLUG’s list of past events), We mentioned other meetings, such as NHUPA: New Hampshire Usability Professionals Association (now NHUXPA) the eBrew last week at the Press Room, the New Hampshire High Tech Council and the NH PodCamp and Boston WordCamp
Amanda was the organizer of the meeting, and had the most experience with WordPress sites. She has developed and released a number of sites, modified plugins and worked with other developers to get the features she needed. Amanda was interested in learning more about WordPress’ CMS abilities. She’s interested in the Flutter add-on, the Magic Fields CMS Add-On, and extending WordPress with the WP 3.0’s Custom Fields. Amanda brought two books for show-n-tell: Smashing WordPress: Beyond the Blog by Thord Daniel Hedengren (Smashing) and Professional WordPress by Hal Stern, David Damstra and Brad Williams (Apress/Wrox)
This was a great start to a good group, and I’m looking forward to future meetings. Thanks to Amanda for organizing the meeting and the Portsmouth Public Library for the fine facilities. Stay tuned to the meetup group for announcements on future meetings.
LAMP – Linux, Apache, Microsoft?!?!!, PHP?
For a new client project, I’m configuring LAMP in a way I have not before. The “M” in LAMP, often referred to as Middleware or the trademark of a certain database, is Microsoft in this case, Microsoft SQL Server.
My development workstation is running Fedora 14 and I installed the following to get it working: unixODBC, FreeTDS and php-odbc. (The other components were already installed.) In order to get it working (the target server is up and running, that’s another rant/post), I followed the how-to at http://www.unixodbc.org/doc/FreeTDS.html. Taking care to do the intermediate tests with tsql and isql, and then configuring the PHP CodeIgniter framework to use odbc (with one tweak to the source), I was up and running!
The power of Open Source continues to amaze me.