[2024] To Learn
Unless stated otherwise, checking off a learning goal involves completing a project using the thing that is learnt. Tech-related General Launch 1 project Launch 2 projects Launch 3 projects Create an app that includes some kind of chat functionality Create an IoT enabled device (Alarm clock with wireless connectivity?) Web Development General Set up a reverse proxy Run multiple services on one machine. Frontend Svelte Vue HTMX Hugo templates Backend ScyllaDB Utilize Pocketbase to develop an app Learn about database security and encryption Build a basic backend in Go Build a basic backend in Rust Automation Tools Create a backend that can be deployed with a single docker/podman compose file Learn to use GitHub actions for CI Use CD to automatically create releases Embedded Design and commission a PCB relying on a RP2040 board Design and commission a PCB relying on a nRF52840 board Design and commission a PCB relying on an ESP32S3 board Design and commission a PCB relying on a ESP32C6 board Implement a parallel adder in SystemVerilog Implement an ALU in SystemVerilog Design a simple CPU in SystemVerilog Simulate a SystemVerilog design using a Verilog emulator (like Verilator) Low-level Programming Microcontrollers Learn to write bare-metal code using C++ Learn to write bare-metal code using Rust Learn how USB works GPU Programming Draw a triangle using Vulkan/Vulkano Use GLSL to implement a shader Implement any algorithm on the GPU using Vulkan Learn about Vulkan Kompute