Jul 212007
 

OpenBSD 4.1′s spamd(8) now includes default support for trapping SMTP clients using an envelope to: not listed in /etc/mail/spamd.alloweddomains.  If you only accept mail for example.com and example.org, put them in spamd.alloweddomains, and mail to: all other domains (relay attempts) are rejected and the host trapped.  Clean and effective.  Good job, Bob!

Parsing my logs, though, shows a lot of spam attempts using the envelope from: of my domains.  Email clients should use other acceptable means of submission/SMTP injection, including connecting with internal servers via VPN, where they’d never hit spamd.  If someone were using SMTP-after-POP, for example, they’d presumably get whitelisted and bypass spamd.

This patch against 4.1-STABLE is a quick copy-and-paste job (I’m not a C programmer), but it works for me.

So, if someone tries to send mail via my external spamd firewall, claiming to have an envelope from: of one of my domains, then I’m not going to accept the message and will trap the host.  It’s a virtual certainty you’re a spammer — if it’s from an actual user, then s/he needs to use another connectivity method.

spamd_trap_from_alloweddomains1.txt

Internet Appliance

 Computers, Main  Comments Off
Apr 272007
 

Internet Appliances haven’t hit the mainstream yet, and I don’t know why. The constraints are simple: I want a web browser that has no moving parts and makes no noise, so it can go in the bedroom and not annoy me. Back in the day, I had great hopes for the BeOS-based Sony eVilla and was the only person, I think, who liked Be’s focus shift to BeIA. The wife and I recently experimented with an MSN tv 2, which lasted all of one day — it was difficult to read and cumbersome to navigate.

The present setup pleases me. I picked up an NCD nc900 X terminal on eBay for $50, and I picked up a 17″ flatscreen at CompUSA for $130 after rebate. It just runs X sessions off an OpenBSD box in the basement. In theory, I could have just run a KVM extender cable down to a Windows PC, but there is the geek factor…. NCD is out of business, by the way.

nc9001.jpg desk.jpg

