Category Archives: Uncategorized

Mediawiki vs Drupal for a community site

After our android hack-a-thon, Frank put a page in the MHVLUG wiki to start to stub out Android information that we’re all finding useful.  It’s small, and largely a stub, but it’s a start.  When I went back to shift a couple things around, I started to really wish this whole things was Drupal instead.

Drupal gets a lot of hate in the tech world, so I’m sure that I’ll get complaints or at least scoffs.  I’ll get into why I wish this was drupal in a bit, but first, some theories on why people hate drupal.

It’s popular.  There are over a million drupal sites out there, and you’d loose your tech street cred if you didn’t scoff at that which is popular.  I suspect that our high school experiences dealing with being unpopular probably shape that point of view.

It’s a big php application.  PHP has a low barrier of entry.  This is a double edge sword, because your average php developer is probably less skilled than your average developer in another language (Visual Basic has this even worse, as some time with the daily wtf will show.)  Being both php and big means that drupal security issues come up relatively regularly.  Like with wordpress, you need to keep on top of updates.  A 2 year old drupal install, like a 2 year old wordpress install, is basically a rusty door waiting to fall off.

People learn one tool, then try to make the world out of it.  I’ll brush off the first 2 complaints, as I think they are both addressable.  When talking to O’Connor recently, I found a much more reasonable complaint, which he was in the middle of.  Drupal is a content management system, and if you use it for semi structured content storage and display (i.e. a ghetto database), it’s great.  But because it has a module structure, a lot of people turn Drupal into a web application development framework…. which it really is not.  If you want that, check out rails, django, cake-php or something that actually gives you that level of control.  This is a standard issue – if you have a hammer, everything looks like nails.

If I was doing mhvlug.org over from scratch, it would be with Drupal.

What I’ve found over the last almost 7 years with MHVLUG is that being a wiki was better than being a static website, but that the number of edittors for the site is still in the single digits.  We’re a group of 150 people on the mailing list, 20 – 30 at a monthly meeting, 10 – 12 at our monthly lunch.  It’s a solid community, but it’s one with a pretty well defined reach, that’s been more or less constant now for at least the last 4 years.  People are fading in at basically exactly the same rate as people are moving away or fading out.

The bulk of what gets updated is information around the meetings.  If that was stored in a semi-structured way, it would be a whole lot easier to update in one place, and have it viewed different ways in different places.  If I didn’t have a project list queued out the door, around the block, down the hill, and… well you get the point, I’d seriously think about this one.

I’m pretty happy with how things are coming together in exactly this way when it comes to the farm website build on drupal.  Now that I understand what the right “types” structure is for the farm, the rest of it is just falling into place.

So for people looking to put up a website for a community in this day and age, I’d highly suggest that drupal is a good place to start.  Yes, you’ll catch grief from your other tech friends, but such is life.  Long term, I think it’s a pretty good call.

Update: I ended up redoing the MHVLUG website as a drupal site, with an extensive writeup on how.

Mid Hudson Valley Android Hack-a-thon

Last night we did the first, of what I hope will be many, MHV Android Hack-a-thons.  The basic idea was to get folks together that are interested in doing android mobile development, and having others around they could bounce questions off of.  We did it at Panera because they have food and wireless, though future sessions probably have to move elsewhere, like Barnes & Noble, because the 9pm closing time came a bit too early.

Turnout was promissing.  Frank, Kershaw, and Muller all showed with their android phones and laptops, plus we got 3 other folks that just wanted to see what an android phone looks like.  Frank and Kershaw both had the Droid, Muller has a google issued G1, and I’ve got my Hero.  It was definitely interesting to see the differences across all of them, and supports my theory that there isn’t a straight road when it comes to android base platforms.  The Droid did some things the Hero didn’t, the Hero did some things the Droid didn’t.  A big reason for these differences is how modular Android is.  You legitimately can replace any part of the core interface with your own code.  HTC Sense, for instance, is a Home replacement.  You can write your own.  HTC also replaced the default mail, sms, contacts, and a few other things.  Some for good (mail, contacts), some for worse (messaging power bug).  But as a user you are empowered to replace the SMS system with a 3rd party app, which I did.

The evening started off with “oh, have you seen this yet?” which got a lot of knowledge cross shared.  Frank’s starting a wiki page to try to keep track of that.  I got out my laptop early and started working through the Sudoku example application in Hello Android.  It’s a pretty good example that includes many of the widget systems as well as the 2D graphics API.  I’m pretty impressed with the book so far.  Frank and Kershaw spent some time getting the SDK installed and poking it, and Muller was focused on the Android Scripting Environment to do some python on the phone.

