Mark Smith's Linkblog

Monday 27th April, 2020 #

  • If Andromeda Were Brighter, This is What You’d See - Andromeda is the closest galaxy to our galaxy the Milky Way, the to-scale drawings in this article are mind blowing, also I did not know we were on a collision course, though that will happen in a very very long time

Sunday 26th April, 2020 #

  • Interesting piece that looks at how well positioned Netflix is right now in comparison to a lot of the studios, they operate in a very different way which has resulted in them having already shot a lot of their productions well in advance

Saturday 25th April, 2020 #

  • Steps to secure AWS Serverless - Lambda - Setting up your lambdas and associated resources can be a little complex, this article does a good job of clarifying the process with some illustrative architecture diagrams
  • How the Voyager Golden Records Work - Great podcast episode to listen to on a Saturday afternoon
  • “The title ‘Front-End Developer’ is obsolete.”
  • Shell productivity tips and tricks - Lots of handy shortcuts for making your shell sessions more like being in vi/emacs
  • JavaScript the Hard Parts - Asynchronous JavaScript - I found this video a few weeks ago while looking to refresh my knowledge on how the javascript event loop functions, I really recommend spending the time to watch it, Will Sentance CEO of CodeSmith and the classroom lecturer in the video, has a very entertaining and somewhat old school british style of teaching, with a perfect balance of humour, repetition over difficult parts, and light interaction with a live online audience, the whole thing has a sort of effortless, improv quality about it, while dissecting the difficult parts of javascript with precision and mastery - It takes a little while to get started, give it a chance and watch the whole thing when you are not in a hurry :)

Friday 24th April, 2020 #

  • Netflix blows away new subscriber expectations - Some impressive numbers but I think the standout bit of this article is the praise Netflix CEO gives Disney for their recent successes
  • Compared - Magic Keyboard versus Smart Keyboard Folio
  • Elon Musk announces plans for Starlink internet - “Private beta begins in ~3 months, public beta in ~6 months, starting with high latitudes”

Thursday 23rd April, 2020 #

  • “AI Eurovision” Special - Where androids dream of electric guitars - Interesting episode this week if you are into tech/ai and/or music, from very eurovisiony, to experimental punk metal, these teams use a fascinating variety of programming and ai techniques to create their compositions
  • Netlify Build Plugins - I want to know how to use the build cache to optimise builds, I had a quick look through some of the plugins but didn’t find anything, this new build plugins feature looks pretty cool though, I quite like their implementation because it’s simple and just regular javascript with a small bit a configuration

Sunday 19th April, 2020 #

  • 30 years of the great British gastropub - I worked at one of the early London gastropubs so I enjoyed this short recap of the posh food and a pint scene
  • Today I Learned (TILs) - Incredibly simple yet useful idea for a repo, that all the items are categorised in super nice, but there is also a daily view -- the commit history - This repo should be in the Louvre :)
  • serverless-offline - Emulate AWS λ and API Gateway locally when developing your Serverless project
  • Debugging Typescript AWS Lambda with VSCode and Serverless
  • Debugging NodeJS AWS Lambda with VSCode and Serverless

Saturday 18th April, 2020 #

  • NASA and SpaceX set the date for Crew Dragon’s historic launch - It will be the first time they have launched with astronauts onboard
  • How to set up an express api backend project with Postgresql
  • jQuery 3.5.0 Released - Mostly security fixes, it's nice to see more mature projects continuing to develop, there is a lot of JQuery out there

Saturday 11th April, 2020 #

  • Understanding (all) JavaScript module formats and tools - I haven’t had time to read all of this yet, hoping to read later, it’s a good summary - Makes me wonder what programmers from other languages think about javascript modules
  • Porting to TypeScript Solved Our API Woes - Makes a pretty strong case for Typescript, especially their technique of having the types exported from the database and enforced through all the layers from API to the client React app
  • Git - To squash or not to squash?
  • GitHub Protips - Tips, tricks, hacks, and secrets
  • NASA’s Mars 2020 Perseverance rover gets its record-setting cargo - An actual Mars helicopter - I really hope it plays the Airwolf theme tune when it flies around
  • Disney Plus surpasses 50 million subscribers

Wednesday 8th April, 2020 #

  • A Static Future - The magic of compile-time workflows - Makes probably the clearest and most concise case (that I have read) for why the new static site / JAMstack trend is an important shift in the web development space, and why incremental builds is the next big SSG development that’s going to make it possible to build much bigger sites statically
  • JSONPlaceholder - Fake Online REST API for Testing and Prototyping
  • Docker announces the creation of a new open community to be run with open governance to develop the Compose Specification - Docker compose makes it easy to define and deploy multi-container apps
  • Backend infrastructure at Spotify

