meyerweb.com

Skip to: site navigation/presentation
Skip to: Thoughts From Eric

Archive: 'General' Category

De-lurk and Be Heard!

Well, I just told you about myself, and now it’s your turn to tell me (and everyone else) something about you.  I’ve been meaning to do this for a while, but when Roger was spurred into doing it by Veerle’s post, I knew it was time to get off my duff and just post already.

So, to more or less rip off Roger’s format, please comment to say:

  1. Who are you (name and occupation)?  Who who, who who?
  2. Where are you from?  (Feel free to add yourself to the Frappr map!)
  3. How long have you been visiting this site, either directly or via RSS?
  4. What was it that first brought you to meyerweb?
  5. What would you like to read more (or less) about here on meyerweb, or read/hear from me in general?  Be as general or specific as you like.

Please note that, thanks to my spam defenses, any first-time commenters will have their contributions held in moderation until I approve them.  I’ll try to stay on top of that, but I will have to sleep on occasion, so you may have to be patient.  Apologies.

New Design, New Feeds

The visual design of meyerweb turned a year old on February 1.  As a little celebration, I’ve rolled out an update to the design.  In the past, I’ve thrown out entire designs for completely new ones, but not this time around.  This time, the changes are more of an incremental advance; or, if you prefer, a mutation of the previous design.  After all, the basic layout is the same as before.  I simply opened it up, allowing the various components more breathing room, and cleared away some of the clutter that had built up, such as the various “RSS 2.0″ buttons.  (So how does one now get the feeds?  I’ll explain that in just a minute.)

There’s more to this than just a simple evolution, I admit.  The first major change is the addition of navigation links across the top of each page.  For some time now, a lot of the material that people come here to find was buried, difficult to find unless you knew where you were going, or else on what terms to search.  By pointing directly to the topic areas I think will most interest visitors, I believe the site is now much easier to use.

The second major change is the layout of “metainformation” for each post (and comments on posts). In this area, I was heavily influenced by Khoi Vinh’s Subtraction 7.0, and I definitely owe him a debt of gratitude and inspiration.  As will be evident from even a casual comparison of the two sites, I took a general design idea Khoi uses and adapted it to my particular situation.  I think it works rather well.

The third notable change is a feature addition that I’ve been planning to add for a couple of months now. New to the site is a Syndication Feeds page which brings together (dare I say it aggregates?) all of meyerweb’s RSS feeds.  The real step forward here is the debut of two new “Thoughts From Eric” feeds, including a feed of just technical posts and a feed of just personal posts.  Now all of you who just come here for the technical stuff, and couldn’t care less about the person behind the site, can restrict your feed to screen out the worthless drivel.  Similarly, those of you who know me personally but don’t understand the eye-glazing technical stuff can filter out the confusing nerdity.

Even better, each of the three “Thoughts From Eric” feeds (including the traditional “show me everything!” feed) comes in one of two flavors: summary or full content.  At long last, I’ll find out if providing full-content feeds drives my bandwidth consumption up, or eases it down.

I’ve also established a new Redesign Watch feed, which is something I know will be of interest to many visitors.

I made other small refinements throughout, and odds are I’ll continue to tinker for a little while.  Overall, though, I feel I met my goal of making meyerweb a more friendly site to visit, and a more feature-rich environment.  Explore, and enjoy.

Password Production

Since I’ve been futzing about with human-friendly security of various forms recently, it occurred to me that I ought to pass along a password-generation technique I’ve used for years now.  Maybe it’s a well known technique, and maybe not.  In any case, my best recollection is that I learned it from either John Sully or Jim Nauer back in my CWRU days.

The general idea is to pick a two-word combination you can easily remember.  For example, suppose you’re a big fan of pizza and Pepsi, and would have no trouble remembering those words.  Perfect: use them the basis of your password.  No, you don’t make it “pizzaPepsi”—instead, you interleave the words.  That would yield “pPiezpzsai”.  It looks fairly random, and yet is very easy to recreate because the seed words are so easy to remember.  If you have trouble remembering the exact sequence of letters, you can just write the words down on a piece of scrap paper and follow along.

In cases where your two words have different lengths, you can always tack on numbers.  For example, maybe your seed words are “milkshake” and “fries”.  That would normally yield “mfirlikesshake”, which is okay, but you could tack the numbers “123″ onto “fries” to get “mfirlikessh1a2k3e”.  Alternatively, you could put the numbers at the beginning, so you get “m1i2l3kfsrhiaekse”.

