Author Archives: admin
Two ways to init the output pin and remain same value

crazy web uart

if you want to send one single byte this is not working writer.write(new Int32Array([0x4]).buffer); this work writer.write(new Uint8Array([0x4]));
The correct way to send code to micropython via uart and run

There are two mode in micropython: REPL vs paste mode. I guess the uart of my ESP32 board has no flow control, so you can’t send all bytes at once, because it is too fast, so I sleep 100 ms for every 100 bytes. REPL mode You can’t just send your python code, you need […]
香港神奇的Python仔現象

香港有人係咁,廿幾歲畢業出黎做野,做左幾年對隻language開始熟,佢地唔係鑽落去language下面睇下發生緊乜野,例如啲code點compile呀,debug點做呀咁。佢地會作一出個難以解釋嘅現象,就係跳去另一隻high level language到再玩過,而當佢地玩到興起玩左幾年,佢地再次唔係想知道隻language嘅底層,而係再一次又跳去其它high level language到碌多一次,難道唔想知揸係手裏面把刀係咩黎?我叫呢一種現象做「香港Python仔現象」。舉個例子,2003年班友玩vc++,跟住跳去c#,跟住又跳去java,而家又跳去python。因為咁樣跳法本質上對過去學嘅語言都唔方認識得深,所以如果而家有個阿叔好推崇python,對其它language只停留係誇誇其談攞唔出到戰鬥力,佢大概率係咁。 要改變,就要做好科普,揭露python底層所有野,咁先至有機會改變。但呢班友會唔會變未知。
gitlab backup guide

Solved Chisel : Error compiling the sbt component ‘compiler-bridge_2.12’

When running the chisel book example, we got Error compiling the sbt component ‘compiler-bridge_2.12’. Here are the way to solve it git clone https://github.com/schoeberl/chisel-examples.git Edit hello-world/build.sbt Edit hello-world/src/main/scala/Hello.scala
貴族 vs 老土 (貴族之女,第一個程序員Ada Lovelace)

香港人嘅老土活該沒有科技,我而家分析俾你地睇香港人嘅老土係有幾老土,以及老土嘅香港人點解覺得自己唔老土 第一老土 : 你憑咩 佢地所謂嘅論證不外乎係黎自你所受嘅教育同埋經驗,佢地會話你又唔係哈佛MIT學咩野人搞之類嘅言論,但呢班無讀歷史嘅人唔知好多科學家都係自學為主。(見下圖) 香港人老土在永遠人地努力做,佢地就會問”你憑咩”,其實呢一句好無敵,因為當你做緊而又未做完嘅時間你的確無力反駁呢一句,由其是你係做緊一啲你自己都唔知做唔做到嘅野時,你更加無力反駁。但呢班友永遠唔明,科學嘅發現好多時就係意外發現,好多野唔做就唔唔知得唔得,而呢班咁嘅人最叻就係用呢句去質疑你,佢地嘅內心世界就係「嘩,你做呀,你有無諗過㗎」,跟住就會覺得自己好似好有經驗,好似真係以為自己曾經做過咁,知道你條路係唔通,其實個現實就係,呢班友根本無做過,而更深一層嘅就係,佢地連去嘗試嘅基本實力都無,佢地唔係連個for-loop都寫唔出就係技術只夠寫啲script仔,真係可憐。 第二老土 : 話人畫餅 呢個世界唔係所有人都需要理想,而理想呢樣野個實現率必定為低。香港地當然多人畫餅,但係係唔係畫餅好容易分,得個噏字唔做咪就係畫餅囉,會做嘅又點會算係畫餅呢,但係呢班咁嘅人就最叻攻擊啲為理想而行動嘅人。佢地個底其實係數佬,內心世界非常現實,我估計佢地後生嘅時候都曾經有理想,但手料跟唔上人到中年完全無哂動手能力,思想上變得越黎越現實,腦裏面諗一百個可能性去否定執行嘅成功率,不停俾借口自己逃避執行以至完全喪失執行力,佢地係編程上嘅實力只能點評人地寫嘅program,而自己乜都寫唔到。 Ada係連電都未係好識運用嘅年代就話要令機器有計算能力,如果香港班友返去佢嗰個時代,呢班友就會話人畫餅。嗰個時代根本就係非常簡陋。當呢班友話人畫餅,佢地嘅內心有一種好充盈嘅感覺,佢地會覺得:「嘿嘿,我真係叻,無俾你利用到」。但係個現實係咩呢,就係呢班友手料根本連俾人利用嘅資格都無,同你講下理想只係發下噏瘋而矣,唔好諗得自己咁有料可以俾人利用。 第三老土:話做唔做或者揾借口唔繼續做 話做唔做嘅人主要會話你唔夠條件做,做緊又揾借口唔繼續做嘅人會話發現你原來唔夠料做,又或者話發現你身上有啲缺點而唔再同你合作做。總之無論係咩原因都好,結果就係唔做。我地睇返Ada Lovelace個Case,當佢話要做一部Thinking machine嘅時候,佢mentor Charles Babbage唔會因為佢太天馬行空而屈佢畫餅,想反地會動手一齊做。而Charles Babbage亦都唔會話Ada無足夠嘅錢同埋未讀過大學就話人無料而做做下唔做。
A Super Good scala sbt tool tutorial

