Tag Archives: tech

Programming with Constraints and my adventures with Drupal

I’ve finally wrapped my head around the blocks, views, and content construction kit model for Drupal, which we’re going to be using for the upcoming relaunch of the Poughkeepsie Farm Project website (you can see the work in progress here).  It took a number of days to make a mental breakthrough that let me understand what it was that Drupal wanted me to do to get results.  The big break through was getting that custom content types is really what I wanted and then how to use views to display them correctly.

The exercise was one of programming with constraints.  As a veteran software developer, I’m used to getting a blank page where I can happily build up features from scratch. That has the advantage of the end product doing exactly what I want, but has the disadvantage of having to do everything from scratch.  While from scratch is often satisfying, it’s also often really tedious.  By the time you’ve written your 3rd password reset system for a web application, you’ll feel that way as well.  Life is too short to keep repeating yourself.

The alternative is something like the drupal approach.  Start with a lot of the application done, and just complete the pieces you need for the project.  As a veteran software developer, I’ve been there too.  I’ve come into many a project late in the development cycle, and had to work inside the constraints that are already there because of decisions made in the past.  These decisions might have been based on money, expertise, timing, politics, or any number of other reasons.  At the end of the day it doesn’t really matter, you just have to accept what is, and figure out how to work with it.

Building on top of a framework like Drupal is like being brought in late on a project, where the rest of your team is the drupal community.  They made decisions on how things will work, and you just need to figure out what those were, and if you can work constructively inside those contraints.  It’s a different skill than the “from scratch” skill, but is just a valuable.  The real world has a lot more half finished projects out there than blank slates.

People love to complain about frameworks, especially tech folks, because they feel the constraints are hampering their productivity.  As any tech person knows, when you switch up what you are working on substantially, you go through the “wow I’m stupid” phase again.  Your output suffers, and you feel like you are never making any forward progress.  It takes weeks to months to get familiar enough with the new skill set, and actually start creating anything of value.  No one likes to feel stupid, so a very standard reaction is to lash out at the tools, say they are the issue, and go back to your comfort zone.  You get a lot of hating in tech on exactly that.  But not all frameworks or tools are bad, and writing things off as evil because you never invested the time to understand how they work are as silly in web frameworks as they are with compound miter saws and belt sanders.

At some point in the next couple of months I’m going to write up my own “getting your head around drupal” blog post, because I have to admit I did it by brute force.  Eventually I got enough insites to start getting productive.  It took a while.  I’ve been actively working on the farm site since september, and did a whole drupal layout back in the sprint just to kick the tires.  But overall, this was definitely worth it, and I’m quite happy with the output levels I’m getting now.

Midhudson IEEE Cloud Computing Workshop – Friday November 6th

Our local IEEE chapter does an annual fall workshop each year.  Last year was robots (which I apparently forgot to blog about…).  It was quite good, and showed off robots for largely military and educational purposes.  Some live demos (not for the military types) and videos were shown over the course of the day.  Good times.

This year the IEEE is doing their workshop on Cloud Computing.  While the website and pdf still say Nov 3rd… it’s not, it’s Friday the 6th (this event is always on a Friday).  I’m going to repost the details embedded in the PDF here, because while google deals with PDFs, it’s a lot easier to refer people to a website.

Sponsored by: The Mid-Hudson Section of the IEEE and The School of Science and Engineering, State University of New York, New Paltz Co-sponsored by the Mid-Hudson IEEE Computer Society

When:  Friday, November 6, 2009

Where:  The Terrace Restaurant, SUNY New Paltz campus (all campus facilities are fully accessible and comply with the Americans with Disabilities Act).

Registration Fee: $20 per person – free to Mid-Hudson IEEE members or students with valid ID (includes coffee breaks and buffet lunch, plus CD ROM with presentation materials and invited papers). Please contact the organizers for information on registration fee waivers due to economic hardship. Advance registration payments (checks drawn on a U.S. bank only) may be made out to the CAS 8600. Send check to: School of Science and Engineering, 1 Hawk Drive, State University of New York, New Paltz, NY 12561. Attendees may also register at the door on the day of the workshop.

Scope and Purpose: There has been a great deal of recent interest in new ways to deliver information technology (IT) resources to large organizations. This has been driven by significant reductions in the cost of computing cycles, mass storage, and network bandwidth, as well as a desire to pursue more federated data center designs, reduce operating expenses, and conserve energy. One significant emerging trend involves outsourcing selected business to IT service providers; the enabling technology and business model are both referred to as Cloud Computing. There has been a great deal of discussion around what cloud computing actually means to the IT industry, maturity of the enabling technologies, and training a new generation of IT staff. In this workshop, we’ve invited a number of distinguished speakers with first-hand experience in cloud computing to describe their work and share their vision for the future. The emphasis will be on development of cloud computing architectures, software, and networking for a range of practical applications, and on the viability of this approach for emerging data center designs. A panel discussion on current trends and directions in this field will also be included.

Attendees will have the opportunity to interact with the guest speakers through informal discussion breaks throughout the day, and a question/answer session will be held at the end of the panel discussion to assess those attendees wishing to apply for continuing education units under the New York State Professional Engineers program (there are no prerequisites for this workshop). Attendees will also have the opportunity to provide written feedback on the various sessions during the day. Invited papers and other presentation materials will be made available on CD as part of the registration package.

Agenda (as of Oct 23):

8:00 – 9:00 On-site registration and coffee
9:00 – 9:30 Welcome (Dr. Daniel Jelski, Dean, School of Science and Engineering, SUNY New Paltz; Dr. Baback Izadi, (2009 Chair, Mid-Hudson Section of the IEEE) Prior and future SUNY workshop topics (Dr. Casimer DeCusatis, IBM)
9:30 – 10:00 Dr. Casimer DeCusatis, IBM, and Todd Bundy, Adva Optical Networking, “Cloud Computing Fundamentals & Applications”
10:00 – 10:30 Michael Haley, IBM, “Emerging Cloud Data Centers”
10:30 – 11:30 Brian Goodman, IBM, “Building the compute cloud: firsthand experience”
11:30 – 12:30 Buffet Lunch, The Terrace Restaurant
12:30 – 1:00 Carolyn DeCusatis, Pace University, “Converged Networking for Cloud Data Centers”
1:00 – 1:30 Dr. Robert Cannistra, Marist College, “A new curriculum for cloud data centers”
1:30 – 2:00 Dr. Aparicio Carranza, City College of New York, and Jorge Martinez, EMC, “Migration of legacy storage area networks”
2:00 – 2:30 coffee break
2:30 – 3:00 Aneel Lakhani, IBM Global Services, “Cloud Computing showcase data center”
3:00 – 4:00 Panel Discussion, “The future of enterprise data centers: what will be the role of cloud computing ?” (all invited speakers)
4:00 – 4:15 Concluding Remarks (Dean, SUNY New Paltz)