Archive | LAMP

Linux Apache MySQL Python Perl PostgreSQL

Listening to… August 2008

Kent Beck spoke at O’Reilly Media’s RailConf on Test Driven Development, Patterns and Extreme Programming and I got to listen while working out last week. A long trip to a client gave me an excuse to listen to last week’s Technometria interview on Sxipper, and catching up with some 2006 archival Twit.tv FLOSS recordings featuring PHP’s originator Rasmus Lerdof and a second one with Jeremy Allison on Samba.

Notes from MonadLUG: David Berube, Ruby on Rails

Eleven members attended the August 14th meeting of the MonadLUG, Monadnock Linux User Group, held as usual on the second Thursday of the month at the SAU1 offices in Peterborough. David Berube was the main presenter.

We had the usual announcements (check upcoming events at http://www.gnhlug.org) and also some time for Q&A while waiting for the main speaker and had the ceremonial struggling with the laptop and the projector. One fellow was looking for help understanding how to install drivers for a scanner not supported by SANE, another had questions on what the keyring was and how he could get it to stop demanding a password from him.

David’s been a fixture in the groups for some years. He served as Fearless Leader of GNHLUG for several years, and took a stint as coordinator of the CentraLUG group. He has written a number of magazine articles and authored or co-authored several books, the most recent, Practical Ruby Plugins, due out later this month.

David gave us a brief history of web development, focusing on the incremental improvements made from scripts to cgi-bin to modules to long-running processes in terms of responsiveness, latency and the ability to scale to larger and quicker demands. He briefly compared Ruby with Perl, Python and Lisp, and then dove into the demo.

David had an Ubuntu laptop that he hadn’t previously done Ruby on Rails development on before, so he showed us the basics of installing Ruby, using Ubuntu’s package manager, and cautioned us against using the OS package manager to install gems: The gem system is a package manager in its own right, and it does things in a somewhat different way than most of the OS package manager tools. Instead, he recommended using ruby to install gems. As is often the case, there were some glitches, so we had a small distraction while we worked through creating the /usr/bin links for rake and rails that somehow hadn’t been created automatically.

David then created a new project, and walked us through the directory structure and the significance of files in each folder. He created a model that defined the wiki example we were creating, a controller to answer requests from the web server, and a view that would render the response from our application. He used the built-in rails and rake scripts to create the example database (SQLite3 is built in and used by default if nothing is specified, new in RoR 2.1), showed how the rails console could be used interactively to create model objects (implicitly saving them to disk) and that the console could be used to add, edit, query and delete objects. He then ran the application, after explaining the logic of URLs constructed in a “RESTful” fashion as http://yourwebserver/controller/action/parameter addresses. David started the built-in Webrick webserver and navigated his browser to http://localhost:3000/page/show/bob to show us Bob’s wiki page entry. Whew!

There was some good Q&A during and following the presentation.

I asked some questions on how a team of developers could insure that they were maintaining the same versions of gems when developing, as the gems are usually installed globally and are not in the main application source code tree. David suggested either creating a local team gem repository, or hardcoding the exact versions you want to freeze the target application at, directly within the code.

Charlie had some questions on how to keep up. While he’d read through the “PickAx” book and the “Skateboard” book, those are already a version out of date. David booted up Pidgin and we chatted with a couple of his fellow authors on what they recommended. Here’s a few links I noted from the meeting:

David also mentioned he was running Gnome-Do, a QuickSilver-clone that lets you launch applications or perform functions with a keyboard shortcut and your keywords. And David also showed off the Vimperator, a Vim-like interface for the FireFox browser. David noted you might find some troubles with Javascript-intensive pages:

Thanks to Charlie Farinella for organizing and running the meeting, to Ken and the SAU for providing the fine facilities, to David for an informative presentation and to all for attending and participating!

Listening to… Rich Miner, Google

At eComm 2008, Rich Miner presented a talk on “Openness and the Future of Mobile.” Rich works at Google and had a part in the Android project, but the talk is more general overview than product advertisement.

You can listen to the presentation here: http://itc.conversationsnetwork.org/shows/detail3679.html and view the slides on this site: http://www.slideshare.net/eComm2008/rich-miners-presentation-at-ecomm-2008/

Notes from PySIG, 24-July-2008: Improv Intro

Seven attendees made it to the July 2008 meeting of the Python Special Interest Group of the Greater New Hampshire Linux Group, despite the heavy rains. Due to some last-minute conflicts, our planned speaker, Ray Côté, had to take a rain check for a future meeting, but cookies were made and we resolutely carried on.

There were two first-time attendees, one with a novice level of knowledge of Python and the second very little. Lead by the PySIG leader, Bill Sconce, we launched into an improvised session introducing Python and talking about its power, range and flexibility, comparing it with other languages, heckling Ben Scott, demonstrating several IDEs, talking about procedural scripting and object-oriented programming, showing off some working code, migrating database applications from proprietary platforms, and much, much more. A good time was had by all.

Prominently mentioned were the great tutorials available directly off the Python web site and the Tutor mailing list.

Great thanks to Janet for a delightful variety of cookies, to Bill for not only running the meeting and providing the projector but also bringing the milk, to all for participating, and to the Amoskeag Business Incubator for providing the fine facilities.

(Note: despite the organizational support of the GNHLUG, members running all sorts of OSes are welcome. A typical meeting has people running Python on OS X, Linux and Windows. All should expect equal-opportunity heckling.)

Notes from NH Ruby/Rails, 15-July-2008: Jeremy Durham and merb

Ten people attended the July meeting of the New Hampshire Ruby / Rails group, an affiliate of the Greater New Hampshire Linux User Group (but it’s okay if you don’t run Linux – there were lots of MacBooks at the meeting last night!). Thanks to Scott Garman and Nick Plante for organizing the meeting and to Tim Golden and RMC Research for providing the excellent facilities.

We started with a good round of introductions where everyone got to state who they were, what they were doing and their level of expertise.

Jeremy Durham was our guest speaker and the topic was merb. Jeremy explained that the 20-second answer for what’s merb is that Merb = Mongrel + erb. Merb is a very small and simple web framework that is ideal for quick small projects that demand few resources, while still providing a thread-safe environment in which to run Ruby. While not intended purely as a Rails replacement/competitor, much of what’s run in Rails can be moved to merb and vice versa with minimal effort. Jeremy offered that he often did a coding session in merb for the speed of the development cycle, and could then share the models he’d created with his team running Rails with minimum changes. Jeremy did a compare/contrast with Rails v. merb where merb is ahead in small memory models and threading, while Rails has the larger community and richer documentation. Jeremy mentioned a new community site: merbunity.

Along with the main topic, there were lots of tangential conversations on the joys of TextMate, vi vs. emacs, Apple shell defaults, JavaScript libraries (did you know there is an entire JavaScript MVC framework in SproutCore? That paperclip [DEPRECATED] is a cool replacement for attachment_fu for uploading files?) which always enrich the presentation.

After the great presentation, there was sufficient time for networking and socializing, where folks got to follow up on interesting developments. Thanks to Jeremy for the presentation, and to Scott and Nick and Tim for organizing the event and to all for attending and participating! Topic for the August meeting hasn’t been nailed down yet. Stay tuned to the announcement mailing list whose links you can find at nhruby.org

Catching up…

It’s been busy, busy month, and blogging was one of many things put off. Now, it’s time to start catching up.

I had an awesome month of June. Working on my main client project, we released yet another update on 12 June. After that, I took two weeks “off” — at least away from billing — to do some professional upkeep.

I spent a few days studying and then took the two MySQL 5.0 Developer certification exams on Tuesday the 17th. I went to the Blended Solutions facility in the Mall of New Hampshire, adjoining the PSNH building on Elm Street in Manchester, NH, and took the two exams, back-to-back. The first exam was the simpler of the two. Reviewing all the questions a couple times, I was still done in under an hour. The second exam, though, was a bear! The material was the more advanced stuff, some of the questions were trickier, some of the topics were material I had only book knowledge on. I marked a bunch of questions for review, went back and filled in all the answers, reviewed and debated and over-thought a bunch of questions and then, with three minutes left, decided any answers I changed in a panic were more likely wrong than right, and stopped. I passed both exams with acceptable scores, but nothing I’d brag about. “What do they call the man who graduates at the bottom of his class in med school?” “Doctor.” So, I’m pleased to have the opportunity to establish my level of knowledge, flag a couple of areas I need to learn more about, earn a logo I can display as part of my marketing and gain a listing as a MySQL Enterprise Ready Partner.

Wednesday the 18th of June was the first day of the Red Hat Summit in Boston. I attended all three days, commuting from Contoocook to the Anderson Rail Center in Wilmington and taking public transportation from there. While it made for a lot of hours on the road, the savings over staying in town were significant (total parking and rail for the week: $84 for 6 days), and sleeping at home in my own bed very much appreciated. The Red Hat Summit was a fascinating event. I wasn’t that familiar with the corporate structure or the market focus of Red Hat and I got much better insights into who they are and what they do. Here’s a slew of links on what went on, Red Hat announcements, and links to presentations.

Parallel to the Red Hat Summit was the Fedora Users and Developers Conference, FUDCon10 for short, that shared the Hynes Auditorium facilities on Thursday and Friday, and met at the Photonics Center at Boston University on Saturday. Even though many Fedora participants are Red Hat employees, the tone and structures of the groups are dissimilar. I missed a lot of the last-minute organizational notes the FUDCon’ners put together to organize their HackFest, so I tended to attend the Red Hat sessions instead. In the future, I’m more likely to put more effort into the HackFest side of things. Saturday was a BarCamp, a one-day self-organized conference. As I noted at last year’s conference, the means of pitching sessions, voting, scheduling and running the show are put together on the fly, and the results are startlingly good. Having pretty much had my brain filled of tech at the Red Hat Summit, I chose instead to focus more on process sessions, and learned about bug triaging, web site usability issues, and Fedora structure. A great use of a day, and a great chance to attach faces to the name and shake a few hands.

Sunday was a day of rest for me, and a day of washing laundry for Laura. Thank you!

Monday found me back on the Commuter Rail, this time attending An Event Apart just across the street from the Prudential Center where the Summit had been. Two long days of sessions were focused on the web, primarily design and usability, very different aspects from the two previous conferences. Like the Red Hat Summit, this conference was a little outside my comfort zone, in this case, designers rather than developers. Jeffrey Zeldman puts on an incredible show; facilities were superb, speakers knowledgeable, swag cool. Eric Meyer is the authority in the field of CSS, and it was his sessions I got the most practical tools from, but all of the sessions were well-presented, informative and thought-provoking. Jared Spool of User Interface Engineering had a very funny and very insightful session on analyzing clickstreams for success that will have me restructuring some of my client’s web sites. All of the speakers had great observations on the state of the art and future directions. Great stuff! Several other people took great notes I can share with you.

Arriving back to work on Wednesday, there was no time to decompress; a day of meetings lead to a couple frantic days of shipping yet another release and picking up another couple of projects. Thirty billable hours later, my super-contractor did a high-five tag-team tag and was off on his own adventures, while I took over sheparding a release out the door on Friday with some new features, new team members, new procedures and new prototcols. Whew!

It’s been an exhausting three weeks, but an exhilarating time, too. Hope to blog more details as I catch up on all the other projects.

DLSLUG Notes, 5-June-2008: Bill Stearns, FUSE filesystems

Twenty-two people attended the June meeting of the Dartmouth-Lake Sunapee Linux User Group held as usual on the first Thursday of the month. We were fortunate once again to get room 041 in the lower-level of Haldeman, with power and ethernet jacks at each seat.

As seems required at each LUG meeting, persuading the projector to show X is always a challenge. Bill Stearns is a big believer in the “power on the projector first, then the laptop connected to the projector” theory, which I also like. Today, though, 800 x 600 was the best he could do, even with this work-around. There’s a good Summer of Code project in there somewhere, if not a PhD thesis. Video negotiations between machine and display start with bootup and BIOS code and run through X configuration and ends with xrandr or direct x.org tweaking. (Update: I saw a new applet in the “What’s New in Nine” session at FUDCon where the configuration of video on the fly was a lot easier! Looking forward to trying it out!)

Bill McGonigle also recorded the audio from the event. Keep an eye out for an announcement on when the recording might be available. (With gas prices climbing, I’ll be attending more meetings virtually via podcast. Someone ought to do a meeting on… 🙂

Bill Stearn’s presentation was on FUSE filesystems, additional file systems over and above what’s needed to start your system. There are infinite possibilities on what you might want loaded as a block device and manipulated with the tools that know how to work with a filesystem: a compressed archive, a remote music source, a database, an encrypted volume, etc., and there’s a good chance someone’s already started writing a FUSE driver for it. The list of drivers under development is pretty impressive and some of them fairly innovative.

Bill started with a couple of slides to establish the basic terminology and to walk through the basic commands of setting up a couple of the FUSE filesystems. Soon abandoning the slideshow, Bill hopped into a shell and actually performed the operations, showing how an encrypted filesystem might work, how archives could be read as files (or grepped or wc’d or…) and how gluster, a cluster file system capable of managing petabytes, could be used. There was a lot of audience participation and “Yeah, but what if…” questions and a good time was had by all.

Roger Trussel is scheduled to present jUnit at the July meeting.

Thanks to Bill Stearns for his great presentation and handouts, Bill McGonigle for organizing, promoting and herding cats at the meeting, to Heidi Strohl (http://www.heidistrohl.com) for providing the refreshments (awesome cookies!) and to all for attending and participating.

Notes from CentraLUG, 2-June-2008: Mark Boyajian, Open Source Advocacy

Twelve folks attended the June meeting of the Central New Hampshire Linux User Group, held as usual on the first Monday of the month, but at the summer venue of the Hopkinton Public Library. Attendance was a delightful mix of regulars and new visitors.

As the crowd had some new members, I spent some time introducing the GNHLUG and its many chapters, its purpose and that upcoming events (there are many!) can be found on the gnhlug.org web site. We had a round of announcements and introductions and got into the main presentation.

Mark Boyajian has been working with Bill Sconce to demonstrate and encourage the use of Open Source software at the Lawrence Library in Pepperell, MA, strongly encouraged by the Library Director Debra Spratt. Deb has been instrumental in getting equipment set up, encouraging them to establish an information kiosk where they could feature news and posters about Open Source, as well as setting up an older machine with Linux. Mark brought along some pictures to show their setup and talked about the good reception they’ve got from attendees and the interest generated. Mark had some success stories to share and some interesting stories of the misconceptions he tried to address.

Thanks to Mark for the presentation, to Bill Sconce for providing the projector, to the Hopkinton Public Library for use of the facilities, and to all for their attendance and participation.

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.