A Year In Review
05 Jan 2021
11 minute read
– title: 2020 into 2021 tags: [learning, life] category: general —
Table of Contents #
- 2020 into 2021
2020 into 2021 #
Inspired by this post and this one.
It’s the end of 2020 and the beginning of 2021. This is my personal review of my year and also acts as a way to track what I want to accomplish this year.
I did something similar last year - but with this post, I want to be a bit more detailed in my overview.
An introduction #
At the end of 2019, I began participating in an open-source competition organized by Google - Google Code-In (GCI for short). This was truly an amazing experience that launched me into open-source software and collaboration by working with Publiclab.
The way this program worked (this was its last edition) is Google selects open-source organizations that welcome teenage contributors for the two-month competition period. At the end of these two months, each org picks two people who they deem made the most useful contributions during the period and were most dedicated to the organization.
I worked so hard during the competition and managed to be selected as one of my org’s Grand Prize Winners.
This event was one of the best things that happened to me in 2020. Not because of the trip my peers and I were supposed to do in California (COVID!!), but the connections I formed simply by becoming a part of the community with all the year’s / previous year’s winners. These connections are actually the cause of many of the positive things I ended up doing throughout the year.
I felt I had to talk about this at the beginning of this post because I wouldn’t have done close to as much this year without these people.
Learning #
What I wanted to learn about at the beginning of 2020 #
- Cybersecurity
- Rust
- Vue / Node.js
- Artificial Intelligence
What I learned in 2020 #
Competitive Programming and C++ #
I’ve been getting into competitive programming and learned C++ along the way. Solving a difficult problem can be extremely satisfying. Reading The Competitive Programmer’s Handbook.
Cybersecurity #
I made a cyber-security capture-the-flag team 1 with the aforementioned GCI peers. I learned a lot about how web exploitation, cryptography, and even blockchain hacks, not to mention how to write writeups for your solutions.
We’ve managed to do pretty well and even won one of these competitions!!
Natural Language Processing #
This is a domain that I find especially interesting and it really launched me into programming. Last year I played with the awesome spaCy python library but I want to learn more about the actual theory of this subject and maybe implement a few of my own text analysis/generation algorithms in Haskell or Rust. Reading Speech and Language Processing.
Genetics / Evolutionary Game Theory #
I read the Selfish Gene and found it quite insightful and lead me to look at different situations and behaviors through a slightly different lens. Also, the notion of Evolutionary Game Theory strikes me as extremely interesting and I want to learn more.
Programming Languages #
Functional Programming is a super intriguing paradigm for me and learning Haskell has been super fun. It has some really cool concepts that I might write about coming from OOP. Reading Get Programming with Haskell.
I’m also learning Rust a bit more slowly because it strikes me as an extremely elegant and efficient language that also brings some enriching new ideas to the PL game.
Getting into Crystal has been a breeze coming from Ruby, and I truly recommend it as a more efficient alternative.
On the other hand, I’ve been a bit turned off of JavaScript and the Node.js runtime, not to mention its somewhat package management system.
What I want to learn about in 2021 #
Get better at:
- Haskell / Rust
- Competitive Programming
- Natural Language Processing
- Turkish
Learn more about:
- Writing Well
- Learning how to Learn
- Mathematics (I have an eye on a few books I’d like to read)
I also expect to discover many other subjects that I’ll dive into.
Projects #
Archivy #
I am quite happy with my progress developing Archivy, a project I began in August that has since grown enormously.
It’s a knowledge base tool that takes a novel approach to how we store and organize information digitally.
I plan on releasing a release candidate for 1.0 with a new design and many other features soon (end of January?).
AdiosCorona #
AdiosCorona is a project I built with a team of researchers to provide clear, factual information on the pandemic. I’m happy to have done my part by building the frontend and backend for the scientists that allowed them to write and publish quality content for hundreds of thousands of people.
This wasn’t the most fun project to do, but it’s definitely a website I’m happy I made.
Devolio #
Last year I talked about my plans to grow Devolio, a developer social network I was working on.
Unfortunately, my goals were dismayed here because I underestimated the difficulty and commitment of building a community. However, I don’t regret anything as the experiences I earned and the technologies I learned about building it were invaluable.
Other / Misc #
Projects in 2021 #
I want to:
- Consolidate Archivy and stabilize the project
- Work on a project related to content discovery/consumption and the current state of finding content online.
- Implement a project for a solar energy idea I’ve been having
- investigate compression of software packages specifically in Pypi
- maybe write a simple, minimal newsletter manager centered around links
Writing #
I wrote 9 blog posts this year for a total of 10811 words. Most of them were about cyber-security and some on tech.
This compares to 15 blog posts last year for 8866 words. I didn’t spend much time writing but I’m still happy with the blog posts I wrote and I’d like to write more frequently this year.
Blog post ideas for this year #
- Learning Haskell: Perspectives coming from OOP and quickly highlight the very neat ideas Haskell introduces that are pretty much non-existent in more traditional languages
- A Case for the Web: I’ve been seeing a lot of posts 2 about fundamental problems with the Web and its implementation. These bring up a lot of good points but I think many of the ideas that make the web so powerful are left ignored or presented as a lesser trade-off.
- Overview of how I organize/process new knowledge
Other goals #
I’d like to do some more climbing and see some of my close friends from GCI I’ve never seen in real life (if covid allows).
I’m also hoping to obtain an internship this summer (in research or industry), which should be a fun and educative experience if everything pans out.
I look forward to also getting into writing poetry as a creative outlet, as I really enjoy producing the odd poem here and there.
Miscellaneous #
Cool words I learned #
- halcyon: A fabled bird, identified with the kingfisher, that was supposed to have had the power to calm the wind and the waves while it nested on the sea during the winter solstice.
- akrasia: Akrasia, occasionally transliterated as acrasia or Anglicised as acrasy or acracy, is described as a lack of self-control or the state of acting against one’s better judgment. The adjectival form is “akratic”.
- evren (Turkish): universe
- syzygy: Either of two points in the orbit of the moon when the moon lies in a straight line with the sun and Earth.
- procrustean: Producing or designed to produce strict conformity by ruthless or arbitrary means.
- helicon: In music: An ancient acoustical instrument, consisting of several strings so disposed upon a resonancebox that their lengths could be geometrically adjusted, and thus various musical intervals demonstrated.
- exegesis: Critical explanation or analysis, especially of a text.
- amaranth: Any of various annual plants of the genus Amaranthus having dense green or reddish clusters of tiny flowers and including weeds, ornamentals, and species cultivated for their edible leaves and seeds.
- oleander: A poisonous Eurasian evergreen shrub (Nerium oleander) with narrow leathery leaves, widely cultivated for its showy fragrant white, rose, or purple flowers.
- animus: An attitude that informs one’s actions; disposition or intention.
Cool articles discovered #
Check out my attic.
Books read #
See literature for more detailed book reviews.
Fiction #
- The Three-Body Problem trilogy - Cixin Liu: A truly striking read. Covered a wide range of subjects like the Fermi paradox and the Three-Body problem while creating a well-crafted story.
- Cryptonomicon - Neal Stephenson [WWII] [Cryptography]: High quality book with narration alternating between WWII and more modern times. On cryptography, warfare and technology.
- Permutation City - Greg Egan
- The Forever War - Joe Haldeman
- The Broken Earth - N.K. Jemisin
- The Amazing Adventures of Kavalier and Clay - Michael Chabon
- The Man in the High Castle - Philip K. Dick
- Excession - Iain M. Banks
Fiction (school) #
- Wide Sargasso Sea - Jean Rhys
- Intimate Apparel - Lynn Nottage
- Howard’s End - E. M. Forster
- Cry, the Beloved Country - Alan Paton
- Les Lettres Persanes - Montesquieu
- Le Malade Imaginaire - Molière
Non-Fiction #
I am still actively reading some of these.
- Speech and Language Processing (3rd ed. draft) - Dan Jurafsky and James H. Martin - Detailed, not too difficult to get into, and clear.
- Competitive Programmer’s Handbook - Antti Laaksonen. Sprawls over a wide range of algorithms and common problem patterns, but maybe sometimes a bit too fast.
- A People’s History of America - Howard Zinn [history] - quite educative perspective that illuminates American history with a very cynical but realistic tone.
- The Selfish Gene - Richard Dawkins [genetics and animal behavior]
- The Code Book - Simon Singh [Cryptography] - Blends history and cryptography in a quaint introduction to the field.
- Get Programming With Haskell - Will Kurt
- On Writing Well - William Zinsser
In the near future, I plan on reading:
- Exhalation - Ted Chiang [Sci-Fi]
- Godel, Escher, Bach - Douglas Hofstadter
- Snowcrash - Neal Stephenson [Sci-Fi]
- Use of Weapons - Iain M. Banks [Sci-fi]
- The Black Swan, the Impact of the Highly Improbable - Nassim Taleb
- To Kill a Mockingbird - Lee Harper
People who inspired me this year #
In no particular order:
Nils Andre, Aadi Bajpai, siraben, Dylan Iskandar, Aayushman and many others.
-
A capture the flag event is a cybersecurity event where several teams compete to solve a set of challenges created by the event organizers the fastest. These can be on several subjects like cryptography, web exploitation, reversing, blockchain, etc… ↩