revjim.net

February, 2004:

A dining room table

This entry isn’t about computers, or Inklog, or software, or even technology. In fact, it’s as far from being about those things as possible.

Jess and I have decided that we should build our own dining room table. We were out looking at furniture and the stuff we saw that we really liked, I kept saying to myself, "I can make that." So, we decided to do just that.

We decided on a rustic, eclectic looking picnic table style, with benches for seating. We bought the wood, stain, and materials last night at about 1/7th of the price we would have paid for it in the store. And our version is much chunkier and more rustic looking than the one we saw, which I prefer. My dad and I are going to build it in his garage today.

Wish us luck. I’ll post pictures when it’s done.

I’m still convinced I can build a sofa, too. If I can just learn how to sew. We’ll see what I think of that after we finish this.

Inklog: template discussion

I have always assumed that Inklog would force its users to do their own HTML design. Placement of content items within an HTML page would be a task left to the template. However, recently, there has been some discussion regarding using a method similar to that of the *Nukes: force layout to be column/block based and allow an administration page to determine what goes where. While I certainly agree that this is easier to use, it also reduces flexibility.

I have come up with a solution that serves both schools of thought, but it requires more work.

Your input is appreciated.

Inklog Request Flow Overview

To give a real good idea of how Inklog will flow from end-to-end, I’ve written RequestFlowOverview. It should help you understand the core operation of Inklog. This write up was prompted by a Question in the Inklog forum written by someone whose questions have really helped me to fleshout the theory behind Inklog as well as begin writing the documentation for it.

Bad start…

First, I leave the house 30 minutes late. Then, it takes me an hour and thirty minutes to get to work, fourty-five minutes longer than usual. Then I realize I forgot my badge and have to get a temporary.

Just to get in to the parking lot I had to give the gate guard my name and social security number so he could look me up in the system and make sure I worked here. The guard in the door required my driver’s license and a phone call to my supervisor to verify my employment. Meanwhile, if I didn’t want a temporary badge, I could have parked down the street, walked to the building, and stood outside the back door and waited for someone to walk by, letting me in.

Ugh.

DSPAM and CRM114: an evaluation

Since SpamAssassin is getting me nowhere fast, even after I added in all the silly Network based tests, I’ve decided to evaluate a few other Spam Killing Machines.

Now, of course, none of these comments are in regard to how well it catches SPAM. I haven’t used either of them long enough to know. I’m simply evaluating their ease of use, etc.

First, DSPAM. DSPAM is SPAM filtering done right. The setup with a piece of cake. The rules were easy to understand. The documentation was good and plenty. I enjoyed all of the interesting statistics I could pull from my SPAM database. It is very easy to train on Uncaught SPAM and False Positives. There was only one large problem. In every message you get, whether you like it or not, there is a DSPAM tag embedded at the bottom of the message text (or appended to the subject, apparently, in the event that you should receive a PGP/SMIME signed message). This is annoying. Users will hate it. I hate it. It’s just silly. The site claims that it MUST put the tag there for training purposes. If the tag were placed only in the message header, and a user forwarded in SPAM to train the system, it’s possible that that header would not be included in the forwarded message.

So here’s how you fix it. You put the DSPAM tag in the headers only and you look for those tags in the headers only. Then, you alter your training program to look for an attachment on the forwarded mail it trains from. If the attachment is present and the actual message body is blank, MIME Decode the attachment and run your process on that — the headers are fully intact. If an attachment is not present, attempt to find the forward separator (by looking for things that look like headers), and look for the DSPAM tag somewhere below it. If it is not found, return an error to the user informing them that they should forward with an attachment (vs. inline). The users I know would be much more capable of dealing with forwarding a message as an attachment than they would with this odd looking tag thing at the bottom of every message. Even if users don’t see it or notice it or complain about it, what happens when they reply to someone and leave the TAG in their reply, and then that person replies back and now there are two tags in the message? It’s just annoying. And this solution is a very silly way to solve a problem. Fix that, and DSPAM is by far the winner.

Now, CRM114. I am currently running CRM114 on all of my mail. You may have noticed a bounce or two from me if you sent me mail in the past hour or so. That’s because this thing is very HARD to install. There are many requirements, and many files have to be in exactly the right spot. When it finally does run, it seems to do okay. Training is much more difficult. You can either forward a message to yourself (inline only), scrape off the headers and add a command on the top line, or handle everything by piping messages to a UNIX command.

So, to summarize. DSPAM gets an A+ in installation and ease of use and a F- in operation. CRM114 gets a D+ in installation and ease of use and a B+ in operation. The most important factor — how well it catches SPAM — won’t be determined for a few more weeks.

del.icio.us

I always have trouble finding my bookmarks. And, even if I can find them, they aren’t organized and I can’t remember, half the time, why I bookmarked them in the first place. Additionally, I always try to keep a running list of the things that I’ve bookmarked so that I can relay that information on to you, my dear readers. It’s been a bit of a small chore, and was something I planned to fix in Inklog.

