RSSAmplifier

Blog

ezri's blog

ezrizhu.comRSS feed ↗24 posts

Latest posts

Recurse Center Return Statement

What’s the Recurse Center? The Recurse Center is a community of smart, nice, thoughtful programmers of all experience levels, that you can join by applying to do a six-, or 12-week self-directed retreat in NYC. People spend their time at RC working on personal projects, exploring new areas of programming, contributing to open source software, or anything else they’re interested in. RC focuses on…

Embedded rust development on esp32 with flakes

So I started doing embedded rust dev on riscv esp32. However it was a hell getting the development environment working with nix flakes. After hours of suffering, here it is. I consulted a lot of online resources, they are also listed below. { description = "EMLSS dev env"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; rust-overlay.url = "github:oxalica/rust-overlay";…

Custom tmux visual bell

Terminal bells are a neat way for command-line applications to ping the user about something. It’s the ‘ding’ that you hear on your terminal sometimes when you’re tabbing around or when you run this. printf '\a' In tmux, you can enable visual bell via the bell-action and the visual-bell option, but it is not super pretty, we can do better than that. So I wrote this script that has tmux bark at you…

Obsidian Publish Directory Enumeration

I have been using Obsidian for a while now. It is a great tool for organizing my life. My daily TODO lists, project boards, notes for school and research, and the occasional journal are all stored in Obsidian. At a certain point, I needed to share some notes with my collaborators, and that’s where Obsidian Publish came in. However, when the “show navigation” setting is off in publish options,…

NixOS Public Unix Server

Sorry it’s been a while since I last wrote something, but I want to share something I’ve been building! I’ve been building a invite-only, shared, distributed NixOS system called wolfgirl.systems. Users are usually more trusted as it’s an invite only community, so they will have access to the nix daemon to install anything they want, like home-manager. We’re also requesting an ASN from ARIN and I…

hypervisor with cockpit-machine

Sometimes, all you need is to deploy virtual machines on a server. You don’t want to care about the fancy cloudinit stuff, you don’t care about users, and groups. You just want a hypervisor that you can spin up VMs with and acccess the console of via the web, while keeping your system relatively “clean”. In the past, I have always stuck with Proxmox, while that’s a reasonable choice for most use…

Adding SWAP to a Debian Machine

So for SWAP, we usually have two choices. A swapfile, and a swap partition. A swapfile is a lot more flexible since it lives on your filesystem. However, it does have an added overhead of the filesystem. Another reason why you may want to use a swap partition is that in case you have more than one linux distro installed, they can share the same swap partition. People also encrypts their swap…

EVE Virtual Environment Introduction

I have been using Proxmox for around three years now. It was a decent solution for EzriCloud at the time; I only had one hypervisor in the beginning. Now I have three hypervisors in California, and a few scattered around the east coast. The three hypervisors are in a Proxmox cluster. One of the east coast ones is running Proxmox, and the rest are running libvirt and cockpit-machine . There are a…

Strange M2 UTM Crypto Bug

So in Operating Systems class, we had to install Debian, Arch, and OpenBSD for our first homework to get familiar with UNIX systems. My friend and some other classmates had issues with the Debian installer failing at the tasksel stage where they were instructed to install Gnome. This was weird; the tasks step should usually not fail. I tried reproducing the issue on my VM, but it was installed…

Bad Apple (Inc.)

On Sep 21, 2023, I ordered and got the new iPhone 15 Pro to replace my old iPhone X. Shortly after that, in maybe one or two days, my phone prompted me to re-enter my App Store Apple ID. Note that I use a different Apple ID for my iCloud and the App Store. When I put in the password for my App Store Apple ID, it told me that my account was deactivated. That was strange, so I went thru the support…

Hello NixOS!

I have decided that I’ll give Nix a go, since a team I am on will be using it. I think for simple deployments, Nix saves me the hassle of installing new systems by allowing me to define the entire server in just a few files. It was pretty nice, I shall paste my boilerplate Nix config here for my future use. { config, pkgs, ... }: { imports = [ # Include the results of the hardware scan.…

VNC Proxying for the Cloud

I’m currently working on eve, a management toolkit for libvirt-based virtualization servers. Think of it as openstack, but for small scale cloud deployments. I am building it primarily for deployments like EzriCloud, small scale, multi-siloed, and with user support. It features a management pane, and it talks to hypervisor agents to interact with libvirt and other systems on each hypervisor, like…

Network Latency and CPU

For my NYC network, I have been tunneling everything thru a wireguard tunnel to Vultr for BGP. Usually it is not this way, it should always be using my upstream’s routers, but currently they’re down right now. So I am basically tunneling to Vultr and use them as my BGP upstream. But since I have made the switch, the latency to my servers has been dramatically higher, and it didn’t make a lot of…

Installing Debian From Any Linux Distro

There are times where you have to install a Debian machine, but you don’t have access to a debian iso, or you don’t already have a USB stick ready. This happened recently to me when I was volunteering at NYCMesh . We needed to install Debian on a machine, but I only had my arch linux iso for some reason. I remembered stumbling upon this debian page on installing from a linux machine (the original…

August Server Upgrades (5 Hours of Dread)

I run a small sized server infrastructure consisting of mainly three hypervisors in California, and one hypervisor in NYC. Those servers are all owned and maintained by me, with the occasional help of the helpful datacenter staff. You can read more about EzriCloud here My servers were awfully out of date, being two major versions behind on Proxmox, and Debian. I have been ignoring the EOL warning…

Hello IndieWeb!

Short update! My website now supports the following IndieWeb protocols. h-card h-entry RelMeAuth webmention The h-card and h-entry are just some machine readable code about my website and my blog entries. They’re both implemented as hidden div s. RelMeAuth is just a rel=me email link so services can discover my email as a authentication method. For webmention, I wrote a simple GoLang API that…

I'll Read It

I was inspired by Manu’s I’ll read it . “I don’t know what to write about” and “what if no one will read it?”. These are the two most common reasons why people don’t want to start a personal blog. I already addressed the first one, so let me tackle the second one in the easiest way possible: I’ll read it. If you decide to start a blog in either English or Italian, I’ll read it. I don’t care about…

Why I Still Use Github

For the past few months, I have seen a lot of people discussing how they’re moving away from Github to other git hosting services like Sourcehut , Gitea , and other hosted or self-hosted alternatives. Mainly due to Github using public repositories to train Co-Pilot , and to have control over their own code. I have thought a lot about this, and decided that, for the near future, to stick with…

Website Updates

I have been diving deeper into the whole indieweb scene and gotten some inspirations from other people’s blogs, and here are some changes. I also saw Manu’s I’ll read it page and reached out to him about my blog, he suggested a lot of fixes that were very useful. What’s New A now page showing things I am doing right now. Projects now also support tags with the tech that I used. Added a…

A Rant on Safari

The start of it all So I was testing my new website css with my iPad since I can easily drag the window size via stage manager. I opened my website in a private tab, and when I was done with it, I pressed CMD-w, but it closed the whole safari window. I thought it had just closed the private tab, so I re-opened safari, and I found that all my other tabs had disappeared. The Panic I started…

How to Build Your Own ISP

This was written a while ago when I was back in high school, some information may be outdated. If you spot any errors, please let me know and I will update it. This is also meant to be an overview of how the internet works, and how one would setup a virtual BGP network on a linux machine. The exact commands and configuration may vary depending on the setup. How the Internet Works When you look up…

You Only Need a Tablet for Computer Science

Last May I finished the first year of my computer science degree. I was able to get away with only carrying my iPad around campus, and being known as the kid that uses the iPad for computer science. How I pulled it off I have an ordinary iPad Air (Fifth Gen), it runs stock iPadOS, and has the M1 chip with cellular data. I also have the Magic Keyboard and an Apple Pencil with it. I run EzriCloud ,…

How This Website Is Overengineered

This website took heavy inspiration from Xe’s blog . I strongly encourage you to check that out as Xe did a great talk on it! I just want to state this here first, the reason why I made my website like this is that I wanted to learn Rust, and wanted to give myself the ability to add more dynamic elements to it in the future without using javascript. There are much easier, better documented, less…

Hello World!

This is the third revision of my website. My first website was a templated website from html5up . My second website was a simple one-pager with my name, a line about what I do, and a few social links. This website, hopefully the last revision, will do a lot more. Presently, I have a homepage with an introductory “about-me” paragraph, recent news regarding my accomplishments and personal endeavors,…