I’ve found that when I start using a new password created this way, it takes me a few days to adapt to it.  I usually have the seed words written down some place handy during that training period.  Then my fingers take over, and from then on I can type it blindfolded in less than a second.  I don’t even think about the actual characters I’m typing: I just start, and the muscle memory kicks in.

So if you’re looking for a way to generate harder-to-crack passwords, there’s one possibility.  How about you—do you have any nifty human-friendly password-creation recipes?

Mickey Prints

Since Kat and I were going to be visiting Florida so often last year and this, and therefore we of course had to visit Disney World a lot, we decided to buy annual passes.  I was quite interested that when you buy an annual pass, the Disney folks take the prints of your right hand’s first and second fingers.  That data is associated with the card; whether it’s encoded onto the card’s strip or not, I don’t know.  But either way, some of your biometric data is associated with your Disney pass.  When you enter the park, you run the pass through the turnstile and stick your fingers into a reader.  If the fingers don’t match the card, you can’t get in, so you can’t share an annual pass with anyone else.

Now, suppose the Disney database stores that biometric data.  Now they have that data tied to a credit card number, purchasing patterns in the parks, probably a home address and phone number, and so on.  Interesting.  Guess what?  As of 2 January 2005, Disney is doing that for all passes: day passes, park hopper passes, all kinds of passes.  Every kind of pass.  Get a pass, get your fingers scanned.  (Okay, yes, you can opt out and be required to show photo ID, but how many people will bother?)

That’s a whole lot of biometric data associated with a whole lot of consumer data.  Interesting, don’t you think?

No Comment

While I was away doing family stuff in Florida (again), there was an enormous comment-spam flood.  Nearly all of it was caught by my spam filter, but that was still 352 messages I had to delete from the filter’s trap, not to mention 352 e-mails asking me to approve or disapprove them.  And it kept coming.  So I turned off commenting completely as a temporary measure.

Then, several days later, I flipped the comments back on.  In fifteen seconds, I had four more comment spams, and these got past the spam filter, as inevitably they will, sooner or later.  So I flipped the comments back off.  Now I’m feeling a profound disinclination to ever re-enable them.  Yes, that’s letting the bastards win, but I only have so much energy to fight them.

So that’s why comments have been turned off.  No estimates regarding when they’ll be back.

En Passant

Last night, during a small window of down time (the first in almost a week), I fired up Freeverse‘s entirely free yet thoroughly gorgeous Big Bang Chess.  Now, it should be stated right up front that I’m not really a fan of chess.  Oh, sure, Game of Kings and all that, but generally I find it to be an almost even mixture of boredom and frustration.  The latter is particularly true because I’m just not very good at the game.  There’s too much going on, and I have to juggle too many things that might or might not happen, for it to be much fun for me.

But I was looking to keep myself occupied for a few minutes, and I have very few games installed on the laptop, so Big Bang Chess got the nod.  I immediately cranked the AI setting all the way over to the left (thus elevating fast thinking above smart thinking) and started playing.  As I blew through a few quick matches, it occurred to me that there are a few things that a computer chess game could do to make me more interested.

Human-like turn lengths for the AI.

One of the things that most often frustrates me about computer chess is that the AI will make a move within seconds of my making a move.  More often, it will do so immediately.  Then I sit there, thinking my slow organic thoughts, feeling vaguely stupid for being such a slowpoke even though I know there’s no direct comparison.  Eventually, I make a move.  Instantly, the computer makes its move.  My first reaction is, “That was awfully quick.  Was he waiting for the move I just made?  Did I just walk into a trap?  What am I missing?”  And then I go hunting around the board, not sure where to look, not sure that there’s even anything to see.

I’m aware that the computer needs only a fraction of a second to run through possible moves and pick one.  If it’s a really advanced system, it may take 20 or 30 seconds as it looks five moves ahead.  If the computer took a human amount of time before moving, say a few minutes, I’d feel more at ease.  Yes, I know that means having the computer pick a move and then do absolutely nothing for a few minutes.  I don’t care.  This is purely a matter of acting in a manner that makes me more comfortable, and therefore more likely to enjoy the entire process.  The UI could have a “go ahead and move” button tucked away in a corner for me to use if I ever got tired of waiting.

