markjgsmith

2021/01/31 #

Today’s links:

  • Cory Doctorow - IP - A detailed look at the current state of intellectual property, onboards by looking at the history of free software and the GPL, then looks at the importance of interoperability as it enables self-determination, citing modern examples such as Facebook and Google, and broadens the picture to talk more generally about copyrights, trademarks and patents (all of which fall under the IP umbrella), in the context of author and entertainment monopolies - Overall, paints a generally coherent picture of a very complicated area, and is clearly the product of many years of being immersed in the field, I feel like I will need to re-read this piece a few times for the core dynamics to settle in my mind - The standout quote which is a good pillar to explore from: “IP is any law that I can invoke that allows me to control the conduct of my competitors, critics, and customers”locusmag.com #

  • A Look at the Top Questions for a System Design Interview at Facebookhackernoon.com #

  • Top Facebook System Design Interview Questions (Part 2) - Interesting design challenges, I’m hoping to find time to watch these videos laterwww.indiehackers.com #

  • Where should I run my stuff? - A neat diagram that explains when to use each Google Cloud Platform (GCP) product, it’s a great diagram but it sort of feels like things are getting quite complex these daysthecloudgirl.dev #

  • Practical Aspect Oriented Programming in JavaScript - I’m always interested in learning a bit about different coding paradigms, this one caught my attention because it has lots of similarity with how the Express middleware (IMO one of the best features) are implementedthecodebarbarian.com #

  • List of newsletter directories - These are directories where people discover newsletters, so if like me, you have a newsletter, it’s worth adding it to thesewww.indiehackers.com #

  • pforret/progressbar - Easy, clever progress bar for (bash) scripts - This could be really useful for making install scripts that have nicely formatted progress bars, just add the command at the end of a pipelinegithub.com #

2021/01/30 #

Today’s links:

  • How to Host a Static Website on AWS with HTTPS and CI/CD - Amazon can seem a bit complex now that there are so many services, so it’s good to read a tutorial focusing on the basics, one feature that would be great to add would be branch previews similar to Netlifydev.to #

  • Docusaurus 2020 Recap - Very popular framework for building statically generated documentation sites, this article looks at the latest features in v2, recent relevant published media, the community and future plansv2.docusaurus.io #

  • Netlify Edge Handlers - Short tutorial on how to use Netlify’s new edge handlers, which enable you to fetch dynamic data right before returning the static page to the user, and add that data to the page, the great thing is that because it happens at the CDN edge, if it’s done right, it can be very efficient since it’s using the very fast CDN internet connection and servers to get and process the data, rather than the users connection and machine which is likely to be much slowercss-tricks.com #

  • Accessing Eleventy Data on the Client Side - Shows how to pre-render some JSON during the build which you can then fetch from the clientwww.raymondcamden.com #

  • Facebook reportedly plans newsletter tools after explosion in popularitywww.theverge.com #

2021/01/29 #

Today’s links:

  • GameStop and the Real Market Manipulators - Has a pretty good explanation of the happenings in the markets the past few days, in short, lots of new participants have been trading via web tools such as Robinhood, which give access to trade to regular people, and it has exposed double standards, and raised serious questions about what constitutes market manipulation, and fundamentally every single trade is a form of manipulation - I see lots of parallels in many industries, this type of thing is happening all across the economywww.coindesk.com #

  • Tim Cook condemns Facebook business model, says valuing engagement over privacy leads to ‘polarization’ and ‘violence’ - I really like Apple's vision, it sounds like the sort of world that would be pleasant to live in, the one thing that would make it even better, and I know this is very unlikely, is if they had that vision AND the software was open source, as we continue to integrate these softwares into our lives and especially when we begin integrating them into our bodies, this is going to become very important, what better time for Apple to transition to open source when it is flush with cash?9to5mac.com #

  • Cloud Native Series - The Cloud Native Landscape: The Runtime Layer Explainedthenewstack.io #

  • Why does it take so long to build software? - Focusses on essential complexity and accidental complexity, then puts it into context by looking at the past, current and likely future of technology, well written and paints a clear picturewww.simplethread.com #

  • Newsletters are growing up and leaving the coop - Looks at Every a newsletter that has been built on Substack is breaking out into its own entity, I think it’s great that the Substack team is fully behind them, this feels like the way things should work more often online, hosting providers should be helping others to become hosting providers, so the ecosystem becomes more robust for allwww.axios.com #

  • Capturing Hacker News Mentions with Node.js and MongoDB - Really neat tutorial on how to setup a data extraction pipeline using Node.js and the HN streaming API, the technique could be used in many different scenarios, the use of real-time streams is particularly coolwww.thepolyglotdeveloper.com #

  • middyjs/middy - The stylish Node.js middleware engine for AWS Lambda - I think I’ve already posted a link to this library previously, it’s got a great interface which makes a lot of sense, middleware are one of the express primitives I really miss when I’m writing Lambdas, however I personally found the description of the promises in the interface a bit confusing, I’d like to try the library out on a real projectgithub.com #

2021/01/28 #

Today’s links:

  • The unreasonable effectiveness of simple HTML - Looks at a specific example where having a simple HTML website that rendered well in any browser made all the difference, progressive enhancement is really important, more than we realiseshkspr.mobi #

  • Hawk expansion will accelerate research combining simulation and artificial intelligence - There are some really interesting high performance computing use cases where combining AI reinforcement learning with classic simulation can speed up discovery, I’d like to learn more about the workflows they are building, this article looks at sheet metal production in manufacturing, explosion simulation in astronomy, and fluid dynamics simulation in aerodynamics and combustionwww.hlrs.de #

  • Cloud Native Series - The Cloud Native Landscape: The Provisioning Layer Explainedthenewstack.io #

2021/01/27 #

Today’s links:

  • Twitter acquiring newsletter publishing company Revue - Interesting to see Twitter get into long form content and especially newsletters, I’m looking forward to see their product, it would be very cool if they had an API, Markdown support and automation toolswww.axios.com #

  • leahneukirchen/nq - Unix command line queue utilitygithub.com #

  • The Teeniest Tiniest Laptop In The West - “The GPD P2 Max is a hyper-powered cross between a palm pilot and an ultrabook”thecrow.uk #

  • Monorepo - Chris Coyier explains why his small team have moved back towards a monorepo from lots of smaller repos deployed as serverless functions, personally I’ve tended to have one repo for the website and one for the api in the past which has worked pretty well, I really like one of his monorepo advantages he’s called “growing old together”, there’s something kind of magical about that descriptioncss-tricks.com #

  • How to Setup Your M1 MacBook for Web Development - Has a script to install a basic dev environment, for something a bit more comprehensive check out my dotfiles Github repodev.to #

  • Optimising serverless for BBC Online - Interesting writeup of a serverless architecture that is clearly offering many advantages at the BBC, including cost benefits, massive scaling capacity, very detailed request tracing for improved debugging, developer workflows that enable separate testing environments per pull request, and easy rollback in case of failuremedium.com #

  • Shipping Jamstack like a hero - beware, it's cool - Run-through of how to setup a self-hosted Meli environment, it’s based on the Caddy server, that gets you a very similar environment to Netlify, with Github integration and deploy previews, the only major thing missing is simple serverless functionsdev.to #

  • SpaceX’s Elon Musk and Amazon’s Project Kuiper stir up a war of words over satelliteswww.geekwire.com #

  • Matt Mullenweg on Twitter buying Revue - “I’m a huge fan of the idea of better newsletters and Automattic was the largest investor in Revue”ma.tt #

  • Substack vs. Revue - Comprehensive feature comparison from a group that know a lot about newslettersnewslettercrew.com #

  • Hank Aaron tribute - Interactive timeline of the Top-10 Career Home Run leaders since the beginning of the Modern Era - I heard about Hank Aaron’s passing a few days ago, but I don’t watch baseball anymore, so it was like watching a ship very far out at sea, but this timeline really reminds me of all my years playing baseball in my youth, collecting baseball cards, chewing 6ft rolls of gum, eating hamburgers, hot dogs and pizza, drinking Mountain Dew, and playing baseball console games, those were fun times - and wow Babe Ruth really was way ahead of his timemobile.twitter.com #

  • Cloud Native Series - An Introduction to the Cloud Native Landscapethenewstack.io #

  • Reddit’s GameStop traders turn their attention to AMC stock - I’m mostly posting this because of the film industry connection, not sure what to make of it currently, seems like it’s going to be quite a big story, I don’t currently have an opinion aside from trepidation because of my recent ☹️ Reddit experiences with my account, feels a bit mobishwww.theverge.com #

  • Notes on Da Lat – The cool mountain city in the Central Highlands of Vietnam - Great photowalk by James Clark of a wonderful place I’ve been to before, he has one of those popups on his website, the RSS feed version doesn’t, lots of nice photos, and James’ classic laid back travel writing stylewww.nomadicnotes.com #

