~ / cmdr2

projects: freebird, easy diffusion

hacks: carbon editor, torchruntime, findstarlink

  # filter by: [ posts | worklogs ]
  • #satellites
  • #findstarlink
  • #sat-timings

sat-timings library released Released sat-timings, a Javascript library for predicting the optimal time to see a given list of satellites in the night sky. This library powers findstarlink.com and has served millions of satellite visibility predictions over the past 6 years. It’s written entirely in Javascript and is pretty fast.

  • #infrastructure
  • #ci
  • #tools

The last few weeks were spent on updating my internal tooling and infrastructure. This fixed general decay, used newer/better ways of doing things, and fixed some of the parts that had broken down (preventing me from releasing updates). I’ve open-sourced most of the things (tools, as well as most of FindStarlink’s code): GitHub Actions Wizard FindStarlink’s repositories tkinter-videoplayer Upgrading CI across projects Using GitHub Actions Wizard, I upgraded and standardized CI across all my projects. Now every repo has automated deploy workflows on git push, replacing manual deployment scripts and environment setup. This reduces the cognitive pressure for me when I return to these projects, since I don’t update these projects often.

  • #github
  • #actions-wizard
  • #ci
  • #cd

GitHub Actions Wizard released! Wrote GitHub Actions Wizard to make it easier to setup CI on my projects (especially new ones). More details from the project page: """ GitHub Actions Wizard is a simple tool for generating GitHub Actions workflows for common deployment tasks. Built primarily for my needs, but you’re free to use it, if you find it useful. It goes beyond simple workflow generation by automatically setting up necessary permissions (such as creating AWS IAM Roles and Policies for S3 or Lambda deployments). The intent is to quickly generate the overall workflow boilerplate, and then customize by editing the generated file.

  • #tkinter
  • #video

Built a simple video player widget for Tkinter - https://github.com/cmdr2/tkinter-video I needed a video player for a Tkinter-based project, and was surprised that the current alternatives either didn’t install properly (outdated dependencies), or required av (host-level compilation), or required me to build my own controls. I just wanted something plug-and-play.

  • #freebird
  • #puppetry

Puppetry v1.2.19 released! It allows you to move the overall armature rig via an external animation, while still controlling the head and hands with the VR controllers. Previously, the head and hands would stay at a fixed place in the world, and not move along with the rig. For e.g. this is useful if you want to move the character down a corridor (using a script or animation timeline), while using Puppetry’s motion capture to animate the head and hands.

  • #tensorRT
  • #torch
  • #easydiffusion
  • #ggml
  • #cuda
  • #vulkan

Experimented with TensorRT-RTX (a new library offered by NVIDIA). The first step was a tiny toy model, just to get the build and test setup working. The reference model in PyTorch: import torch import torch.nn as nn class TinyCNN(nn.Module): def __init__(self): super().__init__() self.conv = nn.Conv2d(3, 8, 3, stride=1, padding=1) self.relu = nn.ReLU() self.pool = nn.AdaptiveAvgPool2d((1, 1)) self.fc = nn.Linear(8, 4) # 4-class toy output def forward(self, x): x = self.relu(self.conv(x)) x = self.pool(x).flatten(1) return self.fc(x)I ran this on a NVIDIA 4060 8 GB (Laptop) for 10K iterations, on Windows and WSL-with-Ubuntu, with float32 data.

  • #blog-agent

Finished setting up multi-project outputs in blog-agent. I can now write posts and worklogs using my long-standing setup (plain text files in my Dropbox folder, rolled-over monthly), and blog-agent will publish them on their respective project blogs based on the tags. Posts tagged with #freebird will get posted on Freebird’s blog. And posts tagged with #easydiffusion or #sdkit will get posted on Easy Diffusion’s blog. Everything will also get cross-posted on my personal blog.

  • #github
  • #s3
  • #lambda

Edit: This script has been replaced by https://github.com/cmdr2/github-actions-wizard Wrote a simple utility script for quickly setting up deployments to S3 or Lambda via a GitHub Action. Gist: https://gist.github.com/cmdr2/7261109b0e214942f1c7864024a6daa1 It’ll create the required IAM Role and Policy automatically, and generate a workflow yaml inside your git repository. Run github-deploy-setup inside your git repository.

  • #blog-agent

Migrated cmdr2.org to GitHub Pages (with Hugo). This replaces my custom static-site generator. Added a #worklog tag filter on my blog, so that I can start posting worklogs without worrying about spamming the main feed. Updated blog-agent to work with multiple publish destinations and projects, e.g. publishing Easy Diffusion-related posts to ED’s github repo etc.

  • #carbon
  • #programming
  • #ide
  • #editor

I often write code on the go (for e.g. on bus rides), mainly prototyping ideas as single-page HTML/CSS/JS. I’ve used code editor apps as well as developer keyboards on mobile phones, but none of them really clicked for me. So I built something for myself: a simple browser-based code editor, optimized specifically for mobile devices. It lives at https://me.cmdr2.org/carbon (GitHub repo), runs entirely in the browser, and stores your work locally.