https://conorfennell.github.io/scala-zen/articles/sbt.html
解剖玩具麥輪車

MX512G : 低压单通道有刷直流电机驱动器, RMB $2MX1616S : 双路有刷直流马达驱动电路, RMB $7.8TRSP5040A : SOP8語音OTP芯片40秒碩呈語音播報IC程序開發, RMB 0.27RF2520A : 无线遥控收发器芯片, RMB $4.3
重點係Draw small + detail,畫大無用

第一步其實好簡單,就係視覺角度唔好錯,畫細畫detail,畫太大舊野無意思
Blender : Faucet

This tutorial give us a very good demo on rendering: https://www.youtube.com/watch?v=ukd1zO0Q-h4&t=317s
iPad stand using FreeCad

Tutorial to setup RF-Nano

https://item.taobao.com/item.htm?_u=ibuhab0bb1b&id=628418040642&spm=a1z09.2.0.0.76e02e8dYbXP6k
STM32 + DHT11 example

https://gitlab.com/peter-example/stm32/thei-stm32-demo-stm32f411ceu6
香港嘅教育展,其實係教育玩具展

香港花太多時間係用玩具去吸引學生學編程,但無提升到對編程概念嘅表達,其實所有人都應該明白,如果係鐘意寫Program嘅小朋友,絕大部份第一次接觸就會愛上,其實係唔存在你要買好多玩具俾佢試先會所謂「啓發」到佢地嘅興趣。而個社會咁做不外乎得以下幾種可能 上面三個原因互為影響互相加強,所以教育展變教育玩具展。 對香港嘅影響: 大家都係做代理唔研發,而大粒佬係呢啲展到都係得講野兩個字亦都唔會研發,最終後果就係香港洗好多錢係教育到最尾得個殼,香港人可以話俾外國人知香港投資左好多錢落教育,買左好多光鮮嘅玩具,除此之外乜都無。香港唔洗諗會出到Basic之父或者Logo之父等等一系列用實際行動去壓低學習難度嘅教育家,香港人唔洗諗,所以我地要以行動作出改變。 教育展中嘅清泉: 呢間公司做到好Deep,成套教學工具自己出,老細寫左本ROS嘅書有自己嘅學習思想,相信佢係用自己學習ROS嘅學習經驗濃縮出黎
Java getting millions files from SharePoint online

This function is using SharePoint-Java-API library.
Solved : C# Azure functions in vs

If your c# azure functions project in visual studio has error : “There is no Functions runtime available that matches the version specified in the project.”. Do this : Click : Download & Install
Port forward port 22 into WSL ubuntu

Run this command in windows host
PhpIsDead framework init idea

Add -g option to riscv-tests

To enable debug, “CFLAGS=-g ./configure” won’t work, edit ./isa/Makefile and add -g to variable RISCV_GCC_OPTS then it works. The dump file won’t show debug info, run “riscv64-unknown-elf-objdump -DS rv64ui-v-addi” then you see it
How laravel can inject function to object in their ORM

The technique they have used are “trait“, “magic function” and “call_user_func_array“. The whole thing work in runtime, not compile time. 1. Php trait PHP trait is just like copy and paste the code from trait into the injected class. 2. Magic function When calling a not exist function, the __call function will be called. Laravel […]
dhrystone compile issue in riscv-tests

