This blog post is a deep dive into how Nvidia GPU containers work "under the hood" on platforms like Kubernetes and Docker when you request a GPU container. The information presented here is relevant to Kubernetes, Docker, and any other container platform that uses containerd (or CRI-O)
Despite debuting in Kubernetes 1.25, it Kubernetes Checkpoint/Restore functionality doesn’t seem to have moved forward much. Support was only recently added to containerd (which powers most of the managed Kubernetes offering’s AFAIK). It’s also still only meant for “foresenics” and only exposed via the Kubelet API.
What are the building blocks of the Kubernetes Container landscape? CRI, OCI, CRI-O, containerd, runc, crun, runsc... There’s, well, a lot of c’s in there! It can be easy to mix these up, and annoying to understand how they all relate. I’m going to quickly break these down, if for no other reason than to provide myself with a reference in the future. We're start from the top and work our way down.
Inspired by this TutorialEdge video. I wanted a text version that with essentially the same content. There's a lot sample git repos out there, and instructions for updating the boiler plate. This a Go gRPC Hello World tutorial from scratch.
Just a quick post to announce my new Deno module that simplifies attaching a progress bar to your streams/pipes.
While the blog post here is good, I found myself wishing for a quick template I can just use to start creating new dynamic providers. So I created one!
Deno has built-in support for JSX in both .jsx files and .tsx files. JSX in Deno can be handy for server-side rendering or generating code for consumption in a browser. - Deno Manual
The future is already here – it's just not evenly distributed. - William Gibson
In part I, we dug into manifests and fresh.gen.ts. Recall that "development mode" differs from "production mode" in that it watches for filesystem changes to the file based routing, and then re-generates fresh.gen.ts file before calling main.ts. In part II, we're going pick up were we left off, digging into Server Context generation.
One of the first things you might find surprising about Fresh, is the file called fresh.gen.ts. This file comes part of a fresh (pun intended) project scaffolding. It contains the 'manifest', it looks like this for a brand new project:
Just a quick "hello world" post for switching to Deno, using deno.land/x/blog, for blogging. I've been using Deno for a bunch of my personal projects and I'm really enjoying it. I'll put my thoughts on why into a post soon. But first I needed to update my "blogging" software as is the way. This module was exactly what I was looking for. Best minimalist blogging software yet. Very easy, I can just use markdown files for posts.
During the process of preparing for a another vidcast/vlog, it occurred to me that I was taking installing Minikube a bit for granted. It's super easy of course, but that isn't immediately obvious nor is how valuable Minikube is. So I did a quick vidcast in order to both practice and make sure this info was out there. Enjoy:
Blogging again!? This just a quick note where I pretend someone else is actually reading this. I'm back to blogging again. Sort of... I'm going to try my hand at making in depth technology related explorations. In the process of making these videos I'm going to inevitably create talking notes. I'm planning to polish these notes into blog posts that accompany the video. At least this is the current plan.
There are lots of blogging platforms out there. But I want to use markdown with git. So this is how I do it.
As I write this entry in markdown, I see the live results a separate pane to the right. It's only been a few minutes but so far I'm very impressed with Atom. You should go check it out if you haven't already. Here's what I like so far.
While Kash is keeping me insanely busy, I to start blogging again. I'm going to try to write once a week but keep it very MVBP (Minimum Viable Blog Post) ;)
Having been the MySQL DBA-By-Default (DBA-B-D) in another life, I've must to admit to being much happier with postgres despite what I consider to be documentation holes. As a DBA-B-D (aka DevOps, aka Co-Founder), I find postgres lacking concise up-to-date documentation for getting specific tasks done quickly, or howtos. Replication is one such task. I had to merge bits and pieces from a number of sources, including mailing list posts, together in order to get what I wanted. I'm not complaining though, rather this my contribution to improving this situation.
I was having some issues getting my SSH Agent to forward. Turns out my understanding was completely inadequate. Here's a quick run through for anyone else who might benefit.
The HTTPS system allows you to communicate securely with a server and trust it's idenity. This is how it's generally used. However it's also possible for the server to trust the identity of the client as well.
Last night we had a great second Node.js Toronto meetup. There was some frustration directed towards the problem knowing which modules are of high quality. This is an acknowledged pain point in the node.js community but it'll get better soon.
I had some trouble getting disqus to work with my github page. Turns out I needed to add the following to my disqus javascript: