forgetfoo

Blog.

Nudity Detection Script

now this is pretty cool... i can't remember if i've already blogged about this, since it does seem pretty damn familiar at the moment... but in case i haven't, this nude.js is one worth checking out. heh.

p.s. i wonder if the script is racist?

(hat tip: aaron)

Brosho jQuery Plugin

it feels like i've been looking at, looking for, and generally just checking out a lot of jquery plugins of late... some of them are pretty damn cool, others not so much... but here's one that seems pretty slick and just might come in handy at some point — figured i'd better blog it real quick before i forgot.

another really slick one for ya, jQuery Spotlight

(hat tip: jon)

Sweet Endeffect Game

now this is frakkin' sweet.. a slick javascript-based game engine, with one of the first games being Super Mario Bros. — almost a requirement at this point... and of course, it managed to soak up quite a bit of my time playing it again... gotta luv it.

it's fun to pull it up in different browser and test how it performs... for me, definitely runs best under Chrome.

(hat tip: dylan)

Chrome Experiments

got hit with this one by a few peepz the other day, and some of these chrome experiments are pretty damn slick... i really thought that this Browser Ball demo was especially amazing... bounce the ball around, and open up a new window underneath it for instance... and see the ball drop down from one window into the other. wow.

Browser Ball

other ones like Google Gravity, Browser Talk, and Canopy are great examples too... i love this shit.

Particle Effect Script

now this is pretty damn cool... maybe not something that's radically new or anything, but check out this particle effect written in javascript.

Sweet particle effect in javascript - forgetfoo

now what's really crazy is comparing how this page loads and runs in different browsers.... i first fired it up in IE7, which was kinda slow and i can almost guarantee my memory footprint just went up by 3x.... then fire it up in Firefox.

after that, go ahead and fire it up in Chrome.... yeah, wow.

p.s. SXSW 2009 on BitTorrent: 6 GB of Free Music

(hat tip: dylan)

jQuery: Best Practices

jQuery and JavaScript Coding: Examples and Best Practices
jQueryjQuery is ideal because it can create impressive animations and interactions. jQuery is simple to understand and easy to use, which means the learning curve is small, while the possibilities are (almost) infinite.

Javascript and Best Practices
Javascript has long been the subject of many heated debates about whether it is possible to use it while still adhering to best practices regarding accessibility and standards compliance.

The answer to this question is still unresolved, however, the emergence of Javascript frameworks like jQuery has provided the necessary tools to create beautiful websites without having to worry (as much) about accessibility issues.

Obviously there are cases where a Javascript solution is not the best option. The rule of thumb here is: use DOM scripting to enhance functionality, not create it.

Unobtrusive DOM Scripting
While the term "DOM scripting" really just refers to the use of scripts (in this case, Javascripts) to access the Document Object Model, it has widely become accepted as a way of describing what should really be called "unobtrusive DOM scripting"-basically, the art of adding Javascript to your page in such a way that if there were NO Javascript, the page would still work (or at least degrade gracefully). In the website world, our DOM scripting is done using Javascript.

The Bottom Line: Accessible, Degradable Content
The aim of any web producer, designer or developer is to create content that is accessible to the widest range of audience. However, this has to be carefully balanced with design, interactivity and beauty. Using the theories set out in this article, designers, developers and web producers will have the knowledge and understanding to use jQuery for DOM scripting in an accessible and degradable way; maintaining content that is beautiful, functional AND accessible.

another awesome article from Smashing Magazine.... good stuff.

{{{ bookmarks }}}

FooVid Vista Gadget

during that hackathon we had at work last week, i switched gears and started to play around with another vista gadget idea i had rolling around in my head --- after screwing around with my first facebook application and getting really annoyed and frustrated as hell --- and here's the result of a couple hours of tinker'n around with it... a FooVideo Vista Gadget

FooVideo Vista Gadget (1)

FooVideo Vista Gadget (2)

FooVideo Vista Gadget (3)

i added a table to the database and a webform to upload the FLV's, query it and spit out an xml feed -- which is snagged and used by the gadget to display the last 5 videos... you click on one, and it dynamically creates and loads the video being passed into it in the "flyout window"... the idea being that you can sit back and have sexy little vid clips delivered right to your desktop, which i thought was pretty damn slick. heh.

Canvas Shooter 3D

now this is just slick... an example of a doom like FPS, done in javascript... what's really impressive, at least in my humble opinion, is just how smooth it is --- not alot of jitters and lags, which i was sort of expecting.

