Thursday, 3 December 2020

[containers.gitbook.io] Build Containers the Hard Way

 https://containers.gitbook.io/build-containers-the-hard-way/


This guide is geared towards anyone interested in learning the low-level details regarding how to build containers. This guide is not intended for those who wish to learn to build container images with high-level tools like Docker.

At the end of this guide, you should understand the internals of a container image, how to construct a container image, and how to push a container image to a Docker container registry piece-by-piece.

Monday, 25 November 2019

rajivprab.com: Myths Programmers Believe about CPU Caches


https://software.rajivprab.com/2018/04/29/myths-programmers-believe-about-cpu-caches/

As a computer engineer who has spent half a decade working with caches at Intel and Sun, I’ve learnt a thing or two about cache-coherency. This was one of the hardest concepts to learn back in college – but once you’ve truly understood it, it gives you a great appreciation for system design principles.
You might be wondering why you as a software developer should care about CPU cache-design. For one thing, many of the concepts learnt in cache-coherency are directly applicable to distributed-system-architecture and database-isolation-levels as well. For instance, understanding how coherency is implemented in hardware caches, can help in better understanding strong-vs-eventual consistency. It can spur ideas on how to better enforce consistency in distributed systems, using the same research and principles applied in hardware.

Monday, 18 November 2019

InfoQ: Containers in 2019: They're Calling it a [Hypervisor] Comeback

https://www.infoq.com/articles/containers-hypervisors-2019/

  • Near the close of 2018, Amazon amped up an already-increasing interest level in the marrying of container and hypervisor technology by announcing Firecracker, a Rust-based Virtual Machine Monitor
  • Around the midpoint of this year, Weaveworks introduced a new project, Ignite, which wraps Amazon’s Firecracker project with a container-lifecycle UI experience.
  • One clear use case for this new marriage of hypervisor technology and containers is to add a layer of protection and isolation to potentially sensitive (or untrusted) workloads.
  • User experience is also important within the hypervisor/container space: a growing number of companies, developers, and open source projects have become dependent on the simple life-cycle and user experience that Docker brought to the container world. 
  • Providing “isolation flexibility” within container orchestration frameworks like Kubernetes is becoming increasingly important. Can and will we have a world where clusters can provide dynamic choice based on workload type? The answer is yes!

torbjorn gannholm: The perfect programming language

https://cygni.se/the-perfect-programming-language/

I have always held that the act of programming is something that is done in an abstract realm and only later translated into a programming language. That programming should involve much more thinking than actual writing.
I mostly still stand by that but my years as a readability reviewer at Google raised my awareness of the fact that it takes time and practice to use a language well. Many were the hopeful C++ programmers who wrote fully functional and reasonably object-oriented code in Java but with a heavy C++ accent that couldn't quite meet the bar of elegance in Java (even if a C++ programmer might think it mostly elegant apart from the "flaws" of Java).
So how much does the choice of programmimg language matter? Is there or could there be a language that could be considered perfect?

Jacob Kaplan-Moss: How to Ace a Technical Interview

https://speakerdeck.com/jacobian/how-to-ace-a-technical-interview

Jacob Kaplan-Moss: My Python Development Environment, 2020 Edition

https://jacobian.org/2019/nov/11/python-environment-2020/#atom-entries

My setup pieces together pyenvpoetry, and pipx. It’s probably a tad more complex than is ideal for most Python users, but for the things I need, it’s perfect.

Tuesday, 15 October 2019

mnot.net "How Multiplexing Changes Your HTTP APIs"

https://www.mnot.net/blog/2019/10/13/h2_api_multiplexing?utm_source=dlvr.it&utm_medium=twitter

" HTTP/2 should put to rest any notion of the need to minimise the number of requests for APIs; the protocol makes them cheap enough to not practically matter. Go ahead and design a highly granular HTTP API to meet the needs of your clients. "