Yes, the Feeds are Broken

January 14th, 2008

This weekend I finally noticed that the Atom and RSS feeds from this site are 404. I’m not sure why exactly yet. It may have to do with the upgrade to WordPress 2.3.2 or it my be a result of the switch to shared hosting on pair.com. I’m out of town at the moment but I hope to fix it tomorrow.

elharo.com also seems to be completely down. I’m not sure why. I may just need to reboot the server when I get home. I haven’t yet transitioned that site to pair.com. Instead it’s still sitting on the Mac Mini in my office.

Update: I think I have the feed problem figured out now. Holler if anything still looks broken. It seems that the .htaccess file did not get uploaded when I uploaded the rest of the files from the old site. Hidden files are evil.
Read the rest of this entry »

Google for Christmas

December 22nd, 2007

This morning I’m sitting at the computer pruning my address book for Christmas cards. (Yes. I’m running late.) As usual I discover a few incomplete addresses. Missing zip codes are especially common. I know there’s a zip code lookup finder on the USPS web site somewhere, but rather than Googling for it on a whim I paste an address into the Firefox location bar.

101hudsonzipcode.png

Bam! Up pops the complete address including zip code! Five or six more and I’m done. Easiest data cleaning I’ve ever done, and maybe a few more people can get their cards before New Years.
Read the rest of this entry »

Happy 30th Birthday Internet!

November 22nd, 2007

The Internet is 30 today. Exactly 30 years ago today on November 22, 1977 the first three networks were connected to become the Internet. These three were:

  • ARPAnet
  • A lossy packet radio network (the lossiness of this network greatly influenced the design of TCP/IP)
  • The Atlantic Packet Satellite Network (a.k.a. SATNET)

There were computer networks before this, but this was the first network of networks that deliberately attempted to connect heterogeneous systems without regard for platform. It was the thing which grew into today’s Internet. Except for one brief discontinuity in 1983 when the entire Internet was turned off to switch over to TCP/IP, there’s a continuous progression from then to now.
Read the rest of this entry »

Operator Overloading: Trickier Than it Looks

October 8th, 2007

In an illuminating post (formerly at http://www.jroller.com/scolebourne/ but the domain was taken over by spammers) Stephen Colebourne demonstrates exactly why operator overloading is a bad idea. Now mind, you, he doesn’t think that’s what he’s doing. He actually believes he’s making the case for operator overloading. However the mistakes he makes are exactly the sort of mistakes likely to be made by almost anyone without at least an undergraduate degree in mathematics who tries to overload +, -, *, and especially /. If you don’t know the difference between a group, a ring, and a field, you have no business overloading operators.

Now I’m not saying that one has to take a course in abstract algebra before you can be a competent programmer. You don’t as long as the language you program in doesn’t support operator overloading (or as long as you’re wise enough not to use it if it does). However since most programmers are didn’t get beyond ODEs in college (if indeed they got that far–some of my comp sci friends struggled mightily with calculus and had to retake it repeatedly), one can’t responsibly design a language that requires mathematical sophistication in the 99th percentile for proper use. Probably one should stop with high school algebra.

Features that are guaranteed to be misused should be eliminated. In the specific case of operator overloading, I daresay, the feature will be misused far more often than it will be used properly. There are only about a dozen or so cases where operator overloading is called for, and only one is even remotely common. That one is complex arithmetic, and this single use case could be better handled by adding a complex type to the language. Arguably BigDecimal and BigInteger are a second and a third. The remaining cases are so incredibly esoteric that only a mathematician or an occasional physicist could possibly be interested in them. Can anyone name even one?

Turn On Autocomplete

September 25th, 2007

The following is a possible new chapter to be added to Refactoring HTML in the accessibility section. I’m throwing this in fairly late in the editing process, so I’d appreciate any thoughts, comments, or criticisms you might have about this. In particular, I’d appreciate any cases you can think of where autocomplete is not appropriate.

For what it’s worth, I’ve pretty well convinced myself that usernames and passwords are not such a case. That is, autocompleting usernames and passwords definitely increases accessibility and usually increases security. I don’t intend to explain why it improves security in this chapter, but if anyone wants to disagree with that, I’ll explain why in the comments.

Remove autocomplete=”off” attributes where appropriate.

<form action="/login" method="post" autocomplete="off">

<p><label>E-Mail Address: 
<input type="text" name="e1" autocomplete="off"/>
</label></p>

<p><label>Password: 
<input type="password" name="p1"  />
</label></p>

<input type="submit" title="Login" autocomplete="off"/>

</form>

<form action="/login" method="post" autocomplete="off">

<p><label>E-Mail Address: 
<input type="text" name="e1" />
</label></p>

<p><label>Password: 
<input type="password" name="p1"  />
</label></p>

<input type="submit" title="Register" />

</form>

Read the rest of this entry »