Tags related to tag javascript
Friday, March 18. 2005
Javascript Goodness
Javascript is a horribly strange language. It is perfect proof of the point that horrible code can be written in any language, because, as far as languages go, it's really quite beautiful. Closures, anonymous first-class functions, a prototype based class system... whats not to like? Oh yea, horrible abuse by 'web developers' and so much BAD source code out there that it makes you want to choke and die. This should sound familiar. PHP is the same way, and while it doesn't have first-class functions or closures, it does do a damn fine job on templating (and websites in general), more on that on a later template-rant post.
There are 2 big things on my Javascript Radar: GreaseMonkey which has got to be one of the. Most. Empowering. Javascript. Extensions. Ever. Basically, GreaseMonkey is a website filter framework. A user can add little 'filterlets' (filets?) to change the behaviour of a website, including, (but not limited to) filtering adds, filtering posts from particular users. But its not limited to destructive filtering. GreaseMonkey can make sure that every web address (http://, ftp://, email addresses etc.) actually turns into a hyper link. No more annoying unlinked web. These user scripts are surprisingly easy to create if you know a little Javascript and HTML. Check this one that removes Xeni Jardins posts from Boing Boing. Or the previously mentioned Linkifyer. And as the GreaseMonkey docs mention, you don't have to worry about cross-platform JS, because it is a Mozilla extension... opening you up to some interesting possibilities.
And speaking of XMLHttpRequest... Sajax looks pretty freaking slick. Truly cross platform implementation of Ajax. Ajax is a method to pass Javascript objects between the browser and server, without initiating a page load. The Ice-cubes, Hearts, and Happy faces of orkut are implemented with this. This is not a new idea by a long shot, but is probably the slickest implementation yet. This is going to change web-application development forever. Now, not only is Sajax simple and small, but like I said earlier, it's cross platform. It works in IE, Gecko based browsers (Netscape 6+, Mozilla, Firefox, Camino, etc.), and KHTML based browsers (Konqurer, Safari) which is obviously important. The kicker is that it works in Io, Lua, Perl, PHP, Python and Ruby. Impressive. From what I understand, the interfaces are the same across each server side implementation. Niiiice.
There are 2 big things on my Javascript Radar: GreaseMonkey which has got to be one of the. Most. Empowering. Javascript. Extensions. Ever. Basically, GreaseMonkey is a website filter framework. A user can add little 'filterlets' (filets?) to change the behaviour of a website, including, (but not limited to) filtering adds, filtering posts from particular users. But its not limited to destructive filtering. GreaseMonkey can make sure that every web address (http://, ftp://, email addresses etc.) actually turns into a hyper link. No more annoying unlinked web. These user scripts are surprisingly easy to create if you know a little Javascript and HTML. Check this one that removes Xeni Jardins posts from Boing Boing. Or the previously mentioned Linkifyer. And as the GreaseMonkey docs mention, you don't have to worry about cross-platform JS, because it is a Mozilla extension... opening you up to some interesting possibilities.
And speaking of XMLHttpRequest... Sajax looks pretty freaking slick. Truly cross platform implementation of Ajax. Ajax is a method to pass Javascript objects between the browser and server, without initiating a page load. The Ice-cubes, Hearts, and Happy faces of orkut are implemented with this. This is not a new idea by a long shot, but is probably the slickest implementation yet. This is going to change web-application development forever. Now, not only is Sajax simple and small, but like I said earlier, it's cross platform. It works in IE, Gecko based browsers (Netscape 6+, Mozilla, Firefox, Camino, etc.), and KHTML based browsers (Konqurer, Safari) which is obviously important. The kicker is that it works in Io, Lua, Perl, PHP, Python and Ruby. Impressive. From what I understand, the interfaces are the same across each server side implementation. Niiiice.
Wednesday, August 25. 2004
Aspect Oriented Programming Redux
My initial forays into Aspect Oriented Programming in Scheme took me into the deep heart of academia, as I explored the bowels of readscheme.org.
So then I fought with what With-Continuation-Mark and Current-Continuation-Mark is, what they mean, and how possible it would be to implement them in LispMe (not a freakin chance man). While doing that, I took a look at the disasm function in LispMe, and wrote a simple little translator. More work could be done on it for sure, but I'll post what I have to the LispMe list soon.
Then I find This. Which is a very simple AOP system in Javascript, that could be EASILY ported to scheme. Hell, the LispMe tracer is very similar to this. The problem of course, is that the pointcuts are very simple. I guess I'll see how extendable this is.
I found it when I went searching for Continuations in (Mozilla) Javascript. Sweet Fucking Christ, don't tell the web-guys about this! Can you imagine? Jesus. Might as well set up Harmony the bomb!
So then I fought with what With-Continuation-Mark and Current-Continuation-Mark is, what they mean, and how possible it would be to implement them in LispMe (not a freakin chance man). While doing that, I took a look at the disasm function in LispMe, and wrote a simple little translator. More work could be done on it for sure, but I'll post what I have to the LispMe list soon.
Then I find This. Which is a very simple AOP system in Javascript, that could be EASILY ported to scheme. Hell, the LispMe tracer is very similar to this. The problem of course, is that the pointcuts are very simple. I guess I'll see how extendable this is.
I found it when I went searching for Continuations in (Mozilla) Javascript. Sweet Fucking Christ, don't tell the web-guys about this! Can you imagine? Jesus. Might as well set up Harmony the bomb!
Listening to:
Where Have They Gone? (BeatBlender 128k: A late night blend of deep-house & downtempo chill [SomaFM]) - Harmonic 33 (0:-1)
« previous page
(Page 2 of 2, totaling 9 entries)




