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

NEW !!!

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

Tuesday, 13 August, 2019 UTC

React 16.5 Adds Programmatic Profiler

There's a new release of React with improvements including an asynchronous testing utility, a programmatic profiler, and an updated roadmap. ... more

Monday, 12 August, 2019 UTC

Google JavaScript Engine Speeds JSON Parsing

The latest update of V8, Google's JavaScript engine, has been released in beta prior to its final release in coordination with Chrome 76 Stable in several weeks. This version, 7.6, speeds up JSON parsing and adds support for native stack walking. ... more

Monday, 29 July, 2019 UTC

Just JavaScript - Execution Context

Closures are logical but subtle and you need to make sure that you really understand them. This is made easier if you think about a closure as a preserved execution context. In this extract from my recent book the emphasis is on when functions share ... more

Tuesday, 23 July, 2019 UTC

Next.js Adds Built-In Zero-Config TypeScript Support

Next.js version 9 has been released with built-in support for zero-config TypeScript, along with automatic static optimization and API routes. Next.js is a toolkit for universal, server-rendered (or statically pre-rendered) React.js applications. ... more

Monday, 22 July, 2019 UTC

NativeScript 6 Goes Webpack All The Way

NativeScript 6.0 has been released with more support for Webpack and faster delivery of patches. ... more

Monday, 15 July, 2019 UTC

Babel Adds Ability To Parse F# Like Pipelines

The latest version of JavaScript compiler Babel 7.5 has been released with the ability to parse and transpile F# and similar pipelines. Support has also been added for dynamic imports, as well as experimental support for TypeScript namespaces. ... more

Tuesday, 2 July, 2019 UTC

JavaScript Q&A - Extend Your Knowledge

A set of multiple choice JavaScript questions to test (and expand) your knowledge is available on GitHub. The questions range from basic to advanced. ... more

Thursday, 27 June, 2019 UTC

Google Earth In The Browser With WebAssembly

WebAssembly is about the most exciting thing going on at the moment and is certain to be the next big thing - if it isn't already. Now Google has demonstrated what is possible by porting Earth to the browser in WebAssembly. ... more