Categories
Technology Web Weblogging

Installing and customizing Planet

I recently installed Planet software in order to provide one common feed from all my different web sites. I like separating out my different interests into different web sites. However, for those who are interested in keeping up with the various writings, having to subscribe to multiple feeds can be irritating. Enter Planet Planet.

Planet is a feed aggregator–an application that aggregates several feeds into one, and then provides a display of the result. The application uses Mark Pilgrim’s Python feed parser to parse any valid RSS 2.0, RSS 1.0, or Atom feed. It then combines the data into one coordinated whole, which is cached and published as both feeds and XHTML web page. To simplify the page generation, the software uses Tomas Styblo’s templating engine, which takes tags added into a template page and transforms them into generated XHTML output.

Though Planet Planet is written in Python, you don’t need to know any Python to use the application. All changes to the application occur through the templates, the stylesheet, and the configuration file, config.ini. You do need to have Python 2.2 on your server, but most hosting companies pre-install Python.

To start, download the Planet Planet software to your desktop and unzip it to a folder. Contained in the zipped file are several files and folders. The ones of interest right now are the INSTALL file and examples folder.

Within the examples folder, there are several folders and files. Two–basic and fancy–provide configuration file and index page templates, one plain, and one more fancy. Until I create my own template, I’m using the fancy, which provides a nice output page. I copied the index.html.tmpl and config.ini files within the fancy subdirectory to the main examples folder, the images folder and stylesheet to the output directory (discussed later) and deleted the fancy and basic folders. The resulting list of files and subdirectories in examples is now:

config.ini (configuration file)
index.html.tmpl (XHTML template file)
atom.xml.tmpl (template file for the atom feed)
foafroll.xml.tmpl (template file for FOAF roll — Friend of a Friend blogroll)
opml.xml.tmpl (template file for OPML list)
rss10.xml.tmpl (template file for RSS 1.0 feed)
rss20.xml.tmpl (template file for RSS 2.0 feed)
cache (folder)
output (folder)

You’ll be editing your configuration file, but first we’ll load the application to your server and then edit and re-load the configuration file. The Planet software doesn’t have to be accessible by the web: it’s processed using an application command (discussed later). As such, it can be installed in top level of your site. For instance, most folks have a site structure that looks like the following:

/home/yourname/public_html/website

or

/home/yourname/www/website

The website portion (www or public_html) is accessible by the web, the host name directory (/home/yourname) is not. The Planet software can be installed anywhere, but I preferred to put it in my home directory (/home/yourname).

I used my FTP application (Cyberduck, my favorite) to upload the entire Planet folder to my home directory. Since I installed Planet where it’s not web accessible, I deleted the output folder in examples. Instead, I’m having my generated Planet files put into a new subdirectory I created, planet, which is located in my home directory, among the web sites:

/home/yourname/www/planet

Most hosting companies allow creation of subdomains, and I created mine as planet.shelleypowers.com. However, you can also just access the site as a subdirectory, http://yourdomain.com/planet–makes no difference to the software.

