Home Goodbye 2025, Hello 2026
Post
Cancel

Goodbye 2025, Hello 2026

I’ve been busy, so its past new year already, but still, here’s a recap of my 2025.

I’ve always wanted to write a full-year recap, but since my lazy ass never did, this is the first one. Let’s hope this becomes annual.

Cool, let’s start.

Problem Solving & Competitive Programming

PS and CP are both big parts of my life. I’ve started doing these since 1st year of high school, and it doesn’t seem like I’m stopping soon. This year, I’ve started doing more codeforces, and participated in a few contests.

PS

Didn’t do much, unlike in high school where I solved quite a few BOJ problems, mostly because I was so god damn busy all the time. Largely, I learned about Formal Power Series(FPS) thanks to a senior (currently working on their PhD) from my school, which I used to solve two high rated problems.

Codeforces

While the rate at which I participated in CF increased dramatically, my scores, not so much. In fact, right after the first semester started my rating plummeted from around 2000 to around 1600. Then, after a year of just staying in Expert, I barely managed to pull it back up to Candidate Master, though its under 2000. This isn’t good news, as all my friends who actively do CF all managed to increase their ranks (two friends each achieved CM -> M, and M -> GM).

ChatGPT and a bunch of other AI tools suddenly got extremely good at CP, which I guess is one reason for my fall in CF. Another would be the fact that I’m simply very bad at CF style problems, as a person who loves geometry. Also I was pretty much running on empty 24/7 this year, and since I do CF without any preparation, this could also work towards my downfall, although I’m not sure that’s the case.

Still, despite all that I do think I’m slowly improving. My current rating graph looks like shit, but it is going upwards. Hopefully next year things will be a little different.

ICPC

A very big event this year is I participated in ICPC. At first, only me and one of my friends came to POSTECH, so we were one short on team members. Thankfully I found another freshmen who has experience and some skill, and the three of us became a team. Our team had the highest average CF rating out of all teams in POSTECH that participated in ICPC (there are like, 4), which was good news. Bad news was the three of us (actually, just one of us) had drastically different schedules, so it was near impossible to find a time to practice as a team.

So with our under-practiced team we participated, and ended up with a final place of around 30th. The main problem was that one of our teammate had a lot of trouble with solving an implementation problem, using too much time and adding too much to the penalty. The cause of this, as we concluded, was lack of team practicing. Out of the three of us, I have solved the most problems on BOJ (around 2400) and I regularly dabble with geometry, meaning long implementation is my strong suite. However, our lack of team practice and lack of coordination led to no one knowing who to do what, which ultimately led to this result. Therefore with this experience and knowledge in hand, we hope next year to be different.

Additionally, I screwed up by reading a problem wrong. I didn’t have enough time to solve it anyways, but still, I often mess up by simply reading the problem wrong (happened again in CF goodbye 2025). I don’t know how yet, but I should really look into reading things correctly.

Other

  • The same team from before (I’ll just call this our team) participated in the POSTECH Programming Contest held inside POSTECH. We got first place and a prize money of 1,000,000 won each (nice). Thanks to my teammates who did the heavy lifting while I spent 3 hours solving one geometry problem. This year we’re supposed to coordinate PPC.
  • Our team participated in UCPC. We almost failed to go to the finals, as while I solved 4 problems my other teammates spent all the time using a lazy segtree on a bruteforce problem. Thankfully we made it at 61st place. At the finals a randomization problem doomed all of us. This was not a good experience, although I do think that the randomization problem was more of the issue here.
  • Helped in the coordination of KASIT’s 2025 spring contest. There was a hellish geometry problem which I didn’t have the time to solve. I went to KAIST to help with some onsite stuff. It was fun.
  • Participated in KAIST’s ICPC mock with my team. Unlike UCPC, we did fairly well, with each of us solving a moderate amount of problems, and landing in a somewhat reasonable place. We could have done better, but this was a good experience and practice.
  • Participated in SCPC solo, solved 2 problems at finals. While I didn’t win anything, I got a keyboard, deskmat, and a t-shirt. Still, I felt that getting a prize at SCPC isn’t impossibly hard, and I hope I can win something this year.
  • Helped coordinate IamCoder 2025 Qualification, Half-Year, and goodbye. I didn’t do much, and mostly used it as an excuse to go to my high school and get free food. Still, I made the IamCoder 2025 Half-Year banner art, which I’m quite proud of.
  • Went to the UCPC Seminar. This was a very nice seminar with lots of good insights on what do in the future as a person who is into PS/CP.

