2024 year review, university and what's next

A very late annual review of what happened in my life during 2024, and what my goals are next.

It’s mid-February and I’m writing this post amidst a mixed feeling of hurry and self-guilt for not studying linear algebra 🥲.

I’m a bit sad I wasn’t able to make this post in time for the end of 2024, but maybe it’s not a big deal. Still, there was an important reason why, as you’ll see in a moment.

I have so many things to say, but I also don’t want to make this post too long. However, I’m realizing that writing the two additional posts I planned about my first experience at university and the use of AI to learn as separate posts would mean that they either come out late or never, so I want to integrate some of my thoughts about those things here.

I’ll do my best to compromise the length of this post with my desire to write down the important events and experiences I’ve had in 2024. I will roughly follow the chronological order of everything, adding here and there other thoughts, reflections, and notes.

toc Table of contents

The first half of 2024

The first 6-7 months of 2024 were the last of my 5-year-long journey through superiori (high school in Italy).

Since year 1, I’ve always tried to be participatory in school activities in general, both curricular and extracurricular ones, but this last year they reached the peak in quantity and quality, also thanks to my school offering so many interesting opportunities.

These are the most interesting/my favorite ones:

school activities My last high school activities.

On June 8th, I passed my final exam with 100/100 cum laude, though this result was mostly due to my participation in several school activities and doing relatively well during all 5 years of superiori (partially because of my independent interest in computer science, but also because technical institutes are slightly less study-intensive than lyceums, another type of high school), and less about an exceptional studying ability (which I didn’t really have).

These five years with my classmates and closest friend, as well as all the professors, have been a beautiful chapter in my life, filled with laughter, challenges, and growth that surely had a big impact on my values and what I am today.

Summer projects

Just as the last exam was completed, I had all the remaining summer holidays free, and of course, I had no intention of wasting time.

If you’ve read some of my other posts, you know I have many hobbies and interests, and I work on many projects sometimes even in parallel (with questionable efficiency in the latter case, though 😅). During that period, one thing I was eager to finish was a video adaptation of my post/essay about educational video games, so after a lot of editing in DaVinci Resolve, which made me more confident at using it, I published the video on YouTube on July 17th. While the feedback was positive and I didn’t have high expectations, the views plateaued around 400 and never improved. It was also my fault: the first part was a bit boring, I didn’t promote it much after publishing and I haven’t published other videos after that one that would probably have attracted other people, so the algorithm just made it invisible. The video thumbnail was made in Blender, so at least I brushed up on my poor 3D modeling skills 🫠.

Once that was completed, I dabbled with Ableton, making mostly piano, LO-FI and ambient songs (you can hear one at the end of my video), and learned a lot of tricks and new techniques (as always), but those songs were neither fully finished nor good enough to share with the world, so I haven’t published anything. One day I also had an extremely ambitious idea about making a song using samples of real whale songs, and I made a little demo, but I’ve put the project on hold indefinitely, at least until I find the right way to put it together and acquire the skills necessary to reach the quality level I wanted.

In the meantime, in April, Brackyes (one of my favorite content creators who helped me the most to get into game development) made a comeback to YouTube, announcing a tutorial series on Godot, after the controversial Unity runtime fee move that caused a wave of developers to move to other engines. Normally, this would have convinced me 100% to finally learn Godot and try to make some little games with it. However, I had already spent a big chunk of the previous summer remaking an old game prototype in Unity+FMOD (I’ve talked about it briefly in my 2023 year review post) and came away both disoriented and exhausted by how much time I would need to complete it, and even with the interactive music support in the new Godot version, I wasn’t sure if it would make sense to reprogram it a third time and then continue development in Godot. I decided I’d try eventually, but first focus on other smaller projects not related to game development.

The next project I wanted to start (and this was something I thought about doing for years!) was a mobile app that is a mix of a pedometer and a music player, with the main feature being that the app constantly synchronizes the rhythm of the music to the user’s walking pace.

It might sound like a weird idea, but I can guarantee that walking in synch with music is very satisfying, and if the app takes care of syncing it for you, you just have to walk at the pace you want! I’ve been an amateur musician since… 6 maybe?, and in the last few years I’ve been eager to try mobile app development (especially on Android but eventually multiplatform), so this was the perfect project to do.

Even before I started, though, I knew it would be quite a complex project, especially for a complete beginner in mobile app development. At the same time, AI had been making a lot of progress and it seemed advanced enough to meaningfully help me to learn quickly how to make something like that. Partially reassured by this (though that was probably not the best move), I decided to learn the basics of Flutter and quickly prototyped a simple music pedometer (whose source code you can find here on GitHub). Once I knew the main app mechanism worked in the prototype, I then proceeded with the design of the app UI in Figma and with the development of the actual app, often resorting to AI’s help when stuck.

