Generally, when it comes to 2020, the less said the better, BUT, since I’ve really enjoyed writing those posts before, here I go.
Unfortunately, due to the covid pandemic I wasn’t able to travel nearly as much as usual in 2020. I am definitely the indoor type and I would never complain about staying at home, but the reason this really sucked was that I wasn’t able to go back to Bulgaria and see my family as often as I would have liked. So, to a pretty huge extent I missed the second year of my nephew’s life which I count as a great loss.
That being said, the little time that I was able to spend him was pretty magical. Getting a bit older, he is also getting a lot more fun to be with. It’s incredible how much information he soaks just by listening and looking at us. I wish we get to a point in ML, where our algorithms will train like that as well.
Another thing I found quite interesting about him is how fearless he is. Other than a small crab toy that he reeaaally doesn’t like, there’s pretty much nothing scary for him. Walking alone very far from us while outside or going in the dark are certainly no problems for him.
It might seem weird to have a whole section in my yearly review about something so inconsequential as a gig, but it was certainly a memorable experience for me. I have been a huge fan of Goran Bregovic and his Wedding and Funeral Orchestra for the last 10 years or so and seeing them live was incredible. They pumped a lot of energy into the audience and we came out of it sweating, sore and exhilarated.
That’s pretty much the only band I am this excited to see live and I am really glad to be able to say that it was even better than I imagined it would be.
Since the gig was in Madrid, we also had a great time walking around and eating tasty food. It’s a really beautiful city.
I have been having more and more responsibilities at work which unfortunately leads to less and less motivation to do rigging in my spare time.
The big things I want to explore around rigging in the future are two, but since I really feel burned out from it at the moment, I will just share them here, so they are not just forgotten.
Creating guidable components that can swim inside the geometry is certainly one way to make positioning pivots a lot more interactive and intuitive. What I would like to explore is building the whole rig in that manner.
Essentially, instead of rebuilding the whole rig on a change, I would like to be able to have small hot swappable parts which I can very quickly modify and see the results of, rather than waiting for a full rebuild. The reason why that is tricky is that usually there are some interdependencies between components which needs to be handled.
My ideal workflow would be to have the guides, build code, weights, blendshapes, etc. all opened in different editors/views and modifying each one will rebuild only the modified part in the final rig view.
I have done no research into this area, but if I ever get motivated to look into rigging concepts again this will certainly be towards the top of my list.
Weight painting, blendshapes and positioning joints are the three things that are incredibly hard for automating, since they rely so much on our incredible brain capabilities for pattern recognition.
While an algorithm for weight painting or blendshapes seems so arbitrary that I have no idea how that could be achieved, positioning joints for a biped to some extent is quite straightforward.
My plan is to normalize geometries down to a scale that fits in a pre-defined cube and then voxelize that geometry, so we move away from the arbitraty N - dimensional input (N being the number of verts) to a nX * nY * nZ - dimensional input where nX,nY and nZ are the number of voxels in that pre-defined cube. At that point we have a standardized input which can be plugged into any standard neural network model, although, I would be particularly interested in Convolutional models, since the input is a 3-dimensional cube of voxels which fits very nicely into the idea of having a small kernel explore the input for recognizable features.
I admit that his project seems a lot more appealing to me than the one above, so it’s literally at the top of my rigging to do list.
Being at home almost the whole year, I was looking for different games I can play with my friends. We played a bunch of jackbox games, a couple of DnD sessions and some fun, albeit dumb, homebrew games. At around the sametime I was talking to coworkers about the Godot engine that I’ve been reading about, so I started looking into it. Although that’s a lot of fun, I kind of regret spending a lot of time in it, since it feels like a bit of a wasted time.
I was working on an RTS game, which is almost a clone to the old Castle Fight map in Wacraft 3. Horrible idea for a first game, since the scale and amount of features to be handled is quite huge for a gamedev newbie. That’s why I spent a lot of time writing and rewriting different components in order to speed it up. Unfortunately, I ended up giving up, as even after writing my whole navigation system in C++, I still wasn’t able to get a steady 60fps with more than 350-400 units in the world.
I had a lot of fun in the beginning of the year looking into ray tracing. I know most people write ray tracing engines in their university days, but I never saw the appeal back then. Clearly, I’ve matured now, right?
That incredibly simple renderer is probably my favourite project of 2020, because the concepts behind are just so intuitive. The idea of rays bouncing around feels almost tangible and the techniques of modeling that (described with an amazing clarity in Peter Shirley’s Ray Tracing in One Weekend) are very easy to go along with.
What I found a lot less fun than the basics was trying to put that on my GPU using CUDA.
You can find more images and the code at my github repo.
Following my last year’s Advent of Code adventure, I was really looking forward to this year’s one and I wasn’t disappointed at all! The one thing I really don’t like about it is that it’s in December, since that’s usually the month where I want to spend as much time as possible with my family.
That being said, though, this year I tried doing it in Rust and I really liked it. Yes, I found it very frustrating at times, mainly because of an inability to understand the rules about borrowing in the beginning, but as a whole I was really impressed with the language. What I enjoy the most is how much of the usual things I write in python can be quite minimal using Rust’s iterators and chaining functions that operate on them.
Unfortunately, for the most part I didn’t have enough time to both look into writing good Rust code and at the same time write my solutions, so most of the code is rubbish and as far from idiomatic as possible.
I am a bit disappointed that even though I spent most of my year inside I didn’t really read as much. I find it quite hard to read during the day, as it always feels like I could be doing something more productive which is really a horrible thought and I want to fix that. That’s the only reason I missed going to work, as my commute was my dedicated reading time and I certainly miss that.
That being said, I read 21 books this year. My highlights are definitely Flowers of Algernon, The Left Hand of Darkness and The City and the Stars. At some point I decided I am going to read all of the Nebula Award for Best Novel winners, so I was mostly making my way through it, but I was incredibly surprised that the book that ended up being most memorable on the list so far is the one that’s furthest away from classic science fiction - Flowers of Algernon.
In terms of authors, I had never read an Arthur Clarke book before The City and the Stars, but now I am really keen to read more as I loved his writing style and his ideas. Additionally, reading a few books from Asimov and Ursula Le Guin further confirmed them as absolute masters in my head.
Harry Potter and the Goblet of Fire - J.K. Rowling
Harry Potter and the Order of the Phoenix - J.K. Rowling
Harry Potter and the Half-Blood Prince - J.K. Rowling
Harry Potter and the Deathly Hallows - J.K. Rowling
Theory of Fun for Game Design - Raph Koster
Real-Time Rendering, Fourth Edition - Tomas Akenine-Möller, Eric Haines, Naty Hoffman
Ray Tracing Gems - Eric Haines and Tomas Akenine-Möller
Fight Club - Chuck Palahniuk
I head never read it before, but I loved the film. In fact, it’s still my all time favourite. Therefore I was looking forward to read it and I thought it was excellent. This is the only other example to The Martian where I can’t pick a clear favourite between the book and the film.
The City and the Stars - Arthur C. Clarke
Ender’s Game - Orson Scott Card
I gave it a go, since it was really highly praised, but for the most part while reading it I was questioning my choice, since it felt so bog standard and transparent that it really didn’t give me any joy. Additionally, I felt it was really poorly written, since I couldn’t believe in most of the choices characters make, as they were almost always completely unjustified and added there just for driving the already mushy story.
The End of Eternity - Isaac Asimov
Babel 17 - Samuel Delany
Flowers for Algernon - Daniel Keyes
As I mentioned above, this was the most memorable read for me in 2020. Writing, story and characters were all exceptionally well done. On top of that the actual substance of the story itself was really simple and solid, which always makes for a great ride. If you are to pick up one book from my reading list, please make it this one.
The Moon is a Harsh Mistress - Robert A. Heinlein
Absolutely, excellent! Similar to Arthur Clarke, I hadn’t read a Heinlein book before, but knowing he was a sci-fi master I went into it with very high expectations which were met and then some. I thought all characters were very well made and I never found myself questioning whether they have justification for their choices, which always makes the read very smooth.
The Einstein Intersection - Samuel Delany
Rite of Passage - Alex Panshin
The Left Hand of Darkness - Ursula Le Guin
I can easily see why this book is a classic and why Ursula Le Guin is considered one of the best. Even though the book feels quite slow at times, I feel it really pays off in the long run, not with a culminating crescendo, but just for being there for the whole ride.
Ringworld - Larry Niven
Together with Rendezvous with Rama I feel these two books are the best representation of classic sci-fi on this list. It has a little bit of everything you would like to see - aliens, alien civilization, imaginative technology, etc.
A Time of Changes - Robert Silverberg
Excellent exploration of the interesting idea to avoid the use of the personal pronoun for oneself.
The Gods Themselves - Isaac Asimov
I was a bit surprised by the story itself as it felt that it wasn’t really in Asimov’s usual style, possible because the technology was quite ambiguous. That being said, though, the way it’s written is interesting enough in itself that gives the whole idea of seeing the same story from different angles a whole new spin (Granted at that time, that device was probably not as common as it is now).
Rendezvous with Rama - Arthur C. Clarke
If you are looking for a sci fi book that you would find hard to put down, this is probably the on.
Following my previous two years in review I am doing 2019 as well.
Similarly to last year, I haven’t taken any notes throughout the year, other than those for books I read, so some of what I am going to say is probably misremembered.
I am going down in no particular order, though, the most important is definitely on the top.
Baby Krasi has been growing up really quickly and steadily and I’ve loved every second I’ve spent with him this year.
I’ve visited him every one and a half months or so, and every time he had grown up significantly. Most recently, he has started walking and since then has became a menace for anything even remotely interestingly looking around the house like a fridge, a chair, a christmas tree.
Even though his parents are underslept and tired, it’s incredible how much happiness a little one brings to a home.
I have been working on just a couple of personal projects this year, which is significantly less than previous years, so I hope I can pick up the pace again next year.
It became apparent that I won’t be able to get a decent engine running in python, as it will need a lot of optimization that I didn’t want to do, as ideally I wanted to have a very verbose code, which I can refer back to. So I rewrote and extended it in C++.
I have fallen in the trap of being worried to show it online, as I know it’s very hacky and I don’t have the motivation to do a write up for it.
Basically the plan for it was to write a small 2d physics engine that I can use to run Reinforcement Learning tasks on it, interfacing between Python and C++.
I have put it on the backburner for a while, as I wanted to do a CGI project, as I haven’t done that in ages, but I hope when I start looking into ML again next year I will boot it up again.
Very recently, I completed this year’s advent of code, which I found tremendously satisfying. Since I did it on multiple machines, I still haven’t combined all solutions in one repo, but I should do that in the next few days.
If you’ve not seen it before, it’s an advent calendar where each day until Christmas has a puzzle to be solved. A lot of people use it to learn a new programming language, but since it was my first time I went with Python, so I can focus more on the puzzle and less on the code.
Some of the puzzles were definitely harder than others, but all of them were loads of fun! I found it really helpful that some of them showed the holes in my Computer Science knowledge, as now I know what I need to improve upon.
Here is a screenshot of the filled up calendar.
One of the things I will remember 2019 the most for is definitely my brief adventure into Machine Learning.
I have had the interest for ages, but never actually looked into it. In the beginning of the year I decided to change that and so I did. I started with the cs231n course at Stanford, which has all the course notes, lectures and assignments available online. Some of the lectures are delivered by the current Director of AI and Autopilot Vision at Tesla - Andrej Karpathy, whom I find incredibly good at condensing huge amounts of information in understandable chunks. Incidentally he has a great list of the books he reads on his goodreads page which has been my go-to when looking for books to read.
I highly recommend the cs231n course to anyone who wants to get into ML and more specifically into Computer Vision (even if you are not interested in vision specifically, the course is general enough to be tremendously useful for other disciplines as well).
Doing the assignments was a massive pleasure, as they structured in a great way. You basically download a package with a bunch of jupyter notebooks which reference a few python files, that you have to populate in order for the ML models to work. Then, going through the jupyter notebooks, your code is being ran and the results checked, so it is immediately obvious whether you are doing the right thing or not.
I don’t want my 2019 in review to turn into a cs231n promotion, so I will stop here, but I’ll say again it’s definitely worth checking it out if you have any interests in ML.
Following that, I jumped into doing a bit of Reinforcement Learning following David Silver’s course at UCL. Similarly to cs231n, I found the delivery really well structured and informative. The assignments unfortunately are nowhere near as nicely done as those in cs231n, so I decided against doing them and jumped straight into running recent algorithms in the OpenAI gym environment.
I started slowly with simple things like cart pole, acrobot, pendulum, etc., moving on to things like Pong to finally running Humanoid tests using the now deprecated Roboschool environments.
Since Reinforcement Learning is in incredibly active research, I spent a lot of time reading very recent papers, mostly by AI about Policy Gradient methods, as at the time it seemed like those were the state of the art ones. To me it seemed that if an algorithm is able to learn how to defeat Dota 2 Pros, it’s good enough for me to run it on simple humanoid tasks.
That process of reading papers and attempting to implement them was incredibly rewarding. Starting from a very basic vanilla policy gradient method and then adding on top of it to get the Proximal Policy Optimization was really satisfying. Additionally, I was surprised by how small those incremental changes to go from one algorithm to another are, especially considering the change in the results.
After achieving a result on the Roboschool Humanoid tasks comparable to those in the PPO papers, I was satisfied and ended my look into ML, to start working on a small 3D character as I felt I had spent a lot of time into programming, so I wanted to dive into a bit of artistic work.
I am a massive Harry Potter and the Methods of Rationality fan, and I do mean massive. Towards the end of last year I had done a quick sculpt of a Harry Potter head, as even back then I had a desire to work on a small tribute to the book, but this year I jumped into it properly and carried on pushing the character through the pipeline.
It’s been ages since I had looked into doing proper modeling and lookdev, so both processes have taken me ages, but they are satisfying to do, so I can’t complain. I do find that it’s much more difficult to stay motivated on the project, though, compared to programming.
Currently I am at a stage of doing lookdev on the clothes, and I am almost done with that, though, I expect I’ll need to make changes when I settle on the final lighting environment.
Here are a couple of images of the current state, and I hope I will have more to show soon.
Unfortunately, I have been growing less and less motivated to do rigging in my spare time, as I get to do enough of it at work.
That being said, I have been thinking about a few big things revolving around rigging and slightly more advanced programming topics, so I hope that I have enough time to look into and share them with you at some point in 2020.
Last but not least, let’s talk about books.
Even though, I haven’t read more books this year than last, I feel like my love for them has grown even more. I can’t help but feel sorry that I haven’t started reading earlier.
Apart from the list you are going to see below, this year I went through a huge amount of papers on Machine Learning concepts, and as I mentioned above, those were incredibly rewarding.
Additionally, it has became a bit of a guilty pleasure or even a habit, to re-read Harry Potter and the Methods of Rationality, so in 2019 I re-read it three times, usually doing so before bed or when I feel that I don’t have the mental capacity of reading something new. Funnily enough, the first time I read it, I felt like it was a massive book, but with each time I read it, it gets smaller and smaller, as I start to remember almost everything. I feel that there is so much in this book, that I am probably going to read it a few more times before I stop finding new cool things in it.
Following re-reading HPMOR, I went back to a couple more books that I thoroughly enjoyed in previous years as well - The Martian and Artemis - both by Andy Weir. I find his writing style really easy to read and relate to. Additionally, I love how descriptive of the science his characters us he is.
Okay, here are the 25 books I read this year:
Solaris - Stanislaw Lem
Amazing! I loved pretty much everything about it, but the thing enjoyed the most was the character of the ocean. I found that to be an incredibly creative concept.
The Cyberiad - Stanislaw Lem
There’s going to be a few Lem books this year, and I loved all of them. The Cyberiad is a really nice collection of humorous short stories with some great ideas such as:
His Master’s Voice - Stanislaw Lem
The subject was great, but I didn’t enjoy the delivery mainly because of the large amount of long monologues.
Fiasco - Stanislaw Lem
There were both small bits that I loved and hated in Fiasco, but as a whole I found it a very captivating novel about making contact with an alien civilization with similar ideas to Solaris.
The Futurological Congress - Stanislaw Lem
A very enjoyable, satirical and somewhat scary look into a possible future, investigating issues reminiscent of Brave New World.
What I really liked about this short novel is that, similar to Solaris, there is an exploration of trying to find out whether you are hallucinating or not and trying to find out how to find that out.
The Invincible - Stanislaw Lem
Very similar to Fiasco, but with the addition of some cool ideas like
Reinforcement Learning An Introduction - Richard S. Sutton, Andrew G. Barto
I read this as it was a suggest book in the above mentioned Reinforcement Learning course by David Silver and also it is considered a classic in Machine Learning.
I thoroughly enjoyed reading it. As a textbook it’s a bit more difficult to go through, especially if you usually do most of your reading on your commute, but if you spend a bit more time on it, it’s incredibly rewarding, as it goes through all of the building blocks of the Reinforcement Learning algorithms we use today.
It came to me as a massive surprise, that most of the amazing results we see in recent years are not due to newly developed algorithms, but to computation power and more available data.
Algorithms for Reinforcement Learning - Csaba Szepesvari
I felt this book was a much more concise version of the Reinforcement Learning, An introduction lacking a lot of the intuition, but packing all of the algorithms and in some cases the explanations of their convergence and bounds.
The Black Cloud - Fred Hoyle
A great story about communication with an extraterrestrial intelligence. Similarly to Stanislaw Lem’s work, the Black Cloud emphasizes the point about how naive it is to think that we will be able to communicate with and understand aliens if we ever found them.
Something that makes the book a bit more unique is the fact that the main protagonist is a bright scientist, surrounded by more bright scientists. I thoroughly enjoyed the extensive use of the scientific method.
Do Androids Dream of Electric Sheep - Philip K. Dick
I really wanted to not like the book, since I read about the personality of Philip K. Dick and how hateful and nasty he was to Stanislaw Lem, but it seems like the creative work bears no resemblence with it’s author.
The world that Philip K. Dick builds is a pretty grim one, but at the same time it is captivating and it kept making me picture different scenarios involving some of the types of characters of the book - bounty hunters, androids, chickenheads, stay at home wives, etc.
Ready Player One - Ernest Cline
I found the book incredibly cheesy, but at the same time a massive guilty pleasure.
Armada - Ernest Cline
Even cheesier than Ready Player One. Actually, I feel pretty much the same way about it. One thing that was pointed out to me and obvious in retrospect is how male heavy the book is.
Neuromancer - William Gilbert
An interesting book that I found quite hard to read. It reminded me a lot of Snow Crash, both because of it’s subject matter and because I remember Snow Crash as a difficult (though a lot more rewarding) read as well.
I find the ideas about AI and VR a bit naive, though, that is excused by the fact that the book was written in 1984.
The Call of Ctulhu - H.P. Lovecraft
The short story can be boiled down to, “I learned about something horrible, then talked to some people about it, then they told me how horrible it was, and now I can’t carry on my life as usual, as I know too well how horrible the thing was.”
After reading the book it felt like I had spend an hour with a religious fanatic telling me their version of hell using a lot of hand wavy reasons and vague outcomes.
In Defense of Food - Michael Pollan
The author is explaining their reasons for being very suspicious of any nutrionist claims, as the relationship between us and food is so complex that any reductionism is bound to miss out on something important and hence be dangerous.
The worst bit of the book I found was the appeal to nature fallacy. When going against scientists and researchers, you better find better arguments than, Food is so complex that we could never hope to understand it, so we should just keep eating whatever our ancestors have been eating for thousands of years.
That fallacy reminds me a lot of Nassim Taleb’s writing as well, as he is keen on eating, believing and thinking the same way as people have been doing for ages, as surely if something has lasted that long it can’t be bad. Fortunately, it can and we can do much better. I don’t see people complaining about medication saving lives, technology helping us produce more food, shelters and let us communicate and learn like never before.
The Shadow Over Innsmouth - H.P. Lovecraft
After The Call of Cthulhu I was not keen on reading more Lovecraft, but I got this one as a recommendation and I am glad I gave it a chance as I found it much more enjoyable.
Learning about the town through people’s stories is a great vehicle for delivering information in my opinion, as it doesn’t feel like exposition being spoonfed to you, even though it kind of is.
The Haunting of Hill House - Shirley Jackson
I felt that all the horror or terror in the house was very random and pointless. Pointless in the sense that it didn’t lead to anything.
The ending would have worked just fine even if the scary things that happened in the house were completely different, which means that the whole journey was entirely random and had no impact whatsoever on the ending.
Nexus - Ramez Naam
I enjoyed the narrative which was a pretty standard thriller with quite a few action scenes, the fighting in which reminded me a bit of Neal Stephenson’s Snow Crash.
I think the Buddhism in the book is completely unnecessary and there are a number of people/organizations I would expect to be much more receptive to a drug like Nexus who would also be much better predisposed towards it.
LOTR - J.R.R. Tolkien
I am just going to say that I absolutely loved the book and, even though, the story is very well known nowadays, I would still highly recommend reading it for the world building and character arcs.
Understanding Comics - Scott McCloud
I thought the book was brilliant as it delivers a lot of substance through a method I didn’t necessarily expect that from before I actually read it.
The Lathe of Heaven - Ursula Le Guin
The subject matter is not particularly novel or interesting for that matter. It’s about a person who brings changes to the world by dreaming them.
The characters and relationships, though, are absolutely brilliant. I feel like a lot of the book was an exploration of two very different, but very common in the real world, characters. I wouldn’t say any of them was particularly evil, and that’s one of the things I absolutely loved about this book - simple narrative with great characters that just cannot coexist in the same world.
Harry Potter and The Sorcerer’s Stone - J.K. Rowling
I experienced a hit of nostalgia, but all in all felt a bit disappointed of the book after reading it.
I completely understand that it’s because the book is written for a MUCH younger audience, so I am absolutely not holding it against the author, I just remembered it differently.
Harry Potter and The Chamber of Secrets - J.K. Rowling
The 2nd book definitely picks up the pace after the first and adds a bit more to the story and atmosphere than what the film captures, and I really like that.
Harry Potter and The Prisoner of Azkaban - J.K. Rowling
I love this one, and it’s one of my favourites with the films, too. The introduction of Sirus and Lupin is making the reader relate a bit more to adults which is great.
Following My 2017 in review here’s my 2018 one.
I mentioned last year that I should really take notes as the year passes by, but lazily I didn’t do it this year either. Hopefully 2019!
There were two major events that I will remember 2018 for. Here they are in chronological order.
My mom has been a kindergarten teacher and principal for the last ~20 years. This year, finally, she moved on from the government one that she has been working at and started her very own private one in Sofia, Bulgaria.
It’s been a massive undertaking for her, but only to some extent to the rest of the family as well (hence I am writing about it).
I know, it’s not my my mom’s year in review, but since that’s something she has wanted to do for ages, it’s become a major part of my life as well.
So my involvement began in April, when I was told I have about a month to come up with some branding and a website for parents to be able to learn about the values, authority and offerings of the kindergarten.
I was quite pissed about the short notice initially, since that meant that for more than a month I would be spending every free hour before and after work cracking on tasks that I wouldn’t necessarily call myself well-versed in.
That being said, I did consider it a fun challenge, as I do have interest in all sorts of design, as well as web development work (although increasingly I’ve been becoming less and less into it, as I consider the modern web development practices less and less privacy aware).
Additionally, that project lead me to read some design books which I really enjoyed reading, but more on that in the book section below.
After that, my parents started renovating the building of the kindergarten which was a massive undertaking on it’s own, but definitely worthwhile, since the parents have been very appreciative of how good looking, warm and spacious the building has become.
To cut the long story short, while the renovation was going my mum was trying to gather her first children in July, and a couple of them started going some time in August.
Since then, the kindergarten has filled it’s capacity of 24 kids, which for the time span of four months, I consider exceptionally good growth.
Even though, my involvement has not been massive by any means, I consider the opening of the kindergarten a really big event in my family, since I know how much my mom has wanted to do it and I am myself very interested in education as it obviously is essential for the further advancement of mankind.
Let’s go on to the much much bigger event in my life in 2018 (possible whole life so far).
Soo, I became an uncle. Woohooo!
I vividly remember the evening my brother and sister-in-law told me and my partner. It was such an emotional experience! I drank wine, danced to balkan music and probably cried a bit.
About 8 months later young Krasimir Shotarov Jr. was born. Lovely, cute little fella!
I am surprised by how quiet he is. He can spend hours just chilling and looking about. The last few days before leaving for London again (my family lives in Bulgaria), he had started following us with his eyes. Stuttering and slow, but soo cute!
I had the chance to spend a lot of time with him the last two weeks of 2018 and I really really enjoyed each second of it.
I cannot wait for him to grow just slightly older, so I can have an excuse to buy and try out all the cool science projects for kids!
Let’s move away from personal life for a bit.
Following that, I decided to spend my free time in things at least slightly different from what I do at work, so I did some sculpting, video editing, the web design and branding that I mentioned above and of course a lot of tinkering with different programming tasks.
I am quite happy a made my first contribution to somebody else’s github project, which was one of my goals for 2018.
Some of the other things I worked on this year are:
Additionally, I made the switch to primarily using Linux at home, which has been absolutely incredible! The fact that I can customize the whole experience, remove bloat and utilise CLI workflows to the fullest has been really satisfying.
Apart from getting promoted to a senior character TD this year and working on some really cool tools and developments, that I am not at liberty to share, I haven’t done much rigging in my spare time.
I mentioned above that I have done some sculpting and I have plans to carry them into animation, but we’ll see how that goes.
I have realized, though, that my personal rigging system at home has become quite outdated, so that might be one of the big undertakings for 2019.
Onto books now.
As a kid and a teenager I never had interest in books, but in the last few years I have grown incredibly fond of reading.
Apart from the following books I read, I have been constantly going back and forth throughout Harry Potter and the Methods of Rationality as I keep finding bits of it incredibly rewarding to reread. Additionally, I have been able to understand more references the more I have read the book itself, which leads to renewed interests in certain moments.
Okay, let’s go through this year’s list. I have read a total of 23 books this year, which is unfortunately less than last year’s total amount, but I did read a lot of papers this year about Physics Simulations, Numerical Optimizations, Calculus, etc., which I also found very rewarding, so I wouldn’t say it’s been a less productive year reading wise.
Snow Crash - by Neal Stephenson
I didn't find the story very captivating, but the world-building and characters were incredibly well thought out.
The Diamond Age - by Neal Stephenson
Quite similar to Snow Crash, in terms of what I liked and didn't, but I found the setting a bit less appealing.
Code: The Hidden Language of Computer Hardware and Software - by Charles Petzold
A fascinating read! I've always been into computers, but was also too scared to ever read about the very low level architecture. **Code** was incredibly approachable, though, and a lot of fun to read.
The Design of Everyday Things - by Donald A. Norman
Another fascinating read! It changed my whole outlook in terms of designing not only products, but workflows and systems in a way to minimize errors.
The biggest takeaway for me was the misconceptions about human error. A lot of people (*including me before reading the book*) would be satisfied by *human error* as an explanation to why something has happened. It is way more appropriate, though, to investigate what produced the human error - things like badly designed machines come to mind quickly, but also badly designed work/sleep schedules can indirectly lead to catastrophic results as well.
Rework - by Jason Fried & David Heinemeier Hansson
Logo Design Love - David Airey
Skin in the game - by Nassim Taleb
After reading the book, I am surprised by how many people seem to recommend it. I found the author very untrustworthy, as on way too many occasions he would drop a statement with a lot of information which the reader is expected to believe without any justification.
Additionally, I found the concept of the book quite obvious.
That being said, I am planning to read The Black Swan and Antifragile, just because of the good recommendations.
The non-designer’s design book - by Robin Williams
Consider Phlebas - by Iain M. Banks
A lovely space opera. No massive takeaway, but great storytelling.
The vital question - by Nick Lane
Another fascinating read!
A lot of the ideas in the book are really hard to be proved, but I found the alternative of the primordial soup really interesting.
Factfulness - by Hans Rosling, Ola Rosling, Anna Rosling Rönnlund
Probably one of the best books I read this year.
Reading HPMOR and Factfulness I realized I have had a very cynical outlook about the world nowadays, but I found the information and ideas in Facfulness very useful for understanding not only that the world has been changing for the better, but also of common misconceptions regarding politics, economics, educations, etc.
Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for your Game - by Ian Millington
Real-time Collision Detection - by Christer Ericson
Why we sleep: Unlocking the Power of Sleep and Dreams - by Matthew Walker
Hands down the best book I've read in 2018.
Not only did I find it a lot of fun reading through, but it has definitely had the biggest impact on my life. It radically changed my feelings about sleep and lead me to changing my schedule quite substantially, which has proved to be incredibly rewarding.
Mort - by Terry Pratchett
I feel a bit stupid about only just discovering Terry Pratchett, considering that I find his sense of humour not only hilarious, but incredibly sophisticated. I find a lot of similarities with Douglas Adams' books, which I have a massive love and appreciation for.
Mort specifically, I think is an amazing work of fiction. Hilarious, with a great and easy to follow story, and very interesting characters.
Small Gods - by Terry Pratchett
I have very similar feelings about it as I do for Mort.
QED: The Strange Theory of Light and Matter - by Richard Feynman
Even though a lot goes way over my head, I still found the book very approachable, but of course, you cannot expect anything less of Feynman.
Thinking Fast and Slow - by Daniel Kahneman
Another one of those fascinating reads that I consider life changing.
I learned about this book from the author of HPMOR and it comes up a lot on Hacker News. Now I understand why.
The War of the Worlds - by H. G. Wells
Really cool to read an older piece of science fiction. I also have a particular weakness for stories set in London.
The Invisible Man - by H. G. Wells
Also really cool book. Not sure how explored the topic of invisibility has been before *The Invisible Man*, but I found it really interesting knowing it was written in the end of the 19th century.
Dune - by Frank Herbert
Another great story with lovely characters and world-building.
Ку-Ку Бенд: Ад и Рай - by Иво Сиромахов
Thinking Physics: Understanding Practical Reality - by Lewis Carroll Epstein
Another book I learned from Harry in HPMOR.
A super cool way of teaching not only physics laws and methods of computation, but also a way of thinking of solutions to problems, involving first and foremost, making sure you understand the question.
Artemis - by Andy Weir
An absolutely awesome science fiction novel!
I really enjoyed both watching and reading *The Martian*, so I was really excited when I saw Andy Weir's new book poster. I thought it was brilliant! Exactly what I would expect from a modern science fiction author. Highly recommended!
And that’s all the books I read in 2018.
I think I would recommend all books apart from Skin in the Game and of course the subject specific books such as the graphic design and physics engine ones, which are great books in their own right, but would be only of interest if you have an interest in the subject, while all other books I would recommend to all.
All in all, I’ve been really happy throughout 2018, even though I feel like I haven’t created anything massive to be proud of.
Luckily other people have created great things and it seems to me that in my mind 2018 will always be the year Krasimir Shotarov Jr. was born.
Sitting here trying to start writing, I am mentally noting to remember to take notes throughout the year if I want to write another year in review.
Naturally, the first things that come to mind are the big ones, so I will start there. In fact, I will tackle the most significant part of 2017 for me.
So, that happened.
Those were my actual thoughts when I went to bed at 4am after spending the day in the company of friends and relatives of both my older brother and my sister-in-law.
Ha! I can actually use the term sister-in-law now, which is cool. What is even cooler is that I have a sister, too, now.
It is funny how in one week I saw two sides of my brother that I had never seen before. Vastly different as well. On one hand there’s the bachelor party and on the other there is my brother saying Yes.
The weekend before the wedding (Wedding day was on Saturday), I flew back for the above mentioned bachelor’s party. To be completely honest, I had no idea what to expect.
Partying in the style of a young Bulgarian has never been my strong suit, especially considering that I never got the training of being an university student there.
Of course, I have been out with my brother before, so to say I was a stranger to his embarrassing dance skills would be a lie, but not much more than that.
Mingling with some of my brother’s friends was very interesting, though. Particularly the ones I did not know from before.
I do not expect anything less from my brother, but still, seeing and hearing everyone speaking the world of him is always nice. He is a great fella.
Then there was the club and the music. Long story short, having a glimpse in the life I could have led, I cannot be happier with my choices.
I do not want to go into details of what exactly happened, as there is more than 3h of footage to do that, but I would like to offer my feelings and thoughts as the day progressed.
Knowing it is a big day for both the soon to be newlyweds, it was a great privilege for me to be on my brother’s side throughout it. Putting on our suits, dancing, melting under the blazing heat, it was all there.
I had a great opportunity to meet with a lot of friends and family who I do not see that often, and to also introduce my partner to them. Having all the aunties saying how skinny she is was a good laugh.
A lot of parts of that day and the few ones before it struck my emotional side very strong, but hands down the most memorable feeling was during the ceremony.
I mean, I cried watching Finding Dory, but this was different.
Unfortunately, I cannot really explain it, but the only thing that comes close, was the realization that he is just standing there, getting married.
It was mental.
I remember, I was not very happy when he told me he is about to propose. It kind of felt, that I would be losing my brother to his new family. Funny though, I did not then understand that I was actually about to gain a sister to my family.
I know, so cheesy, but the fact that it really feels that way is really cool.
It is really hard to follow the wedding section, as nothing comes even close to it’s significance to me, but there were other cool and important for me developments throughout the year.
A highlight for me, definitely, is the start of my blog - Bindpose.
I had wanted to start one for quite a while. In fact the first few posts on it, are ones that I had been writing on and off throughout almost an year before publishing them.
I had told myself that I need to have a solid amount of work to publish before starting, so I can keep a bit of a buffer and also not have a completely empty website in the beginning.
I did not have any big ambitions for it, other than just being able to pour my thoughts about rigging ideas that I have had. Since, that’s my job, I spend a lot of time both developing those ideas and thinking about new ones. Hence, the only logical step was to start sharing them.
My initial articles, were way too general and I do not think anyone is getting much benefit from them, but I felt that I want to have some solid ground before getting into it. Even though, they just sit there at the bottom right now, they did help me get into writing more, since I already had planted some seeds.
A few months in, I had an amazing response from the community, with really great comments and quite a lot of readership. That led me to starting a newsletter, which has also been a lot of fun.
Granted, I do not provide much original content in the newsletter other than a bit more thoughts on the topic of the week.
Writing on bindpose and seeing people finding value in it, I felt like there is no good way for us - riggers - to find each other and communicate online.
There is twitter, of course, but it almost feels as a hack more than as a solutions, as there is so much junk there.
That is why, I wanted to start something, where people can get together and chat specifically and only about rigging and anything related to it.
With a quick landing page and a few posts, I was able to gauge, that other people felt the same way and would really appreciate a place for riggers to talk.
A month later I was almost ready with the development of it. I will talk more about programming in a following section.
Unfortunately, since starting it, I have been swamped in work and have not been able to maintain it as much as I want, as well as add much needed new features, but I hope I can crack on with those in the new year.
Additionally, I have not been writing on the blog in quite a while now, which also does not feel nice at all, so I am really looking forward to getting more of that done, as there always are cool rigging things to talk about.
I find myself doing a lot of it, and quite possibly 2017 has been the more code-prolific year for me, so far.
Other than the fact that about 70% of my work is writing Python and occasionally C++ for plugins, I also like spending a lot of time working on my, continuously in development, rigging framework at home, as well as a multitude of other little bits and pieces.
As mentioned above I developed the talk.bindpose.com from scratch, which was great fun. It was my first time using Flask and I have to say I really enjoyed using it. The minimal aspect of it and the fact that is very Pythonic help a lot when trying to design a web platform.
The last web app that I had built before that was a thing called GEBY (Gratitude, Exercise, Breakfast, You), based on an idea Noah Kagan wrote about on his blog. That one was my first ever attempt to create a web app from scratch and I had a lot of fun building it, especially since it helped me understand a lot more about how the web works in general.
Other more web-geared developments I have been working on in my free time are a couple of scrapers - one for properties, as me and my partner are looking to rent a decent 1 bed flat in London without having to pay with an arm and leg and another one for flights from London to Sofia, so I can stay on top of things when it comes to going back to see friends and family.
Most recently, I wrote a little REST api for controlling my computer remotely in Flask, which is just hosted locally, so I can only access it on our home wireless network.
So far, I have just added the ability to move the mouse around, make clicks, drags, etc. and also a few buttons for changing the volume and controlling playback as that is what I mostly need the remote for.
And lastly, I have been working on a clipboard manager over the last few days, as I have a very precise interface in mind, which I have not found an available solution for (I have to say I did not look very hard). It is a Python app using PySide and the interface I mentioned is that I want to maintain Ctrl + V‘s normal behaviour when tapped, but when it is being held, that is when I want for all the available options to pop out.
Other than that, I have dabbled with small things, and it seems to me the ones I came back to most oftenly are a custom virtual assistant (as I do not feel great about providing all my data to the available solutions) and simple multiplayer game development.
What this means to me is that hopefully in the new year I will explore these areas a lot more.
Similar to the programming section, I think 2017 has been the best reading year for me so far, too. I think a big helper is the fact that I spend at least about 50 minutes a day on the tube, so I have that time for nothing else but reading.
Occasionally that reading is articles, but mostly I read books on my kindle.
I have read a total of 30 books this year. Here is a complete list in chronological order.
Looking at these you can easily see the patterns.
I did find out this year that I really really like science fiction. I finalized my last year with the Hitchhiker’s series, and easily fell in love with Douglas Adams’ writing.
Since Isaac Asimov’s name comes up in any respectable science fiction list, I had no choice but to have a read, and obviously from the list I did quite enjoy it, since what followed was a reading spree through his most popular series.
Another huge highlight in this year’s reading list was Harry Potter and the methods of rationality. I found a lot of my own thoughts in the book, so it felt very close to me and also it made me aware of a lot of interesting quirks of the human nature, which we rarely think about, even though they have profound effects on our day-to-day lives. The examples that immediately come to mind are the sunk cost bias and the Stanford prison experiment.
SPOILER ALERT: And come on, Harry casting the true form of the patronus was just brilliant!
All in all, I am very pleased with my choice of books this year, even though, I would have liked to have read a bit more.
The only ones from the list that I would not necessarily recommend to everyone are The Martian Chronicles, Essentialism and Homo Deus.
Even though, I did a lot of things I am fond of during 2017, for me, it will always be the year my brother got married.
With all that, I am going into the new year motivated for exploring a lot more ideas and opportunities!