Overall, my personal performance in this field didn’t really increase dramatically, if at all. On the other hand, the amount of team contests increased, and I feel like I perform better in these team ICPC-styled contests more. Last year my team was very under practiced, as I was pretty much the only one who did quite a few team practices. Now since all three of us have experience, I hope things will be better. Additionally, all the very skilled people at POSTECH are now no longer able to participate in ICPC, so the chances of us going to the world finals is higher than ever. Hopefully we do manage.

CTF

One of the big differences ever since I came to college is that I got into hacking. I initially had no thought of doing this, but both one of my friends and my roommate gaslighted me into joining POSTECH’s cybersecurity club (PLUS), then both quit, and now I’m the only one in. So yeah, I started CTF. I’m still terribly bad at it, but here’s a brief overview of what I did.

Stuff I learned

In CTF there are 4 large categories; crypto, reversing, pwnable, and web. There are more, but these are the biggest 4 and honestly I literally have 0 clue about anything else. When entering PLUS the seniors teach all 4, but because of my trip to SoCG I missed all the important stuff on pwn, and web is just impossible for me to do, so I ended up with crypto and reversing.

For crypto, I learned a lot about basic cryptography and basic ciphers, and most importantly RSA. I forgot most of these because I didn’t return to any of these for a while now, but I do remember about LLL, a lattice algorithm used to crack some crypto problems, because this one was pretty cool. A lot of RSA cracking relies on number theoretic methods, and other ciphers like stream ciphers or block ciphers seem to rely on exploiting certain known features to reduce the search space drastically. I’m no expert though, so take it as a grain of salt.

The other category I dwelled with was reversing, which is a category on reverse engineering compiled programs. I initially wanted to do this category, because I thought reading assembly would be cool and very hacker-like, but it turns out 90% of the time I’m staring at terribly written decompiled code and trying to figure out wtf this thing does, so I guess fantasy is fantasy. Still, I learned quite a few about assembly, from being illiterate to about baby level. Also I learned a bunch of tools like gdb, gdb script, Z3 and angr. While I only thought C code was my main nemesis, I learned about web-assembly and reversing that. I also reversed some cryptic lambda calculus code, which took forever, some weird script called puzzle script, and much more. Despite all that, I still know nothing, and cannot even begin to solve like 90% of the problems that show up at CTF’s

Dreamhack

As a method to increase my CTF skills, I tried Dreamhack. First of all, Dreamhack is… not as good as I expected. The site itself is well made, with good UI and stuff. However, there aren’t that many problems, which is understandable, and almost everything is blocked behind a paywall, which is not good. To solve a problem in Dreamhack, many problems require you to open a virtual machine. If open a machine it automatically closes in 2 hours. You get two chances at opening VM’s, and if you solve a problem you get your chance back, and if not you lose it. How do you earn more chances? Money. What about useful courses to teach you about topics you don’t know? Also money. Don’t know how to solve a problem? Don’t worry, kind people have written tutorials on how to solve them. Oh you can’t see it? That’s because you DIDN’T FUCKING PAY MONEY. As someone who isn’t willing to pay anything, this was very annoying and I had to let it out somewhere.

If you’re new to CTF, I feel like Dreamhack is pretty useless unless you’re willing to pay anything. And as someone who slightly tipped their toe into CTF, Dreamhack still feels useless as it’s impossible to know what problems are about and you can’t practice certain types of problems. Very different from BOJ where all problems have a variety of different algorithm tags. I feel like it’s way better to just participate in CTF’s, since they open like every weekend.