I thought it could have been interesting to track the development process, so every day, starting from July 30, I wrote down what I did both for the initial prototype and the app with full UI and planned features. Here’s a summary if you are interested:

According to the log, I built the last APK on August 12, taking only 14 days and ~50 hours of work (between learning Flutter, coding, debugging, and designing the app) to achieve an MVP/partially functional product. They were truly two hectic weeks in which I learned a lot about Flutter, UI design and app development.

Flutter app development Some screenshots of my first mobile app in Flutter, with the logo at the bottom left, the Figma design in the background and an early build at the bottom right corner.

However, as the complexity of the codebase increased, my shallow Flutter knowledge and AI’s hallucinations eventually resulted in a development stalemate. While I knew what the code was doing, I didn’t know how to fix some complex bugs, how to integrate Spotify for fetching the music, if it was possible to change the speed of those songs (probably not), and how to create a login/register system with Firebase Authentication. Furthermore, improving the synch algorithm and removing glitchy sounds would have required low-level audio manipulation/processing as well as a significant amount of math and DSA knowledge, which I lacked at the time.

This pushed me to pause development indefinitely and consider reaching out for help from others who are more experienced than me. But, as selfish as it sounds, I did not like handing over one of my “dream projects” to someone else to finish, and it would have been preferable to find more time to learn and improve on the necessary skills to finish my app in the future instead.

I still wanted to share my development journey online, so I worked hard over the next few weeks to write a script and edit a video in DaVinci Resolve about all the details and interesting things I did and discovered, as well as how it felt to create a Flutter app as a beginner with AI’s help (in addition to YouTube tutorials and online documentation).

It resulted in a 40-minute script, which I had to edit with all the coding/design footage I prepared during development (plus other content). To fill the empty parts of the video, I needed either some animations, illustrations, or both.

This was an opportunity for me to practice and improve my modest drawing skills, which had been something I had wanted to do for years but had never begun, so I grabbed my Lenovo 2-in-1 laptop (which had recently replaced my old one) and used Adobe Fresco, the awesome free drawing app from the otherwise expensive Adobe company, to create exactly the type of pictures and animations I needed.

Those made the video more personal and of higher quality, but they also increased editing time significantly: by the end of the summer, I had only completed 10 minutes of the edit, and I didn’t know there would be no more free time from there on.

University

Around mid-September, it was time to start university. In particular, I picked computer science as the area of study (probably not surprising 😆). While many of my old classmates and friends decided to get a job immediately, I already chose to go to university.

That’s for several reasons, the main ones being:

Despite these positives, I actually had mixed feelings for a long time: I was worried of a lack of hands-on practice, a focus on less-interesting or not very useful topics I would be forced to study anyway and potentially outdated courses for the more dynamic/modern subjects like web development and AI.

But perhaps most devastatingly, I feared my personal projects and hobbies (web/app/game dev, music production, writing and lately drawing, too), the things that truly fueled my passion and allowed me to understand what I enjoy to do in my life, would have to be put on hold, leading to a potential spiral of depression and conflict with my studies.

When I started attending university, it became clear that, while my first worries were not as valid or relevant, the latter one, i.e. the lack of time, was definitely spot on. In fact, I greatly underestimated how big of an impact it would have had on my life.

The first few months of university have not been humbling; they have been humiliating.

Approximately two-thirds of my 25-hour/week schedule were math topics, split between a sort of calculus equivalent (it’s called analisi 1) and linear algebra + discrete math (mostly combinatorics). The rest was a programming introduction with Python.

Now, programming was a weird course. To everyone’s surprise, we were allowed and encouraged to program and learn Python with AI (GitHub Copilot or any other LLM), and we could use it along with any internet resource on exams, too. According to the professor, this was a way for us to learn how to code more efficiently and prepare for our future jobs, where we will almost certainly need to use AI to keep up with our peers.

I was fortunate to have learned the fundamentals of coding in high school already, and this occurred just before the widespread adoption of AI, so I was not starting from scratch in this course. However, as a student, numerous reasons to disagree with the AI-heavy approach piled up as the course progressed.

Allowing the use of AI basically meant that every exercise was trivial to solve, just one prompt away from the solution. This in turn meant that the exams had to be more difficult to push the AI to its limits and force us to solve harder problems (which we were not ready to do in some cases) that the AI couldn’t solve, and also it didn’t encourage students to write code themselves, practice a lot, memorize the syntax and reason through the problems.

