Hi, I'm Luca.
I'm 21, and I've been building things with computers since around 2019. My background is primarily in software, particularly C and C++, systems and low-level programming, computer vision, edge AI, performance-oriented software, and the parts of computing that sit close to the hardware. More recently, I've also been exploring digital hardware, RTL, ASIC design, and EDA.
This is my journal: a public record of the things I visit, build, investigate, break, abandon, finish, misunderstand, revisit, and learn from along the way.
What this is
This isn't meant to be a portfolio containing only polished work and successful projects. If anything, I want it to be the opposite.
There will be finished projects here, but there will also be failed experiments, abandoned ideas, incomplete research, short investigations, strange technical detours, and things that seemed much more promising when I started them than they did by the time I stopped.
Some entries may follow work that takes months. Others might come from an afternoon spent wondering how something works and following that question until I either find an answer or create several more questions. An idea I abandon today might return years from now when I have more knowledge, a better approach, or simply a reason to become interested in it again.
More than anything, I want to document the process. Not just what I eventually built, but what I was thinking while building it: why I chose one approach over another, which assumptions turned out to be wrong, what failed, what surprised me, and how my understanding changed as I went.
Why this exists
I've been doing this kind of work since 2019, and a majority of it has already been lost to time.
Old repositories disappeared. Experiments were left on computers I no longer use. Projects were abandoned without ever being properly documented. There are things I spent weeks or months working on that now survive mostly as fragments, old screenshots, a few files, or memories of having done them.
I don't particularly like that.
This journal is my attempt to keep a durable record of what I do from this point onward. I want to be able to look back years from now and see not only the things that worked, but the paths I took to get there and the ones that led nowhere.
Making it public is deliberate as well. Keeping everything privately solves the archival problem, but it loses on what I find is one of the most important parts of doing the work: other people can see it.
If you find something interesting, notice that I've made a mistake, disagree with an assumption, know a better way of approaching something, or simply want to discuss an idea, I would like to hear about it. Feedback, criticism, corrections, suggestions, and questions are always welcome and encouraged.
Why I do the work
The work documented here is driven by personal curiosity.
There isn't a curriculum behind it, a qualification I need to earn, or somebody telling me that I should work on a particular problem. Most things start because I encounter something I don't understand, something I think could be better, or more simply: something that simply seems interesting enough that I want to know what happens if I keep pulling on the thread.
Sometimes I spend a few days on it, learn enough to satisfy the original curiosity, and move on. Sometimes it may simply fail completely. Other times, it may become a serious project, research, or something else entirely.
I don't really want to constrain that curiosity to a particular subject either. My strongest background is in software, especially C and C++, systems programming, low-level and performance-oriented work. But I've interacted with a much more extensive range of software than those areas alone, and if something interests me enough to investigate it, there is a reasonable chance it will eventually appear here.
That increasingly includes hardware and other fields as well. I've been learning digital design, RTL, synthesis, physical design, and ASIC development, while also becoming more interested in mathematics, physics, and philosophy. I expect some entries to involve exploring problems and ideas in those fields, even where they fall well outside my established background. I still consider myself a beginner in hardware, and very much a learner in mathematics, physics, and philosophy, so I expect my understanding of all of these areas to evolve over time.
A note on expertise
I explore a lot of subjects, and I am not an expert in many of them.
In particular, this journal will inevitably take me into mathematics, physics, electronics, hardware, and other areas where my knowledge may be much less developed than my software background. I am not a mathematician or a physicist, and I don't want the existence of a nicely formatted page to imply otherwise.
Many entries are likely to document me learning something rather than explaining something I have already mastered. There will probably be mistakes, bad assumptions, misunderstandings, awkward derivations, and occasions where I take a very long route toward something that would be obvious to somebody with more experience.
That's fine. It's part of what I want this journal to preserve, and it's part of what I consider a healthy progression.
If I later discover that something I wrote was wrong, I'd rather come back, explain what was wrong, and correct it than quietly erase the original thought process. One of the things I hope this journal eventually captures is how my understanding changes over time.
So where I venture outside the areas I know well, please read the entries as records of exploration rather than claims of authority. And if you know more than I do and see something wrong, please tell me.
How I use AI
In my work, I regularly make use of AI. This is something I think I should make clear from the get-go.
However, this does not mean that the thoughs, experiences, writing, and learning process is not my own. On the contrary, I view AI as a tool, not a shortcut to good work. I think we live in a world where quick and easy successes, rewards, results, and quite literally anything is becoming part of our culture, and is what drives many people today. I don't stand by this. Something I truly stand by is that anything of value takes time, and who is behind it.
This is to say that all of my writing, thoughts and experiences here are my own. I use AI to be efficient, write boilerplate, build proof of concepts, and simply put, to save time. Anything I commit to, present, or think is valueable I will always scrutinize, revise, and polish myself.
Outside this journal
Computers occupy a large part of my time, but they're far from the only thing I'm interested in.
I also make music, boulder, powerlift, play chess, do photography, and regularly find other things to become interested in. Most of that won't appear here because this isn't intended to be a general diary of my life.
Those interests do, however, influence what I work on. A software project might begin because of music. A graphics experiment might grow out of photography. A hardware idea might exist because I wanted to understand a system I was using somewhere else. The boundary between interests is rarely particularly clean, so some of that will inevitably leak into the work documented here.
Licensing
I want the material here to be useful beyond simply being read.
The source code for this website is licensed under the MIT License. Unless otherwise stated, my original journal entries, research notes, diagrams, figures, and other original content are licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
That means you're welcome to share, reference, adapt, and build upon my original content, including for commercial purposes, provided that appropriate credit is given and modifications are identified where required.
Third-party code, images, assets, quotations, and other material remain subject to their respective licenses and copyrights.
Contact
If you want to discuss an entry, point out a mistake, suggest something I should look into, share related work, or just talk about something you found interesting, feel free to get in touch.