Security is a pain
Every so often, people in my line of work are surprised when users andother people don't take security seriously. However, we reallyshouldn't be, for a simple reason: security is a pain .
Almost always, computer security means extra work that you have to doand things that get in your way; hoops that you have to jump throughbefore you get to what you really want to do. Is it any surprise thatpeople don't like it and avoid it when they can?
XBL rejection stats, August 6th 2005
As a followup to my SBL rejection stats , hereare similar numbers for the XBL (which includes the CBL as well assome other sources). Like those stats, this is based on connection timerejections over the the past 28 days and change.
The basic stats are reasonably striking: over that time period, werejected 34,000 different IP addresses. 13,500 of them (over half) arein the XBL now. (They may or may not have been
The importance of 'transparency' in data structures
The other day's entry on why Perl is not my favorite language produced an interesting comment exchange between me and a friendthat touched on how transparently Perl can embed data structures inother data structures. (In specific, that one can't transparentlyput aggregates, lists and hashes, straight into and out of otheraggregates.)
Why does this matter? Because every time you have a lack oftransparency with data structures, you have to be aware of the actualtypes that you are working with. Being aware
Perimeter firewalls and universities
The University of Toronto doesn't have a firewall. There, I've saidit and you can all gasp in horror: how could any organization on theInternet in this day and age fail to have such a basic thing as afirewall between them and the nasty net?
Because it doesn't help all that much; because it has the wrong threatmodel. A perimeter firewall protects you from evil people out there onthe net, but does nothing to protect you from evil people inside, onyour
Keep your hands off my font size
There are many things that puzzle me about common web design. One ofthe biggest thing is this: why do so many sites reduce the font sizeof their main content? This is the single largest readability problemthat I run into on the web. (For some reason this seems to be especiallyprevalent on blogs.)
I see it over and over again, in CSS like 'font-size:small', 'font-size: 80%', 'font: normal 76%/
Why Perl is not my favorite language
I could talk about aesthetics; I could talk about line noise andreadability; but for me it ultimately comes down to one thing: datastructures.
Namely, I find it very hard to write perl code of any depth withoutrunning headlong into the fact that Perl's 'collection' types (arraysand hashes) can't contain themselves. All they can contain is scalars(strings, numbers, and references).
For example, recently I was writing a program to mass-query the SBLDNS blocklist
Multilevel list comprehensions in Python
Python has recently (at least for some values of recently) grown 'list comprehensions' ,which let you easily iterate over a list to transform or selectentries (or both). List comprehensions can be thought of as syntacticsugar for map and filter operations, but they're actually morepowerful.
One reason is that you can write a multilevel list comprehension,which effectively iterates over multiple levels of lists. Take thecase where you have a list within a list and want to return all of thelow-
Spam breakdown by SBL listing, July 31st 2005
This is roughly speaking a table showing the top N SBL listings thatare spamming us over the past 28 and change days. I generated it bygrabbing all rejected IP addresses, looking them up in the SBL, andcounting how many hits each SBL listing accumulated.
| Refused connections | SBL listing |
| 232 | SBL26860 |
| 208 | SBL23039 (Rokso: Randy Forman) |
| 190 | SBL21425 (listed since 28 Nov 2004) |
Spam storm aftermath, July 30th 2005
The spam storm seems to have died down nowand it's a Saturday night, so time for a wrapup and a look at theoverall stats this week.
This week's total is 295,000 SMTP connections from at least 38,000different IP addresses. In hindsight, the spam storm was probablyalready dying on the 26th, since we got only about another 60,000 SMTPconnections since then (which is more or less average)
Briefly doing DNS queries in Perl
As a companion to PythonDNSQueries , here is the sameprogram to query the SBL in perl, using the CPAN Net::DNS package.
#!/usr/bin/perl -wuse strict;use Net::DNS;my $sstr = ".sbl.spamhaus.org";my $res = Net::DNS::Resolver->new;foreach my $ip (@ARGV) { $ip = join('.', reverse(split(/\./