Archive for the 'Solutions' Category

Setting up Synergy

Monday, July 16th, 2007

Today I set up Synergy, which is quite bad-ass :)
I set it up for my 2 macs and PC at work.

(more…)

Page Titles

Monday, June 25th, 2007

Here is the classic Nielsen article on headlines.

The best practice as he outlines it is to place the most specific information about the page /first/ in the title.
Consider Macys.com. The following is a (hypothetical) nice, useful section title that could potentially be used:

“Fine China - DINING - Dining & Entertaining - Macy*s”

The most specific information comes first, then the name of the subsection, the section, and finally the name of the web site.
This is exactly the opposite of the common approach to titles :(

(more…)

del.icio.us whuffie

Saturday, June 16th, 2007

This bookmarklet no longer works. Please use the new whuffie bookmarklet instead. This version of the via: tag bookmarklet broke when Delicious launched their new UI in mid-2008. Congratulations to the Del team on the improved UI, and I hope everyone will enjoy the updated bookmarklets.

Delicious Whuffie is a bookmarklet that, when clicked, adds via:username to the tags field when saving a URL from another user.

This bookmarklet is intended to be used on the “save this” page at del.icio.us. I have also created (and prefer) a version of the bookmarklet that adds the user’s tags along with via:username; as I seem to always do that as well when tagging with via:

(more…)

Neat little example of a useful Javascript closure

Sunday, May 6th, 2007

Closures are a powerful feature of JavaScript. However it’s often hard to explain in a few words, just what is useful about closures. Well, here on page 131 of the Rhino book, is the recipe for a unique ID generator that doesn’t require a global counter.

One thing that I personally enjoy about the Flanagan book is that he says things like “don’t pollute the global namespace.” :) This technique does not pollute the global namespace.

var uid = (
function(){
var id=0;
return function(){
return id++ ;
};
}
)();
//then just say:
alert(uid());


Notes on getting PNG transparency in IE6 with pure CSS

Sunday, December 24th, 2006

Recently, I started building a site with a lot of transparent image elements. The trouble was the the client required support for IE6 as well as IE7. Now, IE 6 and lower do not support transparent PNGs out of the box, but I knew that there were workarounds for that.

The question was, which workaround to use? One method I saw involved using an Explorer “behavior.” Unfortunately, this solution required loading and HTC file, which is an ActiveX control. ActiveX controls aren’t loaded in IE6 with default security settings. Maybe there is a workaround for that, but I couldn’t find it in a timely fashion. Besides, the HTC solution requires an HTC file and a special GIF file be stored on the server. Adding mysterious stuff to the client’s file tree is something I really like to avoid.

Then I ran across a brand new article (based upon a much older article) at A List Apart: Super-Easy Blendy Backgrounds. This article describes a pure CSS technique of getting image transparency to work in IE 6.
(more…)

Authoring accessible Web content

Monday, December 4th, 2006

This began as a post for the JAG internal wiki. After I’d gone to all the trouble of looking everything up and spelling it right, I thought it would be worthwhile to mirror the post here.

Here are a couple of basic pointers for building Acessible Web sites. I generally am interested in Accessibility, because it’s part of the Semantic Web vision. When I come across a relevant article, I tag it with accessibility. But I became especially interested after the National Federation for the Blind sued Target, basically because Target refused to add ALT tags to their images.

In no particular order, here’s list of core techniques:
(more…)

Writing JavaScript

Monday, December 4th, 2006

This began as a post for the JAG internal wiki. But I wound up looking up a lot of good links, so I thought I’d mirror the post here in order to keep those links handy.

When I want to implement a requirement, such as a business rule or DHTML behavior in JavaScript, sometimes I find that I don’t know how to implement that behavior. Sometimes this might be because the requirement is complex, as in the case of DHTML animation. Or the algorithm I am searching for may just be obscure, such as a unique ID generator that uses a closure instead of a global counter.

When I do not immediately know how to implement a requirement, I usually need that information in a hurry. I do not have time to make extensive flow charts, or to research the deep features of JavaScript. What I want is to find someone else who has already implemented something ‘’similar'’ to the requirement. And I want to see their source code.
(more…)

What makes del.icio.us different

Saturday, December 2nd, 2006

I’ve explained del.icio.us to a lot of people over the last few weeks. When I explain a new technology to a bunch of novices, that’s usually when I start to understand it myself. As I was explaining what del.icio.us does, I had to think a lot about how del.icio.us works. And I had a few insights about what makes del.icio.us a different kind of online community.

  • No batch import. Sure, I can import as many bookmarks as I want. But to make them public, I have to edit each one individually. This makes it harder to spam.

    It also means that all you ever see when you look at del.icio.us are links that I have chosen to display since I created my del.icio.us account. And somehow, that makes a very large difference in the quality of the community.

  • No batch edit, except for tags. I can change my own tags, but (as I mentioned) I can’t make all of my bookmarks public without visiting every one individually. And I certainly can’t apply a new tag to a whole bunch of bookmarks all at once (unless they all already share a tag).
  • Because of the two restrictions noted above, there is effectively no way for me to change my user name.
  • Even though del.icio.us is a “social bookmarking” service, there is no way to directly contact another member. If I like you, I can add you to my network. But that’s it; no “del.icio.us mail,” or “notify me when someone in my network is online,” not even the option to “invite so-and-so to join your network.”

    In fact, while the word “share” occurs frequently when discussing del.icio.us, I don’t think I’ve ever heard the word “invite.” Perhaps this might imply that del.icio.us is marketed mostly to people who are interested in interacting with the other people that are already on del.icio.us. Then perhaps the people who join the community tend to be people who already know and like the existing community.

Configuring a Linksys WRT54G router to work with a Westell 6100 modem for Verizon DSL

Friday, November 24th, 2006

Tonight I’ve been having a bitch of a time configuring a Linksys WRT54G router to work with a Westell 6100 modem for Verizon DSL. After an hour or more of bushwhacking through help forums, I was lucky enough to run across this post in this thread at Broadband Reports. I made a couple of changes to the WRT54G’s “Basic Setup” screen, and suddenly everything was fine!
(more…)

Event Selectors JavaScript/Ajax library at Encytemedia — Design and development crossfade

Monday, November 20th, 2006

http://encytemedia.com/event-selectors/

Another js library that I’d like to use some time.

"event:Selectors allow you to apply an event such as mouseover, mouseout, click, et al using a CSS style syntax."
(more…)