2021/01/26 #

Today’s links:

  • Apache OpenWhisk is an open source, distributed Serverless platform that executes functions (fx) in response to events at any scale. OpenWhisk manages the infrastructure, servers and scaling using Docker containers so you can focus on building amazing and efficient applicationsopenwhisk.apache.org #

  • Introducing Birdwatch, a community-based approach to misinformation - I don’t know how I feel about this, I like that they will have transparency of the data and that there seems to be a genuine wish to ‘do it right’ even if it’s messy at times, but I’m also cautious because when the community gets it wrong it can be spectacularly wrong, just ask the Star Wars Kid how he feels about community, I’m also still, after many months, trying to find out why my ☹️ Reddit account is corrupted/blocked, and they simply don’t acknowledge that I even exist, it looks like I have been banned yet I demonstrably have not been banned, so Twitter becoming like Reddit would be in my opinion very bad for everyoneblog.twitter.com #

  • Introducing Open Web Docs - With initial backing from Coil, Google and Microsoft and Igalia, this project is to support existing web documentation efforts like MDN Docs, they appear to have raised $500k already, so definitely an important project to watch, it’s good to see investment in places where it really matters like super high quality web platform documentationopencollective.com #

  • OWD 2021 goals - Outlines high-level objectives for Open Web Docs in 2021github.com #

  • Instagram's New Professional Dashboard - A push to help businesses and creators monetise their contentwww.makeuseof.com #

  • Our Journey to PostgreSQL 12 - Great writeup from the Coffee meets Bagel engineering team, just the right amount of detail with some illustrative architecture diagrams, you get a very clear picture of what a Postgres migration looks liketech.coffeemeetsbagel.com #

  • How I went from growing startups to buying them - Ray Sheth the founder of Decalab writes about his ‘SaaS Factory’ company, he has experience building companies in India and the US, and plans to share his experience buying and growing SaaS companies in the $1-10m annual recurring revenue (ARR) space, sounds like it could be an interesting journeywww.indiehackers.com #

2021/01/25 #

Today’s links:

  • Fulfilling the promise of CI/CD - A lot of teams do continuous integration, but a lot less do continuous delivery, this article focusses on why that second part is crucial, though one thing it doesn't do is address the non-trivial problem of what to do with all the management people that help to run the current way of doing thingsstackoverflow.blog #

2021/01/24 #

Today’s links:

  • ‘It’s not OK’ - Elastic takes aim at AWS, at the risk of major collateral damage - More about the open source license war happening, the thought that I keep coming back to is how did Wordpress manage to avoid this happen to them, they also offer their software as open source and have a managed service offering, and I want to know where does Elastic host it’s managed service offering? It’s almost like there should be a more rigorous separation between software companies and hardware companies, but I’m not entirely sure that’s the answer, because it could affect innovationwww.protocol.com #

  • How Smashing Magazine Manages Content - Migration From WordPress To JAMstack - Interesting article that is very pro-Jamstack, Smashing Magazine ended up moving much of their operation to run on Netlify and using Netlify CMS, the article says early on that it didn’t get rid of Wordpress completely but doesn’t fully explain how it’s being used in their new setup, I’m curious to know more about that piecewww.smashingmagazine.com #

  • Using Bootstrap 5 with Vue.jsdev.to #

  • Self-hosting serverless with OpenFaaS - Lots of cool features, enabling to run your own AWS Lambdawww.mskog.com #

  • How to use GitHub Actions with your own self-hosted runner (aka build agent) - Self hosted runners look interesting, gives you a way to run Github Actions on your own infrastructurejessicadeen.com #

  • Drone is a Continuous Delivery system built on container technology- Drone uses a simple YAML configuration file, a superset of docker-compose, to define and execute Pipelines inside Docker containersgithub.com #

2021/01/23 #

Today’s links:

  • How I Build JavaScript Apps In 2021 - A fairly advanced javascript developer reviews his current very pragmatic approach to programming for the web, some insightful observations, good tips, I enjoyed reading this level headed piece that has been shaped by years of experiencetimdaub.github.io #

  • The Complete Developer's Guide to Airtable - This workflow tool has popped up on my radar a few times recently, I don’t know that much about it currently, hoping to get time to go through this article in more detail laterblog.syncinc.so #

  • How to Set Environment Variables in Linux and Mac - The Missing Manual - You can do a lot of cool things with environment variables on Linux / Mac systems, they are a core concept of the operating systems, this article covers many of the important anglesdoppler.com #

  • How To Migrate From WordPress To The Eleventy Static Site Generator - The crux is to create an XML export from Wordpress, then run a special CLI tool on the export to turn all the posts into Markdown files, then you can easily re-style the site to build using Eleventywww.smashingmagazine.com #

  • Survey claims 62% of Apple TV+ subscribers are on a free trial as Apple builds its content catalog - And apparently only 30% expect to continue with their subscription after the free trial ends, Disney+ had a 48% continue rate9to5mac.com #

2021/01/22 #

Today’s links:

  • How to pick a Typeface for User Interface and App Design? - Has some handy tips about choosing a font for your UI, what is meant by the term ‘functional text’, the Il1 test, letter apertures, and has some illustrative exampleswww.zeichenschatz.net #

  • Stripe for Visual Studio Code - Some useful tools if you are a VSCode user, particularly the ability to trigger and view webhook events, Stripe dashboard access, and the snippets feature also looks coolstripe.com #

  • Maintaining JavaScript applications in the long term - Great writeup of the tech stack used by the developers of the OECD Data Portal, discusses the choices they made and migrations they undertook during this long running project, it’s an interesting mix of modern (D3, ESNext, Typescript) and boring (Backbone, JQuery) web development technologies with some good advice about how to test code and being careful with abstractions - I like their approach to using Typescript via JSDOC, and also their use of progressive enhancement to make sure the site is accessible to the wide ranging user base they have all around the globe9elements.com #

  • Turbulence continues in the world of Open Source Software - Elastic changes it’s license in an attempt to force AWS to change the way it interacts with their project, similar movements happened with the MongoDB project a few years agowww.zdnet.com #