this problem happens in both mac and ubuntu /home/peter/workspace/riscv-tests/benchmarks/dhrystone/dhrystone.c:20:1: error: return type defaults to ‘int’ [-Wimplicit-int] Fixed is here https://github.com/riscv-software-src/riscv-tests/compare/master…pratikkedar:riscv-tests:pratik-test
Code magazine statistics

Total page Total article Editorial (no of page) Longest article (no of page) Advertisement (no of page) 2024 Nov Dec 76 11 1 14 5 2024 Sep Oct 76 12 1 25 8
Resolved: unable to push to gitlab

if you meet this problem: fatal: the remote end hung up unexpectedly Do this:
This book is totally outdated

This book is totally outdated because the official facebook PHP SDK is already deprecated. Now we should go for facebook javascript SDK
Good bye THEi

香港編程界必須「代碼脫亞入歐, 工作脫港入陸」

「代碼脫亞入歐」這一概念可以從幾個方面來理解,特別是在香港的編程界與日本的明治維新之間進行比較。 1. 歷史背景 2. 技術與創新 3. 教育與培訓 4. 政策支持 5. 文化與思維轉變 總結來說,「代碼脫亞入歐」不僅是技術上的轉型,更是一種思維方式和文化的變革。香港的編程界若能學習日本明治維新的經驗,將能在全球化的浪潮中更好地立足與發展。
H2 hex function

This will select value in hex format, beware the bit width, otherwise it wrap to zero
我估實相係咁 : 時間係亂序執行

1. 時間係亂序執行,否則佛教不能自圓其說。只要亂序執行講得通,佛教整套哲學體系就會自己渝合。而家佛教哲學有幾個不能接合嘅地方,第一就係講所有野係空,但又因緣生。第二就係佛教嘅神通如果係真,根本容唔落係自己套哲學體系裏面。就算講得最清楚嘅龍樹,都只不過係話當「果」出現時,「因」先會被確定。如果時間係線性,呢單野根本完全唔合理,但如果時間就亂序執行,咁就好正確。因為係呢一對事物「因」+「果」佢地嘅時間當然係順序執行,但跳出左呢一對事物,佢地嘅時間線就唔係,所以係佢地時間線黎講果要出現左,因先可以成立。企左出去佢地嘅時間線,其實係果先出現,再到因。我再舉多個你地可以睇到嘅例子。int x; x=123. 呢兩句code,你地用verilator synthesis出logic gate,係呢兩句code嘅時間線上先有int x,先可以有x=123. 但其實係int x之前,係另一條時間線,x已經存在,所以果出現時,姐係int x出現時,佢個因x先被確立。乎合龍樹所講嘅野。古人因為科技所限,無法舉證。 2. 時間係唔係線性,而亂序執行唔會阻擋世情嘅出現。我地感受到時間係線性,因為只係我地要靠時間去圍持呢個身體同識。舉個實制例子,CPU係亂序執行,但被執行嘅program會以為自己嘅時間線係線性,但其實唔係。只係CPU唔會張下一句指令嘅執行結果話比上一句嘅指令知,最終令到program以為自己條時間線有如河流一樣線性。
Resize ext4 inside ubuntu and virtualbox with lvm

Azure CDN SAS token expired will give you wrong error message

Azure CDN SAS token expired will give you wrong error message of the expired period
Resolved : Mac pip unable to get local issuer certificate

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)’))’: /simple/matplotlib/
Statistics formula in Excel

HKPS First RISC-V Board

Weact Logic Analyzer

https://github.com/WeActStudio/LogicAnalyzerV1
Remove old node_modules

M2/M3 hole size

https://www.accu.co.uk/p/117-iso-metric-thread-dimensions Bolt Sizes Chart & Metric Bolt Dimensions THREAD SIZE MAJOR DIAMETER (MM) MINOR DIAMETER (MM) THREAD PITCH (MM) PITCHDIAMETER(MM) TAPPINGDRILL DIAMETER(MM) CLEARANCEHOLE DIAMETER(MM) M1 1.0 0.729 0.25 0.838 0.75 1.3 M1.1 1.1 0.829 0.25 0.938 0.85 1.4 M1.2 1.2 0.929 0.25 1.038 0.95 1.5 M1.4 1.4 1.075 0.30 1.205 1.10 1.8 M1.6 1.6 1.221 […]
A simple hex dump for dns request and response

Mac command to view all opened port

All the gates I have