Nam Vu Personal Site
  • Home
  • My Works
  • My Photos
  • My Blog
  • Pet Projects
  • Freebies
  • About
Nam Vu Personal SiteNam Vu Personal SiteNam Vu Personal SiteNam Vu Personal Site
  • Home
  • My Works
  • My Photos
  • My Blog
  • Pet Projects
  • Freebies
  • About
May 9, 2025

Vĩnh Biệt Hoạ Sỹ Hùng Lân – Huyền Thoại Của Thế Hệ 8x

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Tributes
image

Hay tin bác mất cảm giác thật khó tả, muốn viết mà không biết viết gì.

Có lẽ ở VN thì bác Hùng Lân là 1 trong những hoạ sỹ có ảnh hưởng lớn nhất trong quá trình lớn lên của thế hệ 8x, 9x nói chung, và bản thân mình nói riêng, đặc biệt trong 1 số lựa chọn đưa mình đến với ngành design.

Thời bé lúc nguệch ngoạc tập vẽ thì quanh đi quẩn lại chỉ có 3 nhân vật mình hay vẽ nhất là Đô Rê Mon, Sôn Gô Ku và Dũng sĩ Hesman. Hồi đó còn chưa hề biết Hesman là truyện của Việt Nam, ko nghĩ ở VN cũng có người biết vẽ truyện tranh, cứ nghĩ nhập từ nước nào về mà sao có cả nhân vật VN như Huy Hùng hay quá. Về sau biết cả trăm tập Hesman năm ấy bác phóng tác chỉ từ 1 lần xem Voltron – Defender of the Universe thì lại càng hâm mộ bác hơn.

Rồi đến giữa những năm 2000s, lúc tập toẹ bắt đầu dùng Photoshop/Corel để lên những “Thiết kế” đầu tiên, muốn dùng text tiếng Việt có dấu thời điểm ấy là cực khó khăn vì font đẹp có hỗ trợ tiếng Việt vào thời điểm ấy cực kỳ khan hiếm, loanh quanh chỉ có mấy font công sở như VnTime, VnArial hoặc fancy hơn thì có font VNI của hải ngoại làm nhưng cách bỏ dấu rất khác. Tự nhiên lúc đấy bộ font chữ HL Thư Pháp và HL Comic dùng bảng mã BK HCM 2 kì dị xuất hiện và được cung cấp free 100% giống như phao cứu sinh cho thế hệ graphic designer đời đầu như mình. Có lẽ đây vẫn là font thư pháp được dùng nhiều nhất trong in ấn quảng cáo ở VN cho đến tận bây giờ.

Video này cũng đã được 7 năm trong lần mình may mắn được gặp bác trong talkshow về Hesman. Được nghe kể về những câu chuyện đằng sau sự hình thành của tác phẩm huyền thoại ấy. Thực lòng mà nói kể từ khi biết Hesman là chuyện của VN mình vẫn tò mò làm thế nào mà đất nước trong thời điểm khó khăn ấy lại có người đi theo 1 nghề tương đối ‘mộng mơ’ như làm truyện tranh, để rồi được biết hoá ra vẽ truyện lại chính là cách để bác và già thoát khỏi cuộc sống gian khó của thời kỳ Kinh Tế Mới. Có nhiều chuyện còn chưa kịp hỏi bác, nhưng có lẽ như vậy cũng là may mắn hơn nhiều người rồi, có nhiều người đến giờ có khi vẫn chưa biết Hesman là truyện của Việt Nam. Bộ truyện tuy bây giờ trưởng thành đọc lại có nhiều phần ngô nghê nhưng ko bao giờ quên nó đã mang đến cho 1 thằng nhóc 10 tuổi năm ấy biết đến những khái niệm khoa học đầu tiên (robot sinh học, tia hồ quang, tia tử ngoại, sóng điện trường, chân không, hố đen etc.)

Fujio Fujiko (Doraemon), Akira Toriyama (7 viên ngọc rồng) và bây giờ là là người cha già của Dũng sĩ Hesman. Lần lượt từng mảnh ký ức của những người con thế hệ 8x mùa hè năm ấy nằm khểnh đọc truyện tranh đã dần trở về với cát bụi.

Yên nghỉ nhé bác.


February 23, 2025

Remastered some old Vietnam photos for fun

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness

What’s the point of buying a 4070Ti Super OC if I don’t put it to good use, right?

Read More

February 14, 2025

You know what really grinds my gears?

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness
image 2

When people write docker instruction that makes use of docker run command without a detached flag.

Why is it annoying?

Say I SSH into a server, fire up a new service, wait for it to download all the necessary images and perquisites, got it all running nicely. Now all i want is to close the tunnel and go on doing other things. But no, you realize docker is still occupying your terminal. Closing the connection now would also kill the service you just launched. How stupid is that.

Sure it’d only take a few additional seconds to rerun it in detached mode, but that’s still an additional 15-20s of utterly wasted time. There’s no excuse to write instruction this poorly especially for a project with multi thousands users, and especially now that we can get a machine to write better instruction for you.


February 5, 2025

Over-engineering everything: how I made an app to track my baby’s feeding activity

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : My Apps
image 2025 02 05 102129682
image 2025 02 05 095350304

If you’re following my journey into agentic AI assisted coding (which includes TextPod, SnipSnap, Bill Splitter), well, it hasn’t stopped yet.

I’ve been tasked with feeding my 4-month old baby daughter every 4 hours, and I didn’t find an app that checked all the boxes that I need (tbh I didn’t look that hard, I needed an excuse to create my own :D). Specifically, I wanted:

  • A timer that tracked how long it is since last feed
  • Previous feeds data (which include time and feed amount in ml) displayed in a timeline format.
  • Ability to retroactively edit recorded data.
  • A chart to visualize feeding amount in hourly and daily time span.
  • Light mode/Dark mode support (for when you need to use your phone in a the darkness of the nursery).
  • Multi-language support (English & Vietnamese by default).
  • Data portability (can export and import in JSON format). However this is still a work in progress, I’m using localStorage for the moment, however I’m looking into utilizing external db scheme for data consistency across multiple devices, trying Cloudflare KV but it’s still very buggy atm)
  • Optional feature: Ability to change Baby’s name (in case others want to use this) and docker container (for fast, easy deployment on your own hardware)

You can check out a demo instance here: capufeed.pages.dev


January 18, 2025

It’s 2025, let’s talk AI and what direction we are headed

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness

I just got back from my 7th, and definite last Year End Party with my company. Seeing so many people saying this will their last YEP with the company filled me with so much thoughts I couldn’t sleep, I had to get up at 5AM to write it down.

So where do we start? I guess we’ll take a quick look back at 2024.

2024 was a…pedicular year, for lack of a better word. There was so many new things to learn, and yet far fewer things to do.

Read More

January 9, 2025

Cursor stole your ‘code’ command? Here’s how to revert it

  • Posted By : Nam Vũ/
  • 3 comments /
  • Under : Randomness

I love Cursor as much as the next guy but there’s one thing I don’t like about it. When you install it on Windows or Mac, it will takeover the ‘code’ command in your terminal, which is usually reserved for VSCode (for example if you navigate to a folder and type code . it will open that folder in Cursor instead of VSCode). This is fine if you use Cursor exclusively but if you’re like me who uses Cursor and Cline side by side, then this is especially annoying when you want to launch code.

Luckily user ubergonmx from Cursor forum provided a solution on Windows, here’s how:

Open this folder %localappdata%\Programs\cursor\resources\app\bin

Delete:

  • Code
  • Code.cmd

That’s it. Now the code command will launch VSCode instead. If you look inside that folder you’d notice the file cursor and cursor.cmd are still there, which means if you want to launch cursor instead of code you can simply type cursor . , which is how it should’ve been.

That’s all folks


December 31, 2024

Is it time to move on from WordPress?

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness

I’ve been a WordPress user for as long as I’ve been in tech, maybe 20 plus years. I think I picked it up as early as 2004 or something, back when it was one of the blogging platform that you can self-host just like Blogger or Movable Type. Back then Drupal, Mambo (which later spawned Joomla) and a few forum software like phpBB, InvisionBoard and vBulletin with ‘portal’ addon were considered CMS.

The reason I picked and sticked with WP was simple, it was dead easy for non-developer like myself. In the olden days, if you want to apply a ‘mod’, you need to either open up the source file, find the exact line and modify the code in there as per the author’s instruction. WordPress revolutionized this process by introducing a plugin system that essentially just works™. You only need to find the plugin, download a zip file, extract it, then FTP to your server and upload the files to wp-content/plugins and it would automagically show up in the Plugins section in your admin panel. I know that sounds like a lot of work by today’s standard, especially with the WP plugin repository just streamlined everything so you can literally add a plugin by clicking a button or two, but back then it was like magic. WordPress’s simplicity is something that many webmasters these days take for granted, but once in a while you get a reality check when switching to another legacy system (looking at you nopCommerce, having to restart the literal effing app on each plugin removal/addition is unacceptable in 2024, hell it was barely acceptable in 2012 when the project was conceived).

But enough preamble, let’s go back to the current state of things. With its ease of use, WP has now gradually grown to power close to half the whole damn internet. But 2024 has been a pretty rough year of the WordPress ecosystem, mostly because Matt Mullenweg, the guy who was supposed to be its leader, made a series of inexplicable self-destructive actions in 2024 that pretty much ruined the whole platform’s reputation. The whole thing was confusing to be honest, it started off with Mullenweg declaring war with WP Engine, a competitor to his own WordPress.org, which was a normal as any other drama, but then it got weird. Instead of pooling his resource and battle WPE like a normal person, he proceeded to destroy himself, his company and basically his entire legacy that he built over the cause of 2 decades, even resorting to thievery. It’s inexplicable, if I was a conspiracy theorist I might even assume he was working for WP Engine to begin with.

And even putting the whole drama thing aside, WordPress as a platform itself is showing its age. I learned a bunch of new things this year, even made a few fun projects using more modern tech and noticed just how fast everything is these days compare to WordPress. Some people attribute this to PHP but I disagree, Laravel is a thing and I’ve seen Laravel projects with speed that rival anything else in existence. No it’s a problem with WordPress, it’s been going for far too long, become far too bloated for its own good.

I’ve explored building a new site with Astro, migrated every post I have here over there and generally I’m happy with the speed, but I’m still too lazy to migrate over decade worth of images to the new site, so right now it’s only a massive wall of text with no images. It shouldn’t be too hard to migrate the images to imagekit or cloudinary but because I always want to take any opportunity to learn new way to self-host things (aka. likes to overcomplicate things), I want to spin up minIO and host my own S3 to keep my stuffs. That of course will take extra time, and I’m not very well known for time handling.

Let’s hope I can get some stuffs done in 2025


December 29, 2024

Created yet another app

  • Posted By : Nam Vũ/
  • 1 comments /
  • Under : My Apps, Side Projects

Just made yet another an app to split the bill between my group of pool club buddies.

image 6

Just a year earlier it would take a non-developer like me weeks to put together a tool like this. Today I was able to create a full fledge app with proper tailwind implementation, light/dark mode support with custom Google fonts, and deploy to Cloudflare Pages through Wrangler API, all within the span of half a day’s work including a bunch of back & forth iteration with Claude.

What a time to be alive!

Check it out:

Live Demo
Github

P.S: (player names are currently hard coded because this is for my personal use, if you’re interested in a version with dynamic player setup, let me know in the comments down below)


December 22, 2024

I made a free website to screenshot tool

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Side Projects, My Apps

So after my first encounter with creating a note taking tool programmatically using AI agents, I was inspired to create another tool, this time entirely from scratch, not forking off someone else’s work. This was actually a tool I created earlier, utilizing Puppeteer to create screenshot of websites at specified resolutions, which is something a designer like myself need to do quite often.

It was originally a CLI only tool, but with the help of the recently made free CoPilot, I was able to put together a WebUI for it using Tailwind CSS and a bunch of JS. Here’s how it look:

Check out the Github here: https://github.com/vnt87/puppeteeer-capture

Now if you came here from r/selfhosted, I know what you want, a docker image that you can deploy on your own hardware. I got you covered, just use this docker-compose.yml:

services:
  app:
    image: ghcr.io/vnt87/puppeteeer-capture:sha-1a9e996
    ports:
      - "5432:3000"
    volumes:
      - ./screenshots:/app/screenshots
    environment:
      - NODE_ENV=production
      - PUPPETEER_ARGS=--no-sandbox,--disable-setuid-sandbox

December 22, 2024

Back on the market P2, and how I got scammed into providing a week’s worth of free labor

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness, Rants

As I recently shared, I’m back on the job search journey again after over 6 years of happy employment, and boy oh boy, is the market is such a shitty place right now. About half the post on r/UXDesign are complaints. There was a thread about leaving the industry, that then got reposted into a viral post in LinkedIn, before eventually got reposted back into the sub again, truly a wild ride. And then there’s also this trend of visualizing one’s job search journey on Linkedin that spawns a bunch of follow ups.

image 3
I might create one of my own someday when I actually get to the ‘Accepted offer’ step

This highlights just how low Linkedin is as a employment platform these days, but that merits its own post, on another day. Anyway, back to my own story. As I said market is completely flooded with shitty job posts, mostly low-paying jobs for entry level designers or low-paying jobs for superhuman designers with every skills in existence listed in the JD (for those who don’t know, these were probably made by recruiter who have zero understanding what’s the difference between visual designers and front end engineers). But once in a while, you spot 1 or 2 job posts for senior positions where the recruiters actually know what they’re looking for. Those are the ones where I sent out my CV to.

Most of them ghosted me, just like the people on UXDesign reported. And the ones who did respond are, well, not exactly stellar either. Today I’ll tell you about my interview process with a company whose name I won’t be mentioning here for obvious reasons, just know it’s yet another generic Singaporean startup.

I went through the entire process, didn’t get selected. That’s fair, I’m not mad about not being selected, it’s something to be expected in this journey. I’m mad because how much time that whole thing took. I went through 4 friggin’ rounds of interview (5 if you count the initial call with the recruiter), did a 2-part design assignment that took a whole week, with zero compensation for my time (remember I did this in a work week while still fully employed by my current company). I remember last time I was on a job search, Gears Inc. offered to pay for my assignment if I didn’t get selected despite it being only a 2-hour task, that is completely unrelated to the company’s real business. This one took over 20 hours to complete, included a 2-part design challenge that involves the actual features that the company is looking to implement in their product. I had to perform competitor analysis, best practice check and then present my work on 4 separate calls with the Header Product Manager, 2 different PMs and the tech bro CEO himself. Why the CEO is involved in the recruitment of a designer, your guess is as good as mine.
Now that I come to think about it, this might’ve been one of those companies that utilizes the interview process to score free labor.

Read More

1234Next ›Last »
Recent Comment
  • User on Cursor stole your ‘code’ command? Here’s how to revert it: “Useful. Thanks” May 8, 21:39
  • Super on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Apr 11, 19:13
  • Hyper on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Mar 12, 15:39
  • helmut on “Invalid Location” error when trying to add SynoCommunity Repo: “nice ty” Jan 13, 22:36
  • Paul on “Invalid Location” error when trying to add SynoCommunity Repo: “Thanks for this, worked a treat” Dec 31, 00:16
Categories
  • AI Art
  • Design
  • DIY
  • Freebies
  • GameDev
  • Home Networking
  • Linux
  • Music
  • My Apps
  • Randomness
  • Rants
  • Side Projects
  • Songs I like
  • Tips & Tricks
  • Tributes
  • Uncategorized
  • UX Design