All of use except Muller are still a bit in the “ooo shiney” stage, as I’ve had my phone for a whole month now, and Frank and Kershaw have had theirs for less than a week.  I suspect that future hack-a-thons will actually start generating a bit more code.  I continue to be impressed by the API model for Android, and really look forward to working on applications on it.  Yes, Java is not as nice and terse as Ruby, but at least I won’t have to write widget packing code.  And that makes me a happy camper.

iTunes will not be the savior of the news media

I was listening to Fresh Air last night on the author of new book on google.  It started with a nice lay person description of a lot of what Google has been working on, and how the company evolved into the worlds biggest advertising firm.  When the laundry list of Google properties got to Google News, the interviewy made the following statement:

On the other hand, there is evidence that it can be done, and
Apple’s iTunes is a classic piece of evidence in this regard. I mean,
the idea that music – I mean, just think about five years ago, the
music companies were suing their customers on college campuses for what
they called illegally downloading their music. And it was illegal, by
the way. You know, they were breaking the law to do that, but it was so
commonplace that no one thought it was against the law to do it.

Well,
Apple comes along and they said we’ll charge you only $.99 and you can
pick the music you want. You could listen to a little segment of it
before you buy it, and you could buy individual songs. You don’t have
to get stuck with buying an entire CD for X many more dollars. And it
took off like gangbusters, and it’s been a great success for Apple and
something the customers who were used to free music have accepted. So
there are some models that suggest it can be done, but it won’t be
easy.

When looking for a general purpose solution to the fall off of newspapers, there are 3 models that are always put out there which “prove” that paywalls will work: The Wall Street Journal, NPR, and iTunes.  And they are all wrong, and present an over simplification.  The issue is, none of these things apply generally to the local newspaper model.  Clay Shirky does a better job of explaining why than I, but I will take a stab at the iTunes front.

When you buy (if you buy) music, you are buying a durable good.  It’s something that in 2 years, you’ll still probably be listening to, and yes, in this disposable age, that’s considered durable :).  It’s something you listen to dozens if not hundreds of times.  For this pattern, $0.99 seems like a fair trade off.  But even for that low low price, studies show that the people that buy the most music, as the ones that download the most first.  You can charge for music because it’s not ephemeral.  News paper articles aren’t like this.  When was the last time you reread a news article from your local paper 10 times.

I heard a great statement recently when listening to The Media Project, which looked at the Titanic.  This issue with the Titanic wasn’t that it was too big, or going too fast, or not enough life boats.  The issue was that 15 years prior the wright brothers invented the airplane.  Even if the Titanic hadn’t sunk, the company would have gone out of business in a decade anyway, because they were in the wrong line of business.

What this means for local news is sort of scary, but as Clay Shirky is found of saying: “A revolution doesn’t go from point A to B… it goes from point A to chaos, then after a long time someone figures out what B is.”

Things to think about if you want an Android phone

In a week Verizon is launching 2 android phones, the droid and the eris.  Sprint will have the moment by then, which adds to their existing Hero.  T-Mobile has the G1 and the MyTouch.  For each carrier this gives you 2 phones to choose from:

  • A hard keyboard phone (G1, Droid, Moment)
  • An HTC phone with the Sense UI (MyTouch, Hero, Eris)

While droid has gotten all the attention this past week for being the first Android 2.0 device, I’m cringing a bit with what the reaction to that phone is going to be on the mass market.  It’s being placed head to head against the iPhone, which currently defines usability on the market.  From my experience on the 1.5 front, the difference between stock android (which the G1 has) and Sense on a 1.5 phone is night and day.

HTC really went to town to provide a very smooth experience to the user.  This is an interface that had a lot of user testing and human factors put into it.  This polish is what has gotten the Hero praise as being the best gadget of 2009.

It does not, however, provide a hard keyboard (and I’m not sure if there will ever be a cross over there).  A lot of people are going to go to the droid because of that hard keyboard, and large screen, which is totally understood.  But for friends that have been looking at the device I’ve tried to convince them to look at the Eris at the same time.  I really think the Sense UI makes the phone more compelling.  It adds this slickness to android that isn’t there, yet, in the base.  If user experience is your top concern, it’s worth looking at one of the HTC Sense phones when you contemplate your android purchase.

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)