Shifting our focus
Wait till I come! » "Shifting our focus"
A must read by Christian Heilman
The only way that I can see how responses like the one from the UK government can be prevented in the future is by shifting our focus:
- Instead of design prototypes and made-up web sites to show a certain technique let’s demand real production case studies and their effects (I remember one @media where the redesign of blogger was shown and how much traffic shifting to CSS saved the company – more of that, please).
- Ask Microsoft to invite experts, host videos and tutorials of experts with modern solutions and distribute them on their network of clients
- Make a massive comparison of government web sites and praise what some have done well (nothing works better than competitiveness)
- Collect success stories of switching to open source solutions and how it saved money and time
- Take a horrible IE6 only solution and show what it could look and work like if HTML5 and CSS3 were supported
- Stop plotting shiny pixels on canvas elements and call it a cool HTML5 solution and instead build a complex online form or spreadsheet system using all of the goodies of HTML5
- Stop applauding people for redesigns of their blog and instead shift people into the limelight who made a difference in an environment like large financial systems or local government
Read the full article here.
This could very well be the subject of my talk at the next fronteers meeting at Iprofs...
concatenate your scripts kids.
And here is why...
HTTP/1.1: Connections: "Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion."
Youtube to MP3
ListenToYouTube.com: "Youtube to MP3, get mp3 from youtube video, flv to mp3, extract audio from youtube, youtube mp3"
Will have to test this myself, but it looks promising...
Javascript coding suggestions
I am now working on some coding conventions for use at one of my clients. Having done some work on the HTML and CSS ones, I recently started with the javascript one. As I was working on it, I looked at the work done by others, like Douglas Crockford. Some of my co-workers suggested that we did this:
var nameSpace = (function () {
// declare all of your var's before using them..
var config, init,x,doStuff;
config = {
a : 'a'
};
init = function ( arg ) {
doStuff( arg );
};
x = '36';
doStuff = function ( arg ) {
// dostuff
};
return {
init:init
};
}());While I initially agreed with this, as it seems nice and neat, I spotted a problem with it when it gets big. As you get a really big script and more people working on it, chances are that you will get someone to forget to declare a var in the beginning of the function, hence making it global.
Like this:
var nameSpace = (function () {
// declare all of your var's before using them..
var config, init,x,doStuff;// we forgot to add doMoreStuff
config = {
a : 'a'
};
init = function ( arg ) {
doStuff( arg );
};
x = '36';
doStuff = function ( arg ) {
// dostuff
doMoreStuff();
};// doMoreStuff is global
doMoreStuff = function () {
alert( config.b );
}; return {
init:init
};
}());So I came up with a (not so revolutionary) way of avoiding this and I am curious what you think of it?
It goes like this:
var nameSpace = (function () {
// start with var to avoid global variables
var config = {
a : 'a',
b : 'b'
},
// continue with a comma to stay in the same var declaration.
init = function ( arg ) {
doStuff( arg );
},
x = '3',
doStuff = function ( arg ) {
// dostuff
};
// end with a semi colon.
return {
init:init
};
}());I think that this has the advantage that when someone else continues with this code he can extend it easily, while not accidentally introducing globlal variables...
var nameSpace = (function () {
// start with var to avoid global variables
var config = {
a : 'a',
b : 'b'
},
// continue with a comma to stay in the same var declaration.
init = function ( arg ) {
doStuff( arg );
},
x = '3',
doStuff = function ( arg ) {
// doStuff
},// if you add a new var it's not global
doMoreStuff = function (){
// do more stuff
};
// end with a semi colon.
return {
init:init
};
}());What do you think, is this a good way to structure your code or am I missing something?
analog computing
Really funny and no soccer!!!
The Art of Analog Computing from meltmedia on Vimeo.
Nagging again, will do some work soon to make it easier to embed html5 video from youtube or vimeo... Keep you posted.