List of CTF’s

  • IERAE, Google CTF, R3CTF are all CTF’s that opened before I properly learned anything. Therefore I didn’t really do much.
  • PLUS had a 2025 summer QE. I solved a crypto problem because it had Sans in it. Then I solved all reversing problems. The most memorable problems were: a problem that created a VM using printf statements (I never knew a user could define a %x statement), and a problem where a senior created a 24bit-color version of piet. This one literally took all day to solve.
  • HITCON 2025. I cant even count the number of different teams that united for this one. As a newbie, I just watched the veterans in awe.
  • CorCTF was done by POSTECH and Korea University’s cybersecurity group. I managed to solve one misc problem, which was about overriding some command lines.
  • Imaginary CTF. Here, I solved a geogeassr style OSINT problem with the help of a friend, and another problem on figuring out LLM models based on their output to a single prompt.
  • CSAW. This one wasn’t a good CTF, with the server exploding multiple times. I solved two OSINT problems, one was super annoying thanks to the same building having two different spellings for its name, and a misc problem, which was about writing words without alphabets with a limited number of space.
  • WhiteHat 2025. This one I participated with 3 of my friends. I started by solving an LLM guessing problem, then spent the rest of the time figuring out how to debug a PE file. I managed to in the end, but failed to solve it.

I tried CTF like once in high school and gave up as it was too hard. Thanks to the help of PLUS, I managed to properly start this time, and it was fun and I learned a lot. This year I’m hoping to get a little better so that I can actually do something in CTF’s. Also I want to puck up some other topics like pwnable or forensic. Still, it’s still very hard to learn new topics as there are very few recsources and CTF’s don’t give out official editorials like in PS/CP.

Overall, I feel like this field of CTF is a lot less friendly than PS/CP. In the world of PS there are a lot of online judges with tens of thousands of problems that anyone can solve, including resources explaining algorithms, how to solve problems, and official editorials. All for free. In CTF however, there is none of that. No good site to practice (I’m not counting Dreamhack because of money), not many resources, and no official editorials. Simply put, I feel like CTF is just gate keeping (whether people are intending to or not) from new people from joining. If I get the chance, I want to do something about this and make getting into CTF easier.

GameDev

On a smaller note, I’ve started game development as a developer in POSTECH’s gamedev clup G-POS. I’m working in a team led by one of my seniors, with a total number of around 10 members. We’re planning on making a VR FPS game. I’ve always wanted to try gamedev, so this was a good opportunity.

However, fantasy is fantasy, again. Maybe it’s because I dabbled with theoretical stuff for so long, but using unity and coding features just didn’t have it’s charm as it did when I was in middle school. While the gamedev I’m doing know isn’t exactly boring, it lacks some sort of soul. Instead of me doing what I think is right, and me using my head to figure things out, I’m simply taking orders and doing as told, which isn’t the most fun thing to do. Also, writing “good” code and maintaining projects with git is a headache I never experienced before, and this part is definitely not fun.

I’m going to see the end of the current FPS project I’m working on, as this is a team project and I can’t just quit midway, but I’m not sure if I want to continue doing this in the future.

College