2021/01/21 #

Today’s links:

  • The Unauthorized Story of Andreessen Horowitz - Tells the story of how they have become incredibly good over the years of ‘going direct’ when publishing online, and they are apparently going to start a special tech section on their website, definitely one to watch, they are some of the Silicon Valley heavy weights, around in that marvellous period where TechCrunch became big, I’m excited to read what they have to say, I really hope they go full direct, and do away with any consent form popups, pretty please no popups :)www.newcomer.co #

  • Valve and five game publishers fined millions for geo-blocking Steam games in EUwww.theverge.com #

  • Both darkmode and big font size accessibility options on the new whitehouse.gov site are awesomewww.whitehouse.gov #

2021/01/20 #

Today’s links:

  • Brave becomes first browser to have native support for IPFS protocol - Links starting with ipfs:// will load in the browser without requiring installation of a browser pluginwww.zdnet.com #

  • ipfs-shipyard/ipfs-deploy - Zero-Config CLI to Deploy Static Websites to IPFS - Pretty cool, supports lots of IPFS gateways including Pinata (which appears to be popular) and Cloudflare among othersgithub.com #

2021/01/19 #

Today’s links:

  • Matt Mullenweg - Thirty-seven - “I’m so thankful for the internet. It’s where I learned and practiced my trade. It’s where I connect every day with the most interesting and eclectic group of people I could imagine, a modern day Florence during the Renaissance. I hope to make a lot more internet and enable others to do the same.”ma.tt #

  • Traditional iPaaS Doesn’t Work for Software Companies – Here’s Why - Pretty good description of the world of software systems integration, anyone that has worked integrating software into enterprise systems will probably find this article quite a interestingdzone.com #

2021/01/18 #

Today’s links:

  • Safari 14 added WebExtensions support - So where are the extensions? - Good summary of the current situation, Apple made the bar too high, compared to other browsers it's a lot more effort to deploy to, and costs money, and you don't even get the thing that users really want, which is the ability to use an extension on iPad and iPhone, so developers just aren't botheringsixcolors.com #

  • Why we should review broken products instead of new ones - Really interesting idea, the author also suggests having re-occurring product reviewswww.buyforlife.com #

  • Why The Service Mesh Should Fade Out Of Sight - Short discussion about Kubernetes, Microservices and Cloud Native web development, raises the notion of Kubernetes being the dynamic linker of “legacy OSs” like Windows and Linuxgo.forrester.com #

2021/01/17 #

Today’s links:

  • JingOS The World’s First iPadOS-style Linux Distro - “JingOS is a full-function Linux based on Ubuntu. It can run desktop Linux apps like VS Code, Libre Office, etc. JingOS is a productive OS designed specifically for tablets” - Well that peaked my interest, I guess you could use it as a fully fledged development devicewww.jingos.com #

2021/01/16 #

