Hi, I’m sysarcher

Finally, I’ve joined the ranks of hipsters and created a github page that I’ll use to rant. A lot. I might also write something useful.

Applying to YC!

So I’m applying for a startup funding to YC. And I wanted to share this pic with them. Will update stuff here later.

December 13, 2023 · 1 min · 23 words

Metrics Server headache

One of the pains of playing around with Metrics server is that it sometimes doesn’t connect to the node. In my case it was unhealthy and complaining about x509 certs. Not for prod but here’s a resolution: Install Metrics Server kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.4/components.yaml Apply the patch: kubectl -n kube-system patch deployment metrics-server --type=json \ -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--kubelet-insecure-tls"}]]' thanks to @awalker125

December 13, 2023 · 1 min · 64 words

RegEx Search for Youtube Ads

Strategy: What I’m doing is unblock/whitelist any domain that causes video playback issues. (Credits for the original list @beshrkayali) I have started to add to a blacklist here: I also created a regex which I’m experimenting with: ^r[0-9]{1,2}-{3}sn-h0je[a-z0-9]*.googlevideo.com I tested this RegEx on regex101.com with the following data: r4---sn-h0jeener.googlevideo.com r4---sn-h0jeener.googlevideo.com r4---sn-h0jeln7l.googlevideo.com r1---sn-h0jelne7.googlevideo.com r2---sn-h0jeln7e.googlevideo.com r1---sn-h0jeln7e.googlevideo.com r3---sn-h0jeenle.googlevideo.com r1---sn-h0jeenle.googlevideo.com r5---sn-h0jeened.googlevideo.com r1---sn-h0jeenek.googlevideo.com r5---sn-h0jeln7l.googlevideo.com r2---sn-h0jeenle.googlevideo.com r1---sn-h0jeln7e.googlevideo.com r5---sn-h0jeen76.googlevideo.com r5---sn-h0jeln7y.googlevideo.com r5---sn-h0jeenek.googlevideo.com r5---sn-h0jeened.googlevideo.com r5---sn-h0jelne7.googlevideo.com r1---sn-h0jeener.googlevideo.com r4---sn-h0jeln7l.googlevideo.com r1---sn-h0jelne7.googlevideo.com r4---sn-h0jeln7r.googlevideo.com r2---sn-h0jeenek.googlevideo.com r6---sn-h0jeen76.googlevideo.com r3---sn-h0jeener.googlevideo.com r1---sn-h0jelne7.googlevideo.com

March 30, 2021 · 1 min · 74 words

Some nice Hacks

Linux only DISCLAIMER: THE FOLLOWING CAN LEAD TO CREATING SECURITY HOLES IN THE VPN-PROTECTED NETWORK… BE VERY CAREFUL. MAKE SURE YOU KNOW WHAT YOU’RE DOING. IF YOU DON’T UNDERSTAND WHAT YOU’RE DOING, DO NOT PROCEED VPNs are a pain in the neck. I managed to find a way to have VPN traffic limited to some sites instead of routing everything through your corporate network. Routing everything through corporate network is also a cause of load on the company’s servers. Imagine a ton of people watching Youtube over VPN. Now, I’m talking about traditional VPN here, not p2p stuff. ...

February 24, 2021 · 2 min · 230 words

VM Optimizations for RT

QEMU/KVM are a popular backend for OpenStack. In StarlingX Openstack (stx-openstack) this is also the case. I’ll try to describe various techniques that I used to optimize RT behavior on an STX 4.0.1 cluster with worker nodes. Terminology Bare-Metal is a a physical computer and it’s base OS Host is a bare-metal machine that runs VMs Thread is a core of a CPU CPU thread refers to the thread on the host system CPU ...

November 10, 2020 · 1 min · 176 words

Core Isolation Feature in STX4.0