One of the biggest changes last year is that I am now a college student. An adult, although I don’t really feel like one. Last year, while everyone was going through hell because of the entrance exams, I laid back and just did what I wanted to. In addition, a lot of stuff here and there changed. As a result, instead of KAIST, which was my #1 pick college, I got into POSTECH. Still, POSTECH was my #2 pick, so I wasn’t too upset, and in fact, am more than satisfied with this result. Here are a few reasons.

  • In terms of PS/CP and competitions, there aren’t many students in POSTECH in total, resulting in almost no one doing these algorithm stuff. In other words, if my team just tries hard enough, ICPC World Finals is not just a dream. I am pretty confident that we will be able to make it to APAC next year, so fingers crossed. Of course, the fact that there aren’t many people into algorithms isn’t really a good thing for me, so next year I’m going to have to try my best to get people into it. For some reason, anyone I become friends with just doesn’t believe me when I say algorithms is fun.
  • Getting a good GPA has never been easier. In the first semester, everything except for writing and general chemistry was stuff I learned, and I got an easy A+ on all of them. I could have gotten an A+ for chem as well, but Deltarune chapter 4,5 released on the day of the final exam. Also I failed writing (still got a B+ tho). Similarly for the second semester, except for bio and physics (both A0) I got all A+, resulting in a current GPA of 4.17. My other friends are trying hard to get 3.7~3.9, so I guess this is ok. Basically, the stuff I’m learning now is a lot more fun than in high school, and also studying now actually feels like studying, rather than crunching for grades, which actually makes studying for tests a little better.
  • There are two algorithm professors, both of which work with computational geometry, and one who also does some graph theory and computability(Professor Eunjin Oh). In fact, I contacted professor Eunjin Oh early first semester and earned a ticket to SoCG 2025, did a very very crude and simple lab intern like thing during the second semester, talked with her a few more times, and so on. So yeah, having a professor working in a field I’m very interested in is very cool, and actually getting know that professor just comes with a bunch of upsides.
  • The school is far from home, so I don’t have to go home often. Also pretty much everything is accessible at walking distance.
  • Oh, and I got a free ipad and lots of free money. Plus the school is also free if I keep up a GPA of over 3.0, which is easy.

So yeah, I’m having a great time at POSTECH and not once have I regretted coming here. In fact, I feel like I did a good job to come here, as I don’t think I would have managed to go to SoCG if I went to KAIST. Also, planning meetings with random professors of interest and doing lab internships early on is very common in POSTECH, which is very good news as I plan on trying myself early on.

Also, coming to college, a bunch of interesting looking classes are opening, and I really want to make the most of it. As a result, I ended up taking quite a lot more classes than I first anticipated. I didn’t manage to listen to much in the first semester, but in the second, along with some boring mandatory classes, I managed to squeeze in two lectures, discrete and computational geometry, and parameterized algorithms. Discrete and computational geometry wasn’t as fun as I thought, mostly because I already knew over half of the lecture, but parameterized algorithm was one of the most fun lectures I have listened to. I really want to listen to a lot of lectures, which is why my plan for next term is looking suicidal, and I’m not sure if I could keep this up, but I’ll never know without trying.

A few downsides of my college life are people. Not that the people around me are bad, they’re all good people, but because the people around me are quite similar. Other than my high school friends, I made some new friends in college, and I went into 5 different clubs, but the people in the 5 different clubs are like 90% the same, and as a result I failed to meet some different and new people. I plan on joining a new club this year, so hopefully this will spice things up a bit.

Another problem is money. Currently the only income I have is the money I get from my parents monthly. Thankfully, I’m not one to use lots of money, but still, I like a good meal, and with my current income the best I can manage is the food at the school cafeteria. I did earn some (actually, quite a lot) money from winning PPC, and from going to SoCG, which allows me to go overboard once in a while. Still, I would like to be able to order food without wrecking my head over the price one day.

Studies

I feel like I studied a lot this year. Hopefully that’s true.

