---
title: "Neural network chess"
publication: "Node Weekly"
issue: 518
published_at: "2024-01-23"
canonical_url: "https://nodeweekly.com/issues/518"
---

Plus some Node cryptography, MS's language for defining APIs, and Node 21.6.1. |        

#​518 — January 23, 2024 

[Read on the Web](https://nodeweekly.com/issues/518)  

Together with [![Hasura\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_285,h_84/e_make_transparent/co_white,e_outline:5/rqccs6gvtpeifpf64bb4.png)](https://hasura.io/connectors/typescript-deno)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/axndcqomaoavj67qsn2k.jpg)](https://typespec.io/)  

[Microsoft TypeSpec: A TypeScript-Inspired Way to Define APIs](https://typespec.io/) — A language for concisely describing cloud service APIs and generating other API description languages (e.g. OpenAPI), client and service code, docs, and more. _Formerly [known as CADL](https://www.infoworld.com/article/3683909/introducing-cadl-microsofts-concise-api-design-language.html)._ – [GitHub repo](https://github.com/microsoft/typespec). 

Microsoft   

[Cryptography Fundamentals with the `crypto` Module](https://blog.yonatan.dev/cryptography-with-node-crypto-module/) — An introduction to some concepts of modern cryptography, and how to work with them in practical terms in Node using methods from the `crypto` module (which has rather intimidating-looking [documentation](https://nodejs.org/api/crypto.html) otherwise). 

Yonatan Mevorach   [![\](https://copm.s3.amazonaws.com/38f7a3bc.png)](https://hasura.io/connectors/typescript-deno) 

[Effortless GraphQL with Hasura: TypeScript Included](https://hasura.io/connectors/typescript-deno) — Hasura connects to your data sources, generates a GraphQL API, and deploys it globally — instantly. But, what if you could also write and use TypesScript functions directly in your GraphQL API? With Hasura, you can. Check it out on[GitHub](https://github.com/hasura/ndc-typescript-deno). 

Hasura sponsor   

[A 2024 Wishlist for Node's Test Runner](https://cjihrig.com/test_runner_wishlist_2024) — Node 20 introduced [its own test runner](https://nodejs.org/api/test.html), and while it was designed to be quite minimal, there are still improvements that could be had. 

Colin J. Ihrig   

_IN BRIEF:_ 

- [Node 21.6.1 (Current)](https://nodejs.org/en/blog/release/v21.6.1) has been released to fix a bug in Undici when using WebStreams.
- ♖ A fun look at [getting a neural network to play chess](https://pvdz.ee/weblog/450) using TensorFlow.js.
- 🔐 The OpenJS Foundation shares [its latest Node.js security progress report](https://openjsf.org/blog/nodejs-security-progress-report-january24).
- Alternative runtime [Bun](https://bun.sh/) has introduced [the Bun shell](https://bun.sh/blog/the-bun-shell), a way to more easily write cross-platform shell scripts in JavaScript. If Bun isn't your thing, Google's [zx](https://github.com/google/zx) provides something similar in Node land.
- Meanwhile, Baldur Bjarnason is [disillusioned with Deno](https://www.baldurbjarnason.com/2024/disillusioned-with-deno/).
- [Security researchers have found](https://blog.aquasec.com/deceptive-deprecation-the-truth-about-npm-deprecated-packages) that 8.2% of the most downloaded npm packages are officially deprecated, but the real number might be over 20%.
- _Psst.._ apparently the next major version of [Adonis](https://adonisjs.com/), version 6, lands tomorrow..   

[Handling Environment Variables in Node](https://blog.platformatic.dev/handling-environment-variables-in-nodejs) — An in-depth guide to `NODE_ENV`, how to use Fastify secret management plugins, how to validate environment variables, and bringing Platformatic into the mix. 

Matteo Collina   

[How to Use Google Cloud Shell Editor to Deploy from GitHub to Google Cloud Run](https://geshan.com.np/blog/2024/01/cloud-shell-editor/) — Google Cloud Shell Editor provides an interesting option for getting things done without leaving the browser. 

Geshan Manandhar   

▶[Is It Time to Switch from Docker to Podman?](https://www.youtube.com/watch?v=7-qo6tTPdTM) 

Christian Lempa   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fopdirlyyip0b9oomytl.jpg)](https://shikiji.netlify.app/)  

[Shikiji: Shiki-Inspired Syntax Highlighter](https://shikiji.netlify.app/) — A syntax highlighter based on TextMate grammars and that supports using typical modern editor themes. Fully tree-shakable ESM and runs on both the frontend and backend. 

Pine Wu and Anthony Fu   

[Try a Lightning-Fast Pairing Tool Built with You in Mind](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=Q1_2024&utm_content=Node+Weekly_Sponsored+Link) — Tuple will change the way you think about pair programming. Try it with your team free for 14 days, no card required. 

Tuple sponsor   

[Wiki.js: A Modern Wiki App Built on Node](https://js.wiki/) — A mature project packed with features and an ecosystem of modules to integrate with other systems. (Note that it’s AGPL licensed.) [GitHub repo](https://github.com/Requarks/wiki). 

Requarks   

✂️ [Knip V4: Find and Remove Unused Files and Dependencies](https://knip.dev/blog/knip-v4) — A popular tool for finding unused dependencies and exports in projects. v4 boasts up to an 80% boost in performance, the ability to work with Astro, MDX, Svelte and Vue files, plus there’s a sneak peek at a forthcoming new feature. 

Lars Kappert   

[Pa11y: An Automated Web Page Accessibility Testing Tool](https://github.com/pa11y/pa11y) — Something you can add into your build process, perhaps. 

Pa11y      

📰 Classifieds   

🔄 Use Hookdeck’s reliable Event Gateway to receive, send, transform, filter, and route events in your event-driven applications. [Learn more.](https://hookdeck.com?ref=nodeweekly-518) 

--- 

🐘 Learn how [Epsio's](https://docs.epsio.io?utm_source=node9) Incremental Materialized Views boosts the performance of your most complex queries! [Learn more](https://docs.epsio.io?utm_source=node9).     

- [GLIDE for Redis](https://github.com/aws/glide-for-redis/) _(Preview)_ – A new Redis client library for both Node.js and Python from the folks at AWS.
- [strong-soap 4.0](https://github.com/loopbackio/strong-soap) – Full-featured SOAP driver.
- [Mongoose 8.1](https://github.com/Automattic/mongoose) – MongoDB object modeling approach.
- [jsdom 24.0](https://github.com/jsdom/jsdom/releases/tag/24.0.0) – Pure JS implementation of web standards for Node.
- [node-cache-manager 5.4](https://github.com/node-cache-manager/node-cache-manager) – Wrap caches around functions.
- [RDB 3.4](https://rdbjs.org/) – Rich ORM for Node and TypeScript.
- [GlareDB Node.js Bindings](https://glaredb.com/blog/node-bindings-announcement)
- [Undici 6.4](https://github.com/nodejs/undici) – Powerful HTTP/1.1 client library.
- [signpdf 3.2](https://github.com/vbuch/node-signpdf) – Sign PDFs from Node.
- [EverShop 1.0](https://evershop.io/) – Node.js-based ecommerce platform.
- [AVA 6.1](https://github.com/avajs/ava/releases/tag/v6.1.0) – Popular test runner.    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
