A few days ago I posted about how I was going to be testing CloudFlare on this site.
Here’s a snippet of the stats generated since then:
(click to enlarge)
By caching static content (images, CSS files, JavaScript, etc.) at various datacenters around the world, the service has substantially sped up the response of my site (between 50-67%, depending on the day), as well as saving a not-insubstantial amount of bandwidth (which is nice, as I pay for bandwidth used).
About 10% of visits were known threats, usually comment spammers but occasionally automated exploit hack attempts and botnet zombies. These are blocked from getting to the site.
I’ve received no complaints from legitimate users, either by email or through the CloudFlare messaging system (it shows up for blocked visitors), which is an extra plus.
So far, things look quite promising. It may be more effective for more traffic-heavy sites than my own, but even for a small site like this one it’s saved a bunch of resources.
On Moving
I preparation for our move to Switzerland, my wife and I have been going through all of our possessions. Some items, like clothes, computers, silverware, and dishes are getting boxed up and prepped for shipping.
Other items, which we’d like to keep but can’t justify bringing to Europe (or which won’t work with the electricity there), are getting boxed up to bring to the homes of our respective parents, who have been kind enough to donate some attic space for our boxes.
Then there’s the crap. Holy moly, is there crap. We’re not hoarders by any stretch, but when you put three people (two of whom are teachers) into a smallish two-bedroom condo, clutter seems to accumulate rapidly. There’s reams of papers, mostly in binders, that relate to school stuff (lesson plans and the like), posters and other in-class stuff, and so on. In going through the closets, there’s a huge amount of clothes that haven’t been worn for years (that goes straight to Goodwill), old electronics, and so on.
In the last month or so, we’ve taken probably a dozen kitchen garbage bags worth of clothes to Goodwill, recycled a bunch of old electronics, and shredded or recycled a massive amount of paper. We sold the bed (and moved to the futon), then sold the futon (and moved to an air mattress loaned from a friend). The tropical fish and their stand has been moved to a friend’s house for the duration. All that’s left is the TV (anyone in the Phoenix area want a 32-inch flat-panel 720p CRT TV and black IKEA TV stand?), a few bookshelves, a desk (anyone want an IKEA desk?), two chairs, and the computer.
Sure, it’s not spring anymore, but we’ve taken spring cleaning to a whole new level.
Now, to keep things this simple when we’re in Europe…
CloudFlare Testing
I’ve decided to test CloudFlare service on my blog.
It’s basically a DDoS-resistant caching service that should increase page loading speed for visitors.
In addition, it also detects potentially malicious traffic (ranging from spammers to botnet members) to the blog and will block them with a “challenge” page that describes why they were blocked and offer a CAPTCHA to proceed. While it’s supposedly quite good at not blocking legitimate users, it may inadvertently challenge ordinary visitors. If this occurs to you, please let me know (either by email or by filling in the appropriate field on the challenge page).
New Rifle & Camera
As I have been getting ready to move in August, I’ve been selling off or donating most of my non-essential personal possessions. Old clothing and shoes have gone to Goodwill, along with some old electronics. It’s amazing how little cruft I had accumulated over the years.
Some things, however, are staying in the US: several of our wedding presents (for example a waffle iron, a new blender, and so on) are electric and only work on 120V 60Hz power, and so won’t work in Europe (where 240V 50Hz power is the norm). Others, like our nice crystal glassware, are fragile and valuable, and we don’t want to risk shipping them. While the Swiss will allow us to import essentially all of my firearms (with some paperwork, naturally), we’re not going to take them over right away: they’re bulky, heavy, require secure transport, and we have higher-priority stuff that needs to go first.
With all this paring down, it may seem odd that I would be purchasing new things. Some things, such as updating my wardrobe, make sense as clothing is quite expensive in Switzerland (a $40 pair of Levi’s jeans here in Arizona is about $180 in Bern), but I’ve also added a new camera and rifle to my stable.
My friend Louis had recently upgraded from his Nikon D40 to a D7000 and was looking at selling his camera, an 18-55mm lens, a 55-200mm VR lens, and some filters for a great price. I’ve been looking for a decent D-SLR for a while, and the offer was something I couldn’t refuse. Having a decent camera seems to go quite well with moving to a very photogenic country.
I have also been looking at getting a Swiss K31 rifle for some time (coincidentally the same country I’m moving to for graduate school), as they’re modestly priced, well-made, and extremely accurate. My friend Nathan had one and doesn’t shoot it much, so he made me a good offer and I’ll be picking it up next week. While it’s likely going to stay here in the US with my other firearms, I may see about taking it to Switzerland after we move (e.g. if we come back to the US for the holidays, I could take it back then). The Swiss don’t make much of a hassle about importing firearms, and I seriously doubt they’d make a fuss about bringing a Swiss-made rifle back to its country of origin. If I do bring it to the country, it’s likely that I can get ammo for cheap, which is good. 🙂
Educational Updates
Long time, no post.
The results are in: I was accepted into three graduate schools: the University of Oslo in Norway, and the Universities of Zurich and Bern in Switzerland.
All are fine research institutions, but I ended up going with Bern, as it combined excellent research with a much more reasonable cost of living than Zurich or Oslo. We’ll be moving at the end of July.
In short, I’ll be spending the next two years of my life at a place like this:
Well, not quite. I’ll actually be in the science building, but it’s right next to the fancy old university building. I’ll probably be in the basement, though. Oh well.
It looks a lot nicer on the inside.
Alas, as the Swiss are nearly universally excellent shooters, it’s unlikely that there’ll be any need for me to introduce new shooters to the sport. Oh well. All the New Shooter Ammo Fund ammo is marked and store separately here in the US, so it’ll be available for teaching new shooters when I return to the US.
While the Swiss do permit me to import firearms for personal use, there’s a nominal bit of paperwork involved and I don’t want to deal with the hassle during the main move. Perhaps I’ll get the guns when I come back for holidays or something.
Much of my time in the next few months will be spent preparing for the move, so posting may be lighter than usual (amazingly enough).
I know it’s been a while since I last posted, which is mostly due to living in Arizona (arguably the least-restrictive state in regards to firearms laws, which makes things really boring when it comes to writing about firearms-related legal developments) and not having the time or money to get out and shoot as often as I’d like. Hopefully after moving to Switzerland, I’ll have a bit more opportunity to shoot. We’ll see.
Gov. Brewer Vetoes SB 1467
The Arizona Republic reports that Governor Brewer has vetoed SB 1467, citing vagueness in defining “public right-of-way”.
That said, the definition is somewhat vague. A.R.S. ? 9-461 defines “right-of-way” as “any public right-of-way and includes any area required for public use pursuant to any general or specific plan”. Somewhat circular reasoning.
Naturally, all the anti-rights folks (both on-campus and off) are focusing on unexplained statements (( For example, “Guns have no place in school!”, without explaining how it’s fine for people to carry guns on a public sidewalk on any non-campus street in the state, but is somehow worse to have the same people carrying the same guns on a public sidewalk on-campus. )), emotional claims, and irrelevant refererences to the incident where Congresswoman Giffords and others were shot (( It’s already illegal to commit murder and attempted murder, yet that law didn’t seem to stop the shooter. How are stickers declaring a campus to be a “weapon free zone” going to be any better? Criminals would ignore them; only the law-abiding would obey those rules.)) as that incident and empowering the law-abiding to lawfully carry, if they choose, on public areas of a campus have essentially nothing to do with each other. Go figure.
The Arizona Republic also provided some interesting information:
Brewer’s office was inundated with calls about the bill.
Between April 7 and April 13, the Governor’s Office of Constituent Services received 904 calls, letters and faxes in support of SB 1467 and 951 in opposition to it, a Brewer spokeswoman said.
It’s rare to get actual quantitative information about support/opposition to a bill. While it’s unlikely that the absolute number of support/opposition letters had any direct bearing on the governor’s decision, it’s still nice to get some numbers of what was received by her office. Although I oppose the governor’s veto, the fact that this information was released is a good thing. Well done!
In addition, the governor vetoed the absurd “birther” bill that the legislature sent to her desk. Again, well done. The fact that such a bill was not only proposed, but actually passed out of the legislature is quite embarrassing and reflects poorly on the state and the legislature.
More SB 1467 Information
I’ve been getting a lot of traffic recently to my post about SB 1467 so I thought it would be prudent to do a follow-up with some (hopefully) useful information.
First off, while the bill is often publicized as allowing “guns in the classroom”, that is not the case. Rather, the bill simply adds a section to the existing law which says:
Notwithstanding subsection D of this section and section 15?341, the governing board of an educational institution shall not adopt or enforce any policy or rule that prohibits the lawful possession or carrying of a weapon on a public right-of-way.
In short, if one can legally possess or carry a firearm off-campus, one would then be able to possess or carry a firearm on a sidewalk, street, or other public place on-campus. Possession of firearms in the classroom would continue to be prohibited.
According to the Arizona State Legislature’s fact sheet about the bill, there are two caveats:
- The bill does not “preclude school districts from conducting approved gun safety programs on school campuses” which would presumably be held in classrooms and presumably involve the presence of actual (albeit unloaded) firearms.
- The bill does not “apply to private universities, colleges, high schools or common schools or other private educational institutions (A.R.S. ? 13-2911).”
Honestly, I can’t really see how this would be remotely controversial — law-abiding people can already carry in public places in Arizona, why should they be prohibited from carrying in a public place on campus? If one can legally walk down a sidewalk on a public street while discretely armed, why can’t one do the same on a sidewalk on a public university? It makes no sense for the same action to be legal on one side of a street, but illegal on the other side.
All the official information about the bill itself can be found at the Arizona State Legislature website for the bill.
Shooty Goodness
I finally got some rangetime this weekend, after a hiatus of several months.
If I wasn’t moving soon, I’d be seriously considering getting reactive/moving targets. Punching holes in paper is getting a bit boring.
Followup on Spam Filtering
I figured that several readers are also bloggers in their own right, and might be interested in some information that I’ve gathered about spam and my efforts to block it.
This blog, which is not a terribly popular one, gets a substantial amount of comment spam. For example, here’s the amount of spam that was received for the last few months:
Dec2010: 5,028
Jan2011: 6,544
Feb2011: 4,712
Mar2011: 5,596
Compare that to the 25-30 legitimate comments made monthly, and you see that the ratio is extremely skewed in favor of spam. Since this blog was founded in 2008, 53,881 spams have been received, compared to 854 total legitimate messages.
Ideally, there would be no comment spam. Since this is not possible, I want to reduce spam by the maximum amount possible, inconvenience users as little as possible, and keep the spam queue in the WordPress administrative interface as empty as I can.
Now, WordPress comes with an outstanding spam filter called Akismet. When activated, all incoming comments are sent to Akismet for a spam/not-spam review. Since the service is centralized, they’re able to accumulate a huge amount of data about spammy and legitimate messages, adapt to changing spam patterns, and do remarkably well (99.96% according to my calculations) at detecting spam and allowing legitimate messages to pass. If it misses spam, or mistakenly flags legitimate mail as spam, I can override the Akismet decision (and that override is sent to Akismet so it can adapt).
Messages flagged as spam by Akismet go into the spam queue for my review. Unfortunately, this means that more than 150 spams a day get shunted there. Reviewing these messages is tedious and time-consuming. What if I could block the spam from even being submitted, thus reducing the amount of spam that I need to wade through?
Since all WordPress blogs have the same comments.php file, spammers don’t even need to fill in the normal comments form on the website: they can submit their spam directly to the comments.php file with the appropriate fields already filled in. Of course, since this is all done automatically by software, a slight change to the comments.php file will result in the spambots being unable to submit messages. Enter NoSpamNX, a very handy plugin that makes these changes that breaks spambots but doesn’t affect humans. Specifically, it adds certain fields to the human-readable contact form that are filled in with a randomly-generated bunch of text (to avoid the spammers adapting, it changes these random values every 24 hours).
If a comment does not include these hidden fields with that day’s random text, that means that the comment was not submitted through the ordinary human-readable form, and therefore must be spam. One can elect to then mark the message as spam, or simply delete it outright.
This simple plugin has blocked 37,775 spams since I installed it in June 2010. During that same period, a total of 39,113 spams were submitted to my site. This means that NoSpamNX alone would have blocked about 96.6% of spam. Not bad, particularly for something that does not burden legitimate commenters with any additional steps like CAPTCHAs.
In my particular case, I like contributing spam messages to Akismet since it improves their statistics, so I elected to have NoSpamNX simply mark messages as spam rather than deleting them (the deletion would occur before the messages get submitted to Akismet). Thus, my spam queue had lots of messages for me to review. I needed something more, something that would provide a second opinion to Akismet and NoSpamNX.
In my December 14th post, I mentioned that I was testing out a plugin called Conditional CAPTCHA. This one is particularly useful: it waits for messages to get reviewed by existing spam filters such as Akismet. If Akismet says the message is legitimate, Conditional CAPTCHA does nothing, and the message is posted immediately. However, if the message is flagged as spam, then Conditional CAPTCHA presents a reCAPTCHA. If the CAPTCHA is solved incorrectly or no attempt to solve it is made within 10 minutes, the message is silently deleted and not added to the spam queue. If the CAPTCHA is solved correctly, the message is then placed into the moderation queue (I’m a bit suspicious, as it was marked as spam, so I want to review it prior to it being posted).
Using Conditional CAPTCHA means that the vast majority of legitimate commenters are not inconvenienced by always facing a CAPTCHA. Only comments flagged as spam are presented with such a challenge.
So far, Conditional CAPTCHA has stopped 18,589 spams since it was installed, essentially 100% of the spam submitted to this site. There have been exactly four messages that were flagged as spam and resulted in the CAPTCHA being solved correctly. All of these have been spam, and never made it out of the moderation queue.
In my particular case, NoSpamNX is a bit redundant: I use it simply to keep a measure of how many spammers submit spam directly to the comments.php file versus how many submit comments using the human-readable form.
In conclusion, if you are a WordPress blogger and are inundated with spam, both on your site and in your spam queue, I heartily recommend using both Akismet (which you should already be using) and Conditional CAPTCHA. Doing so should reduce your spam to practically nothing.
If other bloggers out there have some statistics on the spam they receive, what they use to combat it, and how effective those measures are, I would be quite interested in hearing about it.
On Couchsurfing
Since I live in the Phoenix area (my wife has a condo there) and work in Tucson during the week, I’ve been couch-surfing with friends during the work week for the last year. This has allowed me to not need to get a separate apartment, thus saving hundreds of dollars a month. In exchange for housing, I maintain my friend’s cars, computers, and do other such tasks. So far, it’s worked out pretty well for both parties.
Imagine my interest when I discovered CouchSurfing.org. In essence, it consists of people willing to provide a place to sleep for others. It’s not meant to be permanent, but is geared towards a similar group of people as those who stay in hostels whilst traveling. Hosts and visitors have a profile page which also includes reviews from other CSers, so one can be reasonably assured that they’ll not inviting in an axe murderer or crazy person. Very cool concept, and something that my wife and I will take advantage of when we move to Europe and travel frequently.
Hostels are inexpensive and nice (for the most part), but you don’t really get a feel for the people of an area in most cases. With CS, one actually stays with a local (or is a local and hosts a traveler), and so can get a much more in-depth feel for the people and culture in an area. Very cool.