Archive for the ‘web’ Category

Posted by Matt at 10 February 2010

Category: GreaseMonkey, Programming, browser extensions, facebook, javascript, web

better_facebook_large I have officially released BetterFacebook.net to house my "Better Facebook" greasemonkey script and Firefox add-on.

The script has been updated to work with the new Facebook layout, and also now supports Chrome!

Check out the site and the script. I hope you find it useful!

BetterFacebook.net

Posted by Matt at 19 January 2010

Category: browser extensions, web

better_facebook_large Today my Better Facebook Firefox Add-On was approved to go public. It took a while (feels like the Apple App Store!) but after a few revisions it was finally put through the process.

This is just a re-packaging of my Better Facebook Greasemonkey Script that does the same thing.

The functionality includes:

  • Mark your Live Feed as "read" so old posts are hidden by default. Quickly and easily only see new posts
  • If new comments are found on old posts, they will be shown and highlighted for you
  • Hide or minimize by story type. For example, stop seeing all notifications about who your friends became friends with!
  • Pin the notifications panel to the upper right, so it is always easily visible
  • Track your friends, and if someone unfriends you it will automatically tell you who it was!

This script and add-on will continue to improve as I add more features. Enjoy!

Better Facebook Firefox Add-On

Posted by Matt at 29 December 2009

Category: google, html, javascript, web

With the upcoming release of Google Caffeine and the importance it will place on page load time when it ranks results, now is as good a time as any to learn about optimizing your site. This recent blog post by kangax is a great primer for getting rid of common, unnecessary bloat.

Perfection kills » Optimizing HTML

Posted by Matt at 31 October 2009

Category: fun, jquery

For Halloween this year I decided to go full nerd and create a jQuery pumpkin. I’m sure no one else understood what it was, but it was unique!

PA318807

PA318762

Posted by Matt at 7 October 2009

Category: GreaseMonkey, Programming, browser extensions, javascript

Example

This script was born out of a simple problem: I wanted to find out which movies have been released to theaters or DVD lately, and add them to my Netflix queue. Unfortunately, Netflix doesn’t provide an easy way to browse "major" movie releases by release date. However, IMDB always has a nice interface for this. Further, I’ve found myself at IMDB before, looking at a movie that I would like to add to my Netflix queue, but I had to go to Netflix, search, find the movie, then add it.

Solution? A new GreaseMonkey script!: Netflix Links on IMDB

I created this simple GreaseMonkey script, which adds a little red "+" next to movie titles on imdb.com. Clicking the image pops up a new window that searches on the movie name, usually finding the movie you want as the first match.

Easy! Hope it helps!

Posted by Matt at 27 August 2009

Category: fun, web

 

screenshot

ObnoxiousFacebookHabits.com

This is just a fun little site to highlight some of the obnoxious habits of Facebook users.

I’m sure we have done or currently do some of these things. Don’t be ashamed. Just stop. :)

Posted by Matt at 11 June 2009

Category: Programming, javascript, jquery, web

This is an old issue, but I never looked into it in enough detail to solve it until now.

When using slideUp() and slideDown() in jQuery (and any other animations that animate height) there is often a “flash of content” when the animation starts or stops in IE.

Here are the details you might want to know:

  1. IE 6/7 mishandles a style like “overflow:hidden;height:0px;” (which should show nothing) and instead show the entire contents of the object. But ONLY in quirks mode. This is a bug.
  2. When doing a hide animation, jQuery animates to 0, and when doing show, it starts at 0
  3. So when the value of 0 is set inside the animation, the entire content is flashed visibly on the screen, this causing annoyance and potential epileptic seizures.

A ticket was filed with jQuery 2 years ago about this issue: http://dev.jquery.com/ticket/1726

Unfortunately, they changed it to “wontfix” and instead declared that FX animations are not supported in IE6/7 in quirksmode. I consider this to be pretty lazy on the part of the developers, and I’ve seen this attitude several times with regards to problems that are not so obviously solved or outlying cases. It’s disappointing.

I started a thread in the jQuery Dev group about this, so we’ll see if anything comes of it.

Meanwhile, inserting this fix into the page solves the problem:

jQuery.fx.prototype.originalCustom = jQuery.fx.prototype.custom;
jQuery.fx.prototype.custom = function(from,to,unit) {
        if (this.prop==’height’) {
                to = to || 1;
                from = from || 1;
        }
        this.originalCustom(from,to,unit);
}

It’s simple – when the to or from value in the animation is 0, and we’re animating ‘height’, then just go to/from 1 instead. Problem solved.

Hope that helps out at some point in the future when your content is flashing and you can’t figure out why…

Posted by Matt at 10 June 2009

Category: browser extensions, web

collections

The Mozilla add-ons site has been re-designed, and we finally get the ability to group add-ons together into Collections, which can be installed all at once. Share all your add-ons with others, or make your own Collection to easily install your tools to new instances of the browser.

Now if they would only add automatic sync with my add-ons and settings.

By the way, if you aren’t using FEBE, you should. I have it back up all my Firefox settings nightly to box.net, so if my computer ever crashes I can quickly and easily get everything back. These days, a ton of my stuff is actually stored in the browser, so losing it is quite a hassle.

Posted by Matt at 27 May 2009

Category: search, web

Two new kind of search engines debuted recently, in the increasingly-crowded space of companies trying to search, organize, and present relevant information from the mess of bits on the interwebs.

wolframalpha WolframAlpha is a "computational knowledge engine" rather than a general search engine. It doesn’t just aggregate url’s and match keywords. Instead, it seeks to find relevant answers to real questions using its internal collection of equations, facts, comparisons, and figures. If you put in "weather NYC" it doesn’t just find pages that have those words and show them to you, hoping those pages contain what you are looking for. It understands that you are looking for weather information about New York, and offers you a view of the actual data rather than pages that contain it.

Where Google might be equivalent to asking a librarian "which books contain information about weather, specifically about New York?", WolframAlpha is more like asking a weatherman from New York what the weather is like there. Big difference.

topsy Topsy.com is a search engine trying to capitalize on the popularity of Twitter. Instead of scouring the web for all web pages it can find and indexing the words on each page, it "listens" to all tweets on Twitter and pulls out the keywords and url’s posted with them. It associates the words with the url and aggregates the results.

Searching Topsy for "weather nyc" gives you back nothing useful. But that’s because it’s not meant for that. Instead, Topsy is a view into pop culture and the stream of public consciousness. Searching Topsy for "obama" won’t give you a summary of the President’s actions or all the important news of the day. It will give you a view into what url’s people think are interesting and related to Obama right now. It will also show you who is mentioning the search terms, how many there are, etc. This is a great way to monitor a brand, a current event or issue, or a technology. These things will be tweeted about often, and the way Topsy aggregates the information and presents it can be very interesting.

Posted by Matt at 7 May 2009

Category: Programming, javascript, jquery, web

screenshot-1.3.2I finally updated my jQuery Cheat Sheet to match jQuery 1.3.2. I hope people find it useful!