Here are good sources of free TrueType/OpenType fonts. Continue reading »
I spend a good deal of time now working on effective, efficient communication. It is a sin to waste someone’s time. If you have to produce documentation, investigate sparklines (“Intense, Simple, Word-Sized Graphics”). Edward Tufte‘s writing should be required reading for almost any profession I can think of.
Sun: 4137237 patchadd 106300-01 results in rm -rf / as root (That’s bad)
Microsoft: Computer Hangs While Booting with HP 6L Printer out of Paper (paper-powered pc’s ??? FEED ME!!!)
And I can’t find it now, but back around 12 years ago or so, uninstalling Norton Antivirus resulted in deleting all files not in use. That amuses me.
Visual Basic implementation of Double Metaphone. I posted it to Planet Source Code several years back, but I want a local copy…..
Here’s the free (it doesn’t cost money) Windows software I use. Continue reading »
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.
Just noticed today that Certification Magazine is a free subscription.
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.
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.
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.
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
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.
Authoritative nameservers should never be recursive (caching). Never run both types on the same IP.
See:
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)
The two handiest email / SMTP references are:
- Daniel J. Bernstein’s Mail Reference, particularly the SMTP Reference. Online HTML. Free.
- “Internet Email Protocols: A Developer’s Guide,” by Kevin Johnson. This one is pre-RFC2821, but excellent nonetheless. Currently ~$80 used. Long out of print.
Using spamd in greylisting mode, I’m running greyscanner to pick off some low-hanging fruit (senders with no A or MX). But I also have an old domain that isn’t used for production any more, and it gets tons of spam. Here’s how I used that to my advantage. Continue reading »
Minor errata for the Que Certification book, by Todd W. Mathers and Elias N. Khnaser.
If you’d like a simple, front-end spam filter that you can place in front of an existing SMTP mail server, try an OpenBSD transparent bridge running spamd. Here’s the no-nonsense version on undeadly.org, written by Chris Kuethe.
I did the same thing with a couple of Soekris 4801′s, running off 1GB Compact Flash cards. My 4801 model has a 266Mhz processor, which sustains around 10-15%% utilization during peak use: mass DNS lookups against the sbl-xbl.spamhaus.org list. 256MB RAM – 128 reserved as an MFS drive [RAM drive] for /var, using Bill Maas’ mfsmount script, 10MB reserved for dnscache, and the rest for general OS duty. No moving parts. Low power. Low heat.
I was perplexed at how all the spamd parts worked together, until I drew it out. Ah, now it makes sense. Hopefully you’ll find it helpful, as well.
Click on each image to get larger version:
Here’s some late-night brainstorming on what can be done with spamd greylist entries during the time they’re greylisted.
…on Donner on Blitzen….
When running an OS off Compact Flash, it’s prudent to write as infrequently as possible to the CF card, since they tend to wear out. The usual solution is to mount / read-only and put all read-write activity in an MFS (ramdisk) and sync regularly.
For OpenBSD on Soekris, I use Bill Maas’ script: (script , README). It’s very well done. The original /var is kept on-disk but used only on drive mount failure. Otherwise, the config copies /var to /mfsvar, and the boot-time mount command loads /mfsvar into an MFS mounted as /var. Just call “mfsmount sync” every hour or so to sync the MFS back to CF for persistence. Works like a champ.