Exploring GitHub Repos with Cool Tools

Posted on Tue 29 April 2025 in github, tools, visualization, developer workflow • Tagged with github, tools, visualization, developer workflow, deepwiki, gitpodcast, forgithub

Recently, I’ve come across a few tools to understand GitHub repos better: DeepWiki, GitPodcast, and ForGitHub.

DeepWiki: Turning Repos into Interactive Documentation

DeepWiki, developed by Cognition Labs, automatically converts any GitHub repo into a comprehensive, wiki-style documentation with interactive visualizations. What I love most is its "in-depth research" feature—it provides insights that feel like they’re coming from a senior engineer, covering design concepts, best practices, and even optimization opportunities. You can check it out at DeepWiki.

As an example, you can explore DeepWiki for SimCT.

GitPodcast: Listening to Code as a Story

GitPodcast converts any GitHub repository into an engaging podcast! Imagine listening to the evolution of a project, its commits, and its structure as a story while you’re on a walk or coding something else. It’s hosted by BandarLabs and available at GitPodcast.

This is the podcast for SimCT.

ForGitHub: Comparing Repos Side by Side

ForGitHub gives a list of cool tools and APIs that use the same URL structure as GitHub enabling you to use it by just …


Continue reading

Visualizing Network Topologies

Posted on Sat 19 April 2025 in network, topology, visualization, javascript, vibe coding • Tagged with network, topology, visualization, javascript, vibe coding

While preparing my classes on interconnection networks in computer systems, I wanted to better understand metrics related to ring topologies. To explore this, I created a simple JavaScript program to visualize a ring network, using “vibe coding”—an approach where you let Artificial Intelligence (AI) generate the code for you. The result is this Ring Network Visualization (GitHub repository).

Later, I came across several impressive visualizations built with Three.js (like this and this), and I wanted to give it a try. Using the same “vibe coding” approach, I developed this Topology Visualizer (GitHub repository). It’s a simple tool that allows you to visualize different network topologies—such as ring, mesh, and hypercube—in 3D. You can change the number of nodes and observe how the topology evolves. Clicking on a node triggers a visual effect that shows light bolts connecting it to the farthest node, effectively highlighting the diameter of the topology.

Topology Visualizer Screenshot


Updating to uv from pip

Posted on Fri 11 April 2025 in uv, pip, python • Tagged with uv, pip, python

This is a short guide on how to upgrade a project from using pip with a requirements.txt file to using Astral's uv. It assumes that uv is already installed and that you have a project set up with a requirements.txt file.

Initialize uv:

uv init

Remove hello.py.

rm hello.py

Modify project.toml to update the information about the project.

Add the dependencies from requirements.txt to the project.toml file:

uv add -r requirements.txt

That's it! You can now use uv to manage your dependencies. You can run the project with:

uv run your_script.py

Alternatively, you can use uv sync to manually update the environment then activate it before executing a command:

uv sync
source .venv/bin/activate
python your_script.py

To add new dependencies, you can use the uv add command:

uv add package_name

To upgrade a package, you can use the uv upgrade command:

uv lock --upgrade-package package_name

Connecting to a Jetson Nano with Ubuntu 18.04 Using VS Code

Posted on Fri 28 March 2025 in nano, ubuntu, vscode • Tagged with nano, ubuntu, vscode

If you're trying to connect remotely to an NVIDIA Jetson Nano running Ubuntu 18.04 with Visual Studio Code (VS Code), you might run into a compatibility issue due to recent changes in VS Code's remote server requirements.

Starting from release 1.99 (March 2025), VS Code’s prebuilt remote server is only compatible with Linux distributions using glibc 2.28 or later. However, Ubuntu 18.04 ships with glibc 2.27, making it incompatible with these newer releases.

Solution: Use an Older Version of VS Code (1.98.2)

To work around this limitation, you can use VS Code 1.98.2, which is the last version compatible with Ubuntu 18.04. Here’s how to do it:

1. Download VS Code 1.98.2 (Portable Version)

Since later versions may not work, download the portable version of VS Code 1.98.2 for your platform:

  • Windows (Portable): Download here
  • Other platforms: Follow the instructions in the VS Code FAQ to find the appropriate link.

2. Extract and Run VS Code

If you downloaded …


Continue reading

Using uv to run Python tools without installing them

Posted on Thu 23 January 2025 in python, uv • Tagged with python, uv

I wanted to run a Python tool without installing it, or preparing a virtual environment and all that. This is now very easy with uv, using uvx.

I wanted to run markitdown, a tool to convert various files to Markdown. I didn't want to install it, so I used uvx:

uvx markitdown[docx] "file_to_convert.docx" > output_file.md

It downloads the tool and installs it in a temporary, isolated environment. In this case, it also installs the docx extra, so that markitdown can convert docx files.

A tool can be installed with uv tool install, like this:

uv tool install markitdown

It's very convenient.