Posts from 2005

New Design, New Feeds

Published 19 years, 9 months past

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.


Breakfast Bliss

Published 19 years, 9 months past

One of my long-time favorite places to eat is Yours Truly, which is a local chain of sorts—well, to be honest, they’re more of a local institution in seven locations—and whose Web site lends serious support to my theory that site quality is inversely proportional to food quality.  They also have free WiFi at the location nearest us, not that I ever happen to have my laptop along when I’m there.  But there’s always the possibility of using it.

In a menu full of good things, one of my favorites is their Notso™ Fries (“They’re notso common!”).  To make a plate of Notso™ Fries, you first pile up some cottage fries, which are those little round crinkle-cut jobbies.  To the fry pile, you then add a whole bunch of cheese.  Then crumbled bacon, and I think more cheese.  The whole plate is then broiled until the cheese is golden, and just before serving you plop on a generous dollop o’ sour cream.

It’s like a heart attack on a plate.

I had long thought that this wonderful dish represented, in some sense, the apex of cholesterolicious cooking, but this morning I discovered that I was wrong, that the fine folks at Yours Truly had gone themselves one better and given us…

The Notso™ Omelet.

Substitute hashbrowns for the cottage fries but keep everything else the same, stuff the result into a three-egg omelet, and put the sour cream on top.

Oh yeah.


S5 1.1b5

Published 19 years, 9 months past

And now, S5 1.1b5: try the testbed online, or download the 208KB ZIP file).  There is one functional change since S5 1.1b4: the Home and End keys now jump to the first and last slides, respectively, when in the slide show view.  In outline view, S5 will ignore those keystrokes (as it does all keys other than “T”) and allow the browser to do whatever it usually does.  This is actually an addition, as neither key was being used in previous versions of S5.

There is still a major conflict between S5 and the AdBlock extension for Firefox/Mozilla.  I don’t know what’s causing it, but I do know that if you’re running AdBlock and you load up an S5 presentation, you’re likely to find yourself trapped in the presentation, unable to use the back button or do much of anything else short of quit the program.  Don’t say I didn’t warn you.  I’ve started a thread in the AdBlock forum about it, and hopefully a solution will be found.  I will not delay finalizing 1.1 for this, however.  If a solution comes up after that and it calls for modifications to S5, then I’ll release a 1.1.1 version for AdBlock users.

A similar problem in Safari is still hanging about: in the outline view, the Page Up and Page Down keys are ignored.  I still have no idea why.  If anyone can find a solution, please let me know.

The PNG transparency fix introduced in 1.1b4 is still restricted to foreground images (i.e., those brought in via an img element).  In the default directory, there are two .htc files.  v1.1b5 uses pngbehavior.htc.  The other file, iepngfix.htc, can theoretically confer alpha-channel recognition to background PNGs in IE/Win.  I was unable to make this work, but the pieces are all there to experiment and find the fix I missed.  The behaviors need to be attached using addRule calls in slides.js; there’s one there already.  Hopefully a fix can be found in time to make it into 1.1 final.

Speaking of which, this is the last beta version before going final—I need to get it out the door so I can concentrate on other things for a bit.  Bug reports beyond the AdBlock problem are welcome, and fixes even more so.  I’m still open to feature requests for versions beyond v1.1, of course.


Be A Parent

Published 19 years, 9 months past

The Rogue Librarian is back!  And, as it happens, pointed to a New York Times article that just completely set me off.  (Yes, it requires registration to read the article, but then, said registration doesn’t necessarily have to be your own.)

I was experiencing a mixture of bemusement and wariness about the sites mentioned and what they chronicle, but then I hit the rationalizations in part 2, and that’s when my fuse got lit.  Here’s the first spark:

“A blog like this is narcissism in its most obscene flowering,” [Ayelet Waldman] said. “But it’s necessary. As a parent your days are consumed by other people’s needs. This is payback for driving back and forth to gymnastics all week long.”