Once I determined where the generated files would be created, and how they will be accessed from the web (such as http://planet.yourdomain.com), next step is adjust the config.ini file. It can be edited using your favorite text editor (such as Notepad in Windows, TextEdit in Mac). I’ll cover each section, in turn.

The top section looks something like the following:

# Planet configuration file
#
# This illustrates some of Planet’s fancier features with example.

# Every planet needs a [Planet] section
[Planet]
# name: Your planet’s name
# link: Link to the main page
# owner_name: Your name
# owner_email: Your e-mail address
name =
link =
owner_name =
owner_email =

Next to each field, type in the value. For my site, it’s as follows:

name = Planet Powers
link = http://planet.shelleypowers.com/
owner_name = Shelley Powers
owner_email = shelleyp@burningbird.net

The name is the name that’s displayed as the title for the generate output. The link is the URL for the generated output. Owner name and email is self-explanatory.

The next section looks like the following:

# cache_directory: Where cached feeds are stored
# new_feed_items: Number of items to take from new feeds
# log_level: One of DEBUG, INFO, WARNING, ERROR or CRITICAL
# feed_timeout: number of seconds to wait for any given feed
cache_directory = /home/yourname/planet/examples/cache
new_feed_items = 2
log_level = DEBUG
feed_timeout = 20

The cache directory is where the cached feeds are stored. It’s the full pathname of the installation at your site. In my case, my home directory, followed by planet, then examples/cache. The new_feed_items is the number of new feeds to take from each feed aggregated in your installation. You can adjust this to take more than 2 to as many as you prefer.

The log_level is used to determine what is written out to the Planet software log. Currently this is set to DEBUG; leave as is. The feed_timeout is set to 20 seconds. This is the length of time before a timeout occurs when trying to read any feed. I’d suggest you leave this alone, too, for now. if you find that you’re missing out on a feed, you might want to adjust this value.

The next section lists out the template files, each one separated by a space. You can use as few or as many templates as you want. In my case, I wanted the main web page (index.html.tmpl) as well as the three feeds. I wasn’t interested in the FOAF roll, or the OPML file, so I deleted them from the line.

I also had to adjust the path location for each file. This isn’t the URL; this is the actual file location, such as:

/home/yourname/planet/examples/index.html.tmpl

My template_files setting at this point is:

template_files = /home/yourname/planet/examples/index.html.tmpl /home/yourname/planet/examples/atom.xml.tmpl /home/yourname/planet/examples/rss20.xml.tmpl /home/yourname/planet/examples/rss10.xml.tmpl

The next section contains several settings, including the output directory. You’ll want to provide the full file path for the output directory, such as /home/yourname/www/planet/. This is where the generated files will be put, not the Planet software installation.

You can also define how many items you want per page (default is 20), the file format, the type of encoding, and locale. Unless you have a specific reason to alter the date formatting or encoding, I’d leave as is. You can set the locale to whatever is appropriate for your own locale, such as fr_FR.UTF-8 if the result will be in French. Otherwise, you can leave it as the default, which is ‘C’, a Python default value, using the server’s locale setting.

Following is a section where you can provide template specific settings if you want to use different settings for each template. For instance, if you want your RSS 2.0 feed to be in French, you could define a locale setting specific to this template. Right now, though, we’re using the default templates and settings, so we’ll leave this section blank.

The next section settings are self-explanatory: how many days to display, and if you want to disable a feed that’s been inactive for so many days. The section after provides a default width and height setting for photos (or other images) if you want associate an image with each feed. To see an example of Planet using face images, check out Planet Gnome, which also incorporates a nice use of CSS.

The last section lists the feeds. For each, you provide the feed URL, and optionally, the feed name, face image (or icon image), and custom width and height for the image if it differs from the default. There’s more that can be defined in this section, but I’ll cover that in a later posting. For now, in my installation, I have the following:

[http://words.einsteinslock.com/feed/atom/]
name = Just Shelley
# pick up the default facewidth and faceheight

[http://bbgun.burningbird.net/feed/atom/]
name = The Bb Gun

[http://scriptteaser.com/feed/atom/]
name = ScriptTeaser

Contained in square brackets is the feed URL, followed by the feed name.

Once the config.ini file is edited, it’s uploaded to the directory, usually the same location where the template files are located. Then it’s just a matter of running the application.

If you have command line access to your server, through SSH or via web application, run the application like follows:

python /home/yourname/planet/planet.py /home/yourname/planet/examples/config.ini

Specify the full pathname of both the application and configuration file, to ensure both are found. If all goes well, you should see the generated pages in your output directory. Otherwise, you’ll see an error in the output. This is usually fairly easy to debug: most of the errors are the application not being able to find the template or configuration file, or not being able to generate the output to the output directory. In other words: path information.

If you don’t have command line access, or do and the application runs fine, time to set up the application to run on a regular basis. Most hosts provide an option to add cron entries. A cron ‘job’ is one that runs at a regularly scheduled time. If you use cPanel to manage your site, use the following steps:

Access the cron setup page.

There are two ‘styles’ of cron setups; select Standard.

In the page that opens, enter an email address where the Planet software output is to be sent. Once the application is running properly, you’ll most likely want to remove this.

Next add the command line to be run. It will look something like:

/home/yourname/planet/planet.py /home/yourname/planet/examples/config.ini

Then pick the times when the application is run. If you’re only just testing the application, have the application run every five minutes, so you can check out the output after making edits. Otherwise, set how often the cron job will run by setting the minute, hour, and day of week when the application is run. My own is set up to run at the top of the hour, every hour, every day of the week. Unless you have a great number of feeds, this should be sufficient.

At this point, you should have a working Planet installation, using default settings, templates, and stylesheet. All of this, without once touching Python code.

You can use the software to aggregate the feeds from your sites, as I do. Or you can use the software to aggregate feeds from other sites. A popular use of Planet is to aggregate sites based on topics–here’s your chance to aggregate your favorite food, literature, political, tech, whatever sites. You can even create multiple aggregations, as I do for my feeds and my comments. One installation of Planet can process any number of aggregations–all you need is separate config.ini files.

To recap:

Download the Planet software and unzip.

Copy the files to an installation directory. This location does not need to be accessible via the web.

Create a location for the output files. This output directory must be accessible via the web. Convention has it that the directory is named ‘planet’ but you can use whatever you want.

Determine whether you’ll use the plain or fancy template and copy the index.html.tmpl file and config.ini to the same location as the other template files. If using the fancy template, copy the images subdirectory and stylesheet to your newly created output directory.

Edit the config.ini file providing, at a minimum, Planet name and URL, owner name and email, actual path location of the template files and output directory, and a list of feeds.

Copy the config.ini file to the installation directory.

Run the application, either from the command line or as a cron or other schedule job. You may have to get your hosting company’s help with this.

Categories
Diversity Technology

Girl Geeks. Fact? Or Oxymoron?

Recovered from the Wayback Machine.

In her OPML weblog, Hilary questioned the seeming double standard of calling Dave Winer out for sexist behavior, but not dong the same with Maryam Scoble. She has a good point.

I had noticed Scoble’s original posting related to BlogHer, where she wrote:

Are you a a single male geek wondering why your love life sucks? Are you a married male geek wondering what’s wrong with your marriage? I can tell you what your problem is and there is an easy solution for it too. You should be at Blogher. Or you should send your significant other to Blogher and if at all possible attend the conference with her. If you are mising Blogher conference, I am gonna tell you in my best Dr. Phil voice: What were you thinking?

There are rooms full of beautiful, smart and smiling women here at Blogher. We have exotic brunettes, brilliant blondes and sexy red heads.

I’ve never heard a tech conference described in this way, whereby the members of the conference were called beautiful in dozens of different ways–as if to assure one and all that though the ladies may be independent, they’re still cute as buttons. As for calling all the ‘geeks’ with the assumption that they’re men…well.

Why didn’t I say anything? Because I had already been critical of actions undertaken, or not undertaken, by women associated with BlogHer; actions I thought were more important to discuss than Ms. Scoble’s tossaway remarks. Frankly, I didn’t need to generate a discussion on yet another front.

As for Scoble’s more recent post:

Geek to me stands for someone like my husband, addicted to his gadgets and his email and his Internet connection, very intelligent when it comes to machines, technology, and Internet and not so savvy when it comes to dealing with people, fashion and emotions.

I am lucky enough to know many smart and technologically advanced women, but I don’t categorize them as geeks even though they are as good as if not better than any male geeks I know when it comes to dealing with computers. I guess what I want to say is that women as hard ass as they can be in the technical field still have some RAM left for the soft stuff. They are more than just geeks. Is my logic flawed? What do you all think?

I think your logic is flawed.

First, I want to go on record, right here and now, as saying I don’t see Robert Scoble as a ‘geek’. I see him as a very astute marketing person with a great deal of discretionary income and a short attention span.

So, if Robert Scoble is not ‘geek’, what is a geek? According to the dictionary:

n.

1.
1. A person regarded as foolish, inept, or clumsy.
2. A person who is single-minded or accomplished in scientific or technical pursuits but is felt to be socially inept.

2. A carnival performer whose show consists of bizarre acts, such as biting the head off a live chicken.

I think I can safely say that no woman I know of would want to be a ‘geek’ according to this definition. Oddly enough, I don’t know of any man who would aspire to be the dictionary example of ‘geek’, either. That’s not to say there aren’t men and women who like to bite heads off of live chickens; just that I don’t, personally, know of any.

I like what Wikipedia has to say on ‘geek‘:

A geek is a person who is fascinated, perhaps obsessively, by obscure or very specific areas of knowledge and imagination.

Whether you agree with this definition or not, it’s beautiful, isn’t it? I could accept this as a label. I could live with being a Wikipedia geek.

The article also goes on to make some other distinctions on ‘geek’, including the fact that geek is not anchored to technology: one can be a music geek, literature geek, history geek, and so on. As for geek behavior, the article has the following:

Many teenage and college students adopt the stereotypical outward traits of geeks in order to fit in with the so-called geek subculture. It has been observed that many of the classic eccentricities associated with geeks has been due to their social awkwardness and were thus naturally occurring instead of contrived behavior. However, in the recent decade, many geeks have cultivated for themselves a number of behavioral traits that one sports as an indication of being “in the know” and “out of the mainstream”. These range from geek humor and obscure references to t-shirts sporting references to geek culture or interests. Also, many individuals, male and female, in an effort to avoid the dry, academic, no-nonsense stereotype associated with those in the intellectual, technical, and scientific fields (who historically have often been depicted as being quiet and reserved if not socially inept), cultivate personality quirks and eccentricities in order to appear more interesting.

Notice the reference to male and female: the article makes no assumption as to sex of the geek, only behavior. However, if one looks in the discussion page, this wasn’t always so. There, in one section related to geek girls we find:

sigh False hope: this link redirects to the top of the regular Geek page. As the daughter of a NASA scientist (therefore well versed in classical Geek culture) I have a few questions to raise:

* Can a pretty girl be a geek?

Yes. It’s worth pointing out though, that most of the girls who call themselves geeks have very little geek cred, and are actually what are known as scene whores in the Linux community. This would be descriptive of a hanger-on who is attracted to the “culture” of geekdom. Amazingly, there is such a thing as a “geek groupie’.

* What’s the relationship of geekdom and sex?

I have a thoroughly nonscientific theory, probably non-PC as well.

The formative Geek years are adolescence. It’s pretty easy for a guy to become a geek even if he’s fairly good looking. A teenage girl who’s good looking is going to get attention. She’ll also experience far more social pressure to maintain her appearance. This leads toward the social mainstream and away from advanced Linux skills, strangely worded t-shirts, and the Monty Python oeuvre.

Geekery could be called a set of behaviors that people engage in when they can’t have sex. Once a geek persona is firmly established it withstands romance. Developing geeks need abstinence. A young woman with natural geek tendencies who seeks out geek gatherings is probably going to get laid. Or at least get hit on by a huge number of guys. This inhibits the proper development of her geek nature. There are exceptions to this rule…but that kind of proves the rule, y’know?

Thankfully, this person’s attempt to establish a separate ‘geek girl’ page at Wikipedia was halted, and the effort redirected back to geek.

From all of this, do I consider Maryam Scoble to be sexist? Hard to say. I don’t read her weblog and my only exposure to her, online, has been her participation at BlogHer. At a minimum, I’ll say that she’s confused and perhaps lacking in empathy about what’s important to women who are technologists.

Returning, then, to my old standby–the literal meaning of things–according to the dictionary ’sexist’ is defined:

n.

1. Discrimination based on gender, especially discrimination against women.
2. Attitudes, conditions, or behaviors that promote stereotyping of social roles based on gender.

I’d have to say that Maryam Scoble is sexist according to the second definition: for labeling and limiting men. After all, women can be anti-social, spendthrift, goods obsessed slobs, too.

As for Mr. Winer and his disappeared post from yesterday, and the more extensive version posted today–now I do have a long, long history with Dave. If I thought he, and others, wanted a dialog on sexism, in the past I would have tried. In fact, in the past I did try.

Unfortunately I can’t now, because I no longer know how to have a dialog on sexism in weblogging. I don’t know how to separate out the bits that are meaningful from the bits that are tossed out only to seek attention. I don’t know how to make my points without someone taking whatever I say, no matter how indirect, and making it personal. Disagreement is seen as criticism and criticism is seen as flames–you can’t have a dialog with these rules.

Someone else will have to have that dialog with Dave. Perhaps the folks of BlogHer; perhaps no one at all. As to the question that drives all of this: is Dave sexist? Is Dave not sexist? You know, I really don’t care one way or the other.

Categories
Technology

Trifle Architecture

Recovered from the Wayback Machine.

When is software architecture like a desert trifle? When it’s in the hands of an imaginative Cal Henderson, software developer at Flickr.

I’m both hungry and inspired to create something.

Categories
Technology

Gartner’s Hype Cycle

Recovered from the Wayback Machine.

Gartner has come out with a press release titled 2006 Emerging Technologies Hype Cycle which …assesses the maturity, impact and adoption speed of 36 key technologies and trends during the next ten years. The report is broken down into three main categories: Web 2.0, Real World Web, and Application Architecture.

I find myself agreeing with the report, specifically:

* Limited uses of Ajax technologies will have a significant, and positive impact on web sites in the next two years.

* Mashups will hit the mainstream in the same time period, but they are vulnerable since they do have external dependencies.

* Location aware technologies will be fairly common within two years, and I can see a huge increase in functionality within five. Enough so that I plan on focusing much of my energy in this direction.

* We are starting to see corporate interest and involvement in semantic web technologies, such as the use of RDF and ontologies, but I agree: it will most likely be about a decade before this really explodes. Now is the time for companies to position themselves for this explosion, as it takes most corporations years to make significant data direction changes.

About the only thing I have to quibble about the report is the fact that it doesn’t stress enough, in my opinion, how lightweight technologies are going to make an inroad into today’s extremely heavy architecture. It somewhat covers this in several of the key points, but I think its important for companies to realize the complex infrastructure architectures, such as J2EE, with its reliance on extremely over-engineered functionality, are going to begin to fail under their own weight. Even re-engineering something such as EJB (EJB 3.0) isn’t going to be enough to save these in the long run: say Gartner’s high end of ten years.

The advice at the end of the report was spot on:

Despite the changes in specific technologies over the years, the hype cycle’s underlying message remains the same: Don’t invest in a technology just because it is being hyped, and don’t ignore a technology just because it is not living up to early expectations.

“Be selectively aggressive — identify which technologies could benefit your business, and evaluate them earlier in the Hype Cycle”, said Ms. Fenn. “For technologies that will have a lower impact on your business, let others learn the difficult lessons, and adopt the technologies when they are more mature.”

All it all, an excellent report.

Categories
Technology

SxSW Panels

Recovered from the Wayback Machine.

SxSW has posted a list of panels, and you can vote on which ones to be presented*. danah boyd is participating in one and I’m happy to pass along her request.

Though I’m not going, if I were, I’d want to see the following panels myself:

Web 2.0 and the Semantic Web: The Impact on Scientific Publishing

New publishing technologies challenge the traditional structure of peer-reviewed scientific journals. For hundreds of years the “article” has been the primary vehicle for conveying scientific information – but semantic markup, tagging, and wiki are reconstructing scientific publications into a flexible and evolving concept. This panel will look at the social and legal implications of “Web 2.0″ and “Semantic Web” as they impact science and scientific knowledge.

John Willbanks

Spam of all Kinds: Dealing with Online Abuse

Spam, spim, spit, comment spam, referrer spam, splogs, software exploits, viruses, worms, phishing, dictionary attacks, cross-site scripting, social engineering: does everything new we do online have its own categories of abuse we have to protect ourselves and our users against? Can anything be done to stop it, or at least to defend ourselves against it? Listen to the experts as they discuss the solutions, for better or for worse.

The above is by Steven Champeon, one of the reviewers for Learning JavaScript, so I have a bias.

A Decade of Style

It’s been just over ten years since CSS1 was finalized, and almost 11 since the first CSS-supporting browser was shipped. A small group of grizzled veterans reflects on a decade of successes, triumphs, failures, disappointments, reversals of fortune, and just plain fun in the world of CSS and web design. Warning: may include surprising historical information, residual kvetching about past mistakes, and context for interpreting the next ten years.

Eric Meyer, who really knows CSS

Dueling Ajax Toolkits: Don’t Reinvent the Window

The number of Ajax Toolkits on the market seems to be outpacing the number of solid Ajax developers. Join us as the developers of the leading Ajax Toolkits square off to show you why you should choose their toolkit instead of creating yet another Ajax toolkit.

Dylan Schiemann

There are also three 3D talks that sound interesting, though I’m not into gaming; several on accessibility, which would make the conference worthwhile for any web page developer; how XSLT is sexy; one on the browser wars, which should be interesting, and on an on. Some really good sounding panels. I’d even think of going, but I’d be as welcome there as a wart on a wedding ring finger, just before saying the “I do’s”.

Anyway, if you are going, pick your panels.

*Note to O’Reilly, something to think on for the next ETech–let the audience be the conference jury.