pseudoyu

pseudoyu

Blockchain | Programming | Photography | Boyi
github
twitter
telegram
mastodon
bilibili
jike

Weekly Report #90 - OVH Server, Coolify, and Thoughts on AI Coding

Introduction#

weekly_review_90

This article is a record and reflection on life from 2025-03-31 to 2025-04-06.

It has been nearly a year since I moved back to Hangzhou, and my rental contract is about to expire, so I quickly looked at houses for two days and finally chose another one not far away. Although I have to go through another painful move, I am quite satisfied with the layout of the new home, which also serves as an adjustment to my living situation.

In addition to the physical move, all my services/data also underwent a migration from AWS to OVH, which had its ups and downs, but fortunately, it was completed seamlessly, and it was a good opportunity to sort things out.

Recently, I have been intensively using Cursor and Windsurf for Vibe Coding, and I can really feel the disruption to the previous development model; there are many interesting things happening.

OVH and Coolify#

OVH Mystery Box#

I used to be a fan of serverless platforms, eager to deploy and manage most of my services on platforms like Vercel, Netlify, Cloudflare Pages, Zeabur, fly.io, and Railway. Most of the time, they were sufficient, but with the price increases from Zeabur and changes in policies across various platforms, costs have risen to over ten or even dozens of dollars a month, making them less advantageous.

Additionally, I had previously won several thousand dollars in AWS Credits at a hackathon, so for a long time, I deployed my services on an EC2 instance in the AWS Hong Kong data center, which ran stably for four to five months. However, as the Credits were about to expire and I wanted to ensure the stability of my services once and for all, I decided to look for some dedicated servers for long-term renewal.

The main considerations were the Hetzner ARM64 servers highly recommended by the Webp Cloud team in their article "A Brief Review of Hetzner CAX Series ARM64 Server Performance and WebP Cloud Services on It" and OVH, which offers great cost performance.

I originally planned to use Hetzner, but then I saw that OVH launched a Mystery Box blind box event for €22.99/month, with the basic configuration being:

  • Intel Xeon E5-1650v3
  • 64G RAM
  • 2 * 480G SSD SATA Soft RAID
  • 1Gbit/s bandwidth

It was already a pretty cost-effective configuration, but interestingly, it might randomly offer machines with higher CPU, memory, and disk specifications at the same price. I suddenly understood the feelings of friends who buy Pop Mart, who can resist this?.

I ended up buying four machines; the first two were basic models, and the third one turned out to be a machine from the Canadian bhs data center with a CPU and memory upgrade:

  • Intel Xeon E5-1650v4
  • 128G RAM

I was already very satisfied at that point, so I spent a whole night migrating services, including the full database data. After finishing, I received an email saying that the fourth machine was also set up, so I went to check the configuration and was pleasantly surprised to find that I had indeed received a hidden model:

ovh_perf

  • AMD EPYC 7351P
  • 128G RAM
  • 2 * 1T NVMe
  • France GRA data center 1Gbit/s upstream + 10Gbit/s downstream bandwidth

Just the day before, I was telling a friend that I definitely wouldn’t have that kind of luck, so I stopped checking.

chat_with_seefs_ovh

Looking at the services that had just been migrated, I couldn't help but laugh and cry, but it was also a happy trouble. So, as a skilled service mover, I started to tinker again, spending half a night migrating all services. This price & configuration should be sufficient to be a family heirloom, I really won't move again.

The data center is in France, and the connection is generally average, so I have set up Cloudflare Proxy for most of the external services to optimize performance a bit. For personal use, this is also quite sufficient; perhaps later I will consider setting up a better nginx reverse proxy for services that require higher access standards in China.

Coolify Management#

I also took the opportunity to optimize/sort out my service management plan.

I previously used Zeabur for hosting, but I felt there were still quite a few bugs in the panel, and the deployment and scheduling method through k3s was somewhat of a black box. It was not very convenient to see the status of each container through tools like ServerCat, and there were significant limitations in data backup, mounting, and other operations.

coolify_services