You know what?  Boo [censored] hoo.  Being a parent means, to some extent, suppressing your personal needs, desires, and expression for the good of your children.  That’s pretty much A-number-one on the list of job requirements.  If you feel like you have to pay back your children for your having to drive them back and forth to gymnastics, then odds are you made a very poor choice in becoming a parent.  And your children are the ones who are most likely to end up paying for it.

Blogging about little Johnny’s poopy diapers, or Susie’s apparently sourceless temper tantrums, is in no sense of the word necessary.  It isn’t even needed, either by you or by the rest of us.  If you absolutely must write down your thoughts and feelings about how hard it is to be a parent, do so in a private journal.  Fifteen years from now, you can decide whether or not to give it to your child, and if you do, they can decide what to do with it.  But don’t throw it out into the world as if it were a list of your favorite movies.  That’s unnecessarily cruel.

As the article’s author observes:

How will the bloggee feel, say, 16 years from now, when her prom date Googles her entire existence?

That’s definitely a point of concern, and one I’ve been conscious of from the beginning.  More to the point: how will the bloggee feel to discover that he or she was, without any consent or consultation, made an object of scrutiny, laughter, scorn, wonder, and general comment to anyone who might drop by?  How many of us would like to have our lives chronicled and published without our consent, let alone our input?

Which leads us to the next bit that drove me up a wall:

At some point, however, parents may find themselves at a crossroads. Molly Jong-Fast, who has been a frequent subject for her mother, Erica Jong, said, “There comes that inevitable moment when parents who write about their children need to choose between their writing and their children’s privacy and honor.” Ms. Jong based a children’s book on her daughter as well as a pilot for a Fox sitcom. “There’s no compassionate way to do both, so either the parent or the child will end up feeling resentful.”

I can barely believe this was even raised as a potential issue.  You choose in the child’s favor. End of story.  If you can’t do that, and especially if you can’t do it without feeling resentful about it, then it’s long past time for you to suck it up, get over yourself, and seriously consider therapy.

Your child is not perfect.  Parenthood is not a sun-filled meadow of joy.  Raising children is not easy, and it isn’t a smooth ride, and you aren’t going to make the best decision every time.  There are diapers to change, mouths to feed, tantrums to weather, and sleepless nights to endure.  You don’t get to be yourself any more, not completely.  Not the way you used to before the baby.  That isn’t how it works.  Furthermore, you are not uniquely suffering, because this is how it’s been since humanity became sentient, and definitely how it’s been since civilization emerged.  So deal with it.

It’s true that many parents have, for all that time, talked with their family and friends about the challenges of being parents.  The difference is that those conversations were conducted within a social network of people who could help the parents out, and knew when to be discreet.  To blog the every detail of your baby’s life, though, is making a spectacle of your child for your own benefit.

For that stunning degree of selfishness, and for the damage I fear it will cause the children thus forced on display, I weep.

You may wonder where I get off being so hypocritical, since I write about Carolyn here from time to time.  Feel free to read what I’ve written, and see if you think I’m putting my writing above her privacy and honor.  If indeed I am, then some of my anger needs to be directed inward, and I need to change my behavior.  I can accept that, and should I need to, I will do so without resentment.

Because that’s what a parent does.


Password Production

Published 19 years, 9 months past

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?


S5 1.1b4

Published 19 years, 9 months past