Canvascape - '3D Walker'

on a sidenote, anybody seen the new 9rules redesign? i like how they did the tagcloud, but otherwise i'm not really feeling it too much.

p.s. another fun game to play on a friday -- can you escape? i did.

Ajax Security

What You Should Know About AJAX Security: 24 Tutorials
Ajax Security (requiring deep pondering thoughts)For the most part AJAX does not significantly increase the security vulnerabilities in most web applications. However, javascript, XML and asynchronous server calls do have potential holes if not properly implemented. If you're an application developer or security professional there are things to watch out for with AJAX applications. If you're new to AJAX there are many hazards to watch out for, and tutorials and examples are one of the worst culprits for security vulnerabilities. Before you start downloading examples and making them live on your server you should learn a bit about security first. Below, you'll find a list of tutorials, examples, and articles that will detail many of the security implications of using AJAX..

As always special thanks to all of the hard work done by the developers and security professionals who have taken there time to make all of this great information publicly accessible. Also if you know of other great resources or tutorials pertaining to AJAX please use my comments section on this article to add to the overall list. Thanks!

another great list of Ajax "security" related resources... been awhile since i posted anything about ajax around here, and that's mostly because it just seems so damn trendy sometimes -- but that shouldnt keep one from being interested or reading up on some of the kewl stuff peepz are doing or coming up with all the time... some of the stuff out there really is pretty amazing.

YouOS Web Desktop

well i'll be damned, looks like the whole "WebOS" idea isn't completely dead afterall: The YouOS
YouOS (screenshot)YouOS is another "Web desktop" application created by some smarties from MIT, Caltech and Stanford, but with a twist. It literally is an OS. Already developers have developed dozens of little plug-ins. These include Flickr and YouTube widgets, weather, Gmail, instant messaging and more. The competitors in this sector are too many to mention and some are folding, but I don't think we've seen the end of innovation in this space. Look for the stronger brands to get acquired.

haven't thought about the FooDesktop in quite awhile, but looking back it's kinda amazing how much we got done on it, especially before this whole AJAX craze set off like a wildfire... like it has "application" folders on the webserver, loading content and having "config.xml" files some some basic info about the app, where to position it, default width/height, and an option to load external pages into the app-window.... had some crazy ideas for it, but never really got back around to it.

oh well, maybe someday... though i doubt it.

p.s. Ajax Feedback Mechanism

AJAX vs. Ajax

AJAX vs Ajax and Ajax Effects
AJAX vs. AjaxIt's happened. I suppose it probably happened the instant the acronym itself was coined but AJAX isn't just AJAX any more. It's Ajax. (No, not the place outside of Toronto. Um, no, not the cleaning stuff, either.) Notice the uppercase A with the all the other lowercase letters. (Through second-hand knowledge, I'm attributing this distinction to Jeremy Keith — He can prove me wrong.)

That's right, it's no longer an acronym. The acronym itself seemed pretty narrow in scope in comparison to how everybody used it. I think it's safe to assume that when most people think AJAX, they think XHR. Whoops, sorry, XMLHttpRequest. Heck, even that distinction is a little loosey-goosey. Some extend it to include all client-server communication without a page refresh (via Flash or IFrames, for example). With the acronym having lost its true meaning, it's just Ajax now.

And along with Ajax, we have Ajax Effects. An Ajax Effect really has nothing to do with the whole client-server communication thing. It's an effect, after all. A visual. Something you see. The only client-server effect I see these days are the lights blinking on my modem. Ajax Effects are client-side effects demonstrating to the user that something has changed as a result of their interaction with the page.

"But isn't that JavaScript?"

havent been over to Snook's in awhile, so i just enjoyed reading through several of his latest posts... especially like the one about inflated ego's and blog snobs -- couldnt agree more, man... heh.

@import js files...

one thing that's always bugged me is that i couldn't include seperate .js files as easily as using @import in my stylesheets... well, sam wrote a neat lil script that does exactly that and figure it's definitely worth posting... here's the javascript function:
var JSdocs = [
 	"main1.js",
	"main2.js"
];
function loadJSFiles() {
	var head = document.getElementsByTagName("head")[0];
	for (var i=0; i<JSdocs.length; i++) {
		var script = document.createElement("script");
		script.setAttribute("type","text/javascript");
		script.setAttribute("src",JSdocs[i]);
		head.appendChild(script);
	}
}
window.onload = loadJSFiles;

the only downside is that it's fired off with the window.onload event... but i really dont see that as a big deal for most cases.