var please = require('share');
console.log('thank you');

NEW !!!

Tuesday, 31 March, 2020 UTC

Facebook Builds Rome

Facebook has developed Rome, an “all-in-one” solution for JavaScript and TypeScript development. The project (named after the saying that 'all roads lead to Rome') is described as a complete JavaScript toolchain that compiles and bundles JavaScript projects, ... more

Monday, 30 March, 2020 UTC

JavaScript Async - Avoiding State With Yield

One way to keep your UI responsive is to break a computation up into small chunks. The problem is that you have to record the state of the computation so you can restart it. Yield can be used to do this automatically. This is an extract from Chapter ... more

Tuesday, 24 March, 2020 UTC

Getting Started With React For Free

Stuck at home with only the Internet for company? Learn the basics of React.js with this free class by Skillshare engineer, Daniel Nastase. No knowledge of React is needed, but basic knowledge of Javascript, HTML and CSS is required. ... more

Thursday, 19 March, 2020 UTC

Next.js Improves Data Fetching

There's a new version of Next.js that focuses on static site generation. Next.js is an open-source toolkit for universal, server-rendered (or statically pre-rendered) React.js applications. ... more

Tuesday, 17 March, 2020 UTC

GitHub To Acquire npm

Microsoft is purchasing npm, the package manager for Node.js. The intention is for npm to be freely available and their will be continued, paid for, support customers who use npm Pro, Teams, and Enterprise to host private registries. ... more

Monday, 16 March, 2020 UTC

TypeOfNaN JavaScript Quizzes

Learn JavaScript fundamentals through fun and challenging quizzes! This interactive quiz provides a total hands-on learning experience. It currently has 72 questions on a variety of Javascript concepts and more are being added. ... more

Tuesday, 10 March, 2020 UTC

Tenko New JavaScript Parser Launched

A new JavaScript parser has been developed that supports parsing for versions from ES6 to ES2020 syntax and language features. The developer describes it as "pixel perfect" and 100 percent spec compliant. ... more

Monday, 2 March, 2020 UTC

JavaScript Canvas Transformations

Canvas provides a full transformation facility that allows you to use any co-ordinate system you want to. Alternatively you can view it as a way of drawing paths at the location and scale that you require. In this extract from a chapter in my new book ... more

Tuesday, 11 February, 2020 UTC

JavaScript Canvas Stroke Properties

The stroke function simply colors the outline of the path. This all sounds easy and obvious, but in practice it is subtle and you need to understand it to get control of what exactly is happening. In this extract from a chapter in my new book on JavaScript ... more

Tuesday, 11 February, 2020 UTC

Angular 9 Moves To Ivy

Angular 9 has been released with improvements to the framework, Angular Material, and the CLI. This release also moves over to the Ivy compiler and runtime by default, and introduces improved ways of testing components. ... more

Thursday, 6 February, 2020 UTC

KDevelop Improves C++ Support and Keeps Abreast of Python

KDevelop 5.5 has improved support for C++, PHP and initial support for Python 3.8. KDevelop is a free IDE for the KDE platform on Unix and Linux. It focuses on support for C++, Python, PHP and JavaScript/QML, using external compilers such as Clang and ... more

Thursday, 23 January, 2020 UTC

JavaScript Data Structures - Typed Arrays II

JavaScript has typed arrays that let you work easily with arrays of data stored an ArrayBuffer. What do you do if the data isn't in the form of an array but a patchwork of data types, i.e. a structure? The answer is the DataView, but what about endianism? ... more

Wednesday, 22 January, 2020 UTC

Top Level Await Now In V8 But Might Not Be What You Think

One of the irritations of JavaScript's wonderful async and await approach is that you have to use it in a function. This is a limitation hat seems to be about to go away when you read headlines like "Top level Await Implemented In V8". However, ... more

Monday, 6 January, 2020 UTC

V8 JavaScript Engine Reduces Heap Size

The latest release of V8, Google's open source JavaScript engine, will reduce heap size by 40 percent by using pointer compression when it is released alongside Chrome 80 stable in a few weeks. ... more

Wednesday, 1 January, 2020 UTC

JavaScript Still Worth A Survey

