2019-01-13: Diving into ML and Chess Struggles
Chinese
I took the HSK test yesterday and didn’t feel too good about it. But so did everyone else that took it as most of my friends said they felt the same way after they did it. And they all passed. Now it’s the day afterward, and I’ve moved from pessimistic to cautiously optimistic.
Especially since I’m in china, I really want to continue my chinese learning as much as I can here. While it’s important for me to work on job skills, why not keep the China mindset and continue while I’m in the country? Something I’m looking into is Classical Chinese since I found some good books (Introduction to Literary Chinese, Part 1 and Part 2) that I can dive into chapter-by-chapter.
Machine Learning
I’m starting with Python Machine Learning, 2nd Ed (ISBN 978-1787125933). One of the coauthors, Sebastian Raschka, is from UW-Madison which is the flagship college of my state!
Chapter 1 was a great read. I understand the difference between supervised, unsupervised, and reinforcement learning. Also learning some vocab words like “signal,” “dimensionality reduction,” or “hyperparameter optimization.”
I’ve made it into chapter 2, but am having trouble with the formal definition of an artificial neuron since my math fluency isn’t all too good. But after some sketching on paper, reading the two or three pages for 30 minutes, and looking at the code definition, I think I’ll understand it in the next couple days. But man, this is hard for someone with little math background. At least I’m appreciating how mathematics is really the language of the universe. My quick exploration into linear algebra is helping me understand some of the notation, so maybe tackling some mathematics before diving too deep into this would be useful.
If I can’t grok this in a few days, maybe Siraj is more up to my speed. He also has a lot of long-form tensorflow tutorials that might be less math-intensive than the book I’m reading. I always like implementation of something and experimenting with the implementation much more than the theory, but that’s probably a bad view on things.
I began An Introduction to Statistical Learning with Applications in R (ISBN 9781461471370) on the 7th, but in the processes of downloading all the R tools realized that the internet in China is simply too slow to download R studio and the libraries. It’s a convenient excuse to not work on this particular book right now and instead focus on the ML book mentioned above. This is too hard to split between two programming languages, one of which I have no experience with.
Learning
While it’s good to have an understanding of machine learning since it seems like some part of the future of the average software engineer, a good question would be “why am I learning this?” My softwawre skills I’ve built up over the past years are mostly in the realm of backend software engineering and devops, and of course Chinese. I’m struggling to see how to fit the two together, but both have paths.
For software, it’d just be about applying to companies for “software engineer” positions and make a case to work there based on my projects I’ve already completed. A link to chinese would be a cybersecurity angle, but I have little experience here.
For Chinese, anything I would do would have to be leveraging a business angle. This would probably require some form of business classes unless some company were willing to take a risk on me. Regardless, I think my software background would be a lot of help when it comes to any sort of computer use.
Chess
My ranking is steadily declining below 1000 to the point that I’m googling stuff like “delete lichess account.” I’m blundering pieces and just feeling bad about myself. I’m definitely classified as a “beginner” but online play is getting to my head. But it helps to put it in perspective – I’ve played chess since I was a kid, but never with anyone that was really outstanding at the game. I played my dad in grade school, was part of a casual chess club in high school for a few years, and played at the most 4-5 games a week during summers during college. When you go online you are at the least playing people that are interested in the game.
This mirrors my experience learning Chinese. The first year of learning the language, I felt like the master of the language. But when talking to actual Chinese people in the US, I realized I couldn’t even speak to them. Over more and more years I learned and felt like a native speaker, but when going to China I realized again that communication was hard. After a month in China my Chinese progressed to the point I could communicate my ideas to people, so when I got back to the states again I felt that my Chinese was fantastic. Less optimistic, but still great. But once I came here for a year, I still struggled at first until now I understand where my problems lie. Still I can communicate and have fun chats with random Chinese people, but if I open up Hong Lou Meng I’ll go back to being humbled.
This is some form of the Dunning-Kruger effect, so the same goes with chess. When playing with my friends, I would usually beat them and only got better compared to them since I came from a background of a bit of chess put in a some effort learning the game. But once you go online, you’re playing with everyone. Now it’s just a matter of finding out what I don’t know and filling in those gaps. Relevant Analects quote: γη₯δΉηΊη₯δΉοΌδΈη₯ηΊδΈη₯οΌζ―η₯δΉγγ – “When you know a thing, to hold that you know it; and when you do not know a thing, to allow that you do not know it - this is knowledge.”
It helps to take a step back and look on how I’ve improved. Improvement has been seen in some minor areas like conceptualizing chess notation, or how after reading Nimzowitsch’s My System, I also started at least thinking about fixing some errors I’ve been having like pawnhunting before finishing development. I can put these into practice with longer games, which I’ve just been too impatient about playing. My strategy from here will be to take a break: Stop playing games and stop watching games until Friday, then resume with with some classically timed games.
Hugo
Two things I really want to do with this site in the short-term is to have a automatically-generated long list of posts and journal entries. This shouldn’t be hard as I said before, just iterating through all posts in the section within the html template. The other is to perhaps automatically generate a list of some data from each journal entry into a yearly view.
For example, you’ll notice that the “Things I’m Liking” section below has the id of things-im-liking
in the HTML source. So there’s probably a way (probably a very hacky way) to get each of these sections for the dates, parsing all the child list tags for the section, and create a digest format. As long as I keep these headings consistent it shouldn’t be hard. It will definitely be hacky though (markdown -> html -> scrape for hard-coded ids -> parse into data structure -> iterated through in html template)
Things I’m Liking
- ctrt.de’s Management in China: A bunch of draft sections of a book that will be eventually published. Topics include fapiao, IT infrastructure, a “cheat sheet for evaluation of transaction feasibility,” meeting with officials, and taxation among many other things. I’m slowly reading through these and it’s giving a good (albeit seemingly anecdotal) lens into business in china.
- chinalawblog: Exactly what it says on the tin, a frequently-updated blog about law related to China. Topics include trends, china-specific cultural differences, government influence, etc. My favorite posts are about how he manages contracts, since there’s huge differences in this regard between China and the US.
- QTTabBar: I’ve made a switch to Windows recently since it’s what’s installed on the better of my two laptops in China. All this is is a add-on to Windows Explorer that adds more features and keyboard shortcuts.
- The Yi Jing (ζη»): I don’t think that divination predicts the future, but focusing on a situation and thinking about it in a certain context is helpful. The Yi Jing, or I Ching, is a collection of 64 hexagrams that each have a certain meaning. These hexagrams, made up of 6 broken or unbroken horizontal lines, are constructed bottom to top by methods of divination. Certain readings create two hexagrams, as one changes into the other. Each resulting constructed hexagram corresponds to a certain section. I’d recommend trying it for fun.
Misc
Chinese new years is on people’s minds now. When getting some shuijiao at the restaurant across from our apartment, the owner chatted with me about my new years plans. I was originally going to go with a friend to their hometown near Hangzhou, but that fell through so I’m thinking about asking a few friends from AIC.
Money is starting to get tight since I missed some of my tutoring work here (it’s legal, I swear!) which has been my source of income in China. It’s less of a problem now though since most of my friends have left China, which has the upside of less going out. On a thrifty day the cost of one of these nights out is only 30ε , but I could have two decent meals for that price.