Of course, as university students, we are expected to be responsible enough to do the hard work ourselves, but with other courses competing for our available time to study and exercise, there was little reason to spend more time learning how to code.

I learned to code by doing all those boring but effective activities, and while it was a worse experience than having an assistant solve all your problems in no time, I can safely say it paid off during this course.

At the same time, I found this to be the most interesting of the three main courses. We covered all of the fundamentals of Python while also having time to explore more advanced topics and use libraries that we would not have seen if the course had not been designed with AI in mind, such as plotting, image filters, trees, recursion, and graphs.

Anyway, the “humiliating” part for me was undoubtedly the two other math courses. We were blasted from the first day with so many math concepts, many of which I had never seen before (series, complex numbers, proofs, etc.). I always took digital notes on my laptop, but not only was the pace of the new topics covered every day too fast, but even the simple act of writing everything down was at times challenging (at least I wan’t the only one feeling this way). Keeping up with lectures and exams felt initially just “hard” (as it normally should), but it quickly became impossible for me.

As much as I studied and exercised, math was a constant source of frustration and I could only concentrate on one course at a time between calculus and linear algebra.

Once I got behind, every day I would just mindlessly take notes on things I couldn’t understand, and then when studying/exercising I’d never have enough time to get back on track. To prioritize university, I had already reduced the amount of time I spent on other activities, but it was clear that I needed to make a more drastic decision.

I put everything on hold. No unnecessary time-consuming activities, no hanging out, no hobbies, just studying as long and efficiently as possible. It was extreme, sure, but I realized it was the only way I could make progress within a reasonable timeframe and hope to pass the exams on time. I was, in a way, procrastinating on life instead of procrastinating on studying.

It might sound silly, but sacrificing all my hobbies meant throwing away a significant part of what gave my life meaning. They weren’t just pastimes, but a potential career path and a source of purpose every day. That’s why I often talk about them here on my blog, as well, and why this is such an important shift in my lifestyle.

Funnily enough, before starting university, I was even considering getting a part-time job to get some experience as a software developer. Now, I couldn’t even comprehend how others managed to keep up with everything and live their normal lives without making the same extreme sacrifices.

The experience, as you’d probably guess, was deeply isolating, a constant battle against stress and the frustration of knowing I wouldn’t do what I enjoy doing any time soon, but even though I had stripped away almost everything else, I maintained regular walks in nature in my daily schedule (as well as other essential activities), which significantly helped me manage stress and clear my head.

As a little side note, for a few years I noticed I can measure pretty accurately how much my life is “busy” by counting how many tabs I have open on my PC. I know, it seems a silly metric, but considering that I use my browser and PC for most of the things I do everyday, both work and study, it surprisingly works pretty well on the long period. Indeed, I made a browser extension just for that some time ago. That’s mostly because I always keep content like important news and new YouTube videos worth watching open for later, and intuitively, the less time I have to sort through them, the more tabs I accumulate.

browser open tabs graph My Chrome extension showing a steep climb in the number of open tabs after starting university.

The situation improved somewhat after that change, but it truly got better once the Christmas holidays began, which turned out to be my most productive time. Not physically going to university gave me back half of the day, and to help with that, the rest of the world generally slows down during holidays, too, and that let me focus entirely on studying without feeling FOMO about everything happening around me or having to deal with distracting commitments.

Around that time, I also began using Anki for the first time (I had previously heard about it but never tried). To use my time in the best way possible before the exam sessions in January and February, I couldn’t make all the cards from scratch, so I tried to make at least the templates/basic cards with AI. It wasn’t a bad idea at all!

The process was not so difficult. I only needed good-quality lecture notes, which my professors luckily gave to all students (we use Moodle to share content in all courses), a sufficiently advanced AI model and a long enough context window. Since GPT4-o free tier wasn’t enough, I simply used the most advanced model there was (Gemini Exp-1206, now already replaced by Gemini 2.0 Pro Exp-0205) inside Google AI Studio, entering a prompt detailing how exactly I wanted the card to be formatted, what kind of content to include/exclude, how to subdivide the subdecks, etc. I then made a .csv file out of the response, which, to my surprise, was quite long and complete, including almost everything explained in the lecture notes. Of course, I still had to improve the cards, add some details, examples and further notes, but after importing those, I was already at a good starting point.

Anki gradually became an important tool in my study routine.

Before it, I would read a few times the material, trying to understand it, and then move on. But when it came time to revise, I’d realize I’d forgotten almost everything.

