Hexa's Blog

Nguyen Vinh Linh - Certificate Authority

28/11/2024 @ Saigon etc

Download it here: nguyenvinhlinh-ca.pem

-----BEGIN CERTIFICATE-----
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
94XxQsoB6nfJcFc=
-----END CERTIFICATE-----

Bản đồ trường Tôn Đức Thắng

22/11/2024 @ Saigon etc

Bản đồ trường Tôn Đức Thắng
Bản đồ trường Tôn Đức Thắng

OrcaSlicer error, cannot interact with UI at startup

22/11/2024 @ Saigon 3D Print

I have seen this problem using OrcaSlicer V2.2.0 Official Release on Fedora 39. Even though, I clone the source code and build AppImage myself. this issue still happens.

The main solution to this problem is to disable webkit composition mode before executing OrcaSlicer.

$ export WEBKIT_DISABLE_COMPOSITING_MODE=1
$ ./OrcaSlicer_Linux_V2.3.0-dev.AppImage

This is a screenshot prove that this solution does work.

OrcaSlicer is running on Fedora 39
OrcaSlicer is running on Fedora 39

K1 max & Nozzle 0.6mm

16/11/2024 @ Saigon 3D Print

This profile is tested with Creality Ender PLA filament. I only note which is the most important settings.

  • Nozzle: 0.6mm
  • Maximum volumetric speed: 30mm3/s
  • Layer height: 0.3mm
  • Nozzle temperature: 220C
  • Flow ratio: 1
  • Pressure Advance: 0.02
  • First layer:
    • outer wall speed: 50m/s
    • first infill speed: 105mm/s
  • Other layer:
    • outer speed: 105mm/s
    • inner speed: 125mm/s
    • Top surface speed: 105mm/s
[1] Speed settings
[1] Speed settings
  • Retraction
    • Length: 0.5mm
    • Z hop when retract: 0.2mm
    • Z hop type: spiral
    • Retraction speed: 40mm/s
[2] Retraction settings
[2] Retraction settings

Air filter

09/11/2024 @ Saigon Projects

I currently live in a mini apartment with its bathroom not having an exhaust system. This is a major issue.

In reality, it doesn’t need to be said; it’s very inconvenient. The landlord refuses to drill into the wall or make any repairs.

As I am unemployed and addicted to manufacturing, my products aren’t particularly innovative. Yes, they are a gas air purifier. My product is nothing new at all.

But why do I create them when I could just buy one? If I don’t work on simple tasks, even those that others have already done, I’ll never come up with any creative ideas or design anything better than what others have created before. And further, I won’t be able to make more complex products.

If profit is the top priority and time-saving is a goal, I’d look for something on Lazada or Shopee, and then I wouldn’t be able to create anything more refined!

By the way, here are some pictures of the product. Just for fun, I designed and 3D printed it myself.

[1] Plasticity design
[1] Plasticity design
[2] Product from left to right
[2] Product from left to right
[3] Product from right to left
[3] Product from right to left
[4] Activated cabon rack installed
[4] Activated cabon rack installed
[5] Activated cabon rack uninstalled
[5] Activated cabon rack uninstalled

At the time of creating this product, I didn’t have any measuring equipment, so I couldn’t check if the concentration of methanol and ammonia in the air purifier was accurate. I couldn’t even verify if my product really solves a problem or just has a placebo effect.

I hope not, but that’s how I feel about it!

Máy lọc không khí

08/11/2024 @ Saigon Projects

Tôi hiện tại đang sống trong một căn hộ mini mà phòng vệ sinh của nó không có hệ thống thoát khí. Thực sự là vấn đề này chả cần phải nói nhiều, nó rất bất tiện. Chủ căn hộ hoàn toàn không muốn đục tường hay sữa chữa gì cả.

Tôi thì lại đang thất nghiệp và nghiện chế tạo. Sản phẩm tôi làm cũng chả có gì mới. Đúng, nó là máy lọc khí. Sản phẩm chả có gì mới cả.

Nhưng tại sao tôi lại làm thay vì đi mua? Nếu tôi không chịu làm những cái đơn giản, thậm chí người khác đã làm rồi, tôi sẽ không bao giờ có tư duy sáng tạo hay thiết kế cũa những người đi trước. Và xa hơn, tôi cũng sẽ không thể làm ra những sản phẩm có tính phức tạp cao hơn.