I also have some services hosted on a friend's Coolify panel, which I am very accustomed to, especially the powerful feature of being able to schedule backups of the database to S3. So this time, I chose Coolify again, configuring the server's SSH directly in the panel for one-click management.

Vibe Coding#

Recently, a term called Vibe Coding has become popular, which is a humorous way to refer to AI-assisted programming. However, to discuss it seriously, as someone who has been using GitHub Copilot Technical Preview intensively since 2021, and later also used AI chat platforms like ChatGPT and Claude to generate code, I have been a heavy enthusiast of AI Coding since I started paying for Cursor in July last year and using it intensively.

I can indeed feel the tremendous disruption that AI Coding brings to our development model.

Although I haven't done an accurate count, it feels like at least 70% of the code in my work and personal development is generated with AI assistance, most of the time using Cursor's Agent mode.

Many people have biases against AI-generated code, thinking it produces a bunch of difficult-to-maintain "one-time" code. However, I still believe that even in the Agent mode with higher autonomy for AI, the quality of the generated code still relies on the developer's control. When the prompts given to the AI are accurate enough, it can become a great helper, even writing better code than oneself.

cursor_refactor

Not long ago, I attempted to refactor a personal project involving dozens of files for the backend API. If I were to write it myself, it might take 2-3 hours of work and a lot of patience. However, after telling Cursor the requirements and corresponding reference documents, it generated usable code in one go, although it missed one component. After two follow-up questions, it completely fulfilled my requirements, taking a total of less than 20 minutes (most of the time was spent waiting for Claude 3.7 Sonnet's Thinking). This practice also deepened my understanding of the boundaries of what AI can do.

I always feel that the greatest value of AI Coding is not to help us become top-notch programmers. To delve deeply into any field requires a long time of accumulation and practice; the 10,000-hour rule still applies, and it is even more valuable. The "uncontrollable" code written by AI requires the developer's own knowledge reserve and judgment.

However, AI can help us practice our ideas faster and better, create a small product, or contribute to open source. As a backend developer, I don't need 10,000 hours to write a simple frontend page; instead, I can quickly create a "full-stack" project, which might even be better than what I could design myself.

I am also quite accustomed to reading AI-generated code to learn about those components and syntax, finding some places to optimize and adjust. AI is more like a patient mentor, helping us learn unfamiliar tech stacks, answering questions we encounter, and internalizing them into our technical accumulation.

Especially after the release of Claude 3.7 Sonnet (Thinking), I was amazed by the leap in its coding capabilities. During the coding time saved by AI, I opened up the previously unfinished cs193p SwiftUI development course and Rust textbook to start learning from scratch. I increasingly feel that perhaps in a few months or half a year, the model's capabilities will no longer be a bottleneck, but the developer's own technical reserve, system design ability, understanding of architecture, and ability to abstract business will be the shortfall.

Additionally, since I am used to prompts being in English, I feel that my coding ability hasn't improved much in the past few months, but my English expression ability has indeed progressed 🤣.

Blog Revamp#

Since the last revamp, I found that Anthony Fu added a new Media page, so I quickly integrated mine as well. It now showcases the books, movies, series, anime, and games I have been watching.

blog_media_book

blog_media_movie

blog_media_drama

blog_media_anime

blog_media_game

Interesting Things and Items#

Inputs#

Although most interesting inputs will be automatically synced in the "Yu's Life" Telegram channel, I still selected a portion to list here, feeling more like a newsletter. Additionally, I built a microblog using Telegram Channel messages as content sources — "daily.pseudoyu.com", which makes browsing more convenient.

Favorites#

Articles#

  • We Overestimate the Importance of Intelligence. During a time when I was most "stressed," I would set many seemingly impossible tasks and strict deadlines for myself, even involving important projects where significant costs would be incurred for failures. This forced me to learn quickly, and looking back, daring to do so was more about trusting my self-efficacy, and this confidence can also accumulate over time.
  • 6000 Words + 6 Cases: A Beginner's Guide to MCP for Ordinary People. I still haven't found any particularly necessary MCP scenarios; the feeling of Figma generating web pages is still quite interesting.

Videos#

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.