It wasn’t that I had a bad memory (BTW, I’m bilingual and have played many instruments since I was young; both activities are supposedly beneficial for memory, though I don’t feel particularly good at remembering things). I’m still an average human with an average brain.

Memory simply needs refreshing (spaced repetition for the nerds), and Anki provided that structure, telling me at the right moment to revise something and freeing me from worrying about that or doing everything at the last moment.

It wasn’t miraculous. I installed a plugin, called AnkiDraw, to be able to write down the answer to every flashcard I had to revise (writing it down helps memorization and is an effective test to see if you actually remember and understand something fully), and I often had to repeat some cards several (like 10+) times over multiple days before they clicked.

Anki stats My Anki stats dashboard while I was studying analisi 1 (in Italian).

I could also see interesting statistics about my learning progress, which gave me that satisfying dopamine hit, and I was encouraged to study cards every day so as not to ruin my streak or accumulate too many cards to revise (that were assigned to the previous days).

However, my favorite thing by far is something entirely different: creating my own Anki deck, improving its quality and usefulness as I studied it, has been a way for me to combine my need to study math with my desire to create something useful, something that didn’t already exist and that could help others too.

But Anki was useful for studying the theory, and I needed to do more exercises to pass the first written part of the exams (they are both followed by an obligatory oral evaluation)

So I first focused on the analisi 1 (calculus 1) exam, which was also a requirement for some courses of the next semester, and I never did so many math exercises in a month! I made a lot of progress, but unfortunately, my first attempt wasn’t successful for just 1 point.

At university, you need to get a score from a minimum of 18 to a maximum of 30. I did 17. That was, of course, bad news for me, but I was also reassured that passing this first exam in time was possible and just required a bit more exercise.

Scared of failing a second time too, I eventually made something like 200+ pages of exercises (I use Microsoft Journal, an inexplicably underestimated and completely free app that is so perfect for taking notes and writing on digital paper) and continued to study the theory, improving many of my Anki cards and adding interactive Geogebra embeds to some of them, where I could see and interact with graphs to intuitively understand things that weren’t very clear previously. Of course, many YouTube videos and online resources were also highly helpful in this phase.

The results finally paid off: I got 25/30, then 28/30 after completing the exam with the oral test.

I’m including my results not because I want to brag about them but to remember myself and demonstrate to you that real progress is possible, and it can even exceed expectations when there’s enough commitment.

That leads to now: in the past month I’ve been studying for my last exam, linear algebra, but because I passed the previous one late, I wasn’t able to make this one in time. The next semester (but it should be probably called trimester) will start at the end of this month and last until the end of May.

In the meantime, I just want to exploit my free time as much as possible to study linear algebra (and make a good deck on it too).

Like the calculus 1 deck, which I just finished translating and made freely available on Anki Shared Decks at this link 🇬🇧 (Italian version here 🇮🇹), I will keep this deck text only and embed interactive resources I find particularly useful/illuminating online (always including a link crediting the respective creator), and I hope someone will find it useful when I’ll share that too. It’s very time-consuming at times, but I find it very rewarding and it’s still very helpful to study something if I try first to explain it in a card myself.

In the next few months, I will try to get back on track as soon as possible, and maybe I’ll refresh the basics of the courses I’ll have to do next (Physics, Data Structures & Algorithms, Computer Architecture 1 and Programming 2), just to make sure I can follow the lessons more easily.

I’ve been feeling guilty about myself every time I’m not studying something lately (that’s why I wrote that introduction), and I don’t think this feeling will change as long as I’m behind schedule.

But if I stay consistent and work hard enough during this extremely busy year, I might be able to reclaim some of my free time to make other stuff. As of now, though, I’ll be full-time studying for university for the next three years (now 2½), so I cannot vouch for all my other activities, including writing on this blog.

While I wasn’t very determined at the start of university and completely overwhelmed by it, I’m now much more committed to doing it and finishing it.

And for an additional reason to convince me further to reach the end of this journey, a few weeks ago I had a cool idea: given that the student’s academic path always ends with a thesis (academic essay), which is a document about a topic chosen by the student or work done by them, and that can even be a personal project related to computer science in some way, that would be the perfect opportunity for me to rework my music pedometer app integrating all the complex stuff I was previously not enough prepared enough culturally, therefor merging again my creative and personal ambitions with an academic duty. I quickly browsed through some theses from other computer science students, and this idea seems totally doable!

Other things I’ve done this year

I don’t know where to put these things, but I want to mention them anyway, so here’s a bunch of other interesting/relevant things I’ve done this year.

✒️ Lifelogging

I logged the important things I’ve done every day using Logseq.

