Are you over 18 and want to see adult content?
More Annotations
![Applicant Tracking System - Hosted ATS Systems | Njoyn](https://www.archivebay.com/archive/a49a9166-c75c-4b3a-b526-0b4c5cdc92aa.png)
Applicant Tracking System - Hosted ATS Systems | Njoyn
Are you over 18 and want to see adult content?
![A complete backup of cielitodecorazon.mx](https://www.archivebay.com/archive/03bafb65-3f83-45e3-9330-7c28f26cf091.png)
A complete backup of cielitodecorazon.mx
Are you over 18 and want to see adult content?
![Tunnelblick | Free open source OpenVPN VPN client server software for macOS](https://www.archivebay.com/archive/648388d1-3ef0-4773-b025-a08ab9526e20.png)
Tunnelblick | Free open source OpenVPN VPN client server software for macOS
Are you over 18 and want to see adult content?
![1DOC3 | Haz preguntas médicas anónimas. Respuestas confiables.](https://www.archivebay.com/archive/ab035f85-19a9-48b7-9d2e-be477332e153.png)
1DOC3 | Haz preguntas médicas anónimas. Respuestas confiables.
Are you over 18 and want to see adult content?
![Boutique L'huillier | Nancy | Cadeaux | Déco | Meubles](https://www.archivebay.com/archive/9c8307ab-2352-489c-a54b-adc12293bf96.png)
Boutique L'huillier | Nancy | Cadeaux | Déco | Meubles
Are you over 18 and want to see adult content?
![STEAM AVATARS - 2000+ collection of 184 x 184 Steam Avatars](https://www.archivebay.com/archive/7f5efc5f-fde3-44b7-99e6-472c7f8d319b.png)
STEAM AVATARS - 2000+ collection of 184 x 184 Steam Avatars
Are you over 18 and want to see adult content?
![Bringing magic to the telecom industry](https://www.archivebay.com/archive/c9185a61-957a-4f61-ad85-baa67046ee76.png)
Bringing magic to the telecom industry
Are you over 18 and want to see adult content?
Favourite Annotations
![A complete backup of www.al-madina.com/article/671467](https://www.archivebay.com/archive2/b49aa0c2-0383-43a2-99a5-e852eab746ea.png)
A complete backup of www.al-madina.com/article/671467
Are you over 18 and want to see adult content?
![A complete backup of www.slbenfica.pt/agora/noticias/2020/02/04/basquetebol-nuno-ferreira-antevisao-bakken-bears-benfica-6-jorna](https://www.archivebay.com/archive2/00524381-971e-491a-b086-adc963fd0245.png)
A complete backup of www.slbenfica.pt/agora/noticias/2020/02/04/basquetebol-nuno-ferreira-antevisao-bakken-bears-benfica-6-jorna
Are you over 18 and want to see adult content?
Text
KEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. LOAD BALANCING NODE.JS OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. LOAD BALANCING NODE.JS OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
SWAPPING OUT YOUR LAMP STACK Swapping out your LAMP stack. The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own serverenvironment, should
K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions. METAPROGRAMMING IN ES6: PART 2 Reflect.construct ( target, argumentsList ) Similar to Reflect. apply - this lets you call a Constructor with a set of arguments. This will work with Classes, and sets up the correct object so that Constructors have the right this object with the matching prototype. In ES5 land, you’d use the Object. create (Constructor. prototype) pattern, and pass that to METAPROGRAMMING IN ES6: PART 3 JavaScript Cyber Shepherd. Twitter GitHub 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. In the third and final installment of my Metaprogramming in ES6 series - remember, those posts I wrote over a year ago and promised I wouldn’t take ages to complete but did? START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera. SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywordsJWERTY TEST SUITE
jwerty Test Suite - keithcirkel.co.uk test markup WWW.KEITHCIRKEL.CO.UK 301 Moved Permanently. nginxKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basically THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request.KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions. NOBLECLASS - KEITHCIRKEL.CO.UK nobleClassDispatchEventObject. This takes munged event arguments, such as having an object of events or multiple events in one string, and splits the out into simple event arguments to dispatch to the respective event function. XHTML: WHY EVERYONE WANTS IT BUT YOU SHOULDN'T USE IT XHTML: Why everyone wants it but you shouldn't use it. Everyone is asking for it these days. Go onto freelance boards, talk to clients, even on job boards, clients & companies are requiring their developers to know XHTML. The problem is, XHTML isn’t what everyone thinks it is, and that isn’t going to change any time soon. START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywords WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera.JWERTY TEST SUITE
jwerty Test Suite - keithcirkel.co.uk test markup WWW.KEITHCIRKEL.CO.UK 301 Moved Permanently. nginxKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
LOAD BALANCING NODE.JS HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
LOAD BALANCING NODE.JS HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
SWAPPING OUT YOUR LAMP STACK Swapping out your LAMP stack. The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own serverenvironment, should
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera. K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions. START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
METAPROGRAMMING IN ES6: PART 3 JavaScript Cyber Shepherd. Twitter GitHub 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. In the third and final installment of my Metaprogramming in ES6 series - remember, those posts I wrote over a year ago and promised I wouldn’t take ages to complete but did? METAPROGRAMMING IN ES6: PART 2 Reflect.construct ( target, argumentsList ) Similar to Reflect. apply - this lets you call a Constructor with a set of arguments. This will work with Classes, and sets up the correct object so that Constructors have the right this object with the matching prototype. In ES5 land, you’d use the Object. create (Constructor. prototype) pattern, and pass that to SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywordsMETAPROGRAMMING
JavaScript Cyber Shepherd. Twitter GitHub Metaprogramming 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. The third installment of our look at Metaprogramming in ES6.KEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
LOAD BALANCING NODE.JS HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
LOAD BALANCING NODE.JS HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
SWAPPING OUT YOUR LAMP STACK Swapping out your LAMP stack. The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own serverenvironment, should
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera. K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions. START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
METAPROGRAMMING IN ES6: PART 3 JavaScript Cyber Shepherd. Twitter GitHub 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. In the third and final installment of my Metaprogramming in ES6 series - remember, those posts I wrote over a year ago and promised I wouldn’t take ages to complete but did? METAPROGRAMMING IN ES6: PART 2 Reflect.construct ( target, argumentsList ) Similar to Reflect. apply - this lets you call a Constructor with a set of arguments. This will work with Classes, and sets up the correct object so that Constructors have the right this object with the matching prototype. In ES5 land, you’d use the Object. create (Constructor. prototype) pattern, and pass that to SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywordsMETAPROGRAMMING
JavaScript Cyber Shepherd. Twitter GitHub Metaprogramming 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. The third installment of our look at Metaprogramming in ES6.KEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basically THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request.KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
SWAPPING OUT YOUR LAMP STACK Swapping out your LAMP stack. The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own serverenvironment, should
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera. START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
XHTML: WHY EVERYONE WANTS IT BUT YOU SHOULDN'T USE IT XHTML: Why everyone wants it but you shouldn't use it. Everyone is asking for it these days. Go onto freelance boards, talk to clients, even on job boards, clients & companies are requiring their developers to know XHTML. The problem is, XHTML isn’t what everyone thinks it is, and that isn’t going to change any time soon. K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions.METAPROGRAMMING
JavaScript Cyber Shepherd. Twitter GitHub Metaprogramming 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. The third installment of our look at Metaprogramming in ES6. SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywordsKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER?ES6 TEMPLATE STRINGES6 TEMPLATE ENGINEES6 TEMPLATE STRING LOOPTEMPLATE LITERALS ES6TEMPLATE LITERALSES6 STRING INTERPOLATION Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basicallyKEITH CIRKEL
Metaprogramming in ES6: Symbols and why they're awesome. ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's a look. 09 Dec 2014 in Node.js, npm, JavaScript. THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request. HOW TO USE NPM AS A BUILD TOOL Shortcut scripts. npm also provides a few convinient shortcuts. The npm test, npm start, npm stop commands are all shortcuts for their run equivalents, e.g. npm test is just a shortcut for npm run test.These shortcuts are useful for 2 reasons: These are common tasks that most projects will use, and so it’s nice to not have to type as much eachtime.
OPERATOR OVERLOADING IN JAVASCRIPT Operator Overloading Yep, we're talking about it Why have operator overloading at all? Useful for new proposed data types - BigInt, Decimal; Operator support make these "look more like" first class datatypes
JWERTY - AWESOME HANDLING OF KEYBOARD EVENTS jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear. jwerty is a small library, weighing in at around 1.5kb minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery,Zepto or
LOAD BALANCING NODE.JSKEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME A key part of what makes Symbols useful, is a set of Symbol constants, known as “well known symbols”. These are effectively a bunch of static properties on the Symbol class which are implemented within other native objects, such as Arrays, Strings, and within the internals of the JavaScript engine. WHY WE SHOULD STOP USING GRUNT & GULP Why we should stop using Grunt & Gulp. If you’re building a modern JavaScript application or website, there’s a good chance you’ve seen the JavaScript Build Tool Landscape. The heavyweights of this world are Grunt and Gulp, although many, many others exist too. Grunt receives a whopping 30,000 downloads most days, and Gulp has a ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER?ES6 TEMPLATE STRINGES6 TEMPLATE ENGINEES6 TEMPLATE STRING LOOPTEMPLATE LITERALS ES6TEMPLATE LITERALSES6 STRING INTERPOLATION Of course this getFullString function doesn’t do anything special, that Template Literals don’t already do. I mentioned previously though, that a core function of templating languages like Handlebars is the automatic escaping input. HTML templating languages like Handlebars will escape any variables injected in the template, to prevent XSS (Cross Site Scripting) vulnerabilities - basically THE UPS AND DOWNS OF THE HTTP HEADER Note: Yes I could have tested all 30 versions of Chrome, and all 25 versions of Firefox - but the headers change very rarely in these browsers, mostly from additions of new features such as WebP in Chrome.. The stuff all browsers agree on. Luckily, most of the basic stuff, all browsers managed to agree on. Every single browser correctly knew this request was a GET request.KEITH CIRKEL
Contract Javascript Consultant. 2016-06-06 - 2016-10-13. https://www.ft.com. Assisted in migration of users to "FT Next" - the new iteration of FT.com. Primarily involved in migrating existing ft.com CDN from Akamai to Fastly, utilising heavy custom VCL code. Developed robust VCL test suite with continuous integration anddeployment through
SWAPPING OUT YOUR LAMP STACK Swapping out your LAMP stack. The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (Windows, ISS, MSSQL, ASP) but in fact there are a whole wealth of options to choose from. When you have the freedom to pick your own serverenvironment, should
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. IE8 is certainly in a position to replace IE7 in every way. IE7’s userbase is only around 2% higher than IE6, and seems to remain in-line with IE6 as it falls, and with IE8 as it rises. As soon as May 2010 we could see IE7 drop below the 10% userbase threshold, and it could be as low as 2% by 2011, falling behind Opera. START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) ISO8601. ISO8601 is simply the best standards to use. It can provide the maximum amount of info reasonably required when interchanging dates between systems. It can provide units all the way down to second decimals. It includes support for time zones and strictly specifies the order of each date fragment, all while still being reasonablyterse.
XHTML: WHY EVERYONE WANTS IT BUT YOU SHOULDN'T USE IT XHTML: Why everyone wants it but you shouldn't use it. Everyone is asking for it these days. Go onto freelance boards, talk to clients, even on job boards, clients & companies are requiring their developers to know XHTML. The problem is, XHTML isn’t what everyone thinks it is, and that isn’t going to change any time soon. K-ROUTER - KEITH CIRKEL Resources. Resources are a shortcut to declaring many routes. They follow the CRUD pattern, and are similar to how Rail's resources work. Resources come in two flavours, .resource() and .resources().The plural .resources() binds the list, create, new, show, update, destroy, edit actions, while the singular .resource() binds the show, create, update, destroy, new, edit actions.METAPROGRAMMING
JavaScript Cyber Shepherd. Twitter GitHub Metaprogramming 08 Aug 2016 in JavaScript, ES6, Metaprogramming Metaprogramming in ES6: Part 3 - Proxies. The third installment of our look at Metaprogramming in ES6. SCHEMA.ORG - THE NEW GENERATION OF SEO - KEITH CIRKEL JavaScript Cyber Shepherd. Twitter GitHub 13 Feb 2014 in Schema.org - the new generation of SEO. SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for money because they generated some XML using a free SiteMap Generator, or worse give you actively bad advice such as “use meta keywordsKEITH CIRKEL
JAVASCRIPT CYBER SHEPHERD* __ Twitter
* __ GitHub
26 Oct 2016 in JavaScript , ES6 ES6 TEMPLATE LITERALS, THE HANDLEBARS KILLER? How viable would it be for the new ES6 Template Literals to replace Handlebars? Let's find out 08 Aug 2016 in JavaScript , ES6 ,Metaprogramming
METAPROGRAMMING IN ES6: PART 3 - PROXIES The third installment of our look at Metaprogramming in ES6. In this last post we'll be looking at possibly the coolest ES6 Reflectionfeature: Proxies…
26 Aug 2015 in JavaScript , ES6 ,Metaprogramming
METAPROGRAMMING IN ES6: PART 2 - REFLECT With ES6 comes a brand new API, Reflect. Reflect provides a bunch of useful introspection methods to dive into your code, here's a look… 18 Jun 2015 in JavaScript , ES6 ,Metaprogramming
METAPROGRAMMING IN ES6: SYMBOLS AND WHY THEY'RE AWESOME ES6 comes with a slew of new metaprogramming tools, which provide low level hooks into code mechanics. With these comes Symbols, here's alook…
09 Dec 2014 in Node.js , npm , JavaScript HOW TO USE NPM AS A BUILD TOOL Last month I noted my opinions on why we should stop using Grunt, Gulp et al. I suggested we should start using npm instead. Here's how… 30 Oct 2014 in Node.js , JavaScript ,ServerSide , DevOps
WHY WE SHOULD STOP USING GRUNT & GULP The biggest problem large providers face is how to properly scale out their servers to multiple, load-balanced Node.js processes. 20 Mar 2014 in Node.js , JavaScript ,ServerSide , DevOps
LOAD BALANCING NODE.JS The biggest problem large providers face is how to properly scale out their servers to multiple, load-balanced Node.js processes.13 Feb 2014 in
SCHEMA.ORG - THE NEW GENERATION OF SEO SEO has always been a bit of a black-hat science, hiring agencies to “do your SEO” is a minefield and you may just end up with a 2-bit operations who ask for...05 Dec 2013 in
THE UPS AND DOWNS OF THE HTTP HEADER As part of a project I’m working on, I was doing research into HTTP headers. I couldn’t really find any decent resources that summarised the differences of h...21 May 2012 in
START SENDING DATES THE RIGHT WAY (AKA THE ISO8601 101) We’ve all had those tough conversations on how best to exchange dates between two systems: “is DD-MM-YYYY good for everyone?” “what about YYYY/MM/DD” “we cou...11 Apr 2010 in
WHAT TO EXPECT FROM A WORLD WITHOUT IE6. It’s no secret that developers across the globe resent Internet Explorer. It’s disregard for standards are a burden, often requiring a parallel development e...27 Mar 2010 in
XHTML: WHY EVERYONE WANTS IT BUT YOU SHOULDN'T USE IT Everyone is asking for it these days. Go onto freelance boards, talk to clients, even on job boards, clients & companies are requiring their developers t...27 Mar 2010 in
SWAPPING OUT YOUR LAMP STACK The LAMP stack is the backbone of the web these days - every hosting provider uses it, sometimes exclusively. Many think their only other option is a WIMA (W...Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0