Today, however, I found Del.icio.us. Basically, it allows anyone to quickly and easily bookmark a URL. You can tag the URL with any number of categories and you can provide an extended description of the URL.

A wonderful API is implemented that allows me to retrieve the data in many different ways. So, instead of posting my QuickLinks to this weblog whenever I happen to think of posting one, I’ve changed the front page of revjim.net to show the 5 most recent QuickLinks with a link to get more from del.icio.us.

As I bookmark sites, they will show up in this list (updated every 30 minutes). However, you can also subscribe (via RSS) to my QuickLinks feed, or any category within the bookmarks that I make.

I may write a script that, at 2am every day, will gather my QuickLinks for the day and post them into my weblog so that those that don’t visit my site and don’t want to get the list of QuickLinks throughout the day can still see the interesting sites that I’ve found.

When I finally start using Inklog these QuickLinks will be handled internally by it, and the same functionality will be available. However, until then, this is an excellent substitute. When I start housing my own QuickLinks, I’ll be able to import my existing data thanks to the del.icio.us API. I may, even then, continue to update their site with my links (automatically, thanks to Inklog) because of all the cool information that gets generated based on who is linking to what.

Enjoy, and if you have any questions, feel free to ask. For those of you in LJ land, using LJs syndication features, you can subscribe to the constantly updating list yourself, if you’d like.

Inklog Theory

Lots of work has been done on Inklog. In order to better explain some of the concepts and terminology used within the system, I written a little bit on InkLogTheory that you may be interested in reading.

how to make email more difficult

While I am a Reverend 24/7, I do have a day job. Something to pay the bills. God’s work is incredible, but it doesn’t always put food on the table. Every now and then, some interesting things happen at the office. My "Office Memos" section will highlight these anecdotes.

We’ll start with this interesting tidbit received in email today from our department’s "computer guy" (emphasis, and removal of incriminating names mine).

"PLEASE: forward or print this information to give to co-workers.

[computer dude] here:

Attn: [some acronym for our department that I didn't know existed] I have had several call today in reference to email received by unknown sender or unexpected email with attachments. Just as a Precaution, phone that person or [instant message] them about the email, if no response or they did not send you an email Please Delete it !!!. It is better to play on the side of caution than to face a virus that clears your hard drive. If you have any questions, please don’t hesitate to call me @ [extention]..later [computer dude]"

Um…. what?

First of all, you sent this to all of my co-workers. That’s what it means when you email the entire department. And, if by some mystery someone didn’t get it, I certianly wouldn’t print it out and hand it to them. That’s why we have computers, computer dude.

Secondly, if the email was received from an "unknown sender", how could I possibly call them.

Thirdly, almost all email is unexpected.

Fourthly, in many cases I wont know if the email is unexpected or has attachments until I open it. Therefore, by the time I call them to verify that they did send it, the email has been opened already.

Fifthly, I get lots of "unexpected email" from "unknown senders". Should I really verify all of them? The email you sent me was unexpected… should I call you and make sure you sent it?

Finally, if opening a single piece of malicious email can clear my harddrive, then I think the email client should be considered a greater harm than the virus it is possibly installing.

eZPublish: jesus christ!

If it’s not one thing it’s another. I’m getting so fed up with this code base.

I made a template override for all items of a particular class in a particular section. I also made a template override for a datatype in a particular class in a particular section. Everything worked fine. Then I made an override for another class in the same section. That template runs node_view_gui on its children. However, when this runs, the datatype template is not overridden. Why? I don’t know. It’s a bug, I imagine. I’d fix it, but I can’t wade through this jungle of code. I’d report it, but then I have to wait for someone else to fix it. I looked in the forums and in the bug reports on the ezPublish site. No one has mentioned it.

Recently, in my modified code, I removed an entire set of templates that seemed to no longer be in use anywhere. However, I now realize that I was wrong (no big deal, I’m using subversion so I can pull the templates back out). The problem is, the templates are in the "content/view/*.tpl" family. However, when a node is viewed it uses "node/view/*.tpl" to render it. The content templates seemed to not be used. However, I realized today that, along side "node_view_gui" there is "content_view_gui". And "content_view_gui" uses the templates. The difference? I have no clue. Why one would use one and not the other? I have no clue. The documentation mentioned them both but doesn’t give enough information to indicate why they both exist.

I am so annoyed.

Deaf Witches? I don’t think they exist.

The U.S. Department of Education funds the closed captioning of many of the TV programs you see today. In their own special form of censorship, they’ve recently decided to stop funding the captioning of TV shows that involve Witchcraft.

But it isn’t just WitchCraft the gets the boot.

Here are some programs from the list of those that have been recently disapproved for captioning:

  • Bewitched
  • Forensic Files
  • I Dream of Jeannie
  • I, Detective
  • IFC Movies
  • Law & Order
  • K9 to 5
  • Sanford and Son
  • Sabrina
  • What’s new Scooby-Doo?

[via BoingBoing and BoingBoing]