Problems with the GitHub Default Remote Using SSH

Posted on Wed 28 May 2025 in git, GitHub • Tagged with git, GitHub

Second time that I have this problem, so I thought I would write it down.

When I create a new repository on GitHub, the default instructions to add the remote repository to my local git repository are:

git remote add origin git@github.com:my_username/new_repo_name.git
git branch -M main
git push -u origin main

The problem is that this assumes that I'm using the SSH protocol to connect to GitHub. However, I prefer using HTTPS for my connections. Therefore, I need to change the remote URL to use HTTPS instead of SSH. To do this, I can use the following command:

git remote set-url origin https://github.com/my_username/new_repo_name.git

To avoid this, the instructions to add the HTTPS connection directly should be:

git remote add origin https://github.com/my_username/new_repo_name.git
git branch -M main
git push -u origin main

Publishing PowerPoint presentations with animations as PDFs

Posted on Wed 30 April 2025 in PowerPoint, PDF • Tagged with PowerPoint, PDF

When I create PowerPoint presentations, I often use animations to explain complex processes. I design slides so the final state is clear on its own, but sometimes this isn’t feasible. When sharing these presentations as PDFs, animations are lost, making slides hard to understand.

I’ve found a solution: PPSplit, a PowerPoint plug-in that exports presentations with animations as PDFs. PPSpit works by splitting animated slides into multiple PDF pages, each representing a step in the animation sequence. This preserves the flow and context of the presentation, ensuring viewers can follow the intended progression without needing the original PowerPoint file.

To use PPSpit in Windows, install the plug-in from its web page and open your presentation in PowerPoint. PPsplit will add a new tab to split the slides. Notice that this changes the file, so make a copy of the original presentation before using it, especially if you have auto-save enabled. After splitting, you can save the presentation as a PDF. The resulting PDF will have each animation step on a separate page, making …


Continue reading

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