Nếu đặt vấn đề lợi nhuận lên hàng đầu, tìm cách tiết kiệm thời gian, tôi sẽ lên lazada, shopee! Và rồi tôi sẽ không thể mạnh hơn được, tôi sẽ không thể tạo ra những thứ khác có độ tinh xảo cao hơn!

Dưới đây là một vài hình ảnh sản phẩm. Nhân tiện, sản phẩm được tôi thiết kế và in 3D.

[1] Thiết kế với Plasticity
[1] Thiết kế với Plasticity
[2] Ảnh chụp từ trái qua phải
[2] Ảnh chụp từ trái qua phải
[3] Ảnh chụp từ phải qua trái
[3] Ảnh chụp từ phải qua trái
[4] Sản phẩm với máng than hoạt tính đã được lắp đặt
[4] Sản phẩm với máng than hoạt tính đã được lắp đặt
[5] Sản phẩm với máng than hoạt tính chưa được lắp đặt
[5] Sản phẩm với máng than hoạt tính chưa được lắp đặt

Ở thời điểm tạo ra sản phẩm này, tôi ko có thiết bị đo đạc, kiểm tra nồng độ của methanol và amoniac, tôi hoàn toàn không thể kiểm tra xem sản phẩm tôi làm có thực sự giải quyết vấn đề hay không, hay nó chỉ là hiệu ứng palacebo!

Tôi hi vọng là không, cảm nhận của tôi là chính xác!

Setup Monero P2Pool

15/09/2024 Cryptocurrency Node

I. Go to https://github.com/SChernykh/p2pool, download & extract to /opt/

$ tree /opt/p2pool-v4.1-linux-x64

/opt/p2pool-v4.1-linux-x64
├── LICENSE
├── p2pool
├── p2pool.cache
├── p2pool_peers.txt
└── README.md

II. Create and edit /etc/systemd/system/p2pool.service

[Unit]
Description=Monero P2Pool
After=network.target

[Service]
WorkingDirectory=/opt/p2pool-v4.1-linux-x64
ExecStart=/opt/p2pool-v4.1-linux-x64/p2pool --host 127.0.0.1 --wallet YOUR_MAIN_WALLET_HERE
User=nguyenvinhlinh
RemainAfterExit=yes
Restart=on-failure
RestartSec=10
TimeoutStopSec=180

[Install]
WantedBy=multi-user.target

III. Port list

Description Port Port forwarding
P2Pool p2p 37889 YES
Stratum server 3333 YES

Creality K1 Max - User Configuration for Filament

16/09/2024 @ Saigon 3D Print

NOTE: Due to Creality Print bug, filament configuration gonna be missed after software restarts.

a. Filament

  • Filament > Pressure Advance: 0.2
  • Filament > Flow Ratio: 1
  • Filament > Print Temperature > Nozzle > First Layer: 230
  • Filament > Print Temperature > Nozzle > Other Layer: 230
  • Filament > Max volumetric speed: 27

b. Setting Override

  • Setting Override > Retraction > Length: 0.5
  • Setting Override > Retraction > Z hop type: Spiral
  • Setting Override > Retraction > Retraction Speed: 18

There are more settings gonna be reset but not important that much!

I. Filament

[1] Filament #1
[1] Filament #1
[2] Filament #2
[2] Filament #2
[3] Filament #3
[3] Filament #3
[4] Filament #4
[4] Filament #4
[5] Filament #5
[5] Filament #5

II. Cools

[6] Cool #1
[6] Cool #1
[7] Cool #2
[7] Cool #2
[8] Cool #3
[8] Cool #3

III. Setting Overrides

[9]  Setting Overrides #1
[9] Setting Overrides #1
[10] Setting Overrides #2
[10] Setting Overrides #2

IV. Advanced

[11] Advanced settings
[11] Advanced settings

V. Multimaterial

[12] Multimaterial #1
[12] Multimaterial #1
[13] Multimaterial #2
[13] Multimaterial #2

Doanh thu đầu tiên với máy in 3D

15/08/2024 @ Saigon Projects

Xin chào, bây giờ là tháng 8, vậy là đã 6 tháng từ khi tôi nghỉ khỏi công ty cũ TTEK (29/2/2024). Áp lực công việc là quá lớn, sức khỏe và cụ thể là cột sống của tôi không thể chịu đựng nổi, tôi hoàn toàn không có giải pháp nào ngoài trừ phải nghỉ việc.

