Posts

Showing posts from August, 2009

MMMMEEEMMORRRRIESSS

Image
Here's a couple photos from our show at James Downing's house in Dayton, Ohio recently... Photos by Hillary Hopkins Speaking of photos - check this site out - http://www.crystallopez.com/ - she's good.

Andrew Torrents - Planet Meat

"From the creators of Highway Gimps comes this epic series celebrating Planet Meat. With an unprecedented production budget, using high definition guitars/keyboards and revolutionary ultra-high speed tape recorders. From the highest of your highs to the deepest of your lows, Planet Meat takes you places you've never been to and experience sounds never before captured. Prepare to be overwhelmed by the horrific beauty and majesty of our world ." - Andrew Torrents

BUY. BUY. BUY.

for anyone in Brooklyn - you can now get the LP at Academy Records on North 6th and Eat Records on Meserole Ave

sessionStorage cross domain

This is just a quick post about my last HTML5 sessionStorage implementation for "every" browser and this is the summary: Linear Storage Protocol finally consistent as a stand alone general purpose storage (string, file, request) RC4 Stream Cipher key generation without breaking characters (\x00 not in the random range) Cross Domain Support , if both site a.com and site b.com support my implementation, they will not delete or modify each other domain information optimized boot strap for frames and iframes, the storage parsing and reassignment is performed once and not every time which means zero delay when an iframe is injected or more frames uses the same implementation Finally, few bug fixes and this version is both W3C Draft compatible and cross browser. Known Supported Browsers Chrome 1 and 2, version 3 or 4 should have native support for Web Storage Internet Explorer 5, 6, and 7, 8 has native support for Web Storage Opera 7, 8, 9, and 10 beta, hopefully 1

Hymen - Grouchypenis

In an effort to ignore good taste and good advice, some members of Highway Gimps and The Men have recorded another crappy single. Its Grouchy Penis .

5 Records (in no particular order)

1. Death - Leprosy 2. D.R.I. - Dealin with It 3. Christian Death - Only Theatre of Pain 4. Faith / Void - Split 5. Morbid Angel - Blessed Are the Sick

Konami Code as DOM Event

If You do not know what is the Konami Code you are too young, or not geek at all. In both cases, it does not matter, nobody is perfect, but what we should know is that some truly affectionate developer though to put this code to enable secret user powers , even if the the software is, as example, extremely recent . So why not? Why can't we all have our secret mode in the most popular platform as the World Wide Web is? Konami Code Event var onkonamicode = function(el, fn){ // The Super Code Event by WebReflection - Mit Style function onkonamicode(e){ konamicode.push((e || event).keyCode || e.charCode); if( konamicode.length === 10 && konamicode.join(".") === "38.38.40.40.37.39.37.39.66.65" ){ if(el.removeEventListener) el.removeEventListener("keydown", onkonamicode, false); else el.detachEvent("onkeydown", onkonamicode);

August 29th in Albany!

ODDFELLOWS HOUSE w/ NOMOS, LEGIT + More This house fucking rules, come hang out and get wasted with us.

W3 HTML5 Storage - What Works, What Does Not

My last sessionStorage is basically ready to implement storage events but apparently I cannot implement them right now. Why not? Doing some test I just discovered a lot of inconsistency for each browser which supports Web Storage in core, so here I am with a little report and some suggestion. The Correct Way To Set or Get Items Every single example I've read so far about Web Storage is not respecting standards defined by the official draft , even if related browsers respect the official API. // bad sessionStorage usage example if(sessionStorage.myKey !== null){ // not implementable with old browsers // it could inherit from a modified Storage prototype // it could be a false positive with native API } else { sessionStorage.myKey = "myValue"; // requires getter/setter, improbable with other browsers // it could overwrite native properties or methods // sessionStorage.key = "value"; will *break* the object }; // W3 standard sugges

Opera Detection Revamped?

I am surfing in a nightmare of problems with IE and Opera right now ... all these problems come from sessionStorage implementation ... I am almost there, but right now just think about this question: How to know if onload and unload event are supported without firing them? Apparently, it has never been that simple! Object.prototype.toString .call(window.opera) === "[object Opera]" ; Enjoy P.S. Prototype Framework uses this trick since version 8, I had no idea about that! Good one!

Sunnier Days

Image

Defeat Internet Explorer - Can You?

While I was creating a stand alone implementation of the LSSP described in my last HTML5 sessionStorage project , I did some test and bench as every Agile developer should do. Well, what I have discovered, is that apparently Internet Explorer could perform some common task better than any other browser, at least in my good old Intel Centrino 1.6 Ghz. I have created a benchmark page able to freeze my Firefox 3.5.2, to ask me if I would like to continue an Array.join execution with an average score that points out my Internet Explorer 8 wins with a score under 300 milliseconds against Chrome, Firefox and Safari. As summary, is my Centrino dead or there's something we all did not consider about JScript engine? P.S. Opera 10 beta 2 seems to score about 130 milliseconds as average, good stuff!

HTML5 sessionStorage and RC4 for "every" browser