Tuesday 7th April, 2020 #

  • Godot Game Engine with Juan Linietsky - Podcast discussion with the creator of the open source games engine, covers a lot of ground but also very approachable if you are in a unrelated area of the IT sector, a lot of similarities with movie software, and also UI frameworks

Monday 6th April, 2020 #

  • What happens when ... Kubernetes edition! - Pretty thorough deep dive into Kubernetes internals and component design all from the perspective of running one provisioning command, it’s certainly impressive but wow is it complicated, just to run a few websites, though if you are running a lot of services there is a point where the added complexity is worth the effort
  • Microsoft updates Skype so you don’t need an account or have to download software, simple in-browser tool that opens when meeting link is clicked

Saturday 4th April, 2020 #

  • Serverless Development with Jeremy Daly - Podcast discussion about the current landscape in serverless, it’s striking how much things have evolved in only a few years, some really interesting and advanced architectures are now possible, but of course there are trade-offs to consider
  • Amazon and Apple Strike Deal for Prime Video In-App Purchases and Subscriptions - Sounds kind of complicated at first, but read through to the analysis at the end to get a view on what each party gets out of the deal

Friday 3rd April, 2020 #

  • The 8 KPIs That Actually Matter and How to Measure Them
  • The New SaaS Metric You Should Be Tracking
  • Node.js in a Kubernetes world - All the essential things you need to know about as a NodeJS dev working with apps running on Kubernetes, well written and focuses on developer concerns
  • Another NodeJS debugging tutorial, this one is all about NoseJS built in diagnostics feature - Lots of cool features I wasn’t aware of
  • A Practical Guide to Memory Leaks in Node.js - Good explanation with examples of how to create and analyse heapdumps in NodeJS
  • Multi-party video application built with NodeJS/React/Twillio/Serverless

Thursday 2nd April, 2020 #

  • 2020 Sundance Film Festival Movies To Watch At Home Now
  • That's My Jamstack Podcast - Aaron Frost on Scully, working too much and the merits of ice fishing - Pretty good discussion, helped me to think a bit more clearly about the Jamstack landscape, especially when it comes to what tools are being developed to build static sites using modern javascript frameworks
  • Japanese astronaut joins the crew for SpaceX Dragon mission to space station
  • Rivian Wants to Bring Electric Trucks to the Masses - Cool to see some more contenders move into the Cybertruck space, this one has a novel skateboard chassis design, battery platform wrapped in ballistic and waterproof materials, wheels that each have their own motor, allowing them to move independently to perform a tank turn
  • Some interesting features are on the way in Microsoft Edge - Collections, Vertical Tabs, Smart Copy and 4k Netflix
  • Spotify signs licensing deal with Warner Music Group

Saturday 28th March, 2020 #

  • How are Unix pipes implemented - The first half of this article is interesting from a historical perspective, it then gets a bit too technical for me, but if you are a C programmer probably a good read
  • A look at iPad multitasking, makes a good case for why this feature is critical in future devices, especially given the new devices are aimed more as being laptop replacements
  • Movies Anywhere is bringing its digital film locker to LG’s TVs

Friday 27th March, 2020 #

  • Google Podcasts arrives on iOS as Android redesign goes official
  • Dumping MiniDisc Media - Quite technical but worth the read if you have a bunch of old mini disks in your music collection that you want to listen to on a more modern device

Thursday 26th March, 2020 #

  • Chrome Phasing out Support for User Agent String - The user agent string has over the years been overloaded to the point where it doesn’t really correspond to anything meaningful anymore so it’s probably a move in the right direction, I’m interested to see what their updated feature looks like
  • 10 Best IDE Software - Pretty good run down of the popular IDEs that are available

Wednesday 25th March, 2020 #

  • I've been using the octonode library to read and write files directly to a Github repo, it implements the v3 Github API, and has a pretty good interface
  • How to do Base64 encoding in node.js?
  • Aston Martin designs a new V6 for James Bond - and the Valhalla hypercar
  • SpaceX gets approval for 1 million Starlink user terminals for US internet service
  • Reddit’s new polls will let you vote on basically anything
  • Emojis as Favicons - More neat favicon tricks

Monday 23rd March, 2020 #

  • Highlights from Git 2.26 - Optimised network fetch protocol is now the default, cool new tools to show the scope of configs, faster git grep, additional colorization for the format command, and more
  • Javascript template literals with nested backticks - You don't really ever want to have template literals inside template literals, but in cases where it happens, and it just happened to me, there is a way

Sunday 22nd March, 2020 #

  • What You Can Do with Netlify Build Plugins - I like that all these companies are creating CI/CD tools, quite a lot of it is definitely useful, but honestly a lot of for instance Github actions and some of Netlify docs are really confusing, I hope all these build tools don’t turn into frankenmonsters that you have to set up in the cloud and on your local machine
  • New Issue: Turning off strict mode for babel-loader in netlify-lambda build

