Archive for January 2005

Alternating Colors for Posts Hack

This hack was originally made for WP version 1.2. It works with 1.5 though the line numbers mentioned are a little different.

This is a derivative of the Alternating Colors for Comments change

In Index.php, add what’s in red in line 34 like so:
<?php if ($posts) :$i=0; foreach ($posts as $post) : start_wp(); ?>

Replace line 40:
<div class="post">
with the following:
<?php if($i%2) {echo "<div class="post-even">";} else {echo "<div class="post">";} $i++ ?>
To finish it off, add a class in wp-layout.css like so:
.post-even { background-color: #EEEEEE;}

And gosh darn it, I can’t figure out how to do proper code quoting. The entries
above do NOT display correctly. The double quotes inside the echos need to be
escaped with a slash just before them. Sorry I can’t display them properly in
Wordpress!
 

Plaxo is imperfect

I’ve been using Plaxo.com’s free address updating software for over a month now and I’m very happy I got it. It works peachy.

Yesterday, however, I got a Plaxo update that…. well it wasn’t a Plaxo update. My cousin Deann sent me a letter that had been forwarded a few times and… I don’t know, there must have been some errant headers in it because Plaxo on my computer thought that it was a real update. It wanted to update Deann’s address to some crazy values that the program had sniffed from the email. The important part here being that if I had set Plaxo to automatically update my addresses, her old / real address would have been overwritten!

Plaxo’s pretty darn good but it isn’t perfect. The moral of the story is that you should leave "Accept Changes to Contact Information Automatically" in the Advanced Options group off.

Spam Karma stopped my first comment spam(s)

I knew it wouldn’t be long…. After the cut is an email from Spam Karma telling me about how it nixed 10 comment spams. I’m glad it succeeded but I’m still quite worried about this issue. I’ve found several comment spam stoppers, including the one I was most looking for, where only people with accounts on the system can post comments. We’ll see how this goes first though…

Continue reading ‘Spam Karma stopped my first comment spam(s)’ »

Installed Spam Karma

I installed Spam Karma and tested it a bit. Let’s hope it keeps the wolves at bay.


2-7-05 update. It works really well. So far 80 spams automatically blocked and 16 comments automatically let through. Batting 1000 so far.


2-12-05 update. You can find really good Spam Karma documentation

Notably:

Realtime Blacklist URL

All Spam Karma-enabled blogs publish their realtime blacklist by default at:
[http://yourdomain.com/path/to/wordpress/]wp-content/spam-karma/export-blacklist.php
You can use this URL to refresh your blacklist if you trust that whomever you are hitting for updates also keeps up to date and doesn’t let their list be polluted by bad entries.
Mine should be available.

Alternating Colors for Comments

I snagged this nice idea from gfmorris about how to make comments in WordPress stand out from one another. I changed the code a little because his quotes didn’t work for me.

Starting at about line 37, add the items in red to wp-comments.php:

<?php $j=0; foreach ($comments as $comment) { ?>
<li id="comment-<?php comment_ID() ?>" <?php if($j%2) {echo "<div class="comment-even">";} else {echo "<div class="comment-odd">";} $j++; ?>

Finally, put these in your wp-layout.css

.comment-even {background: #CECECE;}
.comment-odd {background: #F0F0F0;}

An example of what you might get out of this is in the neighboring image.

Verizon DSL CD is bad

I was installing Verizon DSL for a customer and ran into a big problem. The CD installation hangs. I called customer support and they said that was a known problem (!!!). Here’s what to do:

  1. Call Verizon at xxx-xxx-xxxx. Get a username and password from them.
  2. Go to the home page of the Westell Versalink 327W wireless DSL modem at 192.168.1.1.
  3. Click on “Profile Editor”.
  4. “Edit” the connection. If it says something like user= NewDSLCustomer”, you know the install crapped out. Replace the username and password with the client’s.

Until you’ve done this, you’ll be able to use PPPoE directly by “Connecting” to Verizon Online. But that is a bad stopgap.

Constant Blogging

Now that my blog lives on my website, I can blog whenever and wherever I want as long as I have an internet connection. Like right now, I’m at a customer site waiting for a program to install. It’s a pretty weird feeling. It’s a lot like the giddy cutting-edge-ish feeling I had when I first got a cell phone. “I can now talk to anyone, at any moment! I am the master of my technology! Mu ha ha!” Of course, that feeling didn’t last too long. We’ll see how long this feeling lasts.

Now, everyone can follow along all of the things that I do during my day.
Installing an HP printer…. 1%…. … … … ….. 2%.. … Are you all following along at home?

Hmm, polished edges can sometimes rust pretty quick.

WordPress it is

After way too much deliberation, I’ve decided to go with WordPress.

WordPress, don’t fail me now.

I’ll see what I can do about importing my old journal into this system as soon as I can figure out how to do it. It might take a while.

For the time being, my previous journal pages will continue to be available on my old journal pages.

Going with WordPress

I’m going with WordPress. It’s under active development and I’ve found some anti-spam plugins and the like. You’ll see my new blog shortly.

Blogging Systems

I’m not going to put my blog on some “free” advertiser supported site where you have to click-sign away rights to your own material, that’s put into a database that I don’t have access to, on a server of unknown reliability.

But then…

  • Nucleus can’t put a blog entry into more than one category.
  • WordPress doesn’t require users to register before posting comments, hence, it is comment-spam bait. (I received about 20 comment spams on the first day of use and could find no reliable way of stopping them without entering an obfuscation battle with the spammers, a battle I don’t want to fight)
  • PMachine Free Edition doesn’t seem to support permalinks in a nice way. I think the $150 pay version, “Expression Engine” does.
  • BlogCMS isn’t supported natively on Spenix (I’ll still try it soon anyway)
  • b2evolution also has minimal protection against comment spam.

You might think I’m overreacting when I talk about not using a particular system because of comment spam problems. But I’ve seen WAY too many blog posts like the following “i never write here anymore. i’ve had it up to here, there and okay there with pr0n comment spam.” That comes from a b2evolution user.

Just do a google search for wordpress “comment spam” or b2evolution “comment spam”. It’s a huge problem.

My current system still keeps chugging away…. a flat file index.html file that I hand edit with Frontpage. CSS makes it look good.

Here’s a nice analysis from Kas Log (I would have put this behind a ‘cut’ but I don’t have a very sophisticated blogging system ;-)

Open Source weblogging tools

This weblog is powered by WordPress, and aside from saying thanks to the WordPress team for building a great Open Source weblogging tool, I thought it might be useful to share my reasons for choosing this package over several others.

Before I started looking at any specific tools, I came up with the following list of requirements:

  • Must run comfortably on accounts hosted at
  • FatCow. This weblog isn’t hosted there, but nabeepchen.com which I set up at the same time is. Also, my corporate site (felinity.com) is hosted at Fatcow, and I might want to add a blog to that later. [Note: I’m a Fatcow affiliate. If you sign up for a web site with them by clicking on the Fatcow link above, I get some moolah.]
  • Must have a browser based interface that is easy to use, but powerful enough for first class blogs. The interface should be lean and efficient, although a little eye candy never hurts.
  • Must have integrated comments, pings, and trackback.
  • Must provide comment moderation.
  • Must be actively maintained.
  • Must support RSS feeds.
  • Must update pages automatically [added after trying Greymatter].
  • Must allow multiple categories per post [added after trying Nucleus].
  • Look and feel of weblog must be completely customizable.
  • Should have automatic comment spam filtering.
  • Should support Atom feeds.
  • Preferably Open Source.
  • Compatibility with desktop weblogging front-ends would be nice.
  • The fewer external dependencies (plug-ins, libraries, etc.), the better.

Fatcow runs MySQL 3.23.x, and Apache 1.3.x with PHP 4.x and Perl, on Sun Solaris servers. Unfortunately, neither Python nor PostgreSQL are supported, which limits my options a bit. After a quick look at the system requirements for various packages, I narrowed my list of potentials down to four programs: Blosxom 2.0, Greymatter 1.3, Nucleus 3.1, and WordPress 1.2. On the commercial side, I knew that Movable Type would fit the bill, if none of the Open Source alternatives came close enough.

WordPress came out on top and meets all of my requirements, including the optional ones. Not considering price, I think it even beats Movable Type. Read on, for my impressions of each package, but note that I spent only two or three hours with each of them, except of course WordPress. Just keep in mind that there is probably a lot of stuff I missed, and newer versions may shift the overall picture considerably.

Each of the packages is relatively easy to install, if you know your way around a Unix system. Blosxom and Greymatter store everything in plain text files, and are written in Perl. Nucleus and WordPress require a MySQL database, and are written in PHP 4.

I quickly crossed Blosxom and Greymatter off my list, because neither had the must have features. Nucleus and WordPress were a much better match, and it took me a bit more time to decide between the two.

Blosxom is great for people who live their lives in the Unix shell. You just create a simple text file, and voilà, the blog entry is on-line. Categories are the directories underneath the main data directory. This approach makes it exceptionally simple to automatically post stuff from scripts and whatnot. Unfortunately Bosxom has no real web based interface. The plug-in for that is experimental and bare bones to the extreme. I was also a little concerned about performance for large sites, because each request might require searching through multiple directories and files, although the caching plug-ins that are available might address those concerns. Blosxom itself is just a single Perl CGI script with a few hundred lines of code, and installation is trivial. However, to get the functionality I want, I would also have had to separately install and configure a number of plug-ins, and while that might give me the functionality I need, it also means a lot of tweaking and fiddling, and extra work to keep everything up-to-date. What I did like and have not seen in other packages is the simple, but effective URL hacking scheme Blosxom offers. Basically, you can just concatenate categories and dates with slashes, to drill down by category or date. I am using the same approach for some internal tools, and I was pleasantly surprised to see the same idea implemented here. The bottom line: Blosxom is too complicated for casual users, and it didn’t have the features I was looking for.

Greymatter came a bit closer to what I had in mind. It did have a web based interface, built-in comments, and like Blosxom, the blog entries are stored in plain text files. One thing I learned from playing with Greymatter was, that I didn’t want a program that requires me to rebuild my pages manually. It wasn’t on my original list of must have features, but I added it as a requirement. Aside from two step updates, Greymatter didn’t support comment moderation, pings, trackbacks etc. On a more subjective level, I didn’t like the look and feel of the interface.

Nucleus made a strong impression immediately, with a clean and well designed interface. Setup was trivial, and I liked the little pop-up window for uploading images, and choosing existing files from a list. Surprisingly, adding a blog style calendar is only available via a plug-in. Out of the box, Nucleus allows comment deletion and IP banning, but comment moderation, pings, and trackback require plug-ins. One requirement I added to my must have list, after using Nucleus, was the ability to put posts into multiple categories; Nucleus supports only one category per item. The biggest drawback from my point of view was Nucleus’ template system. If your site design fits neatly into the Nucleus framework of templates and skins, then customization is easy enough. But if you expect to go beyond basic blogging functionality you might find it quite limiting. One feature Nucleus offers that I didn’t need, but that could make all the difference to some people, was the ability to handle multiple blogs.

WordPress was the last program on my list of candidates. Installation was trivial, and although I might prefer the Nucleus look slightly, the WordPress interface is pleasant enough and functional. Most importantly, WordPress had all of the features I was looking for right out of the box; no plug-ins needed. The main template is simply a PHP script with a style sheet. You can change the look of WordPress sites quite dramatically by just dropping in a new style sheets, but even editing the content and layout is easy enough, if you know HTML and just a tiny bit of PHP. Multiple and even hierarchical categories are supported, as are pings, trackback, and the various feed formats. After using Nucleus, the image upload feature seemed a bit bare bones, but it works and a plug-in might improve things. Where WordPress stood out was in comment handling. You can configure the program to queue comments for moderation if they contain common spam words, come from certain IP addresses, or contain a certain number of links. If there’s one complaint, it’s that the documentation is a bit sparse and scattered, but it was sufficient to get everything set up the way I wanted it. The WordPress forums are very active and helpful; all my questions had already been asked and answered.. Make sure to check out the WordPress Wiki. I overlooked that at first, and it seems much more complete than the reference documentation on the main page. All in all, given my requirements, WordPress was the clear winner.