Namecheap Dynamic DNS Update Client for Windows

Namecheap provides a free Dynamic DNS client for Windows but unfortunately the client cannot be run as a service. To manage remote computers, the dynamic DNS update should at least run before any user is logged or we’ll run into a chick-and-egg problem: you want to log in remotely but the IP of the remote computer is not known (mapped/updated) until you logged in.

I initially tried to use sc.exe to create a Windows service but the program lacks a ServiceMain() implementation so the service won’t start:

Turns out there is a way to wrap a Windows executable not designed to be used as a service (without ServiceMain() implementation) and make it run as a service. Use a tool called NSSM – the Non-Sucking Service Manager!

Note that the default setting for “Log on as” is “Local System Account”, which will not work with this free Namecheap Dynamic DNS client. You must set it to “Log on as” an Administrator account.

To start the newly created service without rebooting, do nssm start <servicename>, where <servicename> is replaced by the name you choose for the service.

Note that the ‘Path to executable’ for the newly created service is nssm.exe itself, not directly the DNS update client program (like what it’d be if you create the service through sc.exe instead of nssm.exe). The reason is that nssm.exe is the wrapper that calls the underlying executable.

 4 total views

Namecheap Dynamic DNS Update Service

If you have a domain registered under Namecheap, you dynamically update the IP address to a remote computer at no extra costs. If you use, you have to pay $29.95/yr to use your own domain name.

However, the process is not entirely trivial because Namecheap only offers the dynamic update through its BasicDNS nameserver, which has a few implications

  • BasicDNS nameserver means you configure the DNS records directly Advanced DNS tab when you manage your domain name. DNS records in the Zone Editor in cPanel is not active with BasicDNS nameserver
  • If you use the domain name with Namecheap hosting services, you can no longer have everything configured for you (managed in cPanel’s Zone Editor) by choosing Namecheap Web Hosting nameserver. You have to transfer the DNS record in Zone Editor (cPanel) manually to Advanced DNS tab (Namecheap). At minimum, get the IP address of the HTTP server and enter it as the ‘A Record’ for the main/sub-domain.
  • Setting up subdomain name or root domain name to be used with Dynamic DNS update service is simply entering ‘A Record’ with an any IP address as seed ‘Value’ (subdomains entered as ‘Host’). The value (IP address) will be overwritten by the update service/client.

Namecheap also offer an eye candy called ‘A + Dynamic DNS Record’ which is exactly the same thing but makes it easier for you to remind yourself that the ‘A Record’ is specifically used for dynamic DNS update.

It’s a daunting task if you haven’t done the work to understand how DNS record works since there are lots of new terms to learn.

However, it’s not that hard after you understand what ‘A Record’ does: map the domain name (or its subdomains) to an IP address. All Namecheap did is providing a web server (using REST API that accepts user inputs with certain syntax in the URL) that updates your ‘A Record’ (domain to IP address map).

 6 total views

Lantern-VPN Free for Hong Kong & China (香港已經開始局部封網,快裝免費 VPN 藍燈 翻牆軟件)

網站「香港編年史」 已經被香港政府封。已經證明香港通訊設施已經被某支蝗軍直接管轄。封得一個,而後 Youtube 同 大紀元 都封得。大家準備翻牆。

Lantern 藍燈 快裝工具 VPN 非常容易用。無需登記,對香港地區用家完全免費。下載:

Android 版本只有一個開關掣。Windows 版本不用 管理員Admin 權限,直接裝到用戶的個人資料夾,沒有複雜的設定。一機多人用的話每個用戶自己裝一次,不會弄到一個人上VPN,其他也要一起。


還有一個由開放網路基金會贊助的翻牆軟件 賽風 (Psiphon)。我未親身試過,教學可以到。對獨裁惡魔淪陷區用戶也是完全免費。

 67 total views

Big Tech Alternatives

FunctionBig/Evil TechModern Alternatives
EmailGmailProton Mail (Zero-Knowledge Encryption. The host cannot decrypt)
IMWhatsappSignal (Zero-Knowledge Encryption. The host cannot decrypt)
Telegram (Better voice quality. The host so far won’t sell-out its users to tyranny)
DNSYour ISPVerisign (Privacy Respecting)
SearchGoogleDuckDuckGo (Privacy Respecting)
Video ConferencingZoom,
Skype (Microsoft)
Jami (OpenDHT so nobody can ban you) / Jitsi

 26 total views

尊重私隱的通訊軟件 Signal & Telegram

現在科網絡巨企業壟斷 網絡資訊 和替 某支邪惡政權 侵害言論自由 從而 偷取美國實質政權。今天 Whatsapp 宣佈 用戶資料 (尤其是通訊錄和通話記錄) 要和母公司Facebook結合。