Saturday 21st March, 2020 #

  • Maintaining Performance - Makes some great points about the ever changing best practices and the pros and cons of using 3rd party services vs rolling your own solutions
  • Interesting discussion with Brian Leroux about serverless architectures on the Shop Talk Show podcast - Devops have been a bit reticent to get into serverless, but frontend devs are very bullish on these types of setups, so it's interesting to hear some frontenders talk about the variety of things that are and could be built in this space
  • Wikimedia has decided to move ahead adopting Vue.js as their frontend framework - These are the folks behind internet giant Wikipedia, so it's a pretty big deal as far as web development goes, firstly because as great as Wikipedia is, they use quite an antiquated tech stack, so moving their website towards something more modern is going to be interesting to watch, but also because they chose Vue over React with some pretty good reasoning in my opinion

Friday 20th March, 2020 #

  • Should you buy the new iPad Pro? Here’s how it compares to the 2018 iPad Pro
  • Next Phase Montage - Isaac Schlueter founder of Npm Inc writes about the journey so far, and his read on the acquisition - It's nice to see a lot of positivity there, npm contributed quite a lot to my decision to become a NodeJS/Javascript developer, so it's very interesting to me, I wish them all this best

Thursday 19th March, 2020 #

  • Apple’s New iPad Pro Smart Keyboard Comes With A Built-In Trackpad - This review has the latest iPad Pro advertisement which in typical apple fashion makes it look very cool
  • Here’s how the iPad’s new trackpad actually works - Some big changes in the world of touch / gesture based apple products, it might be an interesting new direction for the devices

Tuesday 17th March, 2020 #

  • CI/CD - Serverless Ebook using Gitbook CLI, Github Pages, Github Actions, and Calibre
  • Interesting - @Microsoft now owns my entire dev stack, especially for writing JavaScript
  • New Issue: __dirname appears to be incorrectly set in lambda function
  • Pretty big news in the world of Javascript - Github is acquiring Npm Inc - The folks that weren't happy about Microsoft buying Github are probably not going to like this acquisition either, but personally I think it's good that an entity so central to web development has some sturdy financial backing, although I have recently gotten lost a few times in Github documentation, and also recently gotten really really lost in Microsoft documentation, really hope these 3 companies find a way to keep npm great

Sunday 15th March, 2020 #

  • New Issue: Headers are not being applied from either netlify.toml or _headers files
  • Is an undefined actually undefined? - It turns out that in javascript the only robust and non-confusing way to check if a variable is defined or not is to use the void keyword

Saturday 14th March, 2020 #

  • Continuous Integration and Deployment (CI/CD Pipeline) with Github Package and Github Actions - Continuation of the previous tutorial link, adds CI/CD integration
  • Create Your First Github Package - Short tutorial that does a pretty great job of showing you how to create a Github package, IMO much clearer than the official docs
  • Microsoft announces Bill Gates is to step down from it’s board of directors to concentrate on his philanthropic activities

Thursday 12th March, 2020 #

  • Three Things You Didn't Know You Could Do with npm Scripts - I use npm script a lot, so it was great to discover in this article some features I was not aware of regarding environment variables and argument parsing
  • Delightful Node.js packages and resources - I have probably linked to this in the past, but worth linking again because it's a great compendium of NodeJS resources
  • Building a GitHub App With Node.js - Really useful tutorial that has all the pieces you need to create an express app that makes modifications to a Github repo
  • The UK will spend $1 billion on a moonshot agency to fund cutting-edge tech
  • The UK’s new digital tax starts in April

Tuesday 10th March, 2020 #

  • What is Sourcebit? with Eduardo Bouças - I linked to Sourcebit a few days ago, so it's interesting to see a Smashing Magazine podcast interview with the creator of the project - He describes the various use cases really well, it's a sort of swiss army knife for ingesting and processing data from APIs, and has a plugin architecture so you can pull from any API source and push that data out to any target static site generator - It's a pretty cool javascript/NodeJs project
  • I've managed to get the styles to apply the static render of my linkblog, one thing I had to change was the day hash links, now they point to that day on the monthly archives page - The downside is that the context around a day isn't as good but at least there is the context of the current month, and for the rest well the reader has to navigate using the breadcrumbs, there is no way around it because with no server running there is no way to turn the 'date' query param into a page in the main 'infinite scroll' linkblog

Monday 9th March, 2020 #

  • I got the libraries to load by using Bootstrap CDN instead of self-hosting the libraries, necessary because I'm seeing an issue updating the build command where I have the site hosted - So my statically rendered linkblog is looking a bit prettier now
  • Static rendering of my linkblog - It still looks a pretty weird because some libraries aren't loading yet and there is no styling, but it's a start, made with the mini static site generator I've been working on

