Posts

Showing posts from July, 2009

TOUR STARTS TODAY

Image

The Daily Ext JS WTF!

I am getting bored ... the cost per use enterprise ready UI library we all heard about has some intrinsic, internal, illogical logic! I already wrote how to hack JsonReader to obtain expected behavior. I have already posted how to solve the TreePanel arrows inconsistency ... what I have never said is that my version of Ext JS is 30% hacked via overrides, extends, or directly in the core and 70% hacked in my application code to make it widely work as expected. The Layout Problem I am constantly trying to fix missed rendered components, layout problems, not visualized stuff ... I am hacking the entire layout process in Ext JS 2. Apparently version 3 with about 1000 fixes and enhancements should have solved layout problem but what I think is: how can be possible that probably the only library with a license for commercial purpose has to be that problematic with layout? The answer is that to make things " delayable " layout s not synchronous. I had then to hack with my timeouts

PyramiDOM - Spectrum DOM Analyzer

Update PyramiDOM source code and a new bookmark available During a post into jQuery developer list, I wrote a sort of non-sense reply talking about the DOM as a three dimensional space to analyze and " ... bla bla bla ... " (that was not so interesting, just probably "futuristic" ...) But why not, why can't we escape from ordinary convention to analyze a document creating a sort of DOM spectrum as is for Audio, Video channels, and other medias? As quick start test, I have created an alpha version of PyramiDOM , a script hopefully short enough to be clicked, saved, or dragged as a bookmark and able to put a spectrum inside whatever page we are surfing. The generated spectrum will contain every single nodeType 1 present in the document and will show via tooltip info about that node (nodeName, id if present, className if present). Moreover, it highlights somehow that node temporary changing the background (yellow one). The most wicked effect was in jQuery websit

Some Fun From NekoVM Specs

Few minutes ago I've read about last haxe miracle: translation from an AS2 like ECMAScript 4th programming language, haxe itself, into C++ rather than " just " JavaScript, PHP, and ActionScript 2 or 3, or Neko . NekoVM is a project I already knew before but since not a single host I know supports it, I have never investigated too much about its features but apparently NekoVM is a damn fast Virtual Machine for Neko code which is basically JavaScript with few differences/limitations. It is still a prototypal based programming language, and we all love it, isn't it, plus some better rule about static types, bytes management, closures, goto statement with portable scope, operator overload for objects, ability to compile C files into ndll, Apache module, MySQL, Zlib, on and on ... truly interesting ! Reading quickly the entire language specs, I tried to figure out if it is possible to reproduce Neko via JavaScript in order to use one language for both server and client: J

back in town with a little CSS present