The OpenBSD box runs a tftp server that serves up the nc900 boot file (p4v4013.tar.gz is the latest — os.900 is the operating system file, and you’ll want the newest boot_mon.900 you can find to update the flash). It also runs X with xdmcp, xfce, and FireFox (only because IE7 isn’t available). It took a little bit to get running. For instance, it took a while to figure out to set root_depth to 24 in ../config/xp.cnf to get 24-bit video. And it really took a long time to figure out how to change the resolution on the terminal (“BOOT> selftest monset” –> for instance, mine is monset 121 [1024x768 at 70Hz at 17"]). Here’s a somewhat related FAQ.

Works splendidly.

Apr 242007
 

When you get bored talking to tech support and have to read off serial numbers….

A again
B back
C champagne
D double
E eye
F finally
G gnaw
H heiress
I ink
J Jose
K knife
L line
M mnemonic
N number
O over
P phantom
Q quiche
R repeat
S skip
T triple
U unreadable
V verbose
W wrong
X Xerox
Y yes
Z zed

“F” was “five,” but I reconsidered that cheating and changed it. The basic guide is that the initial letter shouldn’t sound like familiar sounds for that letter (“P” = “phantom”), no foreign words (“Jose” is acceptable, though, by fiat), and if those aren’t possible, then just make it as confusing as possible as though you were reading a serial number (“T” = “triple”).

So MIDYE5I2USS becomes: mnemonic ink double yes eye FIVE ink 2 unreadable skip skip.

Apr 242007
 

As stated in Choco’s User Guide, “Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it. (E. Freuder)” Constraints are limits on something: you must be at least 48 inches tall to ride the roller coaster; you have to deposit the check before the bank closes at 5:00; only five adults will fit in the car; and so on. The most that people are consciously aware of solving constraint problems are when budgeting money or planning errands. Or doing laundry: after doing a load of socks, do towels, because they’re quicker to fold, and matching socks takes a long time.

Choco is a Java implementation of constraint satisfaction programming. In my opinion, it’s one of the world’s most underrated software packages. I’m surprised it doesn’t get more attention, and I’m surprised that there isn’t at least a C# port. It’s BSD-licensed, so it’s business-friendly.

If you’re charged with time, materials, and resource planning, give Choco a look.

See: Roman Bart

Admin On The Cheap

 Computers, Main  Comments Off
Apr 182007
 

I’m considering doing some independent contracting, and am looking at lowering the upfront costs for software. As an exercise, given quality commercial software, what are the most viable free (beer) alternatives?

  • General Productivity: Microsoft Office  (Office 2007 rocks) -> OpenOffice (note from OpenBSD portathon - “many stupid bugs fixed, amazing it works on linux (as usual, by luck).”
  • Diagramming: Microsoft Visio -> Dia and Graphviz.  I do love Graphviz…
  • Video Documentation: TechSmith Camtasia Studio -> Wink.
  • Documentation Repository: Microsoft SharePoint -> WordPress (maybe Docuwiki). As an aside, if  Wordpress and WordPress MU started including LDAP support in base, adoptability would jump overnight, since Windows Active Directory (and other, lesser LDAP) environments could instantly use it.  As another aside, why didn’t the Dublin Core people release a reference implementation in SQL-92, which the whole world understands?  Dublin Core would be ubiquitous now….  Honestly, in Qualified DC, can you have an Alternate Title without a Title?  How would that happen?  Can you have a record consisting of only a date? Where was I?  Docuwiki frustrates me, but it’s the standard wiki for doc.
  • Host Monitoring: For smaller environments, commercial options include IPSwitch’s What’s Up Gold and IP Sentry, among others.  The free monitoring option of choice would be Nagios, whose simplicity is its brilliance.
Apr 052007
 

Alvin Fernald lives!  Get thee to an order form and pick up Alvin’s Secret Code, by Clifford B. Hicks.  Fond childhood memories, there.  All the Alvin books rock.

Well, here’s a quick Perl script to decode the Subject: lines in archived maillogs from Borderware MXtreme mail firewalls.  Simple substitution.  Nothing fancy.  Adjust to taste.  Doesn’t do any MIME decoding.

mxdecpl.txt (rename to mxdec.pl — added .txt extension because I’m too … to fight WordPress’ security settings)

My Restaurant

 Main  Comments Off
Mar 302007
 

A coworker and I used to eat lunch out somewhat frequently, and we developed a list of requirements for restaurants.  Most of them are Rules for Waiters.  I wrote them down and subsequently lost the list, but I’ll update this as I remember them.

  • The Recovery Zone:  There shall be an 8″ area on the outside of the table.  When you’re done with something, put it there, and the staff will swoop it up without stopping to talk to you.
  • Waiters shall not ask, “Do you need change?” when you pay with cash.  It’s presumptious and annoying to think you’re going to get the rest of the money.  It is acceptable, however, to break the change bills into smaller denominations.
  • Waiters shall not take your glass away to refill it.  What happens if you need to drink while they’re gone?  What happens if they forget which glass is yours?  Waiters shall bring new filled glasses, and then take your old glass away.
  • The waiter must always bring a glass of ice water if the customer only orders coffee.
  • There shall be a separate window for pickup orders.
  • There shall be separate parking for pickup orders.
  • And you know how there are reserved parking for the handicapped, and expectant mothers?  That’s civilized.  There shall also be funny reserved signs (e.g., “Likes Pepsi more than Coke,” “Can’t sing,” “Eats all the cheese dip,” “Snores violently,” etc.,) for all the other spots, just for the hell of it.

Decision Making

 Main  Comments Off
Mar 282007
 

After reading Joel Spolsky’s “Choices = Headaches” article, I listened to Prof. Barry Schwartz’s presentation “Too Many Choices: Who Suffers and Why,” which was sufficiently interesting enough for me to read his book “The Paradox of Choice: Why More Is Less.”  Read the article, listen to the MP3, and read the book.

Being confronted with too many choices is psychologically disturbing to people.  The research in the psychology of decision-making is very interesting.  I’d bore you with inaccurately regurgitated tales, but you’d do better just listening to the presentation above.  It’s worth your time. I promise.

Schwartz draws heavily on work done by Daniel Kahneman, whose 2002 Nobel prize lecture is worth reading (PDF).

The “Taxicab Problem” is interesting.

 

http://en.wikipedia.org/wiki/List_of_cognitive_biases

Mar 032007
 

I hadn’t seen Two Moon Junction in 15 years, and I don’t remember it being such a dorky movie.  Couldn’t make it all the way through.

Click on the thumbnail to see full picture.

two_moon_junction.jpg

Sleepers Awake!

 Main, Music  Comments Off
Feb 122007
 

Here’s a 5-string banjo version of (more or less) Bach’s Wachet auf, ruft uns die Stimme – Sleepers Awake! (BWV 140).  The whole cantata is available for free download at the Wikipedia link above (this is from the 4th movement).

I’ve been poking around at this for a while, but nobody else in the family likes hearing me practice.  So, this is from sneaking picking time.  It’s not a full rendition, but the two major themes are there.  And I don’t know why, but the microphone makes me nervous, and all that. Here it is.  Next on my list is Jesu, Joy of Man’s Desiring.

Sleepers Awake! (MP3)

Kyrie Eleison

 Main, Music  Comments Off
Feb 102007
 

The “Gregorian Chant” CD, from the Monks Of The Abbey Of Notre Dame, is one of my constant companions. Kyrie Eleison is the most memorable piece. Very pretty.

This is a minimalist banjo version, with just a cheap mic hooked up to the computer.  So the sound quality isn’t great — just imagine it’s an old Folkways recording.

Kyrie Eleison (MP3)