Leinonen

Code, Mindfulness & Minimalism

August 4, 2025

Evaluating Development Assignments: Part 1 - Codebase & Technical Foundation

In the first part of a series on evaluating development assignments, this post delves into assessing the codebase and technical practices of a project. It guides software development consultants on key questions to ask, such as the state of the codebase, handling of technical debt, code review processes, and development methodologies. Understanding these aspects can help determine whether a project offers innovative work opportunities or constant firefighting. The post emphasizes the importance of a well-maintained codebase, managed technical debt, effective code reviews, and flexible methodologies that support the team.

Read more

August 3, 2025

The Quiet Elegance of Lisp

Explore the elegant simplicity of Lisp, a programming language that pairs abundant parentheses with profound ideas. This blog post reveals Lisp's core concept of homoiconicity, where code and data share the same structure, allowing for seamless self-modification and uniformity in expression. Discover the power of Lisp's macro system, which enables language extension and creative control. Despite its minimalist foundation, Lisp achieves remarkable expressiveness and clarity, embodying timeless programming principles. Uncover the understated beauty of Lisp, where mathematical purity meets practical brilliance.

Read more

August 2, 2025

Reboot Your Brain: Why Tech Pros Need Nature Breaks

In the fast-paced world of IT and coding, constant screen time leads to burnout and mental fog. The solution? Step outside. Nature offers a restorative break for your overworked mind, akin to a system reboot. Stillness and fresh air help clear mental clutter, boosting creativity and problem-solving skills. Commit to 15–30 minutes of screen-free outdoor time this week to enhance your well-being and optimize performance. Remember, the deepest upgrades start with unplugging.

Read more

August 1, 2025

Using SQLite with Go: Building a Flexible Database Abstraction Layer

Discover how to kickstart your new projects using SQLite with Go, and build a flexible database abstraction layer that allows you to seamlessly transition to any other database as your application scales. This blog post guides you through setting up SQLite for simplicity and speed, crafting an interface in Go for easy database swapping, and implementing it for different databases. Whether you're just starting or scaling up, ensure your application remains adaptable and robust.

Read more