Update Version 1.4 has been commented here . fixed iframe problem, now standard behavior a singleton for each context (window, frame) same storage area for each context (main top window) no more disabled flag, typeof sessionStorage !== "undefined" to use it waiting to understand how exactly events are fired but the code is ready to manage them Yesterday night I twitted about it, this evening I've finally found time to write down the Home Page in Google Code . You will find everything in the home page, or in the source code , while here there is a first basic demo to try out. I would like to know your opinion about it, so do not hesitate to write some comment! P.S. please note that the minified version , once gzipped, is less than 1.5Kb ... enjoy ;)

Life is not a dream. Careful! Careful! Careful!

Image
back from tour. it was a beautiful experience, wish i wasn't back in brooklyn we're gonna take it easy for a little while- start writing some new stuff / recording the next record. but we have some tasties in the pipeline for october, and we'll post once that gets sorted out in the meantime, still have some lps available paypal $12 ppd to markperro@gmail.com if you want peace and love mark ps - something to think about in the meantime: http://www.poets.org/viewmedia.php/prmMID/15869

PAMPA-J Destiny?

One of my favorite Windows Desktop Application Project, PAMPA-J , is not dead ... it is simply " waiting events ", if any. What Is Going On With Aptana Jaxer I have no idea! The most exciting news about PAMPA was the J at the end: Jaxer . Apparently this project is in stand-by: while it has been always present in the Aptana Home Page , it disappeared even from Aptana Cloud Page - apparently, they are not hosting Jaxer anymore ... cool! What should I do then? I know is there a way to go in the Jaxer page, but at the same time precedent signs let me think something truly bad happened to this project. Does anybody have any idea about it? What Is Going On To PECL For Windows We all know the " official site " is useless since ages: The pecl4win build box is temporarily out of service. We're preparing a new build system. I know PHP 5.3 put in core a lot of PECL libraries such mbstring, iconv, APC, APD, etc etc ... but I wonder when we will be able to add our favorite

isFunction hacked, isCallable solution

After this post , and after some twit exchange with @ kangax , and finally after my hack for my function itself, here I am with my definitive solution to know if a passed argument could be called. var isCallable = (function(toString){ // The Latest WebReflection Proposal // Recently Updated with "explicit" cast // thanks to abozhilov for the test case var s = toString.call(toString), u = typeof u; return typeof this.alert === "object" ? function(f){ return s === toString.call(f) || (!!f && typeof f.toString == u && typeof f.valueOf == u && /^\s*\bfunction\b/.test("" + f)); }: function(f){ return s === toString.call(f); } ; })(Object.prototype.toString); Speed will be the same with every browser, IE will do some extra check only if passed argument is not a function. The " native " case could be a performance greedy check and we do not li

isFunction or isIENativeFunction ?

One truly common task in JavaScript is to determinate if a specific " reference " is a Function, as we know them, or not. For those guys whose think typeof , instanceof , or Object.prototype.toString are enough, here I am with the proof things are NOT that simple, and these things are really important, business speaking, since these checks are in the core of whatever library we create or use for our Web 2.0 Application, Enterprise or not. Different Behavior Problem: Internet Explorer As historical black sheep in the browser panorama for its non standard JavaScript implementation , even for a simple task like the right manifestation of a property or function in core level, Internet Explorer, whatever version, will return false in every case described below: // alert is a function, that is why I use // this function to demonstrate // that for IE alert is not a function // sounds fun? alert(typeof alert); // object alert(alert instanceof Function); // false alert(Object.protot

A JavaScript WorkerLocation

This is a quick post (I am going to write another one) about a pure JavaScript implementation of the WorkerLocation W3C Draft Interface . Why A WorkerLocation I've instantly started to interact with Cartagen guys, via Ajaxian, as I think that is one of the most interesting canvas related project I've ever seen so far (I like Bespin idea but I do like more Notepad++ :P ) Since after a first and quick read about the project I proposed Web Workers as possible solution for stressful computations, Jeffrey Warren put on the table the fact that Web Workers are not cross browser yet (Internet Explorer 8 anybody?). Being a developer whose aim is to solve problems, I started to analyze Web Workers specs in order to re-create a cross browser implementation able to let us develop following new standards and bringing them somehow in those browsers where these standards are not standard yet and gosh knows where they will be (Internet Explorer 9 anybody?). Something Google did before with

PyramiDOM - from Alpha to Beta

As promised, I have commented and improved my last experiment: PyramiDOM , ( IE version) now with some new feature: One click from bookmark to add PyramiDOM, another one to remove it In a single session, colors are preserved even if PyramiDOM is added and removed more than once Good browsers with W3C DOM events support and/or a console, will experience a better PyramiDOM thanks to automatic update feature and related dom nodes logged in the console last part of the bookmark is the size of each brick. Right now it is 2 but you can easily change it to 4, 6, 8, whatever multiple of 2 you prefer The PyramiDOM Source Code It is really simple and the main logic is behind the Brick constructor and every brick instance. (function(size){ var // shortcut to attach/detach events add = document.addEventListener ? function(node, name, callback){ node.addEventListener(name, callback, false); }: function(node, name, callback){ node.