Remi Sharp writes about Heydon Pickering’s “Please disable JavaScript to view this site” redesign - I had seen Heydon’s site earlier in the week but didn’t spend much time thinking about it, now I can see there are a lot of ideas worth pausing to consider, should browser javascript default to being on? Should web browsers make it easier to turn javascript on/off? Would we even need consent forms if browsers had better tools for seeing what a website is doing under the hood?
🚀 eleventy-agile-blog just got merged into 11ty/11ty-website! :)
Vimawesome - Awesome vim plugins
from across the universe
🚀 New Post: What it’s like working for an enterprise software startup - Following on from my post last week about working in the vfx industry, I wrote a similar piece about working for an enterprise software startup
The apps keeping Rio’s residents safe from stray bullets
Chris Coyier is intrigued by Substack, but not convinced that people will make a living from writing on it
About the Rosetta translation environment - tldr; It’s a translation layer, not emulation layer
Would you be willing to fund a Linux port to Apple Silicon?
Software Engineering Podcast - Computer Architecture with Dave Patterson - I’m usually more interested in cloud architectures but I found this episode about chip architectures enlightening because the area is currently experiencing a cambrian explosion of sorts, the discussion passes through lots of interesting places including a bit of history, the new RISC 5 open architecture, the reasons for the recent domain specific chip architecture trend,
how machine learning workloads compare to those of other types of computing, and a prediction that the current period of chaos will lead to a golden age over the next 10 years
AWS API Architecture - Overview of some of the main resources that go into setting up a containerized application on AWS, with a great diagram that illustrates how regions, availability zones, VPCs, subnets, security groups, application load balancers, Route 53, internet gateways, and Fargate instances can be configured to run a backend API
Indian developers are racing to replace TikTok - I’d love to assemble a team of developers that were experts in recreating SaaS products
Apple Silicon M1 - A Developer's Perspective - Must read for any developers that use Apple hardware, overall the speed increases and fanless systems are great but there are some software issues that will most likely be resolved in the next few months
I’m always impressed by Flavio Copes’ content, what I like about his new NodeJS course is the selection of apps that you get to build: Trip Planner using MongoDB, Google Analytics Dashboard, Newsletter Manager using Airtable, and a Telegram Bot
How I Built and Deployed a Fun Serverless Machine Learning App - Uses serverless cli to create an AWS backend with API Gateway and Lambda triggering Python scripts that fetch and run the pre-trained models from S3, and deploys the React frontend to Netlify
What is Static Site Generation? How Next.js Uses SSG for Dynamic Web Apps
Back/forward cache - Optimize your pages for instant loads when using the browser's back and forward buttons
🚀 Housekeeping note: I’ve updated the about page on the blog so that it hopefully paints a clearer picture of me, I’ve updated the navigation links, and created a separate services page from the original blog post that described my services
Why I chose Electron.js for my side business - Reasons why Electron is a good choice for small business owners to write on-device software
UK to impose new rules to limit tech giants' power - They will be creating a new unit called the Digital Markets Unit (DMU) within the existing Competition and Markets Authority (CMA)
Software Engineering Podcast - Cruise: Self-Driving Engineering with Mo Elshenawy - I’m not massively interested in self driving cars, but I found this podcast fascinating - The navigation and computer vision domain is very unique and new, and they have considered many aspects at a very deep level including how to construct teams and processes, how to compose the overall organisation structure to maximise collaboration across units, as well as the product architecture, next level CI/CD, and the advantages of multi-cloud serverless deployments
How Community Prevailed at Python’s Virtual Core Development Sprint - Some uplifting community news, nice to hear their new governance model is working well, I sort of miss writing Python, it’s a nice language, looks like they have some good foundations built
🚀 New Post: Announcing my new Custom Training Service
Advice for newsletter-ers - The author makes the case that newsletters should be structured into seasons, which sounds a bit strange at first but he does make quite a compelling argument, I guess my newsletter technically would be right in the middle of season 1 right now
Run commands - The phrase is believed to have originated sometime in 1965 at a runcom facility from the MIT Compatible Time-Sharing System (CTSS)
The origins of the unix shell - Louis Pouzin: “I reached the stage where I felt that commands should be usable as building blocks for writing more commands, just like subroutine libraries. Hence, I wrote RUNCOM” - That’s were the rc in bashrc comes from
🚀 New Post: Looking back at linkblog.io - A look back at the linkblog.io implementation
Netlify Background Functions - Another interesting feature from Netlify, making it super easy to run background serverless functions that take a long time, like generating a pdf, resizing an image, that type of thing
Netlify Edge Handlers - I’ve been recently using Cloudflare workers to do some tasks on the edge, edge computing is pretty cool, the Netlify implementation is nice because it’s packaged in a very Netlifyish way, making it very easy to integrate into your existing projects
🚀 New Post: Linkblog.io is dead, long live linkblogging - Death is so overrated
The curl web infrastructure - Great writeup, they handle a lot of data!
Spinlaunch's ginormous centrifuge plans to slingshot rockets into space
Ethereum 2.0 confirmed for Dec. 1 launch just hours before deadline
Linus Torvalds on the new Mac M1 chips - “I’d absolutely love to have one if it just ran Linux”
Microsoft Edge improved copy and paste will cause headaches - Pasting a URL into the browser address bar will paste the page’s title as a link to the real URL instead of just pasting the URL
Elon Musk overtakes Bill Gates to become world’s second richest person behind Jeff Bezos
🚀 New Post: What it’s like working in tech in the visual effects industry - I took a small trip down memory lane and wrote a piece that gets into some of the tech but also the general vibe of being a techy in vfx
Upptime - the open-source uptime monitor and status page, powered entirely by GitHub Actions and Issues - Checks your site is up, creates a Github issue if it isn’t, which you can use to create an incident report, also graphs daily average response time
Media Session API - This new web platform API looks interesting, I’m wondering if it could be used to power a podcast player remote control, I had one on my old sharp mini disk player back in the 90s, it was so great
Safari 14 Released - Safari Web extensions, webpage translation, performance improvements, website privacy reports, website login via Touch ID and Face ID, image and video WebP support, Picture-in-Picture support on iPhone, support for high-dynamic range (HDR) video playback, several new javascript features (BigInt, logical assignment operators, optional chaining operator, custom EventTarget instances), web inspector debug and resources tabs combined and several cool sources tab capabilities
Corecursive Podcast - Interview with Jim Blandy one of the original designers of the open source version control software Subversion - A bit of a trip down memory lane with some fun stories of how development used to be
Committing to collaboration - How the early open-source movement and version control paved the way for today’s remote software development processes - Great piece that tracks the history of version control focusing on the remote collaboration features of CVS, Subversion and Git
How Twitter Is Redefining Itself for a Post-Trump Future
Systemd’s Lennart Poettering Wants to Bring Linux Home Directories into the 21st Century - I think his migratable home directory or “home-on-a-stick” idea is quite cool, I’m less bullish on his idea to use JSON for /etc/passwd
Automated workflows are eating the world
Autodesk acquired urban city planning AI firm Spacemaker ($240m) - It’s interesting to me because Autodesk was the big player when I worked in the visual effects industry building systems for artists, engineers and producers to collaborate on big budget movies, here they are building systems for architects, engineers and construction professionals to collaborate on big city building projects
🚀 New Post: Why are people chopping off their legs with consent forms?
The iPhone 12 Pro Max - Real Pro Photography - I’m not super knowledgeable on cameras and photography, but it seems the cameras in these phones have advanced significantly - “The iPhone 12 Pro Max is a Pro photographer’s iPhone”
Nvidia is bringing Fortnite back to iOS with new cloud gaming web app - This is most likely good news for the web platform since they will be pushing forward progressive web app capabilities, also worth noting that Microsoft and Google have announced similar strategies
YouTube will run ads on some creator videos, but it won’t give them any of the revenue
Why Japanese Web Design Is So… Different
What’s the difference between Event Handlers & addEventListener in JS?
panva/jose - Universal "JSON Web Almost Everything" - JWA, JWS, JWE, JWT, JWK with no dependencies
🚀 Mark Smith’s Newsletter - Saturday 21st November, 2020 - This is the web version that got sent out earlier today in case you missed it
🚀 New Post: I've started a Newsletter - A weekly roundup of some of the best javascript / tech / web development links posted to my linkblog - I hope you like it :)
20000 Hz Podcast - Space Audity - Another amazing journey into sound, this time it’s all about space, every single one of the 20k podcasts is a master piece
What Is The Best Day To Publish An Email Newsletter? - I’m trying to decide which day to publish my newsletter, currently I’m feeling that Saturday morning would be good because then I can include links from the week gone by, and also it’s a nice way for me to delineate to myself that the weekend has started
🚀 New Post: My policy on job interviews
Writing a technical book - from idea to print - Great author writeup of the whole process of writing an Oreilly programming book
The state of the AWK - This systems level tool and text processing language has been around for around 40 years and it’s still used heavily in processing big data - “AWK reads the input a line at a time. A line is scanned for each pattern in the program, and for each pattern that matches, the associated action is executed”
isomorphic-git/isomorphic-git - A pure JavaScript implementation of git for node and browsers! - Looks like a pretty amazing library, I can think of a lot of use cases where it would come in handy
🚀 IH Post: New Trends in Web Development - The Jamstack
Jimmy Wales on Systems and Incentives (Ep. 109) - Interesting interview that covers a lot of topics, there are very few websites left from the early stages of the web that still have the utopian ideals, I don’t know that much about the technology behind Wikipedia - I’d like to know how it’s versioning system differs from git, presumably it’s in ways that make it more suited for editing written word content as opposed to computer code
🚀 New Post: Mozilla MDN Docs are going full Jamstack
M1 Macs can now run Windows apps and games through CrossOver 20
Playing on Hard Mode - Some interesting analysis from Ben Thompson comparing the relative difficulty level of the ascent of Facebook, Airbnb and Doordash
What is your go-to place for looking for remote developer jobs?
Ep. #67, JAMstack Handbook with Colby Fayock of Element 84 - A movement isn’t really in motion until there’s a handbook
🚀 I’ve just re-organised the tags on my blog so it’s easier to find articles
🚀 Mark Smith’s Newsletter - “Javascript, tech and developer links from around the web” - I’ve started a newsletter where I will share a selection of the links that I post on my long running linkblog, just a few clicks to subscribe :)
My Shortish M1-based MacBook Pro 13-inch review
Is it time to SoC the CPU? - Some good comparison details of the new Mac M1 chip architecture vs Intel chips architectures
Static Site Generator Gatsby recently introduced an incremental builds feature where only the content you modify gets rendered rather than re-rendering the entire site - I wouldn’t be surprised if Wordpress introduced a similar feature in the near future, if that happens Jamstack adoption will dramatically increase
Does Serverless WordPress Make Sense? Shifter vs HardyPress - Turns out there are several serverless / jamstack solutions for Wordpress, this article does a good job of covering all the pros and cons, there are some cases where it doesn’t make that much sense but there are other situations where it totally makes a lot of sense, and you can always mix and match quite easily by running different pieces on different domains or subdomains
nelsontky/gh-pages-url-shortener - Minimal URL shortener that can be entirely hosted on GitHub pages - It uses the repos Issues page as a database, storing the url in the title, a bit hacky but also kind of cool
Introducing the Apple Podcasts Web Embed - Makes it really easy to add a show player directly on your website
TMBA571 - There is Only One Kevin Kelly - This week’s episode is an interview with one of the co-founders of Wired Magazine, I found this episode super interesting, eclectic mix of geeky tech sci-fi futurism, but also history, anthropology and world cultures
Everything You Need To Know About Message Queues - Modern cloud architectures offer scalability and fault tolerance at low cost, this article covers these and many of the other benefits of this type of approach to building backend systems
Rosetta 2 - A brief look at the projected performance of the emulation layer in the new M1 Macs to run legacy applications
What Changed In Blogging Wizard’s Latest Redesign (And Our Updated Tech Stack) - It’s interesting to me to see what the current tech stack trends are for digital marketers, very Wordpress centric, very focused on theming and plugins, and a move to cloud services driven by the need for infinite scalability, I wonder if there are Wordpress + Serverless integrations being built
10 Awesome Github Repos Every Web Developer Should Know - A good selection especially for working on your javascript skills
Inside The End-Of-Year IPO Rush - Companies including DoorDash, Airbnb and Wish
Exploring the Unusual Properties of Quantum-sized Materials - There have been many technological advances in the recent past from discoveries of how materials at the nanometer scale interact, scientists are now exploring the sub-nanometer scale, and they are discovering materials that have very unexpected electrical properties, they see a new frontier
How to debug Netlify serverless lambda functions using VS Code
Freakonomics Podcast - Please Get Your Noise Out of My Ears (Ep. 439) - Really liked this latest episode, it’s all about sound, what we think about it, how it affects us, the history of sound, and lots more
Sir.DB - A simple database on the file system - This quite interesting as it’s based entirely around JSON files, human-readable
git-diffable, and therefore versionable, and
text-based, everything is a JSON file
Socket.IO 3 Released
Guido Van Rossum (creator of Python programming language) - “I decided that retirement was boring and have joined the Developer Division at Microsoft”
Introducing the next generation of Mac - All new MacBook Air, 13-inch MacBook Pro, and Mac mini - Pitched towards video producers, music makers and DJs, and programmers compiling code + building AI/machine learning models, these machines have the new Apple made M1 chips, super long battery life (~20 hours), speed, also with latest OS called macOS Big Sur, javascript runs 1.5 times faster, old apps will run fine using a compatibility layer called Rosetta 2
Callbacks vs. custom events in vanilla JS - The custom events pattern is definitely more flexible though at times, depending on how it is implemented it can feel a bit more difficult to follow the code
🚀 Mark Smith's Payments - I’ve added a place where you can pay me money! It uses the latest version of Stripe Checkout, you get taken to their website, then after making the payment you get brought back - I might start selling some products to go with my Software Services :)
Attention Is My Most Valuable Asset for Productivity as a Software Developer
Europe is adopting stricter rules on surveillance tech
Next 10 years for collaborators - Discussion about the next 10 years of Node.js, I’m getting mildly fascinated by all the ways the node community is using GitHub actions to create modern ways of collaborating, it includes contribution workflows, weekly meeting agenda generation, consensus seeking models, leadership models, to name just a few, all of which are applicable to so many other types of projects
Stack Videos Horizontally, Vertically, in a Grid With FFmpeg - Lot’s of ffmpeg in the news since their recent wasm release which runs in the browser, this cli tutorial gives an idea of the types of things you can do with the tool
Older Android Phones Will Be Cut Off From a Large Chunk of the Web in 2021 - The Letsencrypt root certs are changing, and they are used by a very large portion of the web’s websites - Affects all android versions pre-7.1.1 Nougat which is 1/3 of Android users, the only workaround, and it’s only a partial workaround is to install Firefox because it has it’s own certificate store (that’s interesting, I didn’t know that) which has the new Letsencrypt root cert
Perl One-liner Cookbook - Though you don’t hear much about Perl these days as a programming language, it’s still very good at processing text similar to sed/awk/grep but more powerful, very useful for automation purposes, this chapter covers the basics of using perl to execute one liners
Apple among companies interested in acquiring podcasting company Wondery - I hadn’t heard of this podcast network before, by all accounts they are quite big in podcasting, Sony is also in the running, Spotify has dropped out, the podcasting world continues to heat up
tomnomnom/gron - Make JSON greppable - Having a simple grep-like interface to json files could be very useful because using jq is complicated
Some more details about ffmpeg.wasm which got released recently, including examples
What's the deal with SvelteKit? - The creator of the Svelte framework discusses the future of the framework which will undergo lots of modernisation, a move away from bundles, file system based routing, static rendering and serverless integrations, on the whole it sounds very Jamstack-like
Why we are building a CLI first PaaS without a web frontend - Makes some pretty convincing arguments, this is something I have been pondering recently too, cool to see someone actually doing it
Ask HN - What can replace my iPod for podcast listening? - Quite a lot of useful info about iPod modding and repair, I feel like there should be a specialist sturdy podcast listening device with super long battery life, WiFi, web interface, maybe also ethernet
Memory Life cycle, Heap, Stack and Call Stack in JavaScript - Some very useful knowledge about the javascript core
NodeBB / NodeBB - Node.js based forum software built for the modern web
AdminBro is an admin panel for apps written in node.js - Looks very useful, plus release 3.3 just out
next-10 - A repository to work collaboratively on the strategic directions for the next 10 years of Node.js (Building on the successful first 10)
How Node.js Is Addressing the Challenge of Ryan Dahl’s Deno
Node v15.1.0 Release - Quite a lot of new features including a generalised diagnostics channel, and new child process 'spawn' event
More People Dipping Toes Into Web Monetization - This sounds like it could be quite cool, I’d like to add some sort of monetization / sponsorship to the linkblog, something minimalist and unobtrusive, possibly even useful
Converting the Vue.js markdown editor demo to vanilla JS - Looks like the author might be starting a series of these vanilla javascript minimal apps, great idea for a series
I went out for a late night stroll just before midnight because the internet went down, someone had placed 2 yellow flower heads just outside the neighbours house on our very clean street, some people are so thoughtful, it really brightens up the place
Amazon Launches New RabbitMQ Message Broker Service - RabbitMQ is a very popular open source message broker used for creating lots of different types of backend message queues
ffmpeg.wasm is a pure WebAssembly / JavaScript port of FFmpeg - It enables video & audio record, convert and stream right inside browsers
How to Write Loops with Preprocessors - Quite handy, I didn’t know pre-processors could do looping
Just a friendly reminder to everyone that sometimes when you eat a pie, as I did earlier, it has small rocks in it! (mine had 2 small rocks) Be careful everyone :)
GitHub Actions: - Deprecating set-env and add-path commands - Seems like the vulnerability might already have been addressed a few weeks ago
Having re-read my GitHub actions article from a couple of days ago, I’ve made several edits to make it more readable, I hadn’t realised until now that writing on small screens has a big effect on the content
BBC makes switch to AWS, serverless for new website architecture - But when are they going to go Jamstack? :)
There is a GitHub Actions security problem that is being uncovered, this is the HN thread, it’s related to one of the mechanisms the workflows use to trigger commands, l am very interested to see how Github handle this situation and to hear from them the best way to avoid being affected
Using Cloudflare workers to localize a website by rewriting the HTML - Quite a versatile tool to have in your Jamstack toolbelt
BetaList is a community of makers and early adopters showcasing their startups and exchanging feedback - It’s similar to Product Hunt, a good place to launch your product
Thanks to Zhihao Li for his tutorial on how to add tags to GitHub Pages Jekyll sites :)
JAMstack WTF - Single page website that highlights the essential concepts of jamstack website architectures and includes links to lots of resources
Elsa is a minimal, fast and secure runtime for JavaScript and TypeScript written in Go - Interesting to see another implementation, this one uses QuickJS rather than v8 as the javascript engine, it’s not as fast as v8 but it has a faster startup time so there are some scenarios where it could be beneficial
Modern-Day Architecture Design Patterns for Software Professionals - High level overview of some of the modern architectures available when building cloud / serverless applications
🚀 New Post: Self-hosted web based tool to get tasks done efficiently
Google have released a new search product that you can use on your site called Programmable Search
MDN Web Docs evolves! - the folks at Mozilla are going Jamstack + GitHub for their new MDN docs content contribution workflows, great writeup of the planned architecture, this is definitely an interesting space to keep an eye on, it will be really cool to see the collaboration workflows they build
I’ve just been browsing through the Apple News app for the first time, first thing is that there is no linking to any articles across the web, which is for me a massive negative, however it’s immediately apparent one huge benefit, there are no annoying pop-ups / consent forms, none, zero, it’s quite something, after months stop/start/interuptions, it’s a bit like gliding on a cushion of air, also they’ve figured out that I like tech and there’s an entire tech section with lots of good content from a lot of the sites I read anyway, but no linking
Also I’ve updated the links on the podcasts page to be the file page in archive.org as I haven’t had time to create nice looking post pages yet, their file pages are actually kind of cool because you see a visual of the audio signal similar to on Soundcloud
I’ve added an “Listen on Apple Podcasts” image link below each day on the podcasts page so you can add the podcast in a just couple of clicks!
Cloudinary is famous for great image hosting, but it’s also really useful for simple things like resizing images
Apple Podcasts Identity Guidelines -These are the docs you need if you are adding one of the Apple podcasts icons to your website
Apple One now available, bundling Apple’s services into a single subscription
10 Useful Vanilla Javascript Plugins 2021
Is the pain worth the gain? Writing webapps in C - Benchmarks Facil vs Flask vs Nodejs