> Markdown version of [/magazine/429-dev-digest-115-password-beefstew-is-not-strog-n0ff](https://www.wearedevelopers.com/magazine/429-dev-digest-115-password-beefstew-is-not-strog-n0ff). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Dev Digest 115 password beefstew is not Strog/|n0FF **By:** [Chris Heilmann](https://www.wearedevelopers.com/@chris-heilmann) **Published:** May 13, 2024 In edition 115 of our Dev Digest we cover how AI changes how code is taught, learn about cryptography, the history of passwords, how the internet is declining and we can play Super Mario on a type writer. ## News and Articles Some cool new things to try out: The [Netlify Image CDN](https://docs.netlify.com/image-cdn/overview/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) is a new player in cloud image conversion and offers similar functionality to imgix and Cloudinary. [TypeScript 5.5 Beta](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5-beta/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) is out. **jsDelivr** wasn't available on the 2nd and they released an [outage postmortem](https://www.jsdelivr.com/blog/jsdelivr-may-outage-postmortem/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) explaining what went wrong. I had no idea that **Figma** was written in a bespoke language called _Skew_ and they wrote [how they moved away from it to TypeScript](https://www.figma.com/blog/figmas-journey-to-typescript-compiling-away-our-custom-programming-language/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). If you want to spend some more time, here are some longer thought pieces, for example, [learning about cache coherence](https://www.swequiz.com/learn/cache-coherency-explained?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), about[the UX patterns of successful AI](https://www.shapeof.ai/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), and a full [Cryptography Course](https://crypto.stanford.edu/~dabo/courses/OnlineCrypto/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) in glorious 1990s website design. Talking of internet of yore, it seems [the internet is in decline](https://www.theguardian.com/commentisfree/article/2024/may/04/the-internet-is-in-decline-it-needs-rewilding?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) but we can still [have a different web](https://www.citationneeded.news/we-can-have-a-different-web/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) if we show it some love. Interesting bits about language and AI: Scientific studies have been caught using ChatGPT because of [excessive use of words like ‘commendable’ and ‘meticulous’](https://english.elpais.com/science-tech/2024-04-25/excessive-use-of-words-like-commendable-and-meticulous-suggest-chatgpt-has-been-used-in-thousands-of-scientific-studies.html?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT)and[](https://english.elpais.com/science-tech/2024-04-25/excessive-use-of-words-like-commendable-and-meticulous-suggest-chatgpt-has-been-used-in-thousands-of-scientific-studies.html?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT)AI Copilots shift [teaching away from syntax to emphasizing higher-level skills](https://spectrum.ieee.org/ai-coding?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) in code. Last but not least, here's an illustrated [history of passwords](https://fusionauth.io/password-history?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) and there is a coffee shop where you need to order via SSH at [terminal.shop](https://www.terminal.shop/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). ## Code and Tools ![challengers](https://wearedevelopers.imgix.net/public/magazine/articles/429/images/6638685f5c61c859b38e11fa_challengers.gif) [**CODE100**](https://code100.dev/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) will be at [DTX Manchester](https://www.dtxevents.io/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) on the **9 challengers are ready and** [**you can see them here**](https://puzzles.code100.dev/manchester-challengers?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) **!** We still want [participants](https://www.wearedevelopers.com/events/code100?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT#ticket-1) and [challengers](https://www.wearedevelopers.com/events/code100-challenger?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). You can also [tell us your challenge idea](https://forms.gle/Lq7HTcbw8nHfgZyaA?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) and win tickets for the WeAreDevelopers World Congress! ## Weird code things… ![stringify](https://wearedevelopers.imgix.net/public/magazine/articles/429/images/663e23412da3238fbba587a3_stringify.gif) You probably have used [JSON.stringify()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) in the past, but did you know it has two optional parameters? The first one is a replacer, a function that is called on each value to convert it or an array to filter the output. The second is a spacer, defining the character that will be added to each line. If the spacer is a number, it adds spaces, if its a string, this one is added. Let's look at some **JavaScript** things. First is that with `using`, JavaScript is getting [new, disposable APIs](https://jonathan-frere.com/posts/disposables-in-javascript/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). Learn about the top 5 [underutilised JavaScript features](https://thenewstack.io/top-5-underutilized-javascript-features/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), [when to use bun Instead of Node.js](https://blog.appsignal.com/2024/05/01/when-to-use-bun-instead-of-nodejs.html?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), **Jo Franchetti** has [an intro to TSConfig for JavaScript Developers,](https://deno.com/blog/intro-to-tsconfig?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) **James Kerr** explains [how the Array.sort(comparator) works](https://www.jameskerr.blog/posts/javascript-sort-comparators/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) and here is a [cheat sheet for moving from jQuery to vanilla JavaScript](https://tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). On the **platform** side, **Google** has [an alternative proposal for CSS masonry](https://developer.chrome.com/blog/masonry?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) as a counter to **Webkit's** proposal. **Niels Leenheer** talks about the[brief history of the User-Agent string](https://nielsleenheer.com/articles/2024/a-brief-history-of-the-user-agent-string/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), **Jake Archibald** explains the difference of [HTML attributes and DOM properties](https://jakearchibald.com/2024/attributes-vs-properties/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) and there is a [Virtual x86 simulator in WASM](https://copy.sh/v86/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) that allows you run all kind of operating systems in the browser. In the **tools** space, [tinyworldmap is an offline-first world map](https://github.com/tinyworldmap/tiny-world-map?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) to use in your applications and the [OSS Gallery](https://oss.gallery/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) features the best open-source projects. ## Videos ![Coffee with Developers with Michael Koitz from REWE international](https://wearedevelopers.imgix.net/public/magazine/articles/429/images/663e234232fe7212c05b6c6c_Michael_Koitz_YouTube_thumbnail.png?w=720&fit=max&dpr=2&auto=format) Join us for a deep dive into [retail innovation with Michael Koitz](/videos/891-coffee-with-developers-michael-koitz) from REWE International as we discuss the exciting [REWE Rethink Retail hackathon](https://www.wearedevelopers.com/rewe-rethink-retail?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). - [Meet CODE100 Manchester challenger Andrew Taylor (9min)](/videos/888-coffee-with-developers-andrew-taylor-code100-manchester) - [Denzel Farmer](https://www.youtube.com/@denzelfarmer5393?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT): [Deep Dive into XZ Utils Backdoor (80min)](https://www.youtube.com/watch?v=Q6ovtLdSbEA&utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) - [Talia Nassi - Building Applications with Infrastructure as Code (29m)](/videos/887-building-applications-with-infrastructure-as-code) - [Fabien Vauchelles - Cracking the Code: Decoding Anti-Bot Systems (58min)](https://www.wearedevelopers.com/en/videos/890/cracking-the-code-decoding-anti-bot-systems?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) ## Work and Jobs **GitHub** has [5 tips to supercharge your career](https://github.blog/2024-05-01-5-tips-to-supercharge-your-developer-career-in-2024/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT), **Microsoft** [ties executive pay to security](https://arstechnica.com/information-technology/2024/05/microsoft-ties-executive-pay-to-security-following-multiple-failures-and-breaches/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) after failures and breaches, [7 things engineers should know about talking to users](https://newsletter.posthog.com/p/talk-to-users?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) might make your job easier and it's important to remember that [perfectionism can stall you](https://spin.atomicobject.com/perfectionism-software-development/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). On the "wow" side, many startups fell for a [fake accelerator scam](https://techcrunch.com/2024/05/02/they-thought-they-were-joining-an-accelerator-instead-they-lost-their-startups/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT). ## Procrastination Corner / Wonderful Weird Web - [Tolkien’s Middle-Earth wasn’t a place. It was a time in (English) history](https://bigthink.com/high-culture/middle-earth-tolkien-history/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) - A playable [Super Mario Level recreated on a typewriter](https://tinybookshelf.itch.io/super-moxio-bros?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) - [Moodist](https://moodist.app/?utm_source=hs_email&utm_medium=email&_hsenc=p2ANqtz-_OB4ggqmoL9zjImmqsUIXUjmrNpqGeK5bF2HZbLCnw4pZzF3xtkjkX436Kz1RS4H8sv2BT) gives you ambient sounds for focus and calm ‍ ## Related Articles - [Dev Digest 101 - the XXX edition](https://www.wearedevelopers.com/magazine/382-dev-digest-101-the-xxx-edition) - [Dev Digest 123 - Easy as A, B, C1](https://www.wearedevelopers.com/magazine/459-dev-digest-123-easy-as-a-b-c1) - [Dev Digest 109 -Egg-citing things…](https://www.wearedevelopers.com/magazine/408-dev-digest-109-egg-citing-things) - [Dev Digest 105 - Security First](https://www.wearedevelopers.com/magazine/393-dev-digest-105-security-first) ## Related Videos - [WeAreDevelopers LIVE - Dapr / Pixels and Generative Art / Open Source and Communities / and more](https://www.wearedevelopers.com/videos/1720-wearedevelopers-live-dapr-pixels-and-generative-art-open-source-and-communities-and-more) - [Dev Digest End of Year Recap](https://www.wearedevelopers.com/videos/1284-dev-digest-end-of-year-recap) - [New Browser APIs, End of React Create App, Smuggling Data in Emoji and more with Rowdy Rabouw](https://www.wearedevelopers.com/videos/1299-new-browser-apis-end-of-react-create-app-smuggling-data-in-emoji-and-more-with-rowdy-rabouw) - [WeAreDevelopers LIVE - Back to CODE100](https://www.wearedevelopers.com/videos/1909-wearedevelopers-live-back-to-code100) ## Related Jobs - [Senior Software Engineer](https://www.wearedevelopers.com/jobs/ext/15942-senior-software-engineer) at **GitHub** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/679408-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/683045-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/643147-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/639235-remote-senior-full-stack-engineer) at **Edge Impulse** - [Remote Senior Full-Stack Engineer](https://www.wearedevelopers.com/jobs/ext/356601-remote-senior-full-stack-engineer) at **Edge Impulse**