Posts đź“ť

Here are all my posts listed in reverse-chronological order. (If you don’t have your Ad Blocker on, you might see Ads, which ended up being money in my pocket)

Switching From Wordpress To Hugo

Switching From Wordpress To Hugo
It feels like I’ve been posting these kinds of website update posts every few months (or years). I still remember the day I got the first version of my website working in middle school. It’s been about 6 years since that day (wow). And the domain DeemOcean.com has been in use for 5 years. One good thing about keeping a website alive for so long and actively maintaining its SEO is achieving a high rank in search engines, even with my lazy update rate of more than a month.
Read more →

RP2040 Randomness and Ring Oscillator

RP2040 Randomness and Ring Oscillator
Randomness Having real randomness on a deterministic machine is a pretty interesting topic, while one can easily achieve pseudo-randomness by creating a complex algorithm with unpredictable outputs(such as a chaotic system). However, for a microcontroller with the same code whenever it boots up, the above solution will give you the same number every time. So it would be nice to introduce some external chaotic sources, the most commonly used one might be heat noises, which require some kind of temperature sensor.
Read more →

Generative Adversarial Networks and Game Theory

GAN(Generative Adversarial Network) is a Neural Network model in which there exist two neural networks, one commonly referred to be the Generator and the other as Discriminator. Adversarial Learning is a study of attacking neural networks, but it is being used as a tool to build the GAN model. In each iteration, the Generator will synthesize a product–commonly to be images in modern applications, and the Discriminator will take this product as input and judge if this product is real or fake(produced by neural networks); if it is the second case, the parameters of the Generator will be tuned, the goal is making the product as realistic as possible.
Read more →

CMake vs. Make

What was the Problem? :() When playing with my RP2040, following the official SDK instructions, I wonder why I have to type cmake then do make, why does it take two steps to build my project? Well, long story short: Cmake is a cross-platform Makefiles generator, while make “reads the makefile and invokes a compiler, linker, and possibly other programs to make an executable file.(Microsoft) CMake Instead of thinking of CMake as a “C/C++ program maker,” I tend to say it as a “Cross-platform maker.
Read more →

Bare Metal WebServer On Pi PicoW

Bare Metal WebServer On Pi PicoW
Intro I’ve been pretty into the Raspberry Pi Pico family lately—it looks nice, and it’s new, there is a fast-growing community there, and it would be cool to play together. Pico W is the newer member with the…well, you guess…the Wireless capability. I thought it would be nice to set up some code to allow me to send data from the terminal to the Pico through wifi. Arduino-Pico This is an Arduino Core for the Pico, which based on the official Raspberry Pi Pico SDK but with more add-ons.
Read more →

Budget Gesture-Sensing Glove

Budget Gesture-Sensing Glove
So one day, I was casually browsing the Adafruit Wbsite, and one thing just popped in front of me… Hmm, a sensor that gives you the amount it flexes… I felt it would be a good idea to use it to sense the flex of fingers, and make a glove along with an MPU6050 to make a gesture-sensing glove, and probably create a digital replica in Unity, so like a VR glove.
Read more →

Site Major UPDATE*

Hi, This site has been operating for almost 5 years, and I’ve moved to the United States for College. The original site was hosted on a cloud server in Hong Kong, and now the new Hosting Service would be provided by Vultr at Silicon Valley. Meanwhile, I added two domains: DeemoChen.com and YizhouChen.com, both of them would be redirected to the master domain DeemOcean.com. In the near future, cool functions will be added as the site becomes alive again.
Read more →

Foundations of Machine Learning III

Machine Learning Notes I Machine Learning Notes II The Primal Question of Optimization For a general optimization problem, it usually could be rewritten as maximizing or minimizing a certain function with several constrictions. For example, maybe you want the optimized value non-negative. The most basic form of such is called the primal question which looks like this: $$ \begin{matrix} \underset{x}{min}f(x), x \in \mathbb{R}^n \newline s.t. \newline g_i(x)\leq 0, i=1,2,…,m \newline h_i(x)= 0, i=1,2,…,p \end{matrix} $$
Read more →

Foundations of Machine Learning II

Machine Learning Notes I The least squares estimates of α and β For simple linear regression: $$ E\left ( Y|X=x \right ) = \alpha +\beta x $$ we have: $$ \hat{\beta } = \frac{cov\left ( X, Y \right )}{var\left ( X \right )} $$ $$ \hat{\alpha} = \bar{Y} - \hat{\beta}\bar{X} $$ Linear Regression way We can all use the NN method to solve the regression problem but that leads to being nearly impossible to locate exactly which layer foreshadows which feature of the data.
Read more →