thinking fast and slow The Evolution Of Website Builders The header of this article is Lego.com from Nov 9th 1996. It gives some context for how far the web has come. It started with find & replace We literally used to have to hand write a html file for every page. There was no concept of 'templating'. Hunderds if
programming What is concurrent code? Concurrent computing - WikipediaWikimedia Foundation, Inc.Contributors to Wikimedia projects Concurrent computing is a form of computing in which several computations are executed concurrently—during overlapping time periods—instead of sequentially—with one completing before the next starts. - Wikipedia Related topics: * Dining philosophers problem
kubernetes The Kubernetes history- the project which almost never happened "It's 2013. The environment in silicon vally was on the heels of the devops movement, automation tools were all the rage" - Kelsey Hightower, Principal Engineer, Google. The speakers in the 2022 Kubernetes documentary by Honeypot includes a fantastic list of speakers reflecting on the early days of Kubernetes and
Sysadmin How to set ulimit max number open files and other limits? Help! > You can use this reference to learn how to update any of the kernel / userspace limits. Increase max number of open files nofile ubuntu (and other os's) > Fun fact: fs.file-max is probably not what you want to change, you probably want to change ulimit. But why? The deault fs.
open source It's time to let go of Centos, and has been that way for a long time It's perhaps human nature to cling to the familiar, it's the availability heuristic (we tend to reach for solutions which are easily recalled from memory- regardless of whether it happens to be the best fit. Good enough is sometimes what you need. Case in point, a proxy 'envoy proxy', is
open source How to disable Wordpress https redirect, the many ways For local dev this is useful. Because Wordpress is a wild west there may be different reasons your wordpress install is redirecting to https when you don't want it to: #1 Update wp-config.php Inside your `wp-config.php`: define('WP_HOME','http://example.co.uk'); #2 Check .htaccess There might
open source TiDB SQL Database NewSQL Little known in the UK TiDB (soon to launch TiDB Cloud) is a significant change in how you think about traditional relational database- which typically can't scale horizontally. > TiDB: Distributed, horizontally scalable, MySQL compatible - Morgan Tocker , TiDB talk at FOSDEM TiDB promises (and delivers) on both these goals: A
open banking Better payment systems around the world Without fees. Unified Payments Interface - WikipediaWikimedia Foundation, Inc.Contributors to Wikimedia projects It exists in India via UPI I think. https://en.wikipedia.org/wiki/Unified_Payments_Interface s It's proving extremely successful so far, and has been viewed as one of the best financial inventions over there. src
kubernetes Building a SaaS based architecture on a budget without vendor lock-in Opinionated account on a micro SaaS currently processing ~53k api requests daily and ~£3k monthly. Actual code, real lessons learnt the hard way. I wrote about SaaS based architectures earlier in 2020 which goes into detail on the tradeoffs around multi tenancy. We reject: kings, presidents and voting.We believe
Sysadmin A brief look at OpenAFS I have a keen interest in opensource history and trying to understand which technologies hyperscalers may be using, or at least the technologies which came before them- the influences. With EFS (Another Web Service), I couldn't help but feel maybe there maybe similarities with other open file systems and was
thinking fast and slow It's not about scalability it's about developer experience which makes experimentation fast In his interview, The untold story of SQLite [https://corecursive.com/066-sqlite-with-richard-hipp/#], author D. Richard Hipp explains beautifully the value in fast experimentation - this is a real world practical example from history of how leaders in an industry get eaten for breakfast, whilst they don't even realise it's happening.
programming How to create your own pip package example python Example code repo for post [https://github.com/KarmaComputing/create-your-own-python-pip-package] Being able to package your python project into a pip package is useful for distribution, and sharing with others especially if the code is generic enough to be useful in other projects). This repo is base on the tutorial: from
open source Docker tail -f from the end The docker way: docker logs -f --tail 10 container_name The host way $(docker inspect --format='{{.LogPath}}' # Then tail -f the file Ref * https://stackoverflow.com/questions/42510002/docker-how-to-clear-the-logs-properly-for-a-docker-container * https://stackoverflow.com/questions/52119832/how-to-tail-a-docker-log-from-the-current-position-in-the-log-without-seeing-the
programming Rust create ubuntu / debian package from cargo Rust how to create a deb package with cargo deb
programming How to get started with rust How to I install rust? See https://www.rust-lang.org/tools/install Or run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh How do I compile a rust program? Use rustc E.g. rustc main.rs The output is a binary main. Where does rust/cargo
Sysadmin Shrink existing partition mdraid linux ext4 using resize2fs How do I know what filesystem type it is? df -T How do I view the current disk(s) layout? lsblk -f 1. unmount the drive's partition you want to shrink umount /dev/md3 If you see umount: : target is busy. then you may need to cd out of the
programming What is an unhandled exception mean? Generally an unhandled exception in your code means that your program is in a condition or state that you have not described to the computer how to handle that situation. What does "node --unhandled-rejections=strict" mean? E.g. node --unhandled-rejections=strict main.js Sure good question! Focus on the word
debugging Debug python containers pdb docker breakpoint Debugging python docker containers with remote-pdb, docker-compose You want to debug and set breakpoints inside your docker container and/or you want to debug with docker-compose. > Warning: As the docs say: The debug host in your Docker container must be set to 0.0.0.0 (localhost or 127.0.
How to check if logrotate is working Check that the logrotate is working as expected See man logrotate for all the options, check it's running correctly by using verbose mode and reading the output: logrotate -v /etc/logrotate.d/ Is your log file growing faster than the daily/weekly interval? Use the maxsize option and check how
open source Does git rm delete the file? tldr; Yes. Yes it does. (use git restore --staged to un-delete if you made that mistake*) Does git rm remove the file? How to find out yourself: See man git rm or read on. Sometimes you find git is tracking files (e.g. binary files like images) which you shouldn't
debugging Override the entrypoint of docker containers (any container) Sometimes you want a quick and easy way to look inside a container before it's stopped- to debug it, to see what's going on. One way to change a way the image's container starts: docker run --rm --env-file .env --entrypoint="/bin/sleep" 120 #Example docker run --rm --env-file .env --entrypoint=
open source Database migrations with multiple git branches and teams alembic sqlalchemy > This article is suitable for understanding database migrations when there are database migrations on different git branches which need to be merged. The examples are python's alembic [https://alembic.sqlalchemy.org/en/latest/] project but the concept is useful for all When doing branch based development (e.g. issue branches)
How does Algorand work thoughts This is a summerisation of the parts I found interesting in relation to the recorded conversation with Silvio Micali: Cryptocurrency, Blockchain, Algorand, Bitcoin & Ethereum | Lex Fridman Podcast [https://www.youtube.com/watch?v=zNdhgOk4-fE4] 1. Algorand claims to solve three things: decentralization, scalability, and security This reminds me of CAP
ipv6 KVM multiple vms ip config I want to spin up multiple vms using kvm and ipv6. IPv4 is exhausted and expensive. How do I do that? Does my machine support KVM? You need to find out if your CPU support virtualisation. To do this, cat your cpuinfo file, cat /proc/cpuinfo and if you have
open source Saas based architectures Deploy Sass customers independently each within their own version of the application or as one, application containing all tenants? The trade-offs when building software as a service (saas) based architectures, especially within the context of open source software. There's a lot of resources out there about building scalable architectures. Horizontal