Posts in the Tech Category

Taking The “A” Train

Published 21 years, 3 months past

So I upgraded to WordPress 1.5 over the weekend.  Unfortunately, the “famous 5-minute installation” was, for me, about two orders of magnitude longer.  This is not really the fault of WordPress or its crafters: my site is a fairly unusual case.  I had pretty heavily modified the templates in WordPress 1.2 by changing the markup, rearranging PHP, that sort of thing, so I had to make sure the upgrade wouldn’t wreck the site.  I was also using a number of plugins, many of which I’d written, and I wanted to be sure none of them would get broken.

At first I was planning to modify the WP 1.5 files directly, but then I realized that with the new Themes feature in WordPress, I could convert my markup into a new, separate theme.  That took me a while, as I was learning the new structure of WP and figuring out what pieces of my markup needed to go where.  Had I never messed around with the original WP markup, I could’ve skipped this step entirely, and saved myself a few hours of work.  But then I wouldn’t understand the WP internals as well as I do now.

This thematic conversion was, it is to be expected, a one-time investment.  From here on out, I can twiddle with stuff in the theme files, and not touch the WP core.  This is a vast improvement over 1.2, and illustrates why themes are a huge win for power users as well as novices.  Whether you want to just install and start blogging, or you feel like completely redoing the markup to suit your own twisted ends, WP’s themes will make your life much easier.  It will also make it a lot easier to upgrade in the future.  I used to fear upgrades because of all the hacking I’d done.  Not any more.

Once I’d upgraded the core WP files, it was time to find out what it would take to upgrade my plugins.  Basically, very little.  I had some magic-quotes routines that had become redundant and needed to be stripped out.  That was pretty much all that needed to be done.

However, thanks to new features in WP 1.5, it’s possible to greatly improve the way plugins operate and to very easily extend WP’s feature set entirely from a plugin (once you fix a bug discovered last week).  Take WP-Gatekeeper, for example.  In WP 1.2, installing Gatekeeper meant installing a plugin file and activating it, adding a file to the wp-admin directory, and modifying two WP core files as well as the comment template(s).  Not exactly plug-n-play, which has probably limited its appeal to many WP users.

In WP 1.5, though, it’s possible to add administration pages dynamically—no files have to be edited—and to attach actions to comment form processing.  So even at this stage of its overhaul, my development copy of Gatekeeper requires only the installation/activation of a plugin and editing of the comment template.  By the time I’m done, it should require only installing and activating the plugin, with no need to edit any files.

Awesome.

All in all, despite the fact that it took so me long to line up all the pieces, I’m really glad to have upgraded to 1.5.  I suspect I’ve only scratched the surface of what it has to offer, but what I’ve seen so far has been impressive.  The combination of theme organization and plugin power makes this a much more modular, extensible, robust system.  In 1.2, I felt like I was bending and rearranging a basic system to meet my specific needs; in 1.5, I feel like I’m working within an environment that has everything I need to do anything I want.

That’s why I’ve changed the site footer, which used to say I was using a copy of WP that I’d “hacked like it was attacking my family”.  That’s no longer the case.  Sure, I’ve added a number of home-brewed plugins (most of which are freely available) to enhance various things, and yes, I’ve created my own templates.  But that stuff is all out of the core files and into separate packages, as it should be, while the core of WP is basically untouched.

Of course, I have a few quibbles here and there, as I do with just about any system I use (I’m a relentless customizer).  The Dashboard doesn’t really do a whole lot for me as it stands, and I have some things I’d like to change in both the advanced post-editing interface and the plugin management page.  This time around, though, I’m going to offer my changes as contributions to the WP code base, to be accepted or rejected as the developers see fit.

I doff my cap and bow in gratitude toward the WordPress team, and all the members of the WordPress community who have helped it grow and improve.  A good tool is now a great tool, and I can only imagine where it will go from here.


Upcoming Events

Published 21 years, 4 months past