Over its 24-year history JavaScript has become a multi-purpose language and has accreted a complex ecosystem of frameworks, libraries and tools. The annual State of JavaScript Survey is an attempt to identify the latest trends and to gauge overall satisfaction ... more

Monday, 23 December, 2019 UTC

JavaScript Canvas Clipping & Basic Compositing

Paths are the basic way to create a drawing using Canvas but they can also be used to delimite areas and you can control the way that new graphics are combined with what is already drawn. In this extract from a chapter in my new book on JavaScript Graphics ... more

Thursday, 19 December, 2019 UTC

Learn Ramda.js The Interactive Way

Ramda, a library which makes functional programming in JavaScript easy, gets its own playground. We take a look around and come up with a recommendation. ... more

Wednesday, 4 December, 2019 UTC

JavaScript Canvas - Basic Paths

Paths are the basic way to create a drawing using Canvas. In this extract from a chapter in my new book on JavaScript Graphics we look at the fundamentals of paths. ... more

Saturday, 9 November, 2019 UTC

JavaScript And Prejudice

It saddens me when people shoot off criticisms of languages they don't use and claim advantages for methodologies which are far from evidence- based. So imagine my disappointment when I encountered JS Johnny and an attempt to make static strong typing ... more

Thursday, 7 November, 2019 UTC

The Perils of jQuery?

Although the JavaScript library jQuery is no longer as popular as it was, it is still widely used. As a result at least six in ten websites are impacted by jQuery XSS vulnerabilities. Even more security issues are introduced by the jQuery libraries used ... more

Monday, 4 November, 2019 UTC

JavaScript Canvas - Text, Typography & SVG

For a Canvas object, drawing text is just another path to render. You can select a font and then render the shapes or glyphs it defines using stroke and fill methods. Going beyond this there are a lot of ways of positioning glyphs that control the typography ... more

Tuesday, 29 October, 2019 UTC

Node.js Released With Diagnostic Reporting

Node.js 13 has been released with upgrades to V8 and new features including diagnostic reporting. Node.js 12 was moved to long term support at the same time. ... more

Friday, 18 October, 2019 UTC

Google AMP Joins OpenJS Foundation

Google has announced its AMP framework will join the OpenJS Foundation. AMP has been open source for the last four years, but the move will make it less Google-centric. ... more

Monday, 7 October, 2019 UTC

JavaScript Canvas - Image Processing

You can use Canvas to draw new graphics or you can load existing images and process them at the pixel level. In this extract from a chapter in my new book on JavaScript Graphics we look at how it works. ... more

Thursday, 3 October, 2019 UTC

Node Version Manager For Node.js Released

The OpenJS Foundation has announced that Node Version Manager (nvm), has been taken in as a project by the foundation. Nvm is a POSIX-compliant bash script to manage multiple active Node.js versions. ... more

Monday, 16 September, 2019 UTC

JavaScript Canvas - OffscreenCanvas

OffscreenCanvas is relatively new but it can make your graphics smooth without blocking the UI thread. In this extract from a chapter in my new book on JavaScript Graphics we look at how it works. ... more

Thursday, 5 September, 2019 UTC

Static TypeScript Launched

Researchers from Microsoft have shown off Static TypeScript (STS), a subset of TypeScript aimed at use on embedded programming platforms. ... more

Thursday, 5 September, 2019 UTC

JavaScript Data Structures - The Linked List

JavaScript may not have pointers but it has everything you need to construct sophisticated data structures if you think about things in the right way. In this article we implement a classical linked list structure. ... more

Friday, 30 August, 2019 UTC

TypeScript 3.6 Generators Get Stricter

TypeScript has been updated with stricter generators, improvements to the UX around Promises, and an improved TypeScript playground. TypeScript is a superset of JavaScript that adds optional static types which can be checked by the TypeScript compiler ... more

Monday, 19 August, 2019 UTC

JavaScript Async - DoEvents & Microtasks

DoEvents is generally regarded as a construct to be avoided. Like many such feared ideas it is only to be feared if you don't understand it. Correctly used it can be a simplification. This extract from my recently published book JavaScript Async: Events ... more