Hi everybody! I am definitively back in London: completely tanned, thanks to Ancona holidays, but right now under the rain (OK, in this second it's sunny here...) This is a quick " here I am again " but with a simple and little present: Easy CSS Reset Creator Sometimes we need to reset CSS to be sure that our document will be clear and hopefully equal for each browser, respecting our rules rather than browsers default. To better understand what I am talking about, please have a look into this Eric A. and Kathryn S. Meyer page , the basis used to create my simple tool. What Eric did not think about, is that thanks to Web 2.0 injections and flexibilities, it could be useful to reset a single node and everything contained rather than a full document, specially when we need quick improvements or our cool widget/gadget to add somewhere in the page without an iframe or inherited rules. So, this is the page able to create the CSS you need with or without a parent rule. If you

FRIDAY

Image

RECORD RELEASE / TOUR KICKOFF

Image

i lived for a few weeks...

so, here are the FINAL, FULL TOUR DETAILS: Friday July 24th - Midnite til death @ Cake Shop, NYC 10pm with Foster Care, WLWL, All 9's --- Friday July 31st - Don Pedro's, Brooklyn, NY - w/ WLWL, Foster Care & loads more - JAKE NOODLES BIRTHDAY SHOW Saturday August 1st - 538 Johnson Ave, Brooklyn, NY w/ RSO, Mirrors & Wires Sunday August 2nd - Charm City Art Space, Baltimore, Maryland w/ Steady State, Watercolor Paintings, iji Monday August 3rd - Square One, Greensboro, NC w/ The Anteater's Dream Tuesday August 4th - Bluebird, Bloomington, IN w/ JabberJosh Wednesday August 5th - House Show, Dayton, OH w/ DAMAGES Thursday August 6th - Roboto Project, Wilkinsburg, PA w/ Infitada, Masochrist, Confidence Men Friday August 7th - Old Miami, Detroit, MI w/ NoMan, The Cause, Tare Saturday August 8th - Chernobyl, Philadelphia, PA w/ Everybody, Genuine Imitations --- e-mail me if you need any more specific details markperro@gmail.com love and kisses

I was born...

Image
Here is a pic of the record... it's $12ppd to markperro at gmail dot com ---- Humphrey Bogart, from In a Lonely Place: "I was born when you kissed me. I died when you left me. I lived for a weeks when you loved me" pretty good.

Don't Ever Tell a Lie

Here is a link to download an e.p. I just did on my own called "Drums"... 5 songs http://www.mediafire.com/download.php?ywlqcu4ilzz - Mark

[IT] ri-italia.it, parere veloce veloce

Come benvenuto abbiamo una pagina dal leggero peso di 588Kb, per un'immediata impressione di lentezza pachidermica ed un loading time da 1 minuto e 13 secondi su un totale di 72 inutili richieste. Se togliamo le immagini, le immagini appese in seguito via jQuery e/o plugins, e il filmatone flash che non poteva mancare, praticamente è una pagina bianca: perchè noi italiani non abbiamo niente da dire, basta mostrare la faccia e la firma del nostro presidente per far si che chiunque possa capire al primo sguardo di che pasta è fatta l'italia odierna. Pratiche stra note per ottimizzare il sito nemmeno una, in compenso una sfilza infinita di javascript per jQuery più non so quanti plugins tutti usati su un file unico per un evento onReady che farebbe piantare i PC più datati non appena la pagina è stata caricata. (per i trolls: c'è il mio nome nei sorgenti di jQuery quindi so di cosa sto parlando) Stesso discorso per i css: a quanto pare siamo così avanti che YUI Compressor in b

NEWS

LPS ARE DONE. 300 silk-screened jackets/hand numbered on black vinyl $12ppd e-mail markperro@gmail.com for paypal info and to order --- also, here's some upcoming shows Friday July 24th- Midnite til Death @ Cake Shop, NYC w/ Foster Care, Wellington Ladies' Welfare League Friday July 31st- Don Pedro's, Brooklyn, NY -Jake Noodle's Birthday show w/ Wellington Ladies' Welfare League, Foster Care & way more. Sunday August 2nd - Charm City Art Space, Baltimore, Maryland w/ Steady State, Watercolor Paintings Monday August 3rd - Square One, Greensboro, North Carolina w/ The Anteater's Dream Tuesday August 4th - the Bluebird, Bloomington, Indiana w/ Jabberjosh Wednesday August 5th - House show, Dayton, Ohio w/ Damages Thursday August 6th - OFF - HELP IF YOU CAN - anywhere in OHIO Friday August 7th - Old Miami, Detroit, Michigan w/ Noman, The Cause, Tare Saturday August 8th - Chernobyl, Philadelphia, Pennsylvania w/ Everybody, Genuine Imitations YEAH.

The Fastest Date toJSON and fromJSON?

I know yesterday post supposed to be the last 'till the the end of the month but I could not resits. Dustin Diaz twitted anyone trying to parse our wonky rails dates in JS. do this: var date = Date.parse(str.replace(/( \+)/, ' UTC$1')); seems to fix it. Again, I could not resist to create a toUTCString based function to create JSON strings and to parse them back. This is the result and apparently is both the fastest implementation I know and cross browser (Chrome, Firefox, Inernet Explorer, Safari). This is a quick post so if you find some problem please let me know, thanks. (function(){ // WebReflection Fast Date.prototype.toJSON and Date.fromJSON Suggestion var rd = /^.{5}(\d{1,2}).(.{3}).(.{4}).(.{2}).(.{2}).(.{2}).+$/, rs = /^(.{4}).(.{2}).(.{2}).(.{2}).(.{2}).(.{2}).+$/, d = new Date, f = /(GMT|UTC)$/.exec(d.toUTCString())[1], // cheers gazheyes m = {}, i = 0, s = "" ; d.setUTCDate(1); while(i < 12){ d.setUTCMonth(i)

[Webadamus] First Delirium

Introduction How many times we read news and we think " I knew it was going to happen! "? How many times we think about a revolutionary project and few days before we are ready to introduce it to the rest of the world somebody, often with more money invested, introduced the same concept but with famous name behind and taking all the glory over that idea? Which developer interested about Web, reading about ex-imminent Internet Explorer 8, thought " come on, it's Microsoft, we all know they have no interest to create a truly advanced browser, 'cause Internet with more power inside a browser could make an Operating System partially obsolete "? And who was truly surprised about Google OS announcement? Webadamus will be a periodic Web Crystal Ball post here in WebReflection. It will talk about visions, thoughts, prototypes, and everything related to the future of the web and the most important thing is that everything will be just my imagination and nothing else

Elsewhere - Sandboxes Have Never Been That Easy

One of the most common problems in Web 2.0 Development, is the amount of libraries we can possibly include into a single project and conflicts these libraries could have. Some library is truly aggressive. It could change the entire behavior of each other lib present in the page via not-standard or future implementations of some global object prototype, such String, Object itseld, Array, or others. Since this is a well known problem, some library/framework can try to avoid conflicts in different ways. As example, jQuery has a noConflict method which aim is to make development as painless as possible ... but it is not always that simple. One of Elsewhere purpose is to connect a completely different and external scope into the main window, avoiding any sort of conflict a library with its global properties, functions, or prototypes, could have. First example: new Elsewhere( "scripts/libs/jquery.1.3.2.min.js" ).execute(function(ready){ // this scope is elsewhere in a perfe

ECMAScript 5 Full Specs String trim, trimLeft, and trimRight

During last evenings I have updated a little bit my vice-versa project . Since vice-versa aim is to bring in every browser what is possible to implement and, in most of the cases, already defined as standard (from W3 or MSDN when it is worthy) I decided to get rid of the Ariel Flesler fast trim proposal to introduce my lightweight full specs String.prototype.trim, trimLeft, and trimRight. For full specs I mean that vice-versa String.prototype.trim replace exactly same characters replaced by native Firefox 3.5 implementation, rather than only characters which code is less than 33 as is for Ariel proposal. The good part of vice-versa ( to be honest I cannot find bad parts so far ;) ) is that every single file is stand-alone, so if you do not like benefits the entire " lib " could bring, you can always adopt only one of its files, for example the String one, the Array one, or the last full specs ECMAScript 5 Date constructor , compatible with ISO strings, new Date("2009-0

Frameworks: To Choose Or Not To Choose

Few days ago the BBC announced the release of their framework called Glow. John Resig commented this event in a " logical and reasonable way " but instantly different developers reacted over his thoughts. What John says, in few words, is that BBC developers used jQuery before and they were partially happy with it. Rather than help jQuery community to grow up, opening tickets, adding patches, or forking the library itself improving it adding Safari 1.3 support, a 0% market share browser that in my opinion is used only inside BBC labs and nowhere else, they decided to spend about 2 years to create a library that apparently does not bring anything new, and which is even more supported by some obsolete or deprecated browser, rather than latest one (Chrome 1 or 2, Opera 10, or Firefox 3.5). This post is about what I think after almost 10 years of Web development experience, where I have used both frameworks and I wrote some for internal purpose. Cases are different for each situat

YUI Compressor Meets The Batch Scripting

Mainly to work, also to investigate some good old DOS feature, I created a batch file able to make YUI Compressor more portable and easy for every Windows based client/server developer. I wrote the story, and I described each file, plus I added a workable Zip with everything you need to understand what I have created and use it, starting with a double click into a projects/vice-versa.bat file which aim is to create from a list of files a unique YUI Compressed one. Here is the link , the rest is up to you (comments, questions, suggestions, etc)

UK Bing Roundtable - Just My Opinion

It is probably too late and I did not check other guys blogs, but I would like to bring here my impressions about this Bing event I have been invited few days ago. How Did It Start Hi Andrea, I'm writing on behalf of Microsoft to invite you to a discussion about Bing, the new search engine that recently launched in beta in the UK. ... Colin Mercer, a member of Microsoft Life Without Walls initiative group, is a truly nice guy. Spontaneous, friendly, exactly that kind of guy that could let a group of foreigners feel comfortable since first meet up minutes. Being glad to have been invited without asking, and without being a Microsoft fun as well, of course I was there: to understand what this initiative was about and why they called me, raising my doubts from this high geek technical blog. Bing Round Table, The Good Part To be honest, I am not going to be that nice about this event, but I have to admit that seeing Microsoft trying to be closer than before with people that make Web l

ECMAScript ISO Date For Every Browser

One most than welcome new entry of ECMAScript 5 is the Date.prototype.toISOString function and ability for Date constructor to accept an ISO String and to generate a Date instance. This feature will make JSON Date instances import/export extremely fast and simple, but why should we wait ES5 release when we can have both features now? Full Specs ISO 8601 Parser Plus Unobtrusive toISOString Method We all do not like that much to extend native JavaScript constructors, so here I am with a proposal that will not touch the Date prototype: if(!Date.ISO)(function(){"use strict"; /** ES5 ISO Date Parser Plus toISOString Method * @author Andrea Giammarchi * @blog WebReflection * @version 2009-07-04T11:36:25.123Z * @compatibility Chrome, Firefox, IE 5+, Opera, Safari, WebKit, Others */ function ISO(s){ var m = /^(\d{4})(-(\d{2})(-(\d{2})(T(\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|((\+|-)(\d{2}):(\d{2}))))?)?)?$/.exec(s); if(m === null) thr