As promised, I now draw back the curtain on S5 1.1b4 (try the testbed online, or download the 263KB ZIP file).  Here are the changes from 1.1b3:

  • “Meta” keys—function keys, command, control, alt, and option—should no longer be trapped by keys().  Thus, for those of you who discovered that you couldn’t use command-W to close the window in Firefox/OS X, that should be fixed; hitting F11 to invoke full-screen mode should also work; and so on, and so on.

  • While I was at it, I restructured keys() so that the only keystroke S5 pays attention to when in the outline view is “T”, to let you toggle back to the slide show view.  Anything else gets passed up by S5.  Despite this, Safari is still ignoring Page Up and Page Down while in the outline view.  I can’t for the life of me figure out why.

  • At the suggestion of Romain Herault, I’ve modified clicker(e) so that it will ignore clicks inside of embed and object elements.  This will allow you to interact with an embedded object, like a Flash file or a video, without advancing the slide show.

    I’m aware that some people have run into problems adding videos to their presentations, but I’m not at this point able to take on the task of analyzing the problems and figuring out potential solutions.  If someone else wants to work on fixes, there’s every chance I’ll be able to get fixes into the next version of S5, but very likely not this one.  I have a similar stance regarding the long pause of unstyled content while the presentation loads.  If someone devises a fix, I’ll study it for inclusion in the next version.  I personally don’t have a problem with the pause, but I realize there are those who’d like to eliminate it, and if it can be done without causing problems I’ll certainly add it.  Just likely not in this version.

  • PNG alpha channels are now honored in IE/Win, if only for img elements and not backgrounds.  You can see this happening on slide 5 of the testbed.  Woohoo!  This happens thanks to Erik Arvidsson’s pngbehavior.htc, a copy of which now resides in the default directory.  It may one day be replaced with IE7, but we’ll burn that bridge when we come to it.

    The one sort-of drawback to using this approach is that it seems to require that the call to pngbehavior.htc sits in an embedded style sheet, or else nothing happens.  This may very well have to do with the way the JavaScript monkeys around with external style sheets during startup.  If any of you IE/Win JS gurus can figure out a way to get the behavior to fire without having to embed it into the presentation, that would be stellar.  If not, it’ll just be documented as a “leave this in if you’re using alpha PNGs; otherwise you can take it out” thing.

One thing I’m still thinking about changing is the handling of the Home and End keys.  Right now, they move you forward or backward by one slide, just like the arrow keys and several others.  I’m thinking of making them jump to the first or last slide instead.  I’m hesitant because making the change means it would be much easier for a presenter to accidentally jump to the beginning or end of a slideshow with a single keystroke, and you can already easily jump to any slide by typing the slide number and hitting Return.  On the other hand, it’s a functionality that makes general sense, and it makes it much easier for a presenter to intentionally jump to the beginning or end of a slideshow with a single keystroke.  What are your opinions?

At this point, I would anticipate that 1.1 will have one more beta version to eliminate any bugs that are discovered as well as adopt any optimizations, and then it’ll go final.  I know there have been other feature requests (and may be more on this post, which is fine) but it’s really late in the beta cycle to add anything else.  Any new features will have a chance to get into the next version.


S5 Update

Published 19 years, 9 months past

I know it’s been a while since the last beta version of S5 was released, but between doing client work, flying to and from Albany (speaking of that, big ups to Dan “So Fine” Feinberg, Ed “The Shark” Skawinski, Ric “Darin” DiDonato, and the rest of the ITU Crew), diversions into PHP hacking, judging a markover contest, starting ballroom dancing classes, and spending time with my family, time has been a wee bit tight.  Things will only get worse once March rolls into town, so I’m going to try to push 1.1 into final status before February is done.

In the meantime, I wanted to point to some cool things that I’ve heard about with regards to S5.

  • S5 was adapted to create an online tour of Epocrates, a popular medical reference package for handhelds.  Kat uses it, as a matter of fact.
  • Ludovic Dubost, developer of XWiki, created an XWiki-based S5 creator, which you can read more about in his blog entry about it.
  • Pelle Braendgaard launched soapbx.com, a Web-driven S5 editor.  You can pick a theme, write the content in a wiki-like form, and get a slideshow.  It was apparently developed using Ruby On Rails.
  • Not quite ten hours after getting Pelle’s e-mail, a message from Lucas Carlson arrived regarding the creation of his own S5 creator: s5presents.com.  It too was developed using Ruby On Rails.
  • Earlier today, Eric Eggert reported that S5 got coverage in the German version of Internet World magazine.  I’m sort of hoping to see a scan of the article at some point.  (Is it copyright infringement if I possess a scanned copy but can’t understand what it says?  Just wondering.)  Update: I’ve seen a copy of the article, so there’s no more need for scans.