StarlingX is continuing to evolve and update it’s Real-time capabilities but documentation can be a bit sparse. This page is hopefully a placeholder for until we have a great documentation around the capabilities. Isolating CPU Cores In a StarlingX cluster CPU isolation and Kernel commandline parameters are (generally) managed from the active controller through system host-cpu-XXX commands. For isolation, we have the Application-isolated assigned_function. Get current functions: $ system host-cpu-list controller-0 +--------------------------------------+----------+-----------+----------+--------+-----------------------------------------+-------------------+ | uuid | log_core | processor | phy_core | thread | processor_model | assigned_function | +--------------------------------------+----------+-----------+----------+--------+-----------------------------------------+-------------------+ | 65b8337e-08bf-4e32-b7e6-17505eaf0806 | 0 | 0 | 0 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Platform | | b7578ba2-cba0-46cd-b860-3ba5c03ba91d | 1 | 0 | 1 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Platform | | ff7447a2-00df-43db-8716-d1416faf89bc | 2 | 0 | 2 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 142796e5-b17d-48e9-b18a-b84c1ea5ae37 | 3 | 0 | 3 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | c68a8dc7-367f-4512-84ca-ec559fbb63f4 | 4 | 0 | 4 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 15f360e2-d27c-4d9a-b0ff-0b78387eeb8c | 5 | 0 | 5 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 89274cb5-4fb5-4f5b-a8c5-ec36394b5ce5 | 6 | 0 | 6 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 33fb1e8e-77cd-4334-b061-dd40e6b7f7ba | 7 | 0 | 7 | 0 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 8c804a31-c61e-408c-83c4-3c7192a861d8 | 8 | 0 | 0 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Platform | | 560ad09d-48df-42ec-8588-7e739030d7e3 | 9 | 0 | 1 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Platform | | cbd83713-0118-4995-9810-486cfdbb912e | 10 | 0 | 2 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | cb45713a-fa51-4628-b536-e3d5d57c891e | 11 | 0 | 3 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 28dff3de-9913-4055-89d5-09dfc084c3c1 | 12 | 0 | 4 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 98cf6c9e-2717-4f88-b487-487dbdadd18e | 13 | 0 | 5 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 73dcec10-7a62-4d07-ba23-3482d0e0f2af | 14 | 0 | 6 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | | 4a5a4477-f0db-4d77-9a6a-c77e5ca292e4 | 15 | 0 | 7 | 1 | Intel(R) Xeon(R) D-2146NT CPU @ 2.30GHz | Application | +--------------------------------------+----------+-----------+----------+--------+-----------------------------------------+-------------------+ The system host-cpu-modify command is used to modify the assigned function. ...

November 9, 2020 · 4 min · 732 words

Remapping Keys

I use Vim a lot. And if you’re a productive user of Vim, you will definitely appreciate the following remaps: ESC: I have remapped the Escape key to CAPSLOCK. Who uses CapsLock? ESC on the other hand is a Vim user’s go-to reflex. So keep it close-by. ESC+HJKL: For navigation. Why would you use muscles to move over to the arrow keys when you have them under your fingers. How-to xmodmap can be used to modify these key settings. But I think it will only work for X-sessions. ...

July 15, 2020 · 1 min · 128 words

On-prem Kubernetes

I have spent time looking at edge deployments of kubernetes, especially, those that are managed by the Ops team in an industry 4.0 setting. Here are my candidates: KubeEdge k3s and k3os StarlingX I present my brief impressions of each below. This post will need updates as my research goes on. Background Edge is often used as a vague term for either one of CDN, factory network or IT data center. There is a fair amount of confusion where cloud transforms into “Edge”. ...

June 14, 2020 · 3 min · 562 words

Rust Lifetimes

Coming from a background in C/C++ and other programming languages doesn’t help with understanding this one fundamental concept in Rust. Here, I’ll try to break it down so it becomes a bit more palatable (and a reference to my future self.) A simple example: fn main() { let list = vec![100, 34, 72, 55]; // list is created let first_two = &list[0..2]; // reference is created (first_two) println!("first two are {:?}", first_two); // first_two is referred println!("list is {:?}", list); // list is referred println!("again, first two: {:?}", first_two); // first_two is referred } // first_two is dropped, then, list is dropped A complicated (yet valid) example: ...

April 15, 2020 · 2 min · 358 words

On WebAssembly

This blog is not going to define what WebAssembly is, how it interacts with JS or other languages; there are too many blogs and posts available on the internet already. If you’re not familiar with WebAssembly, I would suggest you start here: A cartoon intro to WebAssembly WebAssembly Concepts This blog post is about wondering what WebAssembly can look like for some usecases. Run Everywhere WebAssembly can run everywhere - atleast that’s the goal. It’s performant - as performant as C/C++ and it’s secure. ...

March 17, 2020 · 2 min · 294 words