James McMurray's Blog

Rust, Linux and other curiosities




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.





Using ALMA for persistent LiveUSB installations of Arch Linux

ALMA (available as alma-git on the AUR) is a tool for creating persistent LiveUSB installations of Arch Linux. With one command you can generate a customised installation on a USB stick (or any other removable media) including the packages and config files you want, with full persistence.

This is very useful for disk recovery and system maintenance, and a great tool for all Linux users. Especially with the customisation options provided by collections of preset files (such as arch-i3-usb).