James McMurray's Blog

Rust, Linux and other curiosities

Using the Internet without IPv4 connectivity

A few days ago my ISP broke the IPv4 connectivity from my router after a power cut. Fortunately IPv6 connectivity still worked fine, but only a small fraction of websites were accessible.

In this post I'll cover how Linux, WireGuard, and Hetzner came to the rescue - keeping the whole internet usable with only an IPv6 connection.





My First Clippy Lint

Recently I wrote my first Clippy lint. It was much easier to implement and test than I had expected. In this post I'll review the process of creating or contributing to a Clippy lint, the implementation itself and how this reflects Rust's values of empowerment.



What should I program?

Doing projects is often the best way to get more programming experience and learn about new concepts and problem domains. However, a common issue is finding feasible projects of a reasonable scope that can produce something useful in a few weekends.

In this post I will list some classic project ideas for beginner and intermediate programmers (most of which should be achievable in 2-3 weekends), along with many other project ideas I've had but have never had time to implement (and a few which I did).

There are many long lists of project ideas available on Github, like build-your-own-x and 100 Projects of Code but these often lack a real description and justification of the projects. In this article I will go more in-depth with the different project ideas.

Within each section the projects are ordered in ascending difficulty / time investment.