Browse the linkblog archives.

Monday 30th November, 2020 #

  • 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?

Sunday 29th November, 2020 #

  • 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

Saturday 28th November, 2020 #

  • Working Copy - Powerful Git client for iOS
  • 🚀 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)

Friday 27th November, 2020 #

  • 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

Thursday 26th November, 2020 #

  • Is Salesforce about to buy Slack?
  • 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 - A look back at the 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

Wednesday 25th November, 2020 #

  • 🚀 New Post: 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

Tuesday 24th November, 2020 #

  • 🚀 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

Monday 23rd November, 2020 #

  • 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

Sunday 22nd November, 2020 #

  • 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?

Saturday 21st November, 2020 #

  • 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 :)

Friday 20th November, 2020 #

  • 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

Thursday 19th November, 2020 #

  • 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

Wednesday 18th November, 2020 #

  • 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

Tuesday 17th November, 2020 #

  • 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

Monday 16th November, 2020 #

  • 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

Saturday 14th November, 2020 #

  • 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

Friday 13th November, 2020 #

  • 🚀 New Post: Robust NodeJS Deployment Architecture
  • 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”

Wednesday 11th November, 2020 #

  • JavaScript async and await in loops
  • Om Malik’s notes on Apple’s M1 Chip
  • 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

Tuesday 10th November, 2020 #

  • 🚀 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

Sunday 8th November, 2020 #

  • 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 defends Xbox streaming block on iPhones

Saturday 7th November, 2020 #

  • 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

Friday 6th November, 2020 #

  • 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

Thursday 5th November, 2020 #

  • 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

Wednesday 4th November, 2020 #

  • 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
  • Should I use Linux?

Tuesday 3rd November, 2020 #

  • 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 :)
  • 🚀 I just added a tags page to my blog!

Monday 2nd November, 2020 #

  • 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

Sunday 1st November, 2020 #

  • 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 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