Computer Science
Algorithm
Data Processing
Digital Life
Distributed System
Distributed System Infrastructure
Machine Learning
Operating System
Android
Linux
Tizen
Windows
iOS
Programming Language
C++
Erlang
Go
Scala
Scheme
Type System
Software Engineering
Storage
UI
Flutter
Javascript
Virtualization
Life
Life in Guangzhou (2013)
Recent Works (2013)
东京之旅 (2014)
My 2017 Year in Review (2018)
My 2020 in Review (2021)
十三年前被隔离的经历 (2022)
A Travel to Montreal (2022)
My 2022 in Review (2023)
Travel Back to China (2024)
Projects
Bard
Blog
RSS Brain
Scala2grpc
Comment Everywhere (2013)
Fetch Popular Erlang Modules by Coffee Script (2013)
Psychology
耶鲁大学心理学导论 (2012)
Thoughts
Chinese
English

My 2017 Year in Review

Posted on 02 Jan 2018, tagged thoughslife

When I open my blog, I suddenly realized that I haven’t even writen one blog in 2017. I’ve tried to write some blogs about technology but it spent too much time and energy so I gave up at last. There happens a lot of things on me in 2017. So I must write something while the next year is beginning. Things have changed both on my life and my work. I don’t want to write too many details on my personal life, so I will just record some work related things.

Job Change

At the mid of 2017, I’ve quit my job at AppAdhoc (吆喝科技). I was one of the earliest employee and have built most of the backend platform. It has been very happy to write a platform from scratch that can handle billions of requests per day. But the changes in the company at this year makes me tired and I decided to quit and do something else. I’ve explored, learned and used many cool technologies while I was in this company. I’d like to write some blogs about that in the future.

Machine Learning

After I quit the job, the thing I want to do most is writting some machine learning application. I’ve writen some of them in the past and built a workstation contains a GPU so I can train models faster. The techs are cool but I don’t know what to built yet. I tried to write a word based game (like Mud) and build some AI into it. But there is too many details. And the economic pressures makes me to do some other things that can earn money. So this game project is suspended and I became a freelancer. But let’s write about the freelancer experience later and complete my machine learning story first.

After the game project suspended, I’ve writen another machine learning application, which is unexpected popular. This application plays couplet (对对联), which is a traditional Chinese word game. One gives a sentence and another one come up with another sentence that matches it both in structure and meaning. It plays a big part in the traditional Chinese literature. It’s like poem which needs creation and inpiration. The structure of couplets makes it easy to train. I use it as a practice to write seq2seq model. After I publish it online, it attracted more than 200 thousands unique visitors in one week.

The last project I’ve written about machine learning is the dissertation of my MSc project. I’ve joined the MSc distance learning project at the University of Leicester at the mid of 2016. So I need to write a dissertation in order to get the degree this year. This project is also NLP related and is about text classification and regression. I may write more details in the future.

Though I’ve writen some machine learning application, I don’t think I’ve put more time on it or learned more than in 2016. For example, I’ve read less paper and book, and written less code. In my plan, the book Probability Theory: The Logic of Science should be completed in 2017, but I almost haven’t read it after I quit the job. However, the degree of proficiency of writting a web crawler and Tensorflow code have been increased, which is one thing that I can comfort myself.

Freelancer Experience

After about 2 months since quiting my job, I realized I need to do something to earn money. But I was tired to go to work and sit in an office all the day. So I became a freelancer and find projects online. Until now, I have two part-time remote jobs and an ongoing project. It has been very busy. Doing outsourcing projects means there are many time-consuming details to confirm and fix. As programmers, we know that software is built with many iterations. It needs much work to build a software ready for the customer. But many customers don’t know that. They saw softwares on the market and just want one like that, not considering how much time it has been built and iterated by a how big team. So the price for the outsourcing projects is not always good. However, it is something that I can do without other dependencies and be able to work from home. So I will deal with that for now.

P2P Network and Blockchain

Though blockchain is a hot technology in recent years, I’ve researched little on it. But something happened recently makes me take a serious thought on it. To be more specificly, it makes me think about the decenterlized Internet, not just blockchain. But the blockchain is the technology I didn’t familar with in the past.

The cause is the couplet AI I’ve built. I built a trending module that let users vote the best couplets generated from the AI. And there are some couplets related to politics on that. So my Weibo account is deactived by the Chinese goverment and the couplet AI website is blocked by GFW. There are many memories and contacts in my Weibo account. That’s the time I realized how important it is to have a decenterlized Internet, which one can control his own data and no one can modify or delete it.

That’s also the time when the 19th CPC National Congress just concluded. And some other things happend in Beijing and in my life makes me think how AI will affect goverment and big companies’ power. At past, I didn’t care about it and just wanted to build something fun. But now I realize with the goverment’s administrative power and the big companies’ monopoly power, they can gather more data and use more computation power than the ordinary beings. And data is the key. In the past days, without the advanced AI technologies, thay can find little useful things from it because the data is too big. No one can read and analysis all of it. But with developing of AI, they can get more and more useful informations from it: the bussiness secret, your habit, your property and so on. If we cannot own ourself’s data and keep it secret, we will become the new slaves, being exploited even we are not aware of it.

Then I found the project BlockStack. It is not perfect but gives me a clue on how to build the decenterlized softwares. Maybe I will not have the time to research on that deeply in the new year, but it definitely worth to do so.

Conclusion

So this is 2017 for me. Not perfect, not great. I’ve felt lots of confused, pain and pressure in the last year. But that’s not a bad thing. It gives me a chance to think the things and opportunities that I’ve never thought of. Maybe that’s the feeling of growth.