In last Friday's Dev Digest we looked at some global tech issues, took a deep dive into code assistants, we have a great video about NPM security and want you to tell us your favourite code questions to use in CODE100.
News and Articles
Let's start this edition with some government and world tech news. Europol reports some highly sensitive files mysteriously disappeared from their headquarters. the US State Department investigates a similar issue and Poland launches an investigation into its previous government’s use of the spyware Pegasus. The German government ditches Windows for Linux and LibreOffice which reminds me of the LiMux project 20 years ago.
In AI land, here's a great analysis of the the state of generative AI, a complex SEO scam uses a fake law firm of AI generated lawyers sending threats, Salesforce released a detailed explanation of AI infrastructure, it seems that a lot of "AI" is just outsourcing and the case of Stability AI shows that being a huge success also means paying big cloud bills.
Some tech news from Google: The V8 sandbox should protect Chrome users better, Jpegli is a new JPEG coding library, CodeGemma is a trained model for code LLMs and Google Gemini Code Assist should take on GitHub Copilot. More on that in the code section below.
Weird code things…
This npm package has ~700k installs, 322 packages depend on it and it racks up around 50k weekly downloads. And the code does - nothing, The reason? It is named - and if you have a typo in your npm install command, it gets pulled instead of the thing you wanted. So, npm i -g foo would globally install foo, whereas npm i - g foo would install the mystery package. Other tricky package names on npm are i, g, install and s. So let's make sure we don't add spaces where they shouldn't be.
Code and Tools
Spotlight: AI code assistants
With Google releasing Gemini Code Assist, let's look at some articles and resources around AI code helpers.
- Am I in The Stack? - enter your GitHub user name and see which of your code has been indexed to be used by Copilot.
- GitHub explain how GitHub Copilot works, how their engineers use it and published best practices on using it in your IDE.
- Stack Overflow tells us that developers with AI assistants need to follow the pair programming model.
- And implementing code search is hard.
And some JavaScript things:
- Learn JavaScript is a new course by Mat Marquis
- Stefan Judis explains how to split JavaScript strings with "Intl.Segmenter"
- Anton Zamay shows how to implement JavaScript Concepts from Scratch
Videos
Hear from Feross Aboukhadijeh of Socket about the xz backdoor kerfuffle, how we can protect against attacks, and the importance of developer responsibility in open source security. Watch it on WeAreDevelopers.
More videos:
- Lachlan Miller has a great 10 minute explanation on how Vite works
- Soumaya Erradi - Testing web3 applications (53min)
- Irina Anastasiu - What makes a great Software Engineer? (55min)
- Joana Simoes - Navigating roles as as a woman in the tech industry (1h)
Work and Jobs
In work news, Amazon cuts hundreds of jobs in cloud computing unit, an older Microsoft paper explains what makes a great software engineer, Posthog tell us what they learned about hiring from their first five employees and developers are disillusioned by HR and hire reps of their own.
Procrastination Corner / Wonderful Weird Web
- Apollo by Daniel Moreno is a small but sweet old school platform game
- A detailed paper how cryptographers solved the Zodiac Killer Cipher
- Faces JS is a JavaScript library for generating vector-based cartoon faces
What's happening at WeAreDevelopers…
CODE100 will be in Manchester on the 22nd of May as part of DTX Manchester! We are looking for participants and challengers. Head on over to the official CODE100 web site to learn all about it.
CODE100 puzzle: Unknown pleasures
To celebrate CODE100 coming to Manchester, here is our take on the classic Unknown Pleasures by Joy Division cover. In this challenge we ask you to return the amount of black or transparent pixels in the image and return it as an integer. You get the pixel data as a JSON object.
And if you have an idea for a challenge, you can tell us about it and win tickets for the WeAreDevelopers World Congress!