Computer Science

  • Problem Solving
    • Other than Formal Power Series, I didn’t learn much related to problem solving and stuff that might help me in competitive programming.
  • CALOP WL25
    • CALOP is something new made in POSTECH, dedicated to algorithms and optimization. CALOP did a winter camp early this year, which I attended with a friend. A lot of stuff related to graphs was stuff I learnt last year at KAIST DIMAG, and the other stuff on optimization was something I didn’t know about, and also didn’t manage to understand
  • DIMAG SSCA25
    • Like last years at KAIST, this time it was done at POSTECH. While last years lectures were about stuff highly related to PS (flow, matching, tree decompositions), this years lectures were more about very recent studies on graph theory. Because of this the difficulty of the lecture skyrocketed, and me and my friends had to spend hours at night after the lecture to properly understand anything. Even this became impossible near the end of the week.
    • Still, despite the difficulty it was a chance to take a glimpse of what modern mathematics and graph theory was about, and what future studies might aim to achieve. Learning something new is always fun, so even if the difficulty was something I’ve never experienced before, I had a lot of fun, and hope to attend again next year, if it opens.
  • SoCG CG Week 2025
    • Thanks to professor Eunjin Oh I was able to attend CG Week 2025 at Kanazawa. I wrote a post about it, so I won’t go into much detail.
    • I got to experience what an actual conference feels like, and listen to a whole bunch of sessions about the most recent studies on computational geometry. While what I understood is miniscule, I got to know about a bunch of new problems in the field, along with new knowledge on problems that I previously knew about.
  • School
    • In the first semester I took a Data Structures and Intro to Programming. Both were about things I knew, so they weren’t really interesting.
    • Second semester I took Discrete and Computational Geometry, and Parameterized Algorithms. It took some time for me to choose, as they are both graduate courses, but if I survived this years DIMAG there’s nothing I couldn’t do, so I took both. D&CG was mostly about stuff I knew so it wasn’t all that hard. Parameterized Algorithms on the other hand, was extremely fun. It was very interesting and fresh to learn how to design algorithms in this field, as it’s quite different from what I’m used to. Overall the best course I’ve taken so far.
    • I took a course that was basically about professors coming and introducing what they do. Most of it was about boring AI stuff, but the first one was about programming languages and continuous computation. This one was very interesting, and I plan to learn more about it this year.

Math

  • Other than the DIMAG stuff and the mathematical stuff at SoCG, there wasn’t much I did with math.
  • At school, I took Calculus 2 and Probability and Statistics. Nothing too special about Calculus 2. The professor who taught P&S also taught a lot of analytic parts like Borel Sets, and the precise definition of probability and so on. This was fun, but statistical part was boring.

Other

  • I took a writing class which I failed miserably. Overall I’m just bad at writing in Korean, and the topic was way too difficult for me, as it was something about I literally had no idea about. Also, while our class did a debate, most of the arguments and the debate itself just felt so meaningless to me. Like, it was basically just saying the same thing over and over again, just with different sources.
  • I took a mandatory class which basically taught how to exercise and run. While I sucked at it, I did like it, and it was extremely helpful.
  • I am currently in the process of taking a Greek Tragedies class and a Japanese class. The Japanese class is way too easy, but the Greek tragedies one is quite interesting.

Research

I love research. During high school, there was a mandatory R&E session, which I thoroughly enjoyed. While there isn’t anything like that in college, I tried my best to make the most of what I could do.

CG Week 2025

This one pretty much speaks for itself, and I’ve talked about this a million times. Still, this is one of the most research-related thing I did so I’ll just leave it here.

Undergraduate Research Program

UGRP for short. This is a program done at POSTECH every year, where teams of at least 3 conduct research freely, and show the results. The total time given is about 8~9 months. Of course, I had to do it. I needed two more people, so I just took my ICPC team. As for the topic, I really wanted to do something related to algorithms (I mostly did heuristics during high school), so I went with distance oracles in unit disk graphs, as that seemed to be a somewhat doable topic for three newbies (spoiler: it was not).

Long story short, we barely managed to finish this, and I did like 99.99% of the work. The results are yet to be announced (about 2~3 weeks from the point I’m writing this), and I really hope I win something because I poured my god damn soul into this. To be honest though, most of the “research” students do in this program are stuff related to AI and making robots and stuff, as that technically is the most doable for undergraduates to do. Me on the other hand, did something that is purely theoretic, and 100% mathematics. Still, I can assure that the quality is better than some of the stuff that won an award last year, so fingers crossed.

I’ll probably talk more about this in a future post, after the results are out and when everything is truly over. So keep tuned for that. I did learn quite a bit from this program, which honestly I find quite surprising.

Conclusion

So that’s about it for this post. There might have been more to write about, but it’s already February and I can’t remember anything. I’d say 2025 was alright, but things could have gotten better. Let’s hope they do in 2026, even though 1/12 have passed. That’s all from me, cheers.

This post is licensed under CC BY 4.0 by the author.