Just got rolling with a VPS on Linode (Part 1)

Note: A large part of this is taken from Victor Kane's article on Awebfactory about setting up Drupal on a fresh Linode, but I've documented some other things here and did some things a little differently than he did, so I figured it'd be worth writing up a post on the process. I've kept the details thin here in places where Victor's notes are more than satisfactory, but I've made sure to note where that happens.

Update: Be sure to check out part 2 of this article, as well.

I've spent the last several months of my off-work hours plugging away at helping the folks over at Gamers With Jobs get rolling with an upgraded version of Drupal, and in the process we decided to move from a shared hosting environment to a place where we've got a lot more control over performance and site configuration. In the meantime, Victor Kane's article on getting Drupal up and running on a Linode came across my RSS reader and provided the kick in the pants I needed to really investigate it. I looked at several VPS options, but in the end Linode seemed to be the best. They offered a seven day money back guarantee, which honestly isn't much, but it was long enough for me to feel comfortable giving it a shot without being out sixty bucks, so I decided to try it out.

Signup Scheduler and Status modules

Over the past couple of weeks I've put a ton of time into a couple of modules that extend the functionality provided by the fantastic Signup module. Both of these modules come as a result of requirements defined by a project I've got going at work. We're creating a course catalog and the Signup module was our pick for how users "register" for courses. The base module is pretty solid, but we needed some additional functionality to meet the requirements of the registration system.

Organic Groups - Select Audience by Group Type

Last week I posted up a new Drupal module that attempts to improve the usability of the Organic Groups module when it's used with multiple group types and large numbers of groups. The module modifies the node edit form's audience selector, provided by the Organic Groups module, such that the groups are selectable by content type. This is useful on sites with a very large number of groups and many different group types.

New theme

I was getting tired of my old theme's design and didn't feel like updating it. It's not so much a matter of not wanting to do it as not having the time or ability to design a theme from the ground up. I really like writing the code behind a theme - I've done that many times in the last couple of years - but I just don't have the graphic design skills to come up with something top-notch, like the Deco theme, which I'm using now.

Journalistic integrity in enthusiast gaming coverage

In the wake of Jeff Gerstmann's controversial firing from Gamespot, the larger issue of journalistic integrity in the enthusiast gaming press has come to the forefront. I don't have much to say on the issue, aside from echoing N'Gai Croal's we haven't the faintest non-fatal suggestion for how to close up Pandora's box now that it is wide open. If you're not familiar with the story, it started after Gerstmann was suspiciously fired after a negative review of Eidos's Kane & Lynch, which had been heavily advertised on Gamespot in the days leading up to the review.

Drupal Node Overview training materials

I'm wrapping up my first semester of classes in ASU's Educational Technology Master's program, and the final project for my EDT502 (Design and Development of Instruction) class was to design a program of instruction. It was strongly recommended to us to keep the program length to one hour, and to choose something we were familiar with. So, of course, I chose Drupal!

This one hour training program was designed to be a focused and quick introduction to Drupal's node system. The target audience is potential Drupal developers who have experience administering Drupal, and its major focus is on presenting nodes as objects that can be modified by modules. It has three main objectives:

  • present an overview of Drupal's node structure in easy to understand terms;
  • provide attendees with useful tools for inspecting the structure of a node; and
  • give attendees the knowledge required to identify where and when nodes are modified.

I envision this being just one unit in a much larger set of materials that provide a solid introduction to Drupal development. I'm pretty excited about what I was able to come up with, and have started sketching out plans for other units. I've decided to post this unit up here to see if I can get any feedback, and to see if anyone is interested in helping me make the full program of instruction a reality. Please see the attachments below for the full final project. I've included everything. Please feel free to let me know what you think!

Some development notes

This is probably just about the most obvious observation to anyone who has written a technical training program or book before... but, man it's a lot of work! But, it's also incredibly rewarding and satisfying. At the same time, I'm not sure I see myself doing it for anything but material I'm passionate about and I certainly have no desire to be a full time instructional designer. I'm a little worried this could cause... issues... with the rest of my time in the Ed Tech program, but I'm optimistic that it won't.

Apple's Pages '08 is an incredible application and I credit using it with giving my project a level of polish I never would have been able to achieve on my own. I have nothing but praise for the way that Apple has solved issues that have plagued Microsoft Word for years. The UI is incredibly simple and straightforward, and accomplishing fairly complex tasks is a snap. I'm very excited to continue using it in my work.

Google Docs is great for just about every word processing task I have in my daily work. Most of my text heavy documents are written in Google Docs and never leave Google Docs. The framework there provides an awesome solution for taking notes, planning projects and collaborating. However, it is not good for writing materials that you intend to be well designed and printable with reasonably predictable results. I spent quite a few hours porting material from the Google Docs in which I drafted the project to Pages, and the process was not smooth. Next time, I'll plan ahead and start something like this in Pages right off the bat - and I'll just use Subversion as my change management tool.

Update:
I've added the project retrospective, called the Program Development Report, which I just finished up today. See the attachments for the PDF.

If you're coming from the front page or an RSS reader, follow the "read more" link below for the attachments.

Useful bash scripts

Just some personally useful bash scripts:

Find and delete files using a pattern

Find all files containing a particular string and do something with them - in this case, delete all files like "._*" i.e. "._user.module". This is usually junk left over from dead SSH sessions

Pages

Subscribe to jeffbeeman.com RSS