In other, less specific news, I know that people have created or are working on creating translators of one kind or another.  A popular request seems to be an OPML-to-S5 translator of some kind, and there’s always the Keynote-to-S5 idea.  So I’m going to throw open comments for people to post links to S5-related projects, translators, and what have you.  Heck, if you’ve recently done a presentation using S5, let’s see it, especially if you created a new theme.  Just please leave this post’s comment clear of bug reports or feature requests.  As of this writing, you can drop those on the S5 1.1b3 post, or else wait for the forthcoming post on 1.1b4.  I hope that’ll go up in the next couple of days, but no promises.


Gatekeeper In Perspective

Published 19 years, 9 months past

So when I said on Monday:

Got feedback?  Let’s hear it?

…what I actually meant was:

Got feedback about the code or how the package works once it’s installed in WordPress?  Let’s hear it.

I should have realized that otherwise, the comments would turn into an argument about comment spam, fighting it, ways the general idea could be defeated, and more.  Which they did.

Look, folks, despite what some people might tell you, I’m not so arrogant as to think that I could single-handedly solve the comment spamming problem for all time.  Even if I were, I very much doubt I’d be so clueless as to think that WP-Gatekeeper was that solution.  And if both those things were the case, I’m pretty darned near certain I would have very explicitly made the claim of having beaten the spammers.  Likely in big, boldfaced, red, capitalized, blinking letters, plus a background MIDI of “We Are The Champions”.

WP-Gatekeeper is not going to stop every possible comment spam attack, human or automated, for the rest of time.  Neither is any other defense you can name, without exception.  There may be measures that currently have 100% resistance to scripted attacks.  They will one day fail—I can pretty much guarantee it.  Even today, they are defeatable by actual humans sitting at computers and posting comment spam on every site they find.  That kind of spamming is very, very rare, but it happens.  I had such an incident within the last month.  If I hadn’t been keeping a close eye on new comments just then, I’d likely have missed it completely.

I’m fully aware that there are ways a spambot could defeat WP-Gatekeeper.  At the moment, none of them can.  That will one day change, of course, assuming challenges become at all popular.  Comment spam and the fighting thereof is a dance, a tennis match, an arms race.  Neither side will ever win.  As one side adopts a new tactic, the other side will move to counter it.  The countermeasure will itself be countered.  And so it goes.  Eventually, either spambots or spam defenses (or the two in combination) will become so advanced that they’ll gain self-awareness, and then we’ll all be royally hosed.

I know this.  You know this.  Let’s move on from there, okay?

In the end, the goal is to add another arrow to the quiver at the disposal of spam fighters.  Think this approach is wrongheaded, annoying, or otherwise pointless?  Fine.  Don’t use it.  For those who want to add this kind of capability—and since I instituted it on meyerweb, I’ve had not a single piece of spam make it onto the site or hit the moderation queue, whereas in my pre-defense days, I’d get at least twenty every day—then the package is there.  You can combine it with other defenses, if you like, for even more coverage.  I may upgrade it in the future, depending how far I get in learning PHP, mySQL, and form handling, and what feedback I get from people who know PHP better than I do.  I may not, in which case the system as it stands is effective, and probably will be for a while.  Even if I do one day abandon further development, the code is out there for someone else to improve if they so choose.

In the meantime, if there’s anyone who is using WP-Gatekeeper or has looked at the code, and has feedback on the coding or the way it works for the administrator of a WP blog, please feel free to share.  Also, if anyone can point me to an example of PHP code for collecting all of the HTTP_VARS that are returned by an XHTML form and then looking through them, even when the variable names aren’t necessarily known ahead of time, I’d really like to see it.  Thanks.


Browse the Archive

Earlier Entries

Later Entries