I tracked my sleep and walking with Samsung Health.

I used ActivityWatch on my PC to see stats about how I use my computer and what activities required the most time. If you want to see how I categorized each activity, I’ve uploaded the categorization JSON file on MEGA.

ActivityWatch stats My ActivityWatch stats for a sample week (in Italian).

🎸 Electric guitar

I bought my first electric guitar, and it’s amazing! 🎸🧑‍🎤

🌳 Plant trees

I designed a new garden next to my house in Blender and planted 28 trees of various species there. Let’s hope they’ll all survive the cold winters and extreme heat (and that they are not eaten by roe deer, which are numerous here) 🤞.

Small trees The new tiny plants I’ve planted. Garden design The garden design I made in Blender to imagine how the tree setup would look like and how it would turn out if everything went right.

🩵 Joined Bluesky

In a decline that began after Elon Musk purchased Twitter, renamed it X, and introduced several questionable changes, that platform had become so unusable that I was eventually forced to relocate my profile elsewhere. Fortunately, I was not alone and as I did (on November 17), many other users joined Bluesky as well, roughly in the same period.

Oof 😮‍💨 just finished migrating here from *The Other Platform*. I'm Sam. Let me (re)introduce myself:👨‍💻 Software dev (mostly games and apps)🖌️ Into Blender and aspiring artist🎹 Musician & Music maker (Ableton)✍️ Occasionally write and make videosStarting fresh and loving the vibes here already!

[image or embed]

— Samuel Mediani (@sam-med.bsky.social) November 17, 2024 at 10:31 PM

Bluesky has been great and as soon as I joined it, it was the first time a social media platform gave me a sense of solace while using it. Knowing that all posts use an open communication protocol (and there are no ads) is very comforting, too. It suggests long-term stability, which was no longer a thing on Twitter. I had some issues with bots and recommendation algorithms at first, but they were eventually resolved, and I can now be a part of a positive online community that values human work. You can find me there at @sam-med.bsky.social.

🤖 AI disillusionment and job fears

If 2023 was the year of AI hype around the world, 2024 has been the year of “disillusionment”, and I was no exception.

Last year my perspective on AI shifted dramatically: after using AI intensively to code, explain how to do exercises, and more, I found that while it helped me in those activities and sped up certain processes, it had a hidden cost: hallucinations (so many in math exercises), errors, and an over-reliance on its answers often prevented me from actually understanding and learning something deeply. AI was both useful and detrimental at the same time.

I made many errors, but that’s probably because I’m still just starting out. It’s easy to criticize AI use when you’re already a skilled creator or artist. But as a beginner, lacking resources and experience, it’s incredibly difficult to resist the temptation to use AI to generate complex code or create images that I would struggle to produce myself.

Anyway, I need to write and create things myself first, and only then, if necessary, use AI for editing or refinement of my work. And future generations need to do the same, even if I feel like it’s becoming increasingly challenging.

I realize that I was initially driven by a sense of urgency, a fear of falling behind in a rapidly changing world. That’s still true today, and is probably a common feeling among my generation. I felt compelled to use AI to accelerate my progress, to produce results quickly and to avoid the risk of falling behind. But by doing so, I only ended up wasting more time and never truly learning anything deeply.

I must acknowledge, however, that moving fast and experimenting with many things allowed me, before university, to work on multiple projects (even if only partially), explore various passions, and discover what I truly enjoy. I still learned a lot, though in a broader, less in-depth way. There’s always a balance between specialization and general knowledge.

I recently watched a video by ThePrimeTime that perfectly reflected my latest fears about AI and was extremely illuminating for how I should behave when using AI in the future, as I aspire to become a better programmer and creative human in general. I’ll highly recommend you watch it; it’s this one here: AI Is Making You An Illiterate Programmer.

📚 Content consumption

As I’ve said, both 2024 and these first months of 2025 have been exceptionally busy, so I didn’t watch/read/play a lot of stuff. I bought many books last year and I’m eager to read them, but first I have to focus on university.

As for video games, I managed to play only two of them, but they were both incredible gems and unforgettable experiences. I’m talking about:

They certainly deserve to be in my “Must Play” category.

What’s next?

The coming months are going to be intense and my main focus will still be university. I’ll continue refining my Anki decks and optimizing my study workflow, and if possible, try to carve out time for personal projects, family, friends, and other activities.

Regarding last year’s post, here are the things I did/did not do:

2024 goals list

I’m not ready to promise anything for this year, but if I manage to stay on track with my studies, I hope to slowly reintroduce some of my creative projects.

Until then, thank you for reading! 🤗.



Other posts: