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
September 16, 2021

Choosing a cloud hosting provider: Digital Ocean vs Linode

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Rants
DigitalOcean vs. Linode | Low-code backend to build modern apps

I’m gonna make this short: avoid Digital Ocean like the plague.

As you know, my whole website used to be hosted on a VM Instance on Google Cloud Platform. However, the cost of GCP was a little much for my usage so I was looking to migrate to another provider. The most obvious names that comes to mind that wasn’t ‘Big Tech’ (AWS, Azure, Alibaba, Google) are the holy trinity: Digital Ocean, Linode and Vultr (which I didn’t test).

Among those, Digital Ocean is probably the most well known name.

They’re everywhere.
They seem to have the best UI among the cloud provider (and I’m a sucker for good UIs).
They have a pretty extensive knowledgebase that covers pretty everything in tech.
They have a huge marketplace, pretty much every self hosted project you see has a ‘Deploy on Digital Ocean droplet’ option.

DO sounds like a no-brainer. So I set out to create my account. Being a skeptical, naturally I sign up using a ‘trial’ account that offer a $100 credit for 60-day, there’s plenty of those on Google if you search for it, but don’t make the same mistake as I did, the 60-day $100 is a goddamn lie. When I added my credit card, I was told there might be a $1 charge for verification that will be refunded in no more than a week. When I added my first droplet, I was immediately charged $6.15, and I’m pretty sure it’s never going to be refunded as a few weeks have passed.

This shady practice alone should be enough of a reason for most of you to avoid DO. And if that wasn’t enough, there’s also the performance issue.

I created a nano droplet (the $5/m variant). You may ask why I decided to go for the bottom of the barrel choice even though I have $100 in trial credit. In my opinion, a service is only as good as its bottom line, and testing it should give a pretty good overview of the quality of the service being offered. And boy was that the correct decision.

Performance was good on the first day, but it only goes downhill from there. I have a total of 6 WordPress websites with virtually no traffic (only one of them has like 100 visits per DAY). And yet the droplet was slowed to near unresponsive level when I finished migrating my 4th website. SFTP would constantly timeout. If I try to visit 2 of my sites at the same time, the server would return a 504 error. It was unacceptable.

I was ready to give DO the benefit of doubt and blame the disruption of AAE-1 international internet cable line as a factor (even though the droplet I created was provisioned on the Singapore data center, which shouldn’t have been affected by that incident.

It was then that I decided to make an account on Linode and give it a shot. The sign up process was exactly the same but they didn’t even charge me a cent for verification. I fired up a $5 linode, going through the same migration process, and lo’ and behold, everything just worked! All 6 websites up and running without a hitch. The hardest part of the migration was, ironically enough, caused by Digital Ocean. As the websites keep timing out when I try to create Duplicator packages.

Normally to save space on the droplet I’d make Duplicator send the packages to my Google Drive and my OneDrive Business storage, however on the DO droplet, they couldn’t even communicate with either Google or Microsoft server at all, forcing me to SFTP in and painfully try to download the package manually, bit by bit (thank god WinSCP can do that without poping up a dialog ever 5 minutes). The failure to communicate with Google and Microsoft’s server is a testament that the connection problem was with Digital Ocean and not with my ISP.

Anyway just wanted to share my experience. Obviously I’m not endorsing either Linode or Vultr yet since I’m only on a trial run with them, but one thing is definite: avoid Digital Ocean.

That’s all for today, folks.


August 22, 2021

Enhancing OpenMediaVault’s sidebar

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

Replaced Rockstor with OMG on my little ChocolateBox NAS. At first glance it appears to be better than Rockstor in pretty much every way except the front end. As a designer I’m always greatly bothered by subpar UIs, even those belonging to FOSS. Just spent an hour or two reimagining this part of OMV if it was created with a more modern design language:

omv sidebar 1
Lato + Carbon Icons is not a bad combination. The primary may remain the same, for now.

August 18, 2021

Install Photoshop CC on Linux

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Tips & Tricks, Linux
Screenshot
Install Photoshop CC on Linux 4

No, this is not GIMPShop or any other dirty hacks that attempt to make GIMP/Krita look or feel like Photoshop. This is the real Photoshop. And no, Adobe hasn’t changed their mind about making a native Linux version available either. As you may have guessed, despite the fancy new splash screen, this is just Photoshop CC running on Wine, but it has been repacked so the installer does everything for you. If you already have a PS + Wine in place there’s no need to read this.

Bits of warning though, I’m not entirely sure this is legal since the authentication part appears to be bypassed also. While I do have an active subscription to Adobe CC, I haven’t been able to find a way to sign in with this. If this repo gets popular Adobe might kill it, so just keep that in mind.

Anyway, you can find the instruction here in this Github, I’m not going to mirror the instruction in this blog post (unless the repo goes down for some reason, in which case, let me know in a comment below)


July 30, 2021

Apt-get update chậm như rùa? Hãy chuyển sang dùng mirror trong nước

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Tips & Tricks

The following post content will be written in Vietnamese since it addresses a specific problem that only affect Ubuntu users currently residing in Vietnam

Mấy ngày hôm nay mấy anh em dùng Ubuntu như tôi chắc khốn khổ vì chạy cái apt update cũng phải mất cả nửa ngày. Lí do thì vẫn như thường lệ, cá mập cắn cáp AAG, chuyện năm nào cũng xảy ra đều như vắt chanh mỗi năm khi đất nước có ngày hội lớn. Chúng ta bất lực với cá mập nhưng không có nghĩa chúng ta không có cách khác để giải quyết. Nếu các bạn check danh sách mirrors của Ubuntu sẽ thấy VN là 1 trong những nước có tương đối nhiều mirrors với 9 cái:

image 8
Apt-get update chậm như rùa? Hãy chuyển sang dùng mirror trong nước 7

Điều này có nghĩa chúng ta hoàn toàn có thể sử dụng mirrors trong nước để gia tăng tốc độ cho apt. Trong những phiên bản gần đây của Ubuntu chức năng tìm mirror đã được build luôn vào trong apt get nhưng ko được enable mặc định. Vì vậy để enable features này chúng ta cần thêm những dòng sau vào file /etc/apt/sources.list

deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt focal-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main restricted universe multiverse

(Lưu ý VD trên là dành cho Ubuntu 20.04, nếu các bạn dùng Ubuntu bản khác thì nhớ thay thế code name focal bằng code name của version tương ứng Lucid, Precise etc.)

Chạy lại apt update và chứng kiến sự thay đổi kinh hoàng trong tốc độ:

image 9
Apt-get update chậm như rùa? Hãy chuyển sang dùng mirror trong nước 8

July 25, 2021

Setup a family printer with a Raspberry Pi 1, CUPS and Canon LBP 2900

  • Posted By : Nam Vũ/
  • 14 comments /
  • Under : DIY, Linux
G9SKyOJ
Setup a family printer with a Raspberry Pi 1, CUPS and Canon LBP 2900 10

Ok so after using it as an Media Server (OSMC, Kodi), Audio Server (Volumio, Moode), and most recently a CloudFlare DDNS updater on top of Raspbian Lite, I’m running out of things to do with my old RPi. I figure there’s one thing I haven’t tried turning it into: a print server. So that’s what we’re gonna do today.

Now this is actually one of the most common usage of the Pi so there’s already plenty of guides out there, and there’s really no information in this post that can’t be found elsewhere on the Internet, but I’m gonna do a write up anyway, purely for the sake of documenting my process.

For the software we’ll be using CUPS running on top of Linux, naturally, since we don’t have a lot of options on that front. For the hardware, we’ll be using a first gen Raspberry Pi for the print server part, and Canon LBP 2900 for the actual printing.

Now this printer is interesting really, because despite being one of the most popular printers here in Vietnam, it’s not in the list of printer supported by CUPS. I reckon its popularity is fueled by its economical nature, it’s one of the very few laser printers that fall into the ‘cheap to buy, cheap to maintain’ segment (it costs like $150 brand new, and cartridge replacement is like $3.85, which is insane!). So getting it to work with CUPS is going to require a bit more works, but thankfully there’s an open source driver out there that somebody reverse engineered to our benefits, so we’ll be using that.

Read More

July 21, 2021

Why isn’t anybody talking about Webmin’s awesome facelift?

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

So I’ve been fiddling around with remote management tools for my home server recently, after accidentally discovering Cockpit after installing Fedora (it comes preinstalled with Fedora Server 34), I started looking around for alternatives. Don’t get me wrong Cockpit is great but being a DIY I always wanted to see what kind of options are out there.

During my search I came across a vaguely familiar name: Webmin. I had limited experience with Webmin before when I was searching for a decent web panel for my VPS since it is the basis on which Virtualmin is based on. I quickly dropped it due to the horribly outdated UI (it’s a designer’s quirk, don’t ask).

Revisiting it a few years later, I just couldn’t believe my eyes when I first fire up the program, the difference is like Night and Day! Even literally more so since the current version even includes a proper dark mode that can be toggled in real time! How awesome is that?

Check out this before-after comparison:

image
image 1
image 2
This darkmode though, hot damn!

July 20, 2021

Conducting User Interviews

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : UX Design

As a UX designer, you’ll always focus on the user and the experience they’ll have with the product you’re designing. In this course, you’ll learn about the first phase of the design process, empathizing with users, which is critical when it comes to creating a great user experience. In order to empathize with users and understand their pain points, you’ll need to conduct interviews with real people who might use the product you’re designing.

Prepare for the interview: Interview preparation checklist as the the user researches on the computer
Conducting User Interviews 15

Whether you’re conducting interviews in person or online, it’s important to be prepared before you speak with real users. You want to make the most of your limited time together and learn as much as you can about their unique perspectives. Here are a few things you can do to prepare for interviews:

Read More

July 19, 2021

Understand empathy in UX design

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : UX Design

The name UX design says it all: the user’s experience is at the center of how we design products. The best way for you to create great user experiences is to know and empathize with your user. As you might recall, empathy is the ability to understand someone else’s feelings or thoughts in a situation. 

As a UX designer, empathizing with users enhances the products you create because you experience the product as your user does. The better you are at anticipating a user’s desires and needs, the more comfortable the user will feel with your design, and the more likely they will be to engage with your product long-term. 

So, let’s explore how empathy can make you a more effective UX designer!

How to empathize with users

If empathizing with users sounds like a big task, fear not! The ability to empathize with users is a skill that can be learned with practice. Here are six tips that can help you become a more empathetic UX designer.

Read More

July 12, 2021

Common UX Research Methods

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : UX Design

Understanding your users is one of the most essential parts of UX design. You’ve already learned about the problems that can come up when designers make assumptions about their users and their needs. So how do you avoid making those assumptions? By doing research! In this reading, you’ll explore some common research methods used by UX designers.

Types of research

There are two ways to categorize research: who conducts the research and the type of data collected.

The first way to categorize research is based on whoconducts the research: primary research and secondary research.

Primary research is research you conduct yourself. Information from direct interactions with users, like interviews, surveys, or usability studies, are considered primary research.

Secondary research is research that uses information someone else has put together. For example, using information from sources like books, articles, or journals is considered secondary research.

The second way to categorize research is based on the type of data collected: qualitative or quantitative.

Qualitative research is primarily collected through observations and conversations. Qualitative research is based on understanding users’ needs and aims to answer questions like “why” or “how did this happen?”

Quantitative research focuses on data that can be gathered by counting or measuring. Quantitative research is based on numerical data that’s often collected from large-scale surveys. This type of research aims to answer questions like “how many?” and “how much?”

AWPPz96
Common UX Research Methods 17

All four of these types of research can intermix. Primary and secondary research can be both qualitative and quantitative. For example, an interview is qualitative research. An interview conducted by you is primary research. If you review an article about an interview conducted by someone else, it’s secondary research. It’s important to be able to identify the difference between these types of research because the data you collect forms the basis of your design decisions.

Read More

July 12, 2021

Different types of UX researches in the product development cylce

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : UX Design

There are two key parts to every UX design project: conducting research to learn about the users you’re designing for, and gathering feedback about their perspectives. UX design is all about putting the user first, and research helps designers understand those users. 

UX research focuses on understanding user behaviors, needs, and motivations through observation and feedback. Your product design should be built upon research and facts, not assumptions. UX research aligns what you, as the designer, think the user needs with what the user actually needs. 

Remember the product development life cycle from an earlier course of the program? The product development life cycle has five stages — brainstorm, define, design, test, and launch — that take an idea for an app, website, or product to its launch. 

Let’s check out how research fits into the product development life cycle.

Graphic showing the product development lifecycle, represented by a circle
Around the circle, there are other icons that represent the phases of the product development lifecycle – Brainstorm, Define, Design, Test, Launch. New additional phases branch out from the cycle, including Foundational research (from the brainstorm phase), Design research (from the design phase), and post-launch research (from the launch phase)
Read More

« First‹ Prev2345678Next ›Last »
Recent Comment
  • junior pro on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Jun 9, 21:04
  • 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
Categories
  • AI Apps
  • AI Art
  • Design
  • Development
  • DIY
  • Freebies
  • GameDev
  • Home Networking
  • Linux
  • Music
  • My Apps
  • Randomness
  • Rants
  • Side Projects
  • Songs I like
  • Tips & Tricks
  • Tributes
  • Uncategorized
  • UX Design