Since Dave recently shared his upcoming conference schedule, I feel strangely motivated to do the same with my schedule.  Memetic infection or just a case of “me too, me too!”?  You decide.

  • Search Engine Strategies New York — I’ll be appearing on the panel “CSS Myths, Mistakes, & Reality” with Shari Thurow and Matt Bailey, as well as representatives of Yahoo! and Google.  My role is to quickly explain the benefits of standards to an audience that may have ltitle to no knowledge of said benefits.  The session will be 90 minutes, to provide plenty of Q&A time.

  • SXSW Interactive — I have three scheduled appearances in Austin, none of which have anything to do with CSS.  The first is Emergent Semantics, a look at how to add semantic information to the Web today using already-available features of XHTML.  The second is the panel Where Are the Women of Web Design?, an exploration of why there are so few female “leaders” in the Web design space, and how we might encourage more.  Last, I’ll be one of the performers at Vox Nox, a New Riders event that features several authors performing pieces that aren’t technology-related.  It will unfortuantely overlap a bit with 20×2, but not too badly.

    The SXSW folks have also scheduled me to do two book signings, one on Sunday and the other Monday.  If you’re going to be at the conference, bring a book to sign, or buy one there and get it signed.  Just think—the signature alone will add at least a dime to the book’s worth, although the personalized inscription will knock it back off.  That’s how it goes.

  • NOTACON 2 — held right here in fabulous Cleveland, Ohio, I’ll be giving two talks.  One will be The Construction of S5; or, How I Learned to Stop Worrying and Love the DOM, about the evolution of S5, looking at various design decisions and the joy of DOM scripting.  The other talk is Humanely Wielding a Clue By Four: Reflections on Managing a Massive Mailing List, an overview of what I’ve learned as List Chaperone for css-discuss, and what I think makes a good community manager.

  • WWW 2005 — and away I go to Chiba, Japan!  For the conference, I’ll be presenting a half-day tutorial on standards-oriented design trends and techniques.  I may also be presenting a poster, if it’s accepted by the poster committee, but I won’t know for a few weeks.  I’m also planning to speak at the Tokyo PC Users Group, and am still scouting for consulting opportunities while in Japan.  If you’re interested, please let me know!

Looking further into the future, I’m currently scheduled to speak at conferences in September and October.  I’ll have details on those as the time draws closer.  You can stay up to date with my public speaking schedule over at Complex Spiral Consulting, and yes, I really should turn it into an RSS feed.  Some day…


Airport Extreme and Netgear MR814v2, Take 2

Published 21 years, 4 months past

Last July, I posted about how I got my Netgear MR814v2 to talk to my Airport Extreme laptop.  The fix involved setting “Universal Plug ‘n’ Play” preferences.

Since then, I’ve gotten occasional e-mail messages from people thanking me for publishing the solution, and that neither Netgear nor Apple seem to know anything about this problem.  I got one just today, and thought it was probably time for a follow-up post.

The fix I described isn’t a panacea, I’ve found; I still occasionally find the laptop knocked back to its self-assigned IP address.  This behavior seems to revolve around hard sleep/wake events, and iChat might be implicated too.  My father has a Netgear 802.11g wireless router and it’s totally smooth for him using an 802.11b PowerBook, but whenever I visit with my Airport Extreme PowerBook the router starts kicking us both off on an infrequent basis.

I’ve found one of two things will fix my router when it ceases talking to the laptop.  One is to unplug and replug the router; the thing comes back up in about a second and it always sees the laptop again.  The other is to log into the router from a wired computer, go to the UPnP page, and hit “Apply”.  I don’t have to change any setting, just hit “Apply”.  That fixes the problem too.  I do the latter when I’m in my office with my wired G4, and the former when I’m downstairs closer to the router.

Either way, I’m thinking about replacing my 802.11b router with an 802.11g router so I can take advantage of the Extreme access, and I’m thinking the replacement won’t be a Netgear product.  Anyone have recommendations for a good Airport Extreme compatible wireless/wired combo router (I need to plug in two CAT5-bound computers) besides an Airport Base Station?


I Miss PhotoBars

Published 21 years, 4 months past

So I recently got my hands on a copy of Photoshop CS—yes, a legal copy—and have been playing with it over the past few days.  Here’s the thing: in my old Classic install of Photoshop 5.5, I had Extensis’ PhotoBars installed and it was basically like a slice of nerdvana.  Every function I commonly used was right there, ready for action, not hiding three levels deep in whatever menu Adobe saw fit to bury it.  Now if I want to transform a layer or switch color modes or resize an image, I have to go hunting.  It’s annoying, it’s time-wasting, and it shouldn’t be necessary.  Even if I trained myself to know exactly where every option lay in every menu, I’d still be slower than I was with PhotoBars, which offered me a fully customizable bar that gave one-click access to just about anything I wanted.

I found a single page regarding getting PhotoBars to work in Photoshop CS, but unfortunately it seems to be Windows-centric (given that the self-extracting demo is a .exe file).  Either way, it starts out with “install PhotoBars”, which I tried to do and got nowhere.  I then tried copying my Extensis stuff over from my old Photoshop install to the new one, and when I launched CS it cheerfully ignored all the new plugins I’d dropped into its folder structure.

And I should note that it’s entirely possible that CS has something equivalent built in, and I haven’t found it yet despite a look through the manual.  If I’m being blind, point me in the right direction.  If there’s third-party software that does this job, point me toward it.  In any case, I really, really want PhotoBars back, or at least something with equivalent power and customization.  Help!

Update: here’s an illustration of what I’m talking about…


New Design, New Feeds

Published 21 years, 4 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.


S5 1.1b5

Published 21 years, 4 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.


Password Production

Published 21 years, 4 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 21 years, 4 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.


Browse the Archive

Earlier Entries

Later Entries