Trong khoảng thời gian nghỉ việc, tôi hoàn toàn không có xin được trợ cấp thất nghiệp do giấy tờ gặp trục trặc. 3 tháng để làm giấy tờ có vẻ là quá ít với tôi.

  • Có 2 sổ bảo hiểm xã hội thay vì một sổ.
  • Thiếu tờ rời trong cuốn bảo hiểm xã hội.

Trong quá trình làm việc tại TTEK, tôi có tìm hiểu và tự học về thiết kế, cũng như là in 3D. Cảm ơn anh Tiến Minh RMIT đã bán cho em Creality Ender 3 Pro.

Ở thời điểm thất nghiệp hiện tại, may mắn làm sao, lại có người cần tôi đúng mảng này. Rất cảm ơn anh Dũng đã ủng hộ và hỗ trợ khoảng thời gian qua.

Mặt hàng tôi thiết kế là ống dẫn khí cho ASIC dòng KS0/KS0 Ultra. Với sản phẩm này, ASIC sẽ chạy mát hơn, bên cạnh đó cho phép việc mod firmware để chạy nhanh hơn. Một cái ống dẫn khí tôi bán với mức giá là 150,000 VND, ngay sau khi ra thiết kế, và tinh chỉnh. Khách hàng đã đặt ngay 10 chiếc và hứa hẹn có những đơn hàng sau.

Tôi thực sự rất vui khi mình đã có thể tự kiếm tiền mà không cần nhờ đến công ty, hay một đơn vị chủ quản. Tất nhiên là không thể nào nhiều bằng làm cho công ty TTEK được.

Dưới đây là mẫu tôi đã làm.

[1] Sản phẩm ống thoát khí
[1] Sản phẩm ống thoát khí

Còn đây là hình ảnh khách hàng đầu tiên, anh Dũng.

[2] Khách hàng đầu tiên
[2] Khách hàng đầu tiên

Cuối cùng, đây là hóa đơn VAT cho khách hàng.

[3] Hóa đơn VAT
[3] Hóa đơn VAT

Nếu mà bạn thắc mắc tên công ty tại sao lại là Nguyễn Hoàng, thì đó là hai chữ đầu tiên của tên ông ngoại tôi - Nguyễn Hoàng Nhu.

Google Search Console - Sitemap Indexing Error!

15/08/2024 @ Saigon etc

Today, I have seen a very weird error while using Google Search Console to index my sitemap. After I submit my sitemap https://hexalink.xyz/sitemap.xml. it always shows error: Couldn't fetch. I think you can try it yourself with my sitemap.

This error is super tricky and it took me a whole night to debug. At first, let look at our usecase.

There are two identical file named: sitemap.xml and sitemap1.xml.

Check 1: Sitemap file are all the same with extract contents.

[1][nginx directory]: file ownership & md5sum
[1][nginx directory]: file ownership & md5sum
  • Same ownership (jenkins:jenkins)
  • Same content (md5sum: 859ffa73b9eaf8dcaef920ffafbc1a45)

Check 2: wget & md5sum

[2]wget & md5sum
[2]wget & md5sum
  • Same content (md5sum: 859ffa73b9eaf8dcaef920ffafbc1a45)

Check 3: Testing with Google Search Console to read my sitemap

It’s getting interesting here!
When google try to fetch my sitemap.xml , it shows an error Couldn't fetch. However, it works for sitemap1.xml.
I believe it’s because of caching issue. Old data exists somewhere on the google data center. I would wait hours for this but to debug a sitemap generator, it’s crazy. I better create a new file sitemap-n.xml to debug.

Right now, there is no solution for me but a work-around using sitemap1.xml, or any sitemap-n.xml.

[3]Google Search Console | Indexing Sitemap | 2024-08-14 22:26:39 GMT+7
[3]Google Search Console | Indexing Sitemap | 2024-08-14 22:26:39 GMT+7

By the way, this is my jekyll sitemap.xml. You can found it https://github.com/nguyenvinhlinh/nguyenvinhlinh.github.io/blob/master/sitemap.xml.

---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset
    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
{% for post in site.posts %}
{%   if post.update == nil or post.update == ""  %}
{%     assign mod_date = post.date %}
{%   else %}
{%     assign mod_date = post.update %}
{%   endif %}
<url>
  <loc>{{ site.url }}{{ post.url }}</loc>
  <lastmod>{{ mod_date | date_to_xmlschema }}</lastmod>
</url>
{% endfor %}
</urlset>