大家請不要再使用邪惡利益集團的平台,然後讓他們任意宰割。為了避免個人資料(尤其是電話簿)外洩,要在今年(2021)二月前把 Whatsapp 刪掉。尊重個人私隱的代替品有 Signal App ( 和 Telegram (。

如果要保障資料不被出賣,Signal是首選!要好好記住密碼,忘記了的話,Signal方面沒有辦法解密(即是執法機關沒有辦法逼他們交出主人密碼)。Telegram 是俄羅斯富商自費研發的,從來不向獨裁者交出用戶資料。但技術上不可能被出賣 Signal 總比要看 Telegram 的主人的逆權鬥志安全。

Signal 是富商 Brian Action 離開 Whatsapp 後用自己的資金的 非牟利( 美國501(c)(3) )事業。他是和 Whatsapp 意見不合而離開的,應該不是和 FB/Whatsapp 一伙。

同話質素 Signal 比 Whatsapp/Telegram 差。而我的使用經驗到目前為止 Telegram 的最好,語音質素比 Whatsapp 好很多。打電話我會用 Telegram。


Signal 有中文版。不是應用程式裏面轉語言的。Telegram 下載時候是英文版,安裝後到這個網頁直接按下所需語言包的連結,Telegram 會自動下載語言包和轉換語言。

Signal Desktop 版需要 Signal App 掃描 QR code。如果沒有智能手機,只有 Telegram 支援用SMS短訊認證。

可能因為 Signal 的保安嚴密,如果要用瀏覽器界面,只有 Telegram 可以 (。

 57 total views,  1 views today

Use SSD for bootable USB stick Linux liveboot

If you flash a Debian-style Linux live-boot image that’s intended for USB stick on a USB-SSD itself (for speed), it will get stuck at initramfs on boot because unlike USB sticks, USB SSD drives are not considered removable drives, yet the live-boot parameters (scripts) set to search only removable media, hence it cannot find the right device.

The solution is to remove live-media=removable as boot parameter (typically under append initrd). You can do that quickly on each boot by TAB key to modify this key-value pair out of the boot parameters and hit enter.

To make it persistent, you have to edit the scripts where these boot parameter lives. The live USB stick/CD was supposed to be mounted as a read-only volume, so we need to first remount it as writable in order to modify the scripts:

mount -o remount -w /lib/live/mount/medium

Note the -w parameter which means writable. -o means options. -o remount,rw means exercising the remount option as a writable drive (-w is alternate syntax for writable).

Make sure you have root access (to modify these files), and edit these live*.cfg files if it shows up in the following folders:


Then take out live-media=removable in for the boot menu item you normally use for each of these script .cfg files. Reboot after you are done.

 76 total views,  1 views today

Nested Ordered List Plugin Conflicts

I recently had problem with Enlighter plugin (for displaying code) being misaligned after upgrading my WordPress. The Enlighter text went outside the boxes in desktop browser mode and I contacted the author of the plugin for help in the forum, and learned it was actually Nested Order List (NOL) plugin that’s overriding the CSS rules that defines the margins.

Another user had similar problem NOL conflicting certain templates and the author of NOL suggested similar causes that the CSS style from the plugin messed with other styles:

.nested-list .entry-content ul,
.nested-list .hentry ul {
 margin:.8em 0 .8em 1.4em

The author suggested that the NOL plugin itself is not complicated to start with (it’s just adding a CSS), and the same functionality can achieved by adding this CSS to my WordPress theme template (pasting the following text under “Additional CSS”):

.entry-content ol,
.hentry ol {
.entry-content ol ol,
.hentry ol ol {
.entry-content ol ol ol,
.hentry ol ol ol {
.entry-content ol>li,
.hentry ol>li {
.entry-content ol>li:before,
.hentry ol>li:before {
 content:counter(level1,decimal)'. ';
.entry-content ol ol>li:before,
.hentry ol ol>li:before {
 content:counter(level2,lower-alpha)'. ';
.entry-content ol ol ol>li:before,
.hentry ol ol ol>li:before {
 content:counter(level3,lower-roman)'. ';

It worked like a charm!

 35 total views

OKI C3200N Color LED Printer Toner Reset

I’ve had my C3200N printer as a workhorse for a decade until it died. Before I toss out the service manual and the instruction to reset the toner, I’ll put it here for those who still got mileage left for the printer

Here’s the service manual:

Back up here:

The important pages where the service menu is in page 124-125 (Maintenance Menu), 134-136 (Menu Tree), 152 (Factory mode = Do not cut fuse of consumables)


Summary (

*** Do NOT use NV-RAM INITIAL RESET. It’ll screw things up (like losing MAC address). You can go into the service menu to reset toner, drum, fuser and belt individually***

Here’s the directions by user “Nono” which I think it’s the best:

A C3200N here…

I never wanted to do the NVRAM complete reset because I was scared of losing the network MAC address as mention somewhere else on this forum. And basically controlling the consumable level independently was interesting… My c3200n printer was bought last month (09/2006), guessing here that the bios may be different depending on release date (this walkthrough might not work for everyone).

Sooooo, after much button pressing, restarts and coffees.. here it is:

Get to the standard “Diagnostic mode” as describe on this thread:

1) Turn off printer.

2) Turn on printer, while holding the + and – buttons.

3) The LCD Shows “OKI User”, Scroll to “Engine Diag Mode”, press “enter”.

The display shows “Diag Mode 01.02.02 S-Mode” as mention multiple times on this thread.

At this point you should wait for the initialization cycle to complete. I mean for all the motors and gears to have finished their noises and cycles – otherwise you will end up with a LCD switching between two different info screens – not a big deal but still annoying.

Now we want to go in “regist mode” by:

1) Pressing the “Online”, “Cancel”, “Enter”, “-” and “Back” AT THE SAME TIME (not in any sequence – at the same time). Yes! That is 5 buttons.

2) After within two seconds the LCD menu will show “READY”. If it doesn’t, release button and repress buttons again.

3) The buttons release sequence is important. So, read this before letting go your five fingers: Release the “Enter” button first and THEN the four others. LCD is still showing “READY”.

4) Press the “Online” and “Cancel” button at the same time BRIEFLY. Don’t wait before pressing them after the five fingers sequence otherwise you will miss your time slot.

You can always switch back from the “READY” to the “Diag Mode 01.02.02 S-Mode” menu by pressing the five buttons again.

Don’t laugh. I know it seems a lot of gymnastic. Well I guess they didn’t want the user to find that one easily.

Now you see “Eng Diag Level 2”

Taking from someone else on this thread (with some modifications for the c3200n):

Press either the + or – button until “CONSUMABLE COUNTER SET” is displayed, press the Enter button; you are now in the menu to set various consumables.

1) Press either the + or – buttons to scroll through the various consumables, at the desired consumable (ie. “K-ID UNIT …” for the Black Image Drum Unit, “C-Toner” for cyan toner, etc.), press the Enter button and the last digit of the count will start flashing.

2) Press the Cancel button to decrease the digit amount or press the On-line button to increase the digit amount; press the + or – buttons to move along individual digits in the count. Note that it will not show the remaining but the usage (100\% means it is empty).

7) Once the count is at the level you desire, press and hold the On-line, Cancel simultaneously until the numbers stop flashing; you have reset that consumable’s count to the number you specified. Note that you may end up with a different value then the one that was entered when saving. The printer engine is probably jumping to the nearest registered/acceptable value. If someone find a way to save the exact value, let us know.

8) Press the + or – buttons to move to the next consumable and repeat at step 5.

9) Once all consumable counts have been set to desired amounts that are below their end-of-life thresholds, you can use the Back, +, & – buttons to exit through the menus (reverse of steps 2 through 4) until “INITIALIZING” is displayed. Or turn printer off and on.