Thursday 5th March, 2020 #

  • Please stop recommending Git Flow! - Teams come in all sorts of different shapes and sizes and develop in various contexts, this post explores some of the trade offs that the Git Flow development model makes
  • I built a solution that converts your API into a SaaS - Every time I finish a very difficult bit of development, pretty much immediately afterwards someone releases a product that does exactly the thing that I spent weeks/months/years building, happens every single time, like clockwork - this solution called SaasBox actually looks pretty good
  • JavaScript Libraries Are Almost Never Updated Once Installed - The aversion to upgrades is almost universal, I say almost because one place where it’s not only not an issue, it’s almost become something to look forward to is in web browser software
  • After attracting 800K web developers, Netlify wins $53M in funding

Wednesday 4th March, 2020 #

  • Mozilla moves from using IRC to Matrix, with their first instance in full production
  • Data-driven JAMstack with Sourcebit - I spent much of the early part of my career building file ingest workflows for media companies, these companies deal with lots of files, often big files, and they have to move them around and modify them - I've noticed that ingest workflows are viewed differently depending on the context, in machine learning companies for instance, the ingest workflows aren't so much about ingesting files, but about pulling in data from various APIs, and then processing the data - Anyway all to say, it's interesting to see the static website site generation space building tools for API based ingest workflows, this particular tool Sourcebit has taken a cli approach to creating configuration files that power the data ingest and processing - It's also interesting to me because I have recently been writing my own static site generator tool, and working with a lot more APIs
  • HTML - The Inaccessible Parts - A living document from Dave Rupert chronicling some of the inconsistencies in HTML
  • Chris Coyier drops some Typeography links

Monday 2nd March, 2020 #

  • Travelling with 24" monitors - Pretty awesome DIY solution to this travel conundrum, I feel like travel screens could be a new area for tech
  • Little known features of iTerm2 - Covers smart selection and dynamic profiles, both really useful - other ones to check out are the pw manager and automatic colorisation of strings based on a regex

Saturday 29th February, 2020 #

  • A Text Renaissance - Venkatesh Roa goes on a very rambly walk through his text focussed junkyardy media empire, initially I really liked this piece, then I was like, gee this is getting way too long and I drifted off for a bit, but then there was another interesting part, and another etc, so much ground covered, but also nothing much, only wished I'd brewed a cup of tea before I started, if you are not in a rush and into technology and writing, it's definitely worth the read - Also some junkyards are pretty cool, it's nice to be reminded of that
  • How a 2 person startup already uses 28 other tools - It's interesting to see the tools stack of a seed stage two person startup

Friday 28th February, 2020 #

  • Bootstrap 4 Tree View - Plugin that creates a nice looking tree view useful for navigation, pretty neat
  • My 2004 Blogroll - Via the medium of the Internet Archive Wayback Machine, David Weinberger reminisces about his blogroll from 2004 - I used to read a lot of those blogs too, or listen to early podcasts that featured these folks, especially IT Conversations & Gilmore Gang, I guess I am getting old, though sometimes I honestly feel like I am almost dead - “Blogrolls were early social networks“
  • Build a Single Page Application (SPA) Site With Vanilla.js - Uses the latest javascript feature such as es modules, classes, template literals and destructuring
  • Let's Encrypt Has Issued a Billion Certificates
  • Brave Browser and the Wayback Machine - Working together to help make the Web more useful and relia

Tuesday 25th February, 2020 #

  • Wrapping REST API calls with Apollo Client
  • How we use Kubernetes and spot instances to reduce EC2 billing up to 80% - If you use some form of message queues on the backend then you might be able to safely take advantage of AWS spot instances

Monday 24th February, 2020 #

  • The Slippery Slope of Docker Dev Environments - Covers something I've come up against in the past, containerisation is pretty great for devops and deployments, but it's not always so great for local dev environments, because it adds quite a lot of complexity that can get in the way of debugging code
  • EU Commission to staff - Switch to Signal messaging app

Sunday 23rd February, 2020 #

  • The command line options we deserve - Such a timely piece considering the previous iPad multi tasking link, this article discusses the curl command line utility that has nearly 300 options, and the importance of a user base being used to a particular way of doing things
  • Ryan Christoffel's Proposed Fix for iPad Multitasking - Kind of makes me wish I had an iPad again to get a better idea about how multi-tasking functions, one issue I think his proposal would face is that users are already quite used to long press activating “app jiggly mode”, which is one of the most absurd yet accurate ways ever of describing a mode
  • We need to address streaming's massive carbon footprint
  • Should you self-host Google Fonts? - Interesting deep dive in font loading, feels like there might be a need for an open source version of the Google Fonts server since the speed improvements are considerable but Google is doing a lot of clever stuff behind the scenes, also highlights that there is a lot of complexity when it comes to fonts