cat << EOF > Saturday 16th January, 2021 (Issue #9)

This week’s newsletter is out! (2021-01-16)

In this week’s edition:

VanillaJS, JS for visual arts, cool internet history, IoT, IoM, AV1 codec, APIs, cool CES gadgets, smartglasses, Lucasfilm, Trumpban, Web design trends, ESM, web components, Docker, OSS, M1 Linux...

Issue details:

  • Title: Saturday 16th January, 2021
  • Issue: 9
  • Page: issue webpage

Another awesome issue of the newsletter. #

Today’s links:

  • A Few More Thoughts On The Total Deplatforming Of Parler & Infrastructure Content Moderation - I’ve liked lots lots of the Techdirt pieces about the technology side of the Trump ban, and though this piece has quite a bit of factually correct tech details, I disagree with the conclusion, I think it misses the point, which isn’t imo even todo with content moderation, the reality is that there are only a hand full of hosting companies and they can be pressured easily to shut companies down, be it by government or general public sentiment, it’s way too easy to turn a company “toxic”, we are hearing about Parler because it’s high profile, but it could just as easily happen to a no name small company, and would we even know it had happened? It’s very difficult to complain when you’ve been deplatformed, it’s like cutting off someone’s water supply, or oxygen, it’s a very terminal movewww.techdirt.com #

  • Apple considering premium podcast service to compete with Amazon, Spotify - Likely to be quite controversial, has the potential to change the podcasting landscape quite a bitappleinsider.com #

  • MGM Is For Sale (Again) - If you are at all into films, this is a must read piece, some really good analysis, I didn’t know there was so much movement happening in the Studios business at the minute, MGM has a big library including the Bond franchise, a streaming property EPIX, production and distribution capabilities for both movies and televisionthebulwark.com #

2021/01/15 #

Today’s links:

  • The web components community group have been discussing the possibility of creating a new web components logo, sort of similar to how the HTML5 logo helped to promote that, it’s an interesting conversation, lots of things to considergithub.com #

  • Get Ready For ESM - Prolific NodeJS package writer Sindre Sorhus describes his planned approach to migrating from CommonJS the new ESM module systemblog.sindresorhus.com #

  • 10 best practices to containerize Node.js web applications with Dockersnyk.io #

  • An intro to server sent events (SSE) - Similar to web sockets, but less complicated, but unidirectional, good for real-time updates to a UI for instance like counts, article includes some clear example codeiabhishek.dev #

  • An introduction to the internet of materials (IoM) - Some interesting research happening at Georgia Tech Nanotechnology Lab, new materials that harvest energy via sound vibrations, and can perform simple computations, they list a load of futuristic use cases, including Post-it notes that you can talk to, very agileishdl.acm.org #

  • Use Node.js with Docker and Docker Compose to improve DX - Relatively short and very readable tutorial showing how to run production and development NodeJS with Docker, and how to use Docker Compose to create several containers at once, so you can have other services, such as databases, configured and running next to your appblog.logrocket.com #

  • 🚀 New Post: Cloud Native web application development: what's it all about? - Quite a long blog post, but if you are interested in cloud computing there’s lots of useful information, including how to think about building in a safe way, how to structure your code using Domain Driven Design techniques, and in this post I’m experimenting with a new way to include links from my linkblog, I’d love to hear what you think about it!blog.markjgsmith.com #

2021/01/14 #

Today’s links:

  • An Overview of the Most Exciting Proposals for the Web Platform Related to Web Components (2019) - Has a good description of the web platform and how the platform standards evolve via specifications written by the W3C and WHATWG, then covers some of the latest web components features - template instantiation, CSS shadow parts, constructable stylesheet objects, HTML & CSS modules, and scoped custom element definitionsscotch.io #

  • macOS Big Sur 11.2 beta 2 is out with full custom kernel support - The latest version of the OS includes the firmware needed to replace the kernel, which means we are a step closer to having Linux running on the M1mobile.twitter.com #

  • Is Culture Stuck? - Some interesting thoughts about culture in our current period, explores films, music, and fashion, comparing today with decades gone by, as someone who has lived through the pre-internet to internet era, a lot of the authors observations feel relevant to mepaulskallas.substack.com #

  • UK government assign 3 new digital bosses - There’s a 3 letter government tech organisation that sort of sounds cool, there’s a new 4 letter government tech organisation that is instantly forgettable, it doesn’t sound like they have a very cohesive planwww.zdnet.com #

  • UK Space Agency and Rolls-Royce Defence join to study nuclear power for space explorationwww.slashgear.com #

  • Cloud software firm Veeva joins Ben & Jerry’s, Lemonade in becoming Public Benefit Corporation - I didn’t know about PBCs, according to this article they have a legal duty to balance interest of customers, employees, partners and shareholders, unlike of a C Corp which only has to maximise shareholder profit, it would be interesting to have more details about what that actually looks like in practicewww.zdnet.com #

  • The Gold Standard Checklist for Web Components - Working draft of a checklist to define a "gold standard" for web components that aspire to be as predictable, flexible, reliable, and useful as the standard HTML elementsgithub.com #

2021/01/13 #

Today’s links:

  • Extensions planned for NYC’s High Line - An l-shaped train is set to connect the elevated park to the just-opened Moynihan Train Hall at Penn Stationcoolhunting.com #

  • Source Code At CES - All Tech Is Politics - Politics aside, if you’re into tech at all, there’s a lot of cool stuff in this CES roundup postwww.protocol.com #

  • Intel unveils new 12th-generation Alder Lake chips as it plays catch up to Apple’s M19to5mac.com #

  • If it will matter after today, stop talking about it in a chat room - A short comparison between live chat and discussion based software toolscritter.blog #

  • Tech & the American Crisis - I’m struggling to find content about the Trump ban to post, not through lack of content, there is so much of it, but it’s all so horrible, I can’t even read more than a few paragraphs before I just don’t want to read anymore, I like a lot of what Om Malik writes, and this piece is quite thoughtful and I made it to the end of the article so it’s not too horrible, so I’m posting itom.co #

2021/01/12 #

cat << EOF > Cloud Native web application development: what's it all about?

I've been reading and listening to a lot of content related to Cloud Native web applications recently, so I wanted to gather together some thoughts and links related to the topic.

I previously built a robust NodeJS SaaS application, a Serverless Books API and some Jamstack Architecture Content Sites, so I have experience in both conventional and cloud based web application programming.

A lot of these technologies and paradigms are still somewhat in flux, but I think it’s worth adding my perspective to the conversation.

Here’s the general approach I'm going to take in this blog post:

I'll also be adding in relevant posts from my linkblog. That's where I've been gathering links. There will be a link to that place in the linkblog so you can see the context around that link, in case you are interested, and also a link to the linked article. Those bits will appear as quotes and look like this:

From my linkblog 12-01-2021:

Lenovo unveils ThinkReality A3 smartglasses with Snapdragon XR1 - This makes me wonder is VFX artists are going to be really into AR tech, especially all the 3D folks neowin.net

That's the very latest link on my linkblog as I write this, it doesn't have anything todo with this article, it's just an example to show you what those bits will look like.

Hopefully by the end you’ll have a better sense of where this trend is heading and thus a better idea of what the future of web applications could look like.

The Cloud Native trend

History

One of the big developer trends for 2021 is the move to Cloud Native applications. Historically applications have been built to run on standard Virtual Private Servers (VPS) hosting, often running a flavour of Linux. This was a step up from having to run applications on bare metal servers, adding flexibility and decreased costs.

Over the past 10 years hosting providers have expanded their product catalogue from VPS hosting to offering a huge variety of services which can be integrated relatively easily into your application over the internet via APIs.

Another related trend in web development has been the resurgence of statically generated sites that make extensive use of APIs to carry out backend tasks. That trend is called the Jamstack, which is a broad term to describe websites that make use of javascript, APIs and markup to create sites that are performant, scalable and very secure. Providers like Netlify and Vercel offer file hosting packages bundled with serverless functions, making it possible to build websites without the need for classic VPS hosting.

Overall the move to the cloud has been gradual. When Amazon released S3 it’s simple file storage offering, it wasn’t at all obvious to most where the industry was heading. At the time, I was working in the visual effects industry at a company where all our tech was hosted on-premises. That was the norm, especially in post production. The idea that you would store files over the internet just didn’t seem realistic. There certainly wasn’t a general awareness of the explosion in APIs that was about to happen.

The technologies improved, and in recent years there has been broad adoption of cloud technologies across all industries, with application developers modifying their applications to offload certain tasks to these cloud based services. Amazon is the biggest player and has services such as DynamoDB (database), S3 (file storage), Route53 (DNS), Lambda (event driven serverless compute), SNS (notifications) and SQS (message queuing) to name a few. Other large hosting providers such as Microsoft Azure, Google App Engine, aswell as smaller ones such as Linode and Digital Ocean have similar offerings. These services provide highly available and effortlessly scalable solutions to common computing problems.

Cloud Native is the logical conclusion of this gradual move, with applications being designed and implemented to run completely on cloud services.

From my linkblog 31/12/2020:

Software Engineering Podcast - Cloud-Native Applications with Cornelia Davis (Repeat) - Looks at applications architected and built to run exclusively in cloud environments, covers event driven architectures, functional programming, infrastructure as code, Kubernetes, immutability and workloads, cloud failure domains, statelessness, microservices vs monoliths, and the new cloud abstractions such as Lambda and Big Query softwareengineeringdaily.com

Benefits

There are several drivers of this move to Cloud Native applications.

A big one is cost. These hosting providers are running their operations at such scale that they can offer very competitive pricing. For example in 2019 Amazon AWS data centres covered 14 million square feet. They have continued to invest in both hardware and specialist virtualisation software lowering costs and increasing utilisation, and those cost savings have been passed in to customers.

Related to cost is the move to usage based billing. Whereas with VPS hosting you had to at least pay for an entire server running 24/7, with cloud computing you can pay for exactly what you use. Each service is billed in slightly different ways depending on where the cost is associated. You can for example pay for exactly the storage in GBytes you are using, exactly the volume of inbound and outbound data in Gbits you are transferring, and exactly the number of requests you are making to a service. The services pricing are usually divided up into tiers, and often include a free tier for low volume usage.

It’s a model that has grown very popular with developers as it can accommodate for large variability in load. Whereas in the past it would have been necessary to manage a lot of infrastructure, all that complexity is handled by the hosting provider. And their infrastructure is the best in town, since they’ve been developing it for many years. It’s as if you had your own highly available, infinitely scalable, robust and flexible infrastructure. It’s possible to build Cloud Native applications very rapidly. You are quite literally building on the shoulders of giants in the industry.

Amazon is investing heavily this vision of the future of computing, recently announcing it plans to train 29 million people for free on cloud computing over the next few years.

Challenges

With all this progress it’s important to step back every once and a while to assess the situation. How resilient and robust is Cloud Native really? Let’s look at some areas that should be considered.

Well from a technology perspective it is undoubtably very resilient and robust. Most of these platforms are at the stage where a lot of the technologies have been operational for many years, supporting customers from a wide range of industries. They have been fine tuned and battle tested, and as a result are some of the best technology stacks available.

One technology area that I feel still needs improvement is the developer experience. Since all the services that you are using are cloud based, it becomes a bit of a challenge setting up local developer environments. There are tools and libraries available to create local versions of the services that you are using. For example Amazon has the Serverless Application Model and the aws-sam-cli, similar developer tools exist for other providers, but there isn’t a whole lot of standardisation, so this area can be a bit confusing. I expect the tooling to improve over time.

Some libraries and frameworks I’ve found useful for serverless development:

serverless-http - Wraps your entire server framework so you can use it in a lambda function, supports a load of server frameworks including express, koa, hapi, fastify and restify. Useful for creating apps that can run locally and in a serverless function.

netlify-cli - CLI tool for interacting with the Netlify API, great for deploying to Netlify when you aren't building your site on their infrastructure.

netlify-lambda - CLI tool for building and running your Netlify functions locally.

serverless framework - A CLI and web tool to build and deploy serverless architectures, includes supports for Amazon, Azure, Google among others. Makes it easy to configure and provision all the components of your Cloud Native application.

Another area to consider is long term costs. So far we have seen costs mostly getting cheaper, but that might not always be the case, it’s still relatively early days for the cloud industry as a whole. One example where costs suddenly went the other way is Google Maps. Back in 2018 they raised prices by ~1,400% overnight. Application developers were not happy, but it still happened. Price hikes have happened in the past and will likely happen again somewhere in the future.

Also it’s worth noting that the pricing structure can have a direct effect on your business that isn’t always obvious. Engineers might start to carry out their duties in a different, non-expected, non-optimal way in order to avoid hitting different pricing tiers. These effects can be difficult to uncover.

From my linkblog 13/12/2020:

The author explores the landscape of buy vs build in detail, lots of food for thought, the arguments for building are generally much stronger when it’s a solution that solves something that is core to the business - I’m linking to the HN thread because there are some interesting comments about how vendor pricing models can effect growth in ways that aren’t immediately obvious ycombinator.com.

As is always the case with the tech industry, there will be mergers and acquisitions, that is a certainty. When that happens there are large shifts in power dynamics throughout the industry. The next 10 years are going to see some big changes throughout the stack with activity already happening right at the hardware level with a move from x86 to ARM chip architectures, most notably with the recent announcement of Apple’s M1 chips.

From my linkblog 21/12/2020:

Apple M1 foreshadows Rise of RISC-V - Another piece about the future of chip architectures, it appears like a general move towards ARM cpus surrounded by specialised corprocessors running RISC-V with special extensions to the base instruction set, also discusses the possibility of using RISC-V for the cpu medium.com

That’s a massive change, and it’s not just for consumer hardware either. There are plans to have M1 chips running in data centres to take advantage of their much lower power to watt ratio, and their new architecture that is very well suited to AI compute tasks. Shifts such as Nvidia attempting to buy Arm are going to continue and their effect will be felt throughout the industry.

From my linkblog 02/12/2920:

Amazon unveils 5 new EC2 instance types, the most interesting being the Amazon-made Graviton2 powered instances for compute heavy applications which uses the ARM chip architecture, can deliver a whopping 100 Gbps network speeds at 40% price performance over existing Intel x86 chip architectures - Lots of movement in the chip architecture space at the minute zdnet.com.

Also worth considering: The forces of government have been stirred in recent years, with the introduction of new rules and regulations for technology companies, especially in the EU with legislation for GDPR, EU’s Article 11 & Article 13, and Section 230 to name but a few. Similar legislation is being drafted in countries all around the world. How these will play out is unknown at this time, but as some of these regulations get passed, there will be pressure on hosting providers to enforce new rules, and that could affect some hosting provider customers.

Cloud Native architectures are technologically robust, and will enable you to get up and running quickly, but there are aspects of the bigger picture that are worth being aware of. It will be crucial to be ready to pivot if necessary, know where your cost centres are, and perhaps consider building some infrastructure that would enable a move in a worst case scenario event.

Alternatives

Infrastructure

One of the biggest developments in the recent past when it comes to infrastructure is Kubernetes. It was originally written by Google for managing its data centres, and is now open source and maintained by the Cloud Native Computing Foundation. It is a platform for automating deployment, scaling, and operations of application containers across clusters of hosts.

Containers can be thought of as slimmed down versions of VPS hosts that instead of containing an entire operating system, only contain exactly the operating system pieces that your application requires. With Kubernetes it’s easy to create and configure the resources your application depends on, deploy the latest application code, and ensure that your application is distributed in such as way that it is always available. It automatically does a lot of the heavy lifting that is necessary when you are running on standard VPS hosting.

Relevant: Software Engineering Podcast - Kubernetes vs. Serverless with Matt Ward (Repeat)

An interesting aspect is that since Kubernetes is open source and platform agnostic, we are starting to see offerings from all the major services providers. What this means is that if you do need to move between providers it’s a lot easier since the application will run on any Kubernetes cluster, regardless of provider.

As well as the ability to move, we are starting to see companies investing into building multi-cloud infrastructure. Software such as Cloud Manager, makes it possible for your application to run seamlessly across hosting providers. There will likely be a lot of development in this area as more and more companies seek to build out resilient and robust infrastructure.

Software Architectures

Whether you have opted for a classic VPS style infrastructure or the more modern Kubernetes based infrastructure, the question of how best to architect your application will come up. In the early days it’s often best to keep things simple, have minimal layers, use just enough code to get the task complete. You will be learning about the intricacies of your problem domain and having too much code can get in the way.

Once you start integrating a few cloud services though, and especially if you want the ability to easily switch providers you will want to architect your application in such a way that makes it easier to do that.

A popular way to do just that is to use Domain Driven Design techniques, an example of this is Microservices Clean Architecture Patterns. This approach uses entities, controllers, adapters and frameworks/devices layers, resulting in an architecture where changing the elements in the outer layers is much easier because you mostly just need to create new adapters, while much of the core business logic will remain unchanged.

{:refdef: style="margin-top:14px; margin-bottom:14px;"}Node.js web development technologies {: refdef}

I have had good results using some of these techniques in my Serverless Books API application. In my case the layers are named slightly differently, with handlers, utilities and adapter layers, but the idea is the same. Each layer encapsulates some bits of information so that the core handler functions don’t need to know exactly how the storage has been implemented.

The core layer handler functions use the addBook, getBook, getAllBooks, updateBook and deleteBook utility functions, passing in the query data, but don’t know any details about how and where the data is stored.

The utility functions, which are the next level out, know only the name of a table passed in via an environment variable. They use the create, get, getAll, delete and update db adapter functions passing in the query data and the table name.

The db adapter functions connect to the backend cloud database to perform the operation, do any necessary post processing to the data and return it through the layers back to the core, which eventually sends the data back to the end user.

Since the db adapter is generic it can be used by any utility function to read and write data to any database table, as long as the utility function passes in the table name.

Changing to a service hosted by another provider is then just a question of implementing a new adapter, the business logic in the core should remain unchanged, and only the storage identifier (i.e. the table name) might have to be updated to work with the new adapter.

Thinking about it logically, the most resilient way to develop applications in this way would be to always start by implementing a version of the service yourself, even if it’s paired down in functionality and scale, and only when you have a basic version running, write an adapter for the hosting provider’s version of the service. That way in the worst case you always have something to fall back on, though there would be some degradation to the performance.

Everyone’s situation is different though, and your circumstances might be such that you don’t have time to go through ultra-cautious route, in which case build out cloud integrations first, and at a later date back track and build your own fallback version of the service. There might even be cases where that approach is quicker overall because you will likely learn a lot about how to build yours by using that of the cloud provider.

Wrapping Up

Although it’s early days for cloud computing, even large companies such as the British Broadcasting Company (BBC) in the UK are building huge cloud native infrastructures. It’s interesting to read their high level goals and see how cloud technologies align very well with their mission.

From my linkblog 03/01/2021:

Moving BBC Online to the cloud - The engineering team writeup of their recent move from on-premises infrastructure to mostly cloud based where they are using serverless technologies extensively - Very clear articulation of the project high level goals, a description of the layered approach that enables code re-use but also keeps the flexibility to create custom specialised solutions, the re-organisation into teams focussed on page types and common concerns such as development methodology and hosting, interspersed with lots of development principles and guidelines - I have worked on several big projects at the BBC, it’s a staggeringly large organisation, so I am aware of how massive an undertaking this re-architecting of their infrastructure must have been, kudos to all the teams that made it happen medium.com

However remember they are a very big company, so they will have high leverage with their hosting providers and it’s likely that they will have service level agreements giving them preferred access to the hosting provider’s support staff. And of course they might very well be busy building their own fallback services too. Just because large companies go full cloud doesn’t necessarily mean that it’s the right choice for every business, the trade-offs and peculiarities to consider in the decision making process are going to be different in each situation.

Cloud Native is a tremendous leap forward for building applications. You will be able to rapidly build out applications that are performant, robust and that can scale to handle any load. Keep in mind the risks, think about resiliency, try to have contingency plans for events that can affect your business.

The road to building successful web applications is long and windy, and many things can happen over the life of an organisation. You have to make compromises, strategic decisions and there will likely be times when you have to take some risks, but with some thought and planning it’s possible to make that risk more manageable. #

Today’s links:

  • Angela Merkel attacks Twitter over Trump ban - Several EU officials have raised concerns about free speech in the US, article also covers the ban of the Parler social media platform by every big tech company, interesting to note that in french ‘parler’ means ‘to speak’www.ft.com #

  • Lucasfilm and Disney revive Lucasfilm Games - I’m not hugely into gaming, my gaming years are long past now, I played video games in my teens, sometimes in arcades, and also consoles, they were fun times, I started tuning out when every game was a first person shooter, which I just find mind numbingly boring, for some reason this announcement seems really interesting to me, perhaps it’s a nice distraction from all the horrible social media the past few days, anything in a galaxy far far away would be miles betterwww.slashgear.com #

  • The Slope Gets More Slippery As You Expect Content Moderation To Happen At The Infrastructure Layer - The last few days have been completely swamped with completely horrible content from pretty much every news outlet, so this piece is very refreshing as it’s a level headed calm analysis that focusses on the technology aspects (rather than the politics) and what all last few days events could mean for the internetwww.techdirt.com #

  • Rocking 25+Web Design Trends In 2021😎 - Lots of trends, some very interesting, some feel a bit tired, but overall quite inspiring, my favourites were comfortable colors, 3d colors, gradient colour schemes, interactive 3d content, dark mode, hand drawn elements, chat bots, voice user interfaces, VR, micro interactions and animations, text only hero images, white space, full height homepage heros, using videos, blending photos with graphical elements, bold fonts and colors, and asymmetric layoutsdev.to #

  • Introduction to Python - I’ve been going through Flavio’s super streamlined Python course, the language is as I remember it, though after being in javascript for so many years, I’m surprised by how straight forward everything feelsflaviocopes.com #

2021/01/11 #

Today’s links:

  • Super insightful Twitter thread from Steven Sinovsky about the launch of the iPhone in 2007 - Steve was President of the Windows Division at Microsoft back then, so he was really plugged into the state of the industry especially mobile, he describes the broad context of what was happening, all the disparate events that were to culminate in what was to be the iPhone, I remember a lot of it exactly as he describes, but I was only seeing it from an end-user perspective, so it’s wonderful to hear the full tech angle on that huge period of change, real life sure is interesting sometimes, I’m glad to have lived through that momentmobile.twitter.com #

  • Michael Apted director and Seven Up documentarian dies at ages 79 - I really enjoyed watching the the Seven Up documentary series when I was younger, I learnt a lot about what it mean to be british from those pieces, I haven’t seen the last few of these, hopefully I will some day, I think it also turned me onto documentaries which I love watching, I didn’t know he also directed a Bond movie and the Chronicles of Narnia (how cool!), farewell and all the best Mr Aptedwww.theguardian.com #

  • Linus Torvalds rates his own words ‘incoherent ramblings of a crazy old man’ - Bit of a hyperbole title, he was being humorous, it looks like the next release is well on trackwww.theregister.com #

  • Lenovo unveils ThinkReality A3 smartglasses with Snapdragon XR1 - This makes me wonder is VFX artists are going to be really into AR tech, especially all the 3D folkswww.neowin.net #

2021/01/10 #

Today’s links:

  • Nasa's Curiosity rover - 3,000 days on Mars - Great article and very impressed with the clean look of the BBC News site, no annoying popups, page loads fast and text is very readable on mobile devices, using up the entire screen, very pleasant reading experiencewww.bbc.com #

  • 🚀 Housekeeping Note: I’ve added a link to the BBC News Science & Environment website to the list of example sites in my blog post - Web design that focusses on text content is the bestblog.markjgsmith.com #

  • Autonomous and Beautiful Home Devices - Matt Mullenweg describes the IoT devices that he would like to have; devices that look good, don’t have an app, can be easily replaced, that easily connect to the network and that you can be confident won’t stop working because of software incompatibility issues later down the linema.tt #

  • ☹️ Reddit Profile Saga - When I visit the appeal suspension page there is a message saying: “You cannot submit an appeal - Your account is currently neither suspended nor restricted. If you are trying to submit an appeal for another account that is suspended or restricted, please log out and log in to that account. For other account issues, please visit our Help Center .” - So it seems my account is not in fact suspended, yet it looks exactly like it is suspended, and I can’t find a way to contact the people that run the websitewww.reddit.com #

  • Just wanted to mention that although the individual articles on the BBC News site look great, and are a pleasure to read, the main page has a horrible popup that gets blasted in your face as soon as the site loads, thus accessibility fir the fantastic articles is quite lowwww.bbc.com #

  • An Invisible Tax on the Web - Video Codecs - Looks at the AV1 codec which is being developed by a consortium of companies including Mozilla, Google, Cisco, Amazon, Netflix, AMD, ARM, Intel, NVIDIA, as an alternative to the ubiquitous H264 and it’s successor H265, it’s royalty free and has better compressionblog.mozilla.org #

  • Substack is adding new features in February - Theming to change the look of newsletters, sublists so writers can segment their members into groups, and a multipub tool so writers can have several publications under one account - I like new features but I personally desperately need some automation tools and markdown support; these additions although cool, are mostly just things that would make my life more difficult not easierwww.theverge.com #

  • Should I introduce an API Gateway in my workplace? - I liked this article because, though it started out pretty much as I had expected, it ended up going down a path that I totally didn’t expect, but that was very insightfuldanlebrero.com #

2021/01/09 #

cat << EOF > Saturday 9th January, 2021 (Issue #8)

This week’s newsletter is out! (2021-01-09)

In this week’s edition:

Github darkmode, BBC cloud, linux5.11, crypto, APIs, Twttr&pods, free AWS training, Asahi Linux M1, new GPT3 AIs, IoT, tag clouds, OSSinWH, freelancing, NodeJS strategy, Notion, multicloud, pods&vids

Issue details:

Another awesome issue of the newsletter. #

Today’s links:

  • Yes, vanilla JS does scale - Looks at some of the misconceptions floating around on tech Twitter, interesting for the purposes of developing some perspectivegomakethings.com #

  • Twitter permanently bans Trump - I totally checked out of reading Trump tweets including any main stream media reporting on Trump tweets over a year ago, as soon as I see them I just continue scrolling, so I don’t have any of the negative associations that I would have, had I continued to read these, because of that this story feels super weird to me, I tried for a while to find the tweets he wrote, can’t find them anywhere, only enormous tidal waves from main stream, and the small snippets I have read here and there, which were always out of context, don’t actually seem all that bad - I hope people are okay and haven’t been hurt in these riots, but this story is freaking weirdwww.theverge.com #

  • ECMAScript 2020 - the final feature set - A list of all the new features added in 2020 with relevant links to the TC39 process which describe the various maturity stages used for developing new features2ality.com #

  • Snowpack 2.0 - A build system for the modern web - This was one of the most popular new tools in the javascript ecosystem for 2020, it modernises the developer workflow by only requiring file bundling (webpack/parcel) for production builds, during development you use snowpack which relies on native ES modules, this makes development much much faster, and you only bundle right at the end, before shipping to productionwww.snowpack.dev #

  • Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual artsprocessing.org #

  • When Amazon switched from Sun to Linux - Twitter thread from Dan Rose, who was Director of Business Development at Amazon around 2000, describing the impact of the migration, worth noting there is some dispute of how much of a big deal it was in a related HN thread, they were fighting several other fires including a migration away from Oracle as their database provider, but it’s interesting nonethelessmobile.twitter.com #

  • ☹️ Reddit Profile Saga - Hello shadowban bot, what say you?www.reddit.com #

  • ☹️ Reddit Profile Saga - Possible bug with my accountwww.reddit.com #

  • ☹️ Reddit Profile Saga - I’m being disappeared on Reddit, can anyone help or know what’s going on?www.indiehackers.com #

  • ☹️ Reddit Profile Saga - The Twitter thread where I’ve tried to contact @reddit, no replies from them so farmobile.twitter.com #

  • Good News in History, January 9 - Trying to offset all the Reddit sad faces with some good news, the thing with real life is that it happens anyway, so best thing you can do is to note the bad stuff and move on to something a bit more cheery, try to find time to fix when you are more able and when there is possibility for change - Turns out of all things on this day in 2007 the iPhone was unveiled by Apple CEO Steve Jobs :)www.goodnewsnetwork.org #

  • Painters Tape and Fault Tolerance - I read a lot of blog posts and a lot of those are about programming, this post from Chris Coyier is just so well balanced and encapsulates an idea so well, one of his bestcss-tricks.com #

  • The 2 Essential Ingredients of a Brilliant Title - Worth a read if you ever write technical blog postsdzone.com #

  • GM unveils new logo - Short John Gruber post, he doesn’t like the new logo, ‘lower case letters aren’t serious’, my initial reaction when I loaded the page wasn’t negative, so I don’t dislike it, personally I don’t have an aversion to lower case letters, I don’t think lower case letters have much to do with seriousness, for me lower case letters have an air of creativity, there is something that’s a bit off though, I’m not quite sure, maybe it looks like a logo that you see on a HiFi system, somehow reminds me of audio equipmentdaringfireball.net #

2021/01/08 #

Today’s links:

  • No Meetings, No Deadlines, No Full-Time Employees - I read this and was really liking their approach, it sounds like the future of work, but then they list the hiring process, step 2 - unpaid project, which means they are just mooching off of others, that’s when I stopped reading, oh but it’s just a few hours you say, everyone is doing just a few hours, if people are working for you, you should be paying them otherwise you are taking advantage of them, and it’s unsustainable because somebody somewhere has to pay for those hours, and it often ends up being freelancerssahillavingia.com #

  • Jack Dorsey and Running Two Companies - Matt Mullenweg (Automattic, Wordpress) interviews Jack Dorsey (Twitter, Square), hoping to have some time to listen to this laterma.tt #

  • Cloud Manager - A New Multicloud PaaS Platform Built on Kubernetes - The ability to run your applications seamlessly across cloud providers is going to be a big trend in the next few years because although so far we have seen costs mostly getting cheaper, that might not always be the case, it’s still relatively early days for cloud technologies, costs will vary over time, companies will get bought and sold, and there will be shifts in power dynamics in the cloud spacethenewstack.io #

  • Building better new cities in Southeast Asia - I am a bit hesitant to link to this article because at first glance it seems very critical of the region, and I’ve been here for a while now and I see that life is damn difficult for so many, they are having to build all these new developments in an unimaginable realm of chaos, they have to make a lot of compromises and progress is hard and slow, but it’s happening, and a lot of it is amazing - I’ve met the author of the article James Clark and he’s a nice bloke who’s been in the region much longer than me, and any comments he’s making are from a place of tremendous affection he has for all the places mentioned and their people, and his articles are heavily researched, with a lot of thought and effort going into them, so I think that some of what he’s saying is worth considering - I also think it's fantadtic because it puts the word out that progress is happening, and it’s interesting and it’s real lifelivinginasia.co #

2021/01/07 #

Today’s links:

  • The nodejs/next-10 group are working collaboratively on the strategic direction of NodeJS, here’s an interesting retrospective board that displays the wants of the various constituencies, i.e. end-users, application operators, application developers, library/package authors, organisations with investments in NodeJS, and NodeJS code maintainersgithub.com #

  • 🚀 Housekeeping note: I’ve added links to some of the NodeJS working group repos to my blog post - Reasons to use NodeJS for developing your backend systemsblog.markjgsmith.com #

  • Facebook and Instagram ban Trump for 24 hours - Apparently he posted messages he shouldn’t have, I’d like to see what he posted, can’t find any sites that have copies of the tweets, it’s timely for me because the past few days I’ve been fighting a apparent ban (though no way for me to find out for sure) on Reddit, they banned my account before I ever posted a single post!www.theverge.com #

  • UK watchdog to investigate Nvidia’s $40bn Arm dealwww.ft.com #

  • slowly falling in love with notion - Brad Frost reviews Notion, it’s a really well though out and nice bit of writing, I’ve been hearing and reading about Notion all over the place recently, in podcasts and on blogs, sounds like a great productivity toolbradfrost.com #

2021/01/06 #

Today’s links:

  • Amazon buys 4 jets from WestJet and 7 from Delta to expand cargo fleet - It currently rents planes and uses UPS and FedEx for moving packages across long distances, looks like it’s a good time to buy planes at the minutewww.cbc.ca #

  • Asahi Linux aims to bring you a polished Linux experience on Apple Silicon Macsasahilinux.org #

  • Some Recent Videos About Websites That Are Pretty Good - Chris Coyier’s roundup of some dev videos he’s been watching, including why the web is a mess, recreating the Didcord sidebar, progressive enhancement, a look at modern javascript and a cssbattle - I haven’t watched any of these yet but Chris has great taste when it comes to frontend development and I wanted to add some frontend links, plus based on his descriptions they look interestingcss-tricks.com #

  • This avocado armchair could be the future of AI Trained on images+captions from the internet rather than curated data sets, two new GPT-3 based AI models, DALL-E which draws images from imputed text and another called CLIP which selects generated images that best match inputted text are used together to create interesting artwork, could lead to AI with better understanding of every day conceptswww.technologyreview.com #

  • Challenges Concerning IoT - Highlights a bunch of important challenges, the most interesting that I hadn’t considered is the issue of bandwidth allocation that will arise later down the line when billions of devices are all operating based on a client/server architecture, basic activities like authentication might start to cause network congestion problemsdzone.com #

  • Create a tag cloud with HTML and CSS - I love tag clouds, I have one on the blog and I use it all the time, and this article is a light read with some nice examplesdev.to #

  • Open Source developer David Recordon announced as the Director of Technology for President Biden at the Whitehouse - I wonder if they’ll be running Linux Desktops, wouldn’t that be cool?www.zdnet.com #

  • How freelancing will change under President Biden - Would be great if they made some policies that dealt with the awful way the recruitment process in tech is structured, which is a very real problem for freelancerswww.indiehackers.com #

2021/01/05 #

Today’s links:

  • Jack Dorsey says proposed cryptocurrency regulation would create ‘perverse incentives’www.theverge.com #

  • WikiLeaks founder Julian Assange cannot be extradited to the US, British judge ruleswww.theverge.com #

  • An API Is a Promise - Interacting With Valuable Capabilities - I like this perspective, it’s simple to understand, feels like a good mental modeldzone.com #

  • Amazon wants to train 29 million people to work in the cloud - On the one hand I think this is great, it opens up lots of opportunities for people and small businesses, on the other hand I’ve spent a lot of time, money and considerable effort learning these technologies over the years, and now a huge load of noobs are going to start lapping me while making comments about about my appearance, circle of life?eminetra.com #

  • Dell’s automatic webcam shutter is genius and every other laptop should steal it - I definitely like the idea of a webcam shutter but I personally think I would prefer a manual shutter than an automatic onewww.slashgear.com #

2021/01/03 #

cat << EOF > Web development technologies bucketlist for 2021

It’s the start of the year, so what better way to start the year than to make a list of technologies I’d like to learn and get experience with over the next 12 months:

Frontend

  • Vue & React - I have done a bunch of tutorials for both of these frameworks and I’ve read the docs, and lots of blog articles, so I’ve got a good idea how they work, but I haven’t had a chance yet to build or work on a full sized production application using these
  • Figma & Sketch - I’ve concentrated most of my web development on backend technologies, and most of the frontend work I have done has been using vanilla javascript and JQuery, with quite a lot of Bootstrap to get the UIs looking reasonable, so I’d really like to learn the basics of a design tool so as to be able to create wireframes and mock-ups, these two appear to be the most popular at the minute
  • Web components - I’d like to build some UIs using the platform’s component framework, so that I can build robust UIs that will last many years without needing much refactoring and upgrades, I have a good idea how they work but haven’t had the time yet to build real world production apps that use them, so I don’t yet have a good sense of when they are the best choice for a frontend project
  • Electron - In the context of web development it's a frontend technology because it would be communicating with a NodeJS backend, but it doesn't necessarily need to connect to a backend, it would be awesome to be able to create Desktop apps

Backend

  • Elastic search - The text search I’ve done to date has been using the features offered by the MongoDB toolset which work alright, but for really great search, which is something most websites need, the best technology in town appears to be elastic search
  • Kubernetes - Though I’m interested in serverless for some tasks/scenarios where it makes sense, I like to self host applications, usually on standard Linux VPS servers, however the new technology in town is clearly Kubernetes, which solves a lot of the infrastructure provisioning, and workload assignment challenges in a way that can be multi-cloud and well integrated with CI/CD systems
  • Raspberry Pi - I’m super interested in the internet of things space, this could be just as a hobby initially, but I think these is the potential for a lot of interesting web development work in this space, I also have some long term pipe dreams of creating a hardware product at some stage in the future, Raspberry Pi seems like a great place to start

I might add some more if I think of any in the next few days/weeks. If I do I will post the update to the linkblog which you can follow using the RSS Feed.

Happy new year and I wish you all the best for 2021! #

Today’s links:

  • GitHub dark mode - I missed this earlier in the month, I’m testing it out, it’s pretty coolwww.techradar.com #

  • How the BBC World Service migrated 31 million weekly readers to an isomorphic react app - Pretty great writeup from the engineering team about their migration from a PHP monolith, it’s cool that they are running server rendered React now, they do a lot of great work when it comes to accessibility since their sites are published in so many different languages and are optimised to run in a huge variety of network connectivity conditions, I’d like to know more about the backend the new system is using, something the article doesn’t cover, did they change backend language? They mention it’s running on cloud infra, but where? And are they using serverless?medium.com #

  • bbc/simorgh - Github repository for the BBC's open source ReactJS single page application - Used across the BBC World Service News websites, with tens of millions of users, these are some of their biggest websites - It's written in javascript and runs in NodeJS!github.com #

  • Moving BBC Online to the cloud - The engineering team writeup of their recent move from on-premises infrastructure to mostly cloud based where they are using serverless technologies extensively - Very clear articulation of the project high level goals, a description of the layered approach that enables code re-use but also keeps the flexibility to create custom specialised solutions, the re-organisation into teams focussed on page types and common concerns such as development methodology and hosting, interspersed with lots of development principles and guidelines - I have worked on several big projects at the BBC, it’s a staggeringly large organisation, so I am aware of how massive an undertaking this re-architecting of their infrastructure must have been, kudos to all the teams that made it happenmedium.com #

  • 🚀 New Blog Post: Web development technologies bucketlist for 2021 - Getting this year’s blogging ball rolling, making a list is a good way to startblog.markjgsmith.com #

2021/01/02 #

Today’s links:

  • After Eight Mint Chocolate Thins - It’s been such a long time since I’ve had one of theseen.m.wikipedia.org #

  • ☹️ Reddit Profile Saga - I’ve been trying to get in contact with Reddit support for weeks now, my account is somehow corrupted, looks fine when logged in, but from the outside I don’t exist, I finally decided to post on Twitter, the post didn’t show up in my feed, so I had to ‘pin’ it to my Twitter account to get it to showup, so now until Reddit replies my Twitter account is basically f-ed as well, you see how fragile all this stuff is?mobile.twitter.com #

2021/01/01 #

cat << EOF > Saturday 1st January, 2021 (Issue #7)

This week’s newsletter is out! (2021-01-01)

In this week’s edition:

SEO engineers, UIs in films, msg brokers, web components, perf, systems design, bash monitoring, futureOfTech, Apple keyboard, maps, cool repos & projects, etherium, code art, Github, with videos&pods

Issue details:

Another awesome issue of the newsletter. #

Today’s links:

  • An Introvert's Personal Guide to Tech Twitter - I don’t currently do a lot of “interacting” on Twitter, though I do read it occasionally, I found it way too distracting, so I mostly just post links and give out hearts these days, I liked this blog post thoughblog.shook.codes #

  • A Guide to Securing Node.js Applications - Great roundup of the most effective security best practices for backend NodeJS development, I’ve used most of these techniques and libraries at some stagedev.to #

  • Top 7 Web Development Trends to Expect in 2021 - I haven’t seen very many 2021 prediction blog posts centred on web development so far, this one lists several of the trends that seem likely to make an impact, but the reasoning and analysis is a bit underwhelmingdzone.com #

  • Cloudflare Introduces a Way to Build and Host Jamstack Sites with Cloudflare Pages - Short and to the point review of Cloudflare’s new Jamstack offering, 500 free builds per month, and integration with Cloudflare Workers with Key-Value Store, I’m wondering if there is a way to deploy from Github Actions, looks pretty coolwww.infoq.com #

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.