Recent Geek News
Some of the regular irc.freenode.net #jquery guys have come to the conclusion that John Resig, creator of jQuery, is the JavaScript world’s equivalent of Chuck Norris, so we came up with some ideas and decided to pay homage to him in a blog post.
Note: he might actually be Chuck Norris, we’re not entirely sure.
I recently encountered an odd behavior in WebKit while testing jQuery BBQ on a page that lived in an Iframe. What I initially thought might be a bug in jQuery BBQ actually appears to be a bug in Webkit, so I set up an example page that shows how location.hash browser history breaks in an Iframe, in WebKit, Safari, and Chrome.
Today, when I started BBEdit, it asked me if I wanted to update to the latest version (9.3), and after it installed, I was greeted with a lovely surprise: there is now an option to set “Invisible characters” colors in the preferences!
Apparently, Rob Griffiths posted about this on Macworld shortly after I posted it to my blog and to Mac OS X Hints, which must have given it a bit of traction. Unfortunately, I didn’t get a link back to my original post, but the end result is the same.. the feature is now officially in the app!
Thanks, Barebones, for a great product!
A jQuery BBQ user came across a rather interesting behavior in Firefox the other day, so I set up an example page to test things out.. and it turns out I’ve either encountered a completely useless “feature” or a legitimate (and annoying) bug in Firefox when setting location.href in a remote XMLHttpRequest callback.
A while back, Paul Irish turned me on to gyazo, a very small, very simple, very free app that allows you to very quickly share screen captures over the web. It works by first using the operating system’s own screen capture tools to snap an image of a region you specify, then it uploads that image to gyazo.com, opening it in your web browser. The URL is even copied to the clipboard afterwards.
Perfect, right?
Well.. almost perfect. Because of firewall restrictions, I found that gyazo.com was blocked for some of my friends, so they couldn’t see my screen captures. Also, I really liked the idea of uploading the images to my own server, so that I’d have full control over them.
So, that being said, I decided to crack open gyazo.app (Right click, Show Package Contents) and see if there was anything I could do to change that.
So I’ve been working on a groovy new jQuery history / deparam plugin.. and in my testing I’ve encountered a rather elusive yet completely evil bug in Chrome (current, 3.0.195.21) / Chromium: When document.location.hash is changed via JavaScript, new history entries sometimes are NOT created.
So I’m currently sitting in a room at the Microsoft NERD center, in a room with a few hundred other jQuery developers, listening to Yehuda Katz give a talk on jQuery best practices. I’ve seen some great talks this weekend. Steve Souders gave an excellent talk on maximizing front-end performance, John Resig gave a great talk on upcoming changes to jQuery 1.3.3, Paul Irish gave a few very successful talks on jQuery anti-patterns and custom web font usage, and Rebecca Murphey is coming up next with her talk on organizing your code using object literals.
I actually did a thirty minute breakout this afternoon, called “jQuery plugin creation: organization, generalization, minification, optimization, gratification,” which seemed to be well-received, even though I felt a little rushed. Either way, very soon I’m going to put it all together here as a series of posts (and eventually screencasts) for everyone.
Today was my first time speaking like that in front of a group of people, so that’s a great thing. And next year, I’ll definitely put more material together and try to do a “real” session in one of the big rooms. I’ve already got some great ideas.
In case you missed it, my presentation is available, after the jump.
[Edit: I just posted my conference photos]
What is Modernizr? Modernizr is a small JavaScript library that performs browser feature detection, allowing developers to easily enable or disable both JavaScript and CSS functionality based on what features are actually available in the browser. Modernizr isn’t my project, but recently, Paul Irish and I decided to attack the then-current 0.9 code base with gusto and rewrote it, optimizing a lot of the code and reducing the minified size by nearly 40%.
Our code, along with other improvements, has been incorporated into the now-final 1.0 release, so check Modernizr out now!
Even though many more features are planned for Simplified, it’s reached the point where it’s stable, works reliably, and there’s just no reason not to include it with Linkinus. We’re going through some final beta testing right now, and everything looks good for a 2.0.2 release.
Already done:
- Text copy & paste still works just like you’d expect, no bizarre formatting issues!
- Full support for nearly all Linkinus style options, including the new 2.0.2 variants feature.
- Short-URL auto expansion (full URL visible on hover).
- Smooth scrolling animations.
- Adium emoticonSet support.
- Exploding emoticons - just click them!
- Clicking on a nickname will spotlight that user’s text in that channel.
- The style also functions as a framework for style authors.
Still left to-do:
- Fix remaining linkification issues.
- Add “embed media” support.
A Simplified page on benalman.com with screenshots, documentation, and an explanation of features is in the works, and should be completed soon. As always, feel free to come to #Simplified on irc.conceited.net for the latest version!
So I was updating my doTimeout plugin last night, and I was running into this really odd issue. It seems that in Firefox, and only Firefox, the callback I was passing into a setTimeout call was being invoked with an extra argument, and better yet - this argument was a seemingly random integer. Usually zero, but often positive or negative. Well, apparently this is by design.
I was caught a little off-guard by the recent Linkinus 2.0 release, and as a result haven't yet had the time to port my popular Simplified style over to the new API. Which isn't to say that I'm not trying, in fact I'm spending all the time I can spare on it, just take a look!
Either way, I have made a lot of progress. In the process of porting Simplified, I've rewritten the majority of my v1.x code as well as all the style helper JavaScript I've come across. For example, I've already created JavaScript Linkify and a jQuery Long Url plugin, both of which will be included with Simplified. I still have to handle emoticons, embedding images and videos, and a lot of other features (emoticons and embeds will be optional, of course) but It's coming along.
My real challenge is being able to fit in the Simplified styling work with everything else that I have going on right now. Because I'm not getting paid for my work, if you would like to donate to the cause, It would be greatly appreciated. Just click the "Donate" button in the sidebar of my site, and thanks!
Update: this feature has officially been added as of BBEdit 9.3, see my post about it!
While I find BBEdit to be a fantastic text editor, there are a few minor things I’ve always wanted to change, one of which is the color for Invisibles. I love the idea, but against my preferred background color, they stand out far too much to be anything but distracting.
If you’ve never seen Invisibles, you can enable them for the current document in the Text Options menu of that window’s toolbar, or globally by going to Preferences > Editor Defaults > Show Invisibles.
Now, if at first glance they seem obnoxious, imagine their color changed to be a bit more subtle, like just slightly darker or lighter than the background color. Sound better? Read on!
The other night, Robyn and I went over to Dan and Michelle's place (wih Jeremy and Kristin) for some dinner, booze, and Nintendo Wii. Michelle was cooking, so the food was good. Dan was bartending, so the booze was good. And there was a big-screen TV, so the Wii was good. I'm personally not really into Wii Sports, but it's a lot of fun if you get a group of people together (booze mandatory, of course). Check out the photos.
And today, Robyn had her annual dance recital. She says she flubbed part of it, but nobody noticed. I didn't notice, at least. Of course, maybe that was because I was taking a million photos of her. Either way, it was great. She was great. She is great. Etc. Here are the photos (and there are a few funny ones of the requisite disorganized little kid dancers too) so take a look.