I realized this was what I wanted when I asked myself why I was setting the AI to be quick at the expense of being smart.  Aside from making it more likely that I’d win, I realized it was because I felt like if the computer was going to move at a speed that, subjectively, seemed reckless and devoid of consideration, then its moves should reflect that.  And they do.  But even if I set the AI to be as smart as possible, it’s still going to seem to me like it’s moving without putting much thought into its game.

So put up a picture of an opponent who looks around the board, holds a chin in his or her hand as if pondering deep thoughts, leans back in reflection, and generally acts like it’s still thinking even though it picked a move three minutes ago.  It will make the game more enjoyable.

An option to show all of the squares that any enemy piece can reach.

Part of my problem in chess is that I don’t have the patience to figure out whether a given square I’m considering occupying (or piece I’m thinking about taking) is already covered.  That’s largely due to all the possible ways a square can be covered.  Is there a knight within striking distance?  Can a bishop jump over from the other side of the board?  And so on.  It isn’t that I can’t manage this mental feat.  It’s just that I have little interest in doing so for every single last square that interests me, turn after turn.  So if a game tinted all enemy-reachable squares red, for example, I’d have a much better grasp of the strategic situation.

This would obviously be an option in the preferences, albeit one I’d never disable.  Having a similar “tint all squares my pieces can reach” option would be cool, too.  It would be even better if the amount of tinting of a square was based on the number of pieces that could move to it.

This kind of visualization would keep me from making stupid mistakes, and mean a lot less use of the “Undo move” option.  Who knows?  Maybe with enough play in that mode, I’d eventually reach the point where I didn’t need the help.

The ability to somehow create variant games.

Back in high school, I was a member of the chess club, mostly because a lot of my friends were members.  Also because I still bought into the idea that the really smart people played chess, and I wanted to be really smart.  We had a few variant games that I remember fondly, and it would be fun to have them reborn.  My favorite was Nuclear Chess.  In that one, any piece could instead of moving choose to self-detonate, destroying itself and any pieces in adjacent squares.  (Of course, if you did that with your King, you lost the game—unless you took out the opposing King, in which case it was a tie.)  And then there was Thermonuclear Chess, where any piece could make a normal move and then immediately detonate.

They were quick games.  Lots of fun, too.  The nature of the game changes dramatically when you have to make sure an opposing piece can’t just plow into your pawn line and immediately detonate, thus wiping out your King in the process.

Anyway, I’m not entirely sure how one could open up a chess game’s architecture to allow the creation of variants like that, but I’d love to see it happen.

Just some random thoughts on a game I don’t really like.  If you want to talk Checkers, though…

UI9

A blurry image of the display panel of another digital camera, which shows that camera is pointed at the display panel of yet another digital camera.

Regular Expression Help

Some time ago, Simon Willison pointed out a very cool bookmarklet that helps solve the “I have one password for all my public sites” problem.  This is where someone picks a password they can remember, and then uses that as the password for their accounts on Amazon, eBay, Hotmail, Netflix, et cetera.  This is one of those things that security experts tell you never to do, and yet just about everyone does, because given the plethora of accounts most of us maintain, there’s no way we could keep track of which password goes with which account unless it was all written down somewhere… and that’s something the security experts insist that you never, ever do.

So the bookmarklet takes your ‘master password’, crosses it with the domain of the site, and generates an MD5-based result.  So let’s assume meyerweb had accounts.  You would fire off the bookmarklet, which would ask you type in your master password.  So let’s say your master password is ‘passwd’; this is combined with www.meyerweb.com and the resulting password is 68573552.  On the other hand, if you just use meyerweb.com, the result is 92938a6e

Now, while those aren’t the most secure possible passwords, they’re a lot more secure than ‘passwd’.  So I’d like to make use of this bookmarklet.  Fine, great.  The problem is what you just saw: the generated password changes if the full host and domain name bit changes.  This could be a problem if, say, amazon.com suddenly starts routing all logins to a server named login.amazon.com… or vice versa.  So I’d like to adapt the bookmarklet so it grabs just the domain and TLD (I probably got those terms wrong; I usually do) of a URL.  Problem is, I can’t write regular expressions for squat.  I don’t even understand how the regexp in the existing bookmarklet works.

So, a little help, please?  Given the form http://www.domain.tld/blah/foo/wow.xyz, I want the regexp to return just domain.tld.  Just leave a solution in the comments, and you’ll earn the respect and adulation of your peers.  At least those of them who read the comments.

April 2014
SMTWTFS
March  
 12345
6789101112
13141516171819
20212223242526
27282930  

Archives

Feeds

Extras