10) You’re finished! Now log in to the web interface with your browser and check to see the remaining life of your consumables.

There is another way to get to the “Eng Diag Level 2” menu – I did it at one point but wasn’t able to reproduce. But this method worked for me even if you may need some practice. You can also get to level 3 and level 4 after the release of the five fingers step by pressing something else then the “online” and “cancel”.

Good luck.

by unknown on Oct 19, 2006 at 12:46pm

 62 total views

termdd.sys BSOD because of remote hack attempts

Recently my computer keeps ‘randomly’ getting BSOD over “termdd.sys” and “IRQL_NOT_LESS_OR_EQUAL”. Upon some research on “termdd.sys”, I noticed there’s a RDP heap corruption attack ( for RDP services.

In the past, I opened up my computer’s RDP service to the wild (bad practice) by routing the traffic to the right computer. The attempts did not successfully break into my computer, but in the process, these villains are corrupting my computer memory (heap) thus causing the BSOD.

Instead, I plugged the bad practice of opening up web services that are only for me to use. Instead connect to my home network using VPN when I need to access my computers. Since then the BSOD disappeared.

Lesson learned: Your computer is not hacked by a remote exploit (probably patched enough) doesn’t mean the exploit won’t trash your computer memory till it crashes. Better use a VPN than directly opening up RDP to the wild internet.

 72 total views