Skip to content

The longest word that can’t be expressed as a URL hack

Colin and I were playing Domainr, which is a pretty fun and fantastic site for generating domain hacks. Of course, I already own the best one (wait what), but there’s still a ton of joy in finding out, among other things, that quiteajo.lt is available! (although I’m sure it won’t be five seconds after I hit “Publish”)

Actually, Domainr also produces quite a few things that aren’t technically domain hacks, because a domain hack, by virtue of the first word in the phrase, is a domain name. Domainr searches for top-level domains anywhere in the input string, and if there’s spillover text after the TLD, Domainr will slop the rest of the text over into a first-level directory. For example, in addition to quiteajo.lt, Domainr also produces quitea.jo/lt and qu.it/eajolt. As far as I know, there isn’t a term for this, and I’m not really comfortable with calling it a domain hack, so I’m just going to call it a “URL hack” because the word or phrase forms the whole URL (without the scheme, but I think we can just assume it’s HTTP).

Finding the longest word that can’t be a domain hack is boring: just find the longest word that doesn’t end in a top-level domain. So I’m kind of curious about what’s the longest word that can’t be expressed as a URL hack.

Continue reading ›

Pumpernickel packaging

packaging for Mestemacher brand Westphalian Pumpernickel with whole kernels, showing a man and a woman two seconds away from passionate face-sucking

Wait, will eating this make me irresistible? Should I have been buying this years ago?

Is the guy really into her at all or is he staring off into the distance, thinking of delicious sandwiches?

Did he just eat before the embrace? Is she getting a noseful of pumpernickel breath?

Which of the two people does “no preservatives” apply to? Both?

What the hell, Slashdot

Slashdot, you’ve heard of Slashdot, right? You’re on the internet, of course you have. News site covering the latest developments in hardware, software, programming, video games, copyright laws, and so on. The first clause of the tagline summarizes it well: “news for nerds.”

I was cleaning out my inbox today, when I found a year old e-mail from Slashdot giving me the details about a password reset for my account. This took me somewhat by surprise, because I didn’t even remember signing up for a Slashdot account in the first place. I was about to trash the e-mail when I noticed something unusual, something that a “news for nerds” site could not, would never have sent me. So in disbelief was I that I requested another password reset, just to see if the new e-mail would have the same thing. And it did:

Your new password is **********. Your old password will still work until this password is used. Go to the URL below to log in:

<http://slashdot.org/index.pl?op=userlogin&upasswd=**********&unickname=CHz16&returnto=%2Flogin.pl%3Fop=changeprefs>

Make sure you then CHANGE YOUR PASSWORD!

I’ve obviously censored the generated password from the first paragraph. Now, sending passwords by e-mail is not a particularly good practice, but unfortunately it is rather commonplace, and here Slashdot only sent me a temporary password, so that’s not what caused me to double take1. Notice that I’ve censored the quote twice, because the password is also in the login URL.

If you follow the link in the e-mail, you get taken to a page to change the generated password, this time with the URL <http://slashdot.org/login.pl?op=changeprefs&note=Please+change+your+password+now!&oldpass=**********>. Again, the password is embedded in plaintext in the URL.

Slashdot why are you putting passwords in URLs what the hell dude

In Slashdot’s defense, this is only a temporary password that is sent in the e-mail and put into the URLs. The e-mail tells you to change the password to a real one, and the link even sends you directly to the password change page. As far as I know, it never sends an e-mail out with your real password, nor does it put your real password in a URL.

Well, except that Slashdot doesn’t actually force you to change the password from the generated one. You can navigate to a different page and it won’t complain at all. So I guess that really could be your real password it displays in URLs after all.

If you instead don’t follow the link at all and manually go to the login page to enter the generated password, all Slashdot does is take you back to the front page. No passwords in URLs, no reminders to change your password, just a swift redirect like nothing ever happened. So there’s a silver lining here, in that all Slashdot has done is sent you your password in plaintext. That’s it!

1: The thing that made me double take is also not the fact that the final ampersandquestion mark in the link is URL encoded as %3F, while all of the other ampersands arethe first one is not. ^

So I’m using EPSON Scan,…

Professional Mode scan dialog

… but one part of the interface kind of confuses me:

Continue reading ›

Google Chrome logo development

Google Chrome logo development
Simon Poké Ball Morph Ball Traffic light flag of Benin Rubik's Cube Google Chrome

This “Cuil” thing

This isn’t going to be about how Cuil is fantastic or terrible or anything.

At least directly.

Actually it’s about their most fantastic feature, the image association with search results. From the FAQ:

We know from our research that people can make better and quicker decisions about relevance and quality when they can see an image from the website. We do our best to take images from Web pages that accurately reflect the content of the website. Many websites are full of images, so we use advanced algorithms to determine the best image to show the user.

Let’s look at some results. Continue reading ›

The greatest reason to do anything, ever

I was reading this fantastic e-mail dialog between biologist Richard Lenski and Wikipedia-killer Andy Schlafly, when I decided to poke around the intertubes for stuff about Conservapedia. I eventually landed on this article, originally published in the Los Angeles Times a year ago:

Andy Schlafly was appalled. He was teaching a history class to home-schooled teens and one student had just turned in an assignment that dated events as “BCE,” before the common era — rather than “B.C.,” before Christ.

“Where did that come from?” he demanded.

Her answer: “Wikipedia.”

At that, Schlafly knew he had to act. . . . Thus was born Conservapedia.com — touted as “a conservative encyclopedia you can trust.”

This reminds me of the time I started my own country because of a dispute over the price of tea.

Observation while briefly watching a censored version of The Longest Yard (2005 remake)

Words that you cannot say on TNT:

  • “shit” (including but not limited to the derivation “bullshit”)
  • “goddamn”

Words that you can say on TNT:

  • “nigger”

Now, I’m not going to say that this is related to the fact that TNT is headquartered in Georgia, but [redacted]

The voodoo of gcc, Part II

This is a direct follow-up to my previous post on gcc optimizations. The main code example, integer division by 7, came from a session of the Compilers class I took this semester. The professor was demonstrating the use of gcc to show example assembly for certain operations: arithmetic, branching, etc. We were all expecting something like the very first assembly example, using the integer division instruction the 80486 provides, and we all had the same flabbergasted reaction to the code gcc actually produced. That course gave me a healthy respect for the fact that compiler writers are, by and large, the smartest people on the planet.

I had a similar moment with gcc producing something unexpected while I was writing the previous post. The benchmark code at the very bottom of it, specifically.

Continue reading ›

The voodoo of gcc, Part I

Here’s a stupid bit of x86 assembly code, using AT&T style:

divideBySeven:
        pushl   %ebp
        movl    %esp, %ebp
        movl    8(%ebp), %edx
        movl    %edx, %eax
        sarl    $31, %edx
        movl    $7, %ebx
        idivl   %ebx
        popl    %ebp
        ret

What does this do? Well, the label should give you a pretty good idea. Converting it into C, we get:

int divideBySeven(int num) {
    return num / 7;
}

Natch.

Continue reading ›