Waveshare S3 Zero + Micropython + LVGL

																			
Scale STM32CubeIDE UI in mac

Run STM32CudeIDE by Changing anything in STM32CubeIDE.ini won't work
																			
Micropython燒程式落stm32, reboot會無哂

https://github.com/issues/created?issue=micropython%7Cmicropython%7C17828解決辦法就係加呢兩句係main.py頭import pybpyb.usb_mode('VCP+HID')
																			
Create your hardware in libsigrok

In short, you need to build libsigrok then sigrok-cli Step 1: Add your device to Makefile.am Step 2: in configure.ac Step 3: Create /src/hardware/quantr folder add api.c, protocol.c and protocol.h api.c: protocol.c: protocol.h: Step 4: Build libsigrok Step 5: Build sigrok-cli Step 6: Test Then test it by "sigrok-cli -L", you should able to see […]
																			
Weact STM32 H750 board use serial port via usb

Unlike nucleo to user serial port via usb by just enabling the uart. We have to enable VCP in weact H750 board. Reference: https://blog.csdn.net/Naisu_kun/article/details/118192032
																			
Weact STM32H750 DMA Reg-To-Mem example

Few things need to be care and different then STM32F411CEU6 Gitlab source https://wiki.st.com/stm32mcu/wiki/Getting_started_with_DMA
																			
STM32L476RG - DMA from register to memory example

Thinking how to build a logic analyzer using STM32. This example keep transfer the value of GPIO A to memory then fire interrupt using DMA. It will toggle PC0 for every complete transfer in my Nucleo L476RG board, I use oscilloscope to test, around 93KHZ
																			
LVGL_python connecting two SPI devices

All device pins should be connected to the same pins on the ESP32 board except the CS (chip select) pin.
																			
Perfect 3D print for Ender 3 Pro

My old Ender 3 Pro, give 0.3mm X-Y Hole compensation, now no need polishing, I can plug them into another. Two filament print from two different nozzle temperature, same perfect.
																			
Run: Micropython + LVGL on CYD (Cheap Yellow Display

Example: Clock Cheap Yellow Display Pins Connector types Connector Type Note P1 4P 1.25mm JST Serial P3 4P 1.25mm JST GPIO P4 2P 1.25mm JST Speaker CN1 4P 1.25mm JST GPIO (I2C) What pins are available on the CYD? There are 3 easily accessible GPIO pins Pin Location Note IO35 P3 JST connector Input only pin, […]
																			
Solved: unable to write to cheap yellow display esp32

In mac, sometime arduino unable to write the program to cheap yellow display esp32, you can type the command manually
																			
Solved : sr: resource: Failed to open resource 'fx2lafw-sigrok-fx2-8ch.fw'

If you have this problem: run: sigrok-cli --loglevel 5 -d fx2lafw --scan , it said failed to find the firmware file So build this project and restart terminal, then you will success
																			
Tutorial build micropython for WEACT_F411_BLACKPILL

using st-flash is better then dfu-util because we don't need to put the board into dfu mode Micrpython testing example
																			
ESp32 Arduino LED Example

https://item.taobao.com/item.htm?_u=vbuhab0c8fc&id=692235616325&pisk=gfaLsUj6M1dLBGaKsWSMEFEN3lfGiGVU_JPXrYDHVReTeSd3x0DoV4e4H0TlY2m-yRMg-vVnRbi7E-ZndkDkyzeapeYoR8b-FSrNavc3-Qh7fJLuxWD3XQ3USkYoK9u8N-0RntbcoWPE846cnxid94gjO3OBEYg614c8jWtHGWPEzYOMFiq_TQhdgwAINY1t5bhIO4MINF1twb9IPviWChGjC4gSA0t_1jcXApMWA1KstbcWRXGS5hGSZHgSP8N16bksO4gS9i5KQBGpyo2QH1YJL2LWPPhKfiViCiyQJXhnnWapBddr9DHbOAB4G69Z2JnLSwpq9lNYiXePueuI2kwK14QJ72VYfJnTvTLtblN4PcENHnP4OowSKP6XyYq4JomqAILY68UtRAUPaUkQx7ao2y6XZvaUKPn4zpBiEoVgRcefIFer2kwK1qsPZr4xT7vmHbxC61Ky4DGw7oIF1mRpfIltn6iB43oo_fHc6tty4DGZ6xfB_3-rqf5..&spm=a1z09.2.0.0.20712e8dhZRCRN (Set to 115200, otherwise upload will fail)
																			
8 segment led display all characters and numbers

																			
testing ESP32 UART using MicroPython

Mac command to read from UART
																			
Solved: Modules/_curses.cpython-313-darwin.so: no such file or directory

If you are using macports instead of homebrew, you may have this problem. Solved by this: LDFLAGS="-L/opt/local/lib" CPPFLAGS="-I/opt/local/include" pyenv install 3.12.6
																			
Two ways to init the output pin and remain same value

																			
香港神奇的Python仔現象

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

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

第一步其實好簡單,就係視覺角度唔好錯,畫細畫detail,畫太大舊野無意思
																			
Tutorial to setup RF-Nano

https://item.taobao.com/item.htm?_u=ibuhab0bb1b&id=628418040642&spm=a1z09.2.0.0.76e02e8dYbXP6k
																			
Java getting millions files from SharePoint online

This function is using SharePoint-Java-API library.
																			
PhpIsDead framework init idea

																			
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
																			
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
																			
H2 hex function

This will select value in hex format, beware the bit width, otherwise it wrap to zero
																			
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
																			
HKPS First RISC-V Board

																			
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 […]
																			
All the gates I have

																			
THEi課程體驗日2024/05/24

教中學生玩STM32開發板,感覺到佢地開心
																			
Good ELF diagram

http://blog.k3170makan.com/2018/10/introduction-to-elf-format-part-vi.html
																			
Teaching students for competition in THEi

																			
有關於ESG之IT項目

IT projects play a crucial role in advancing Environmental, Social, and Governance (ESG) goals. Let’s explore how digital initiatives can contribute to ESG efforts: In summary, IT projects can drive positive change by integrating ESG principles, optimizing energy usage, and contributing to global sustainability.
																			
fix TS1005 in spfx project

"extends": "./node_modules/@microsoft/rush-stack-compiler-3.9/includes/tsconfig-web.json",
																			
The way to extend qemu TCG plugin functionality

Hi, if want to to provide other function-calls to TCG plugin, such as reading guest memory, follow these steps: https://peter.quantr.hk/2024/01/qemu-risc-v-log-all-memory-operations/ 5. Run in qemu 6. Edit xv6-riscv Makefile: References:
																			
X11 is good but slow in starbucks

I am sitting in Starbucks with network speed 15Mbps and try to use X11 forward for Netbeans coding. XMing is very low screen resolution so I changed to x410. The text is super clear now but the bandwidth not enought, so a little bit lagging. You can see xming font is not clear in my […]
																			
Netbeans programmatically add watch expression to the "watch window"

use this code pom.xml
																			
NOR vs NAND flash

i finally found the differences between NOR and NAND flash, but just dont know what is it
																			
CS人如何同EE人溝通

首先,你要承認幾點先 千萬唔可以俾佢地知你知呢幾樣野,否則死得好慘 要不停贊美呢幾樣野
																			
Arduino + AD9833

Buy from here. I am using the example from here but ignore the switch buttons. You need to add this zip into the library and make sure don't install the other library call "AD9833", very important
																			
Rotate button by Arduino

Refer to https://zhuanlan.zhihu.com/p/349824627 , buy from here
																			
計準NPN了

Main point: calculate Ib, we can do it by Ib=Ic / Beta min OR Ib=(Vb - 0.7) / Rb
																			
FPGA Research

This is a synthesis of a simple verilog program in vivado
																			
Nucleo-L476RG DAC

																			
同香港啲阿叔嘅交流指引

香港有好多阿叔,業界學界商界全部都係由阿叔為主,同佢地只要係有少少聯絡,你都要好小心,以下是指引 香港唔存在"前輩"呢一層,我唔係話香港無人夠資格稱做前輩,而係真正稱得上係前輩嘅人太少,唔足以叫做一代人。所以要摒棄幻想,唔好諗住搞到啲阿叔去指導你,唔點你都算係咁。香港啲中小學生同年青人未知呢個事實,所以寫呢篇文。
																			
教學理念

其實香港啲IT教育大家心裏邊都覺得唔係太work, 至於點解唔work你問啲學生就知. 所以我打算宣揚呢個教學理念, 但係呢個理念太難(右圖), 所以先執行一個簡化版理念(左圖). 首先我地盡可能用自己開發嘅tool去教學生, 呢一點難度好大, 因為要求位老師真係實際咁開發到舊野出黎, 完整程度要足以教學, 咁樣可以收兩個好處, 老師保證足夠handson, 學生保證學到最handson嘅skill. 做到呢樣野相信教學會煥燃一新. 香港太多課程啲老師照稿讀, 根本自己就對自己所教嘅野無足夠深度嘅認識. 舉個例子, MIT嘅Operating system課程不單止老師可以創造一個OS, 佢地亦都可以帶領學生去創造一個OS, 而香港嘅OS課程只係吹下powerpoint, 抽少少concept寫少少C++就算數, 無論完整性都沒法同外國比. 又例如香港教compiler嗰班老師又有幾多個可以寫到一個完整compiler出黎, 咁樣仲走去教人唔知會教到啲咩知識出黎. 當老師真係攞得起自己舊野去教, 啲學生又學得識, 最後一步就係要啲學生投入返去開發個project, 咁老師同學生就會有一個可以共同進步嘅圈. 收到嘅好處就係啲學生唔會覺得老師無料, 老師唔會覺得學生廢. 係香港提出一啲會帶來改變嘅意見好危險, 我而家提出呢個理念肯定都好多人跳出黎插我, 佢地嘅原因不外乎就係話用人地嘅tool去教一樣收到好效果, 呢一點我都懶得去反駁.
																			
Quantr-Logic + PLD

We are thinking of synthesis logic into FPGA but the task is quite complex, We found a new way to do what we want: We generate the jedec file and let the end user burn it into PLD. This brings us the ability to design logic from Quantr-Logic, kick a button, and burn it into […]
																			
RISC-V Day Hong Kong 2023

thank you Professor Ray invited us to join
																			
獅子會IT部

15.8.2023IT 小姐組一次工作會議在IT小組主席張民傑獅兄、總監陸嘉暉獅兄、第二副總監梁鳳華獅姐 領導下訂定各項IT工作,肯定今年的工作計劃賣個關子:好快會有重要IT事情宣佈
																			
We have built the 8 bits register

Teenager computer architecture free lessons
																			
Support debug using vscode for xv6-riscv

launch.json in ".vscode" folder tasks.json ".vscode" folder Remove "-O" in Makefile run: set some breakpoints in vscode make qemu-gdb click the "run" button in vscode, see below
																			
Nand / Nor

i know any gate can convert to NAND or NOR, asked many time why people always use NAND instead of NOR, no one can answer, but i found the answer now. NAND need voltage, NOR need current.
																			
Arduino Nano V3.0 + NRF24L01

This little board is nearly the same size as nano but embedded with a NRF24L01, and also very cheap $4 USD. To make it works: The "RF24 > Scanner" will works like below 100% compatible with Arduino nano
																			
HVPP reset Arduino Nano fuses

https://radiokot.ru/circuit/digital/pcmod/72/
																			
STM32 power up

Did it one more time and
																			
STM32 + OLED 0.96 4pins I2C, works

This video works https://www.youtube.com/watch?v=Mt6U30Yxrr8&t=311s , sample code is in here.
																			
We start building benblue computer

																			
Powerup STM32 by breadboard

I found something:
																			
Very good arduino uno clone

bought from here
																			
Arduino controls two 1602 LCD

One LCD need to set the jump at back to have another I2C address
																			
STM32 controls 4 digits 8 segment led

MyFunction.c Control Code
																			
Very small STM32 board

Buy from here https://item.taobao.com/item.htm?spm=a1z09.2.0.0.67002e8deFDqTo&id=630403001847&_u=bbuhab0778e , model is STM32F103C8T6
																			
Load jar and dynamically create object from it

Two maven project, project A load the project B jar, create the object dynamically and invoke the method Project A: Project A: Project B:
																			
香港SI界嘅本質

啲人問點解香港SI界唔係好似歐美咁,代理隻product跟著自己改裝,跟住越改越advance,咁就要由SI界嘅本質講起 香港SI嘅本質就係做trade 香港係轉口港,香港嘅SI本質無異,兩個字講哂就係做trade,姐係做買賣,左手入貨右手出貨。用一個好啲嘅比喻,SI就好似百老匯,入左啲冷氣你要咪送去你屋企裝囉。唔同嘅只係做嘅客係公司客,賣嘅貨係專業啲咁解。做trade無問題,賺到錢嘅生意就係好生意,香港做得大嘅IT公司基本上都係做trade。如果認清左個本質,咁你就會解釋到呢幾件事
																			
CityU-EE GEF Programme Mentorship Meeting (4 Feb 2023)

																			
Good book on logic synthesis

These two papers are referenced by above book about HDL translator
																			
香港啲阿叔,普遍都係kai嘅

呢篇文章係俾CS/EE嘅學生睇,目的係為左佢地唔好被香港啲阿叔摧毀左佢地做科技嘅熱情。係個社會上有班阿叔,年紀四五六十歲,個title掛到好大,又director又乜又柒咁,其實佢地嘅本質係kai嘅。 呢幾年我自己出錢資助左條team搞cpu,每年都會見到不同嘅阿叔,佢地嘅行為令我要寫呢篇文告誡班後生仔同呢班友相處要小心啲,小心自己做科技嘅熱情被呢班阿叔摧毀左。呢班友年紀係你地兩三倍,工作經驗可能係你地N部,就好似係山腳嗰度望咩山都高,所以你地要小心唔好佢地講乜你都信,呢個係好危險的。 啲阿叔根本就無實際經驗,一味鳩吹 做一個project你有技術問題,你可以試下問呢班阿叔,目啲係為左玩下佢地,佢地百分之九十幾係唔會答到你問嘅問題,當佢地答唔到就會講自己以前工作做過哂,不過呢啲low end野無做好耐,所以而家當可憐你指個方向你啦,你自己試下。你老味實情就係唔!撚!識!所有讀CS/EE嘅同學唔好被佢地fake到,技術呢會事好似踩單車咁,你幾年無踩跳上架單車到都會踩到,唔存在對個軟件一啲實際操作都唔識但又做過幾年呢回事。所以所有同學唔好因為啲阿叔鳩指你一個方向就以為佢識,唔好仲要以為佢地真係好有經驗。 唔係非technical就代表係其它非technical嘅方面都好勁好有經驗 啲做左管理好多年又或者做左好耐director嘅人唔代表好熟悉個market,相反地佢地絕大多數都係對個market無認識。啲學生搞startup班阿叔係技術上無法作出指導,佢地就會鳩指班學生要點做marketing,點到分析個business plan,講真,收!撚!皮!啦!你地做學生以為啲阿叔係個行頭到做左幾十年,升左上管理層就自自然然對個market好熟,呢個諗法好make sense但真係kai都無人有。如果你地班後生仔搞啲新野佢地聽幾句就知盤生意點搞,佢地發哂㗎啦,洗同你係到吹水咩。舉個solid嘅例子,香港好多sales director其實唔識sell野,更加唔熟market,否則佢地做左老細好耐啦。你地會有懷疑咁點解佢地會升到做sales director,咪因為佢地識屌sales仔囉,根本同熟唔熟個market一啲關係都無。佢地入間公司唔係間公司第一日成立就入去,係間公司成立左好耐,有哂既定業務先入,佢地照run㗎炸。唔好再信班阿叔講野啦。 大部份嘅阿叔都係虎頭蛇尾 人地蘇姿丰做半導體做左幾十年講野梗係要聽啦,香港啲阿叔做下呢樣人十口心下嗰樣,你地學生以為年紀大啲講野唔多唔少都要聽下,其實呢班友根本都無一件事做得深入。你地啲學生唔好佢地講乜都信。一個CS畢業嘅阿叔如果0code其實都可以收線,唔好被啲阿叔迷惑左以為佢地好專業係一件事到,佢地絕大部份都唔係,如果佢地係就唔係連你地啲學生問題都無法俾一個solid嘅回應。
																			
Map pgup and pgdown keys to page up and down in msi notebook in ubuntu

xmodmap -e "keycode 112 = Home"xmodmap -e "keycode 117 = End"
																			
Force gdb to read .gdbinit in current folder

GDB User Initialization File The user initialization file contains commands that are executed upon the startup of GDB. It is located in your home directory under the path: ~/.gdbinit Create/edit this file and add the following line to this file: set auto-load safe-path / This allows our programs to use a current directory initialization file, […]
																			
Netbeans module get current project path

																			
Change SP list into MS list

just add "?env=WebViewList" at the end of URL
																			
Tiny STM32 board (STM32F103C8T6)

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.67002e8ddznHy0&id=630403001847&_u=gbuhab04cbb STM32F103C8T6
																			
好書推介

作者用第一身Manager嘅身份教你點謀劃一個ASIC項目
																			
Clean Architecture

1. 一棟大廈不可能分成兩棟能完全獨立運作的大廈,但軟件通常由能獨立運作的小軟件所組成,所以有理由相信軟件工程比土木工程複雜 2. 軟件工程是內循環的,意思是用軟件A創造軟件B,之後又用軟件B改進軟件A,而土木工程是單向的,所以有理由相信軟件工程比土木工程複雜 3. 就算摩天大廈,起第一層和起第一百層的技術差不多,但軟件中不同層數的建築方法是完全不同,例如os層和web層,所以有理由相信軟件工程比土木工程複雜 4. 軟件工程中做同一件事的方法比土木工程多很多,所以有理由相信軟件工程比土木工程複雜
																			
Code to set accent color of FlatLaf

																			
OpenEdx knowledge base - get all comments for a specific discussion thread

																			
Python read/write jtag via FTDI chip

Bought from here . Example is here https://ftdichip.com/wp-content/uploads/2020/08/AN_110_Programmers_Guide_for_High_Speed_FTCJTAG_DLL-1.pdf Read PWM Pins reference : https://ftdichip.com/wp-content/uploads/2020/07/AN_184-FTDI-Device-Input-Output-Pin-States.pdf
																			
Arduino Uno programme ATTiny85 works

following https://jimirobot.tw/arduino-tutorial-attiny-attiny85-uno-burn/
																			
Compile libsigrok and pulseview in windows by msys2

This is the tutorial to build libsigrok and pulseview in windows Download msys https://www.msys2.org/ Open "MSYS2 MinGW x64", don't use "MSYS2 MSYS" 3. git clone https://github.com/sigrokproject/sigrok-util.git 4. cd sigrok-utils/cross-compile/msys2 5. ./sigrok-native-msys2 prepare , it will auto install all necessary packages Compile libsigrok 6. git clone https://gitlab.com/quantr/toolchain/libsigrok.git 7. cd libsigrok 8. ./autogen.sh 9. vi configure and […]
																			
Openlane + wsl2 : repository does not exist or may require 'docker login'

when you have this problem
																			
Dataverse bulk delete today records

																			
HLS

Synthesis-ed part of XV6 into Verilog
																			
Good web to learn RISC-V interrupt

https://github-wiki-see.page/m/ianchen0119/AwesomeCS/wiki/Hello%2C-OS%21 https://github-wiki-see.page/m/ianchen0119/AwesomeCS/wiki/2-5-RISC-V::%E4%B8%AD%E6%96%B7%E8%88%87%E7%95%B0%E5%B8%B8%E8%99%95%E7%90%86----PLIC-%E4%BB%8B%E7%B4%B9 https://github-wiki-see.page/m/ianchen0119/AwesomeCS/wiki/2-4-RISC-V::%E4%B8%AD%E6%96%B7%E8%88%87%E7%95%B0%E5%B8%B8%E8%99%95%E7%90%86----%E4%B8%AD%E6%96%B7%E7%AF%87
																			
SharePoint Online奇怪現象

呼叫SharePoint Online Restful api時,如果ISPHttpClientOptions是空一樣能成功,但返回之時間值會錯timezone
																			
Export Folder Permission to csv

																			
Create pfx file to add custom domain for Power Apps Portal

openssl pkcs12 -export -out certificate.pfx -inkey privkey1.pem -in fullchain1.pem
																			
RISC-V Qemu memory mapping

https://github.com/qemu/qemu/blob/master/hw/riscv/virt.c
																			
Minimial Arduino with ATTiny85

																			
spfx v1.12因為太多bug強行下架

spfx v1.12因為太多bug所以咪記已經強行下架而家變返v1.11, 之前用左v1.12請人手downgrade。玩咪記野跟車太貼有一定風險。
																			
RISC-V progress

挾左個vscode web版落我地個web到,開發埋自己個theme親返隻色。RISC-V asm個syntax highlight仲差少少。跟住就可以放俾澳洲啲大學生上黎係web到做RISC-V coding,simulator我部server應該頂到200-500人。
																			
HK Data format - draft one

																			
Office Nodejs SDK走向統一

之前都仲有分Office/Excel/Word唔同嘅App有唔同嘅Task Panel, 而家統一哂. 同埋Object都統一用埋叫"Document"
																			
WordPress Plugin : Google drive album

Display images google drive in your WordPRess. https://gitlab.com/quantr/wordpress/google-drive-album
																			
Antlr parses verilog

Default antlr's verilog grammar can't parse verilog right, i modified a little bit to make it parse my verilog files. Here is the modified grammar https://gitlab.com/quantr/toolchain/quantr-verilog-tool/-/blob/master/src/main/java/hk/quantr/quantrverilogtool/antlr/Verilog2001.g4
																			
Powershell to Loop through all SharePoint sites and pages

																			
self-made tool for risc-v development

Another self-made tool for risc-v development, it is a vcd file dumper. With our own dumper, we can record the behavior of another risc-v, so we can cross check our risc-v correctless much more efficient.
																			
Studying Fortinet

																			
XF6 kernel use these instructions

																			
Our RISC-V simulator interface

																			
Good PowerShell book

																			
RISC-V objdump disassemble bug

																			
New Book

																			
RISC-V progress

RISC-V encoding part & decoding part of assembler and disassembler for imc are done.
																			
Netbeans antlr plugin can format antlr source file

My netbeans antlr plugin finally can format antlr source code
																			
compressed instructions is working in testbench web

																			
RISC-V Instruction set naming

																			
short-term risc-v plan 20200523

																			
RISC-V boards arrived

Let's do some real experiments on these boards: https://item.taobao.com/item.htm?spm=a230r.1.14.201.65363b3cWNnt8y&id=609421832198&ns=1&abbucket=1#detail https://item.taobao.com/item.htm?spm=a230r.1.14.213.65363b3cWNnt8y&id=606277334580&ns=1&abbucket=1#detail
																			
小組討論一下RISC-V的assembly東西

																			
ASSEMBLER MEETUP #37, 2020/04/11

We agreed to put x86 and risc-v assembler code into one project, so up one level for the java package, make it ready to stuck in risc-v code I will write the first risc-v assembly grammar and upgrade www.quantr.hk/asmweb to support risc-v test cases Learning vscode extension development, make myself ready to create a debugger […]
																			
Assembler Meetup #32, 2020/03/07

Still working on the Antlr grammar to supports "Label" Very naive skillset on Antlr, just bouht the english version of this book, re-read it again. Chinese one not very comfortable to read. We think we can complete the first release of the assembler within 3 months.
																			
SharePoint coloring bug using latest spfx 1.10.0

Using the latest SPFx SDK, the theme color varable $ms-color-themeDark doesn't work, it doesn't affect the theme color, see below To fix it add this line @import '~@microsoft/sp-office-ui-fabric-core/dist/sass/SPFabricCore.scss';
																			
Assembler Meetup #29, 2020/02/01

Fixed all wrong testcases excepts ptwrite Only 87 wrong instructions are wrong encoding now
																			
Assembler Meetup #26, 2019/12/28

Desmond completed encoded all "OR" instructions, that proves the encoding method is mature. We heading toward our first milestone, complete encode all intel basic instructions. Peter has added all test case. To see our progress, go to http://www.quantr.hk/asmweb
																			
Assembler Meetup #24, 2019/12/14

Good progress on shorten the grammar file. Desmond join the translation. Peter pickup the pe generator task.
																			
Assembler Meetup #23, 2019/12/07

Meet in MongKok. Mainly shorten the grammar. Jenny confirmed each instruction can be translated by same five functions. We confirmed if instruction has only one operand, we have to add byte/word/dword/qword, e.g.: inc byte [ax] And some instructions such as call doesn't support all four combinations of byte/word/dword/qword, this "call byte [ax]" will report error […]
																			
Assembler Meetup #21, 2019/11/23

Cityu is close, we change to meet in Moko
																			
Simplest guide to config tomcat to use https with lets encrypt's free cert

Support you have generate a standalone cert using certbot command, and your cert is in /etc/letsencrypt/live/ . If not, follow this https://www.digitalocean.com/community/tutorials/how-to-use-certbot-standalone-mode-to-retrieve-let-s-encrypt-ssl-certificates-on-ubuntu-16-04 Execute openssl command and remember your password Edit tomcat's conf/server.xml, you just need one connector to serve 8443, no need other conntector Restart your tomcat, it is done. Below is the virtualhost to […]
																			
PowerApps for PowerBI終於都來了

我們終於可以用PowerApps去加強PowerBI Dashboard的動性, 亦可以用PowerApps作為一個UI的接口去程現不同的外部資料 https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/powerapps-custom-visual
																			
Gitlab CI + Asp.net core

Add auto build and publish using gitlab ci/cd services and deploy to ubuntu.
																			
Netbeans hangs in Mac since Netbeans 8.2 to now

I have a Netbeans module call "Maven Runner", it was originally in Ant. When I install it into my local netbeans, it regularly cause the netbeans failed to start. When I was starting Netbeans, the splash came out, then it disappear, but the main screen never show up. Two months ago, i rewrite it into […]
																			
Netbeans module failed to install nb-javac

If you netbeans maven module used this in pom.xml, then you will have this problem
																			
Assembler Dev #16 is cancelled

It is because of Carrie Lam
																			
Mac inconsistence free disk space between "System Information" and "Disk Utility"

This command can fix: sudo tmutil thinLocalSnapshots / 10000000000 4
																			
SharePoint的專業開發者要多注意Core.js

今天開發SharePoint SPFx項目時見到,大家多多注意Core.js這個比較底層的JS library
																			
Top system architect conferences

																			
強烈推介, 深圳小脚丫fpga

https://detail.tmall.com/item.htm?id=589934876916&ali_refid=a3_430620_1006:1213910051:N:kUYNEKediVRtRcfPZeogQz+fixtE0nqV:4c45447dff14948a212296ee9fa615a2&ali_trackid=1_4c45447dff14948a212296ee9fa615a2&spm=a230r.1.14.1 主要好處是: 面積細 一條USB搞定, 不用其它Jtag Lattice Diamond好易上手, 至少比Quartus和Vivago更易
																			
netbeans quick outline better support Antlr

																			
Assembler Dev Meeting #9 2019/08/16

Meeting #9come up with these fixes: Kelvin fix 66 67 REX Prefix Ending bytes (displacement) Desmond fix IMM* > IMM https://gitlab.com/quantr/toolchain/Assembler/issues/28
																			
Why Multisim sometime is 100% accurate than calculation, sometimes is not

This exercise is 100% same as calculation But below one is not 100% same as calculation, it use just same components: VC + Resistors. Is multisim using brute force to guess out the voltage and current values?
																			
A nice book about how computer hardware works

																			
Net netbeans-antlr logo

Getting familiar with Adobe illustrator. For drawing GUI/logo from scatch, ai is better than photoshop. But photoshop is still good to draw on top of somebody designs.
																			
Nucleo L476RG + Platform IO Blink Example

																			
Compile bochs in 2016 old mac with macports

																			
Why your STM32 is bricked

My STM32 is bricked (can't run anything in STM32CubeIDE) because my main loop has no sleep, after i add it back, my STM32 can run many times in STM32CubeIDE. To recover my weact blackpill, i use "while true; do st-flash erase; sleep 1; done" to keep running the st-flash command, I found out pressing the […]
																			
STM32 Logic Analyzer Day 1

Trying to build a logic analyzer prototype, today i am using weact black pill board. I am using interrupt to fire the DMA and get the pins values, then use virtual com port to transfer it to PC, so far it works
																			
Java swing embed a website

																			
Solved: Weact STM32H750VBT6 unable to find target

I changed the clock to maximum 480Mhz, after I F5 for the first time, I unable to burn any program to it again. To solve this, press both reset and boot buttons on the board, click F5 in STM32CubeIDE, then release reset button (still hold the bott button). It will successfully burn the program again. […]
																			
Shooting Star : 四驅車

																			
Waveshare-ESP32-C6-1.47-Touch + Micropython + LVGL

Special Thanks to Mr kdschlosser for writing the driver More Examples on https://github.com/quantrpeter/Waveshare-ESP32-C6-1.47-Touch-Micropython-LVGL Example:
																			
Waveshare-c6-zero + st7735

https://gitlab.quantr.hk/example/micropython/waveshare-c6-zero-st7735
																			
Mac: Run ubuntu command with GUI in docker

Step 1: create Dockerfile Step 2: Build the image docker build -t xclock-ubuntu . Step 3: Set XQuartz and restart it Step 4: Run "xhost + 127.0.0.1", and this "xhost +localhost" wont work Step 5: Run Another way
																			
AT28 Flash board

																			
Muselab Logic Analzyer Nano - Sigrok-cli command

																			
AT28 Programmer (Java + Arduino)

https://gitlab.quantr.hk/quantr/toolchain/java-at28-programmer https://gitlab.quantr.hk/example/arduino/at28-programmer
																			
香港好多人覺得自己係諸葛亮

諸葛亮勁係無資源嘅情況底下可以有高強嘅執行力。而香港人絕大部份都無執行力。
																			
Tutorial: MicroPython + LVGL for ESP32-C6-LCD-1.47

This is the tutorial to compile micropython with LVGL and burn it into the board Steps: If success, you should see this Open thonny and run Then you will see Links you should read https://www.waveshare.com/wiki/ESP32-C6-LCD-1.47 https://github.com/lvgl-micropython/lvgl_micropython Remark: This program is a little bit crazy, first time you run it will success, but if you run […]
																			
Download Unity international in Hong Kong

I don't understand why US gov list Hong Kong as their enemy Download Unity international tutorial
																			
solved: nextpnr-ice40 Library not loaded: '@rpath/Python3.framework/Versions/3.9/Python3'

run this command
																			
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]));
																			
gitlab backup guide

																			
A Super Good scala sbt tool tutorial

https://conorfennell.github.io/scala-zen/articles/sbt.html
																			
Blender : Faucet

This tutorial give us a very good demo on rendering: https://www.youtube.com/watch?v=ukd1zO0Q-h4&t=317s
																			
STM32 + DHT11 example

https://gitlab.com/peter-example/stm32/thei-stm32-demo-stm32f411ceu6
																			
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
																			
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
																			
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
																			
Good bye THEi

																			
我估實相係咁 : 時間係亂序執行

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以為自己條時間線有如河流一樣線性。
																			
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/
																			
Weact Logic Analyzer

https://github.com/WeActStudio/LogicAnalyzerV1
																			
A simple hex dump for dns request and response

																			
如果想知道容器嘅原理

如果想知道容器嘅原理,我圈起左
																			
How to make your netbeans more beautiful

Set to a better font size 4. Set the color
																			
Fixed dwarf bug

When i change kernelvec.S to -ggdb, my dwarf library broken but now fixed. Commit :e640c3d9 And I still don't understand why .S won't be an compile unit in dwarf, why design like that.
																			
Install apache and php for http research

I need a super clean apache and forward all PHP requests to a independent php-cgi process which host by a specific port 1. Install Apache Mac In ubuntu, no need to build apache from source, just "sudo apt-get install apache2" Linux 2. Install PHP Mac Linux if you meet this error "configure: error: re2c 1.0.3 […]
																			
ubuntu , allow root to login mysql without sudo

																			
Linear Regression in java

																			
QEMU risc-v , log all memory operations

Step 1: Step 2: modify ./tests/tcg/plugins/mem.c , add this code in vcpu_mem() Step 3: in xv6-riscv change this to Then you see this References
																			
Corsair MP600 needs to upgrade SSD firmware otherwise speed is very slow

																			
RISC-V qemu doesn't log "PRIV" in every instruction

RISC-V qemu seems wrong because it doesn't log "PRIV:" in every instruction in qemu.log. Even mret is execute and the mode is changed, it doesn't log "PRIV". To fix this:
																			
WordPress Theme to support post-views-counter

To make the plugin works, need to call wp_footer() in footer.php
																			
Arduino Function Generator

I am using Nano and AD9833 to build a simple function generator. Code in here https://gitlab.com/quantr/hardware/arduino-function-generator
																			
Program與輪廻之對比

我想探討一下用電腦program與佛教輪廻之對比,唯先你必需要明白佛教講的核心理論就是無我,無常 Program之空性體驗 當你寫一段program去令電腦運行時,你所寫的每一行代碼你都會解釋到它的用途,所以你會有一種非常實在的感覺,但當你越鑽越深的時候,你會發現一個有趣現象就是你認為一個好實在的個體,例如 int x,去到深處你會發現它消失不見,又或者它可以同時出現在不同的空間之中。這正正體驗到佛教所講的無我,無我的意思是一件物件必定是由多個因緣所組成,它要在特定時刻和經由特定情況先至可以顯露在你面前,program都是一樣,你看不到只是你編程功力不夠
																			
MCP4725 I2C DAC Breakout board

Bought from here Testing maximum frequency, around 800us
																			
syscall.c for STM32 + XCubeAI

																			
"大中華程序員"及"大香港程序員"之定義

"紅色程序員"又或者"大中華程序員"之定義: "大香港程序員"之定義
																			
砌機 : FPGA

Lattice FPGA比STM32簡單, 我應該可以搞得掂 用户手册:           https://github.com/wuxx/icesugar-nano/blob/main/README.mdwin7串口驱动:   https://github.com/wuxx/icesugar-nano/blob/main/doc/usbser.inf原理图及源码:   https://github.com/wuxx/icesugar-nano 主要component其實得兩個: FGPA同粒Flash
																			
同香港嘅IT人溝通之正確方法

香港啲技術人好小氣, 所以同佢地交流要好小心, 以下列出必需要注意嘅重點
																			
Build a programmer for ATF22V10C using Arduino

https://www.ecstaticlyrics.com/electronics/ATF22V10C/ https://github.com/ole00/afterburner https://github.com/hansake/PLD_programmer
																			
Shatin IVE library has great books

Shatin IVE library has great FPGA books, I think they have a long history in electronics.
																			
道教與IT

呢本書講道教, 其實IT同道教好多相似之處 1. 道教最開頭玩 [ 請雷 ] 同 [ 請聖 ], 因為朝庭有啲嘅做得唔好例如農業搞唔掂, 加上解釋唔到自然現象所以請神幫助. 道教認為自太初(姐係宇宙之初)有一啲叫天寶字符嘅野成形, 道教唔知呢啲圖形符號係乜黎, 只係知道佢有神力可以一用, 所以啲有道行嘅道士張佢寫係張紙到就可以用黎消災解難. 對比起IT, 啲IT人好多時都解釋唔到啲技術係乜, 公司唔掂無效率解決唔到, 班友搞唔掂唯由寫道符(Tender)請神, 但班友又唔神心請神變左請鬼. 呢本書都講如果道士寫符唔淨心就會走火入魔, 請左啲邪鬼上黎. 2. 道教根本係一個無乜哲學嘅宗教, 成單野就係一大群道士係到吹, 而道士同道士之間係無提出過任何質問, 總之你有你講我有我講, 大家唔好踢爆各玩各嘅, 成個宗教就係一個大型嘅俾面派對大家唔好阻住大家揾食. 你睇返而家IT界啲KOL, 個個都係講埋啲你阿媽係女人嘅野, 有時仲要講錯, 佢地係好唔鐘意有人對佢地提出質疑, 那怕個質疑只係一條簡簡單單嘅問題, 佢地都唔會回應而unfriend左你. 我試過問Emil Chan同方保僑係邊一方面嘅專家, 佢地都即刻block Q左我. 呢一點同道教嘅道士非常相似. 3. 皇帝有問題問啲道士, 例如天下係點形成, 運勢有咩走法咁, 啲道士會答到超級high level完全落唔到地嗰隻. 對比係印度同希臘啲哲學家, 使佢地答唔到, 佢地都會嘗試將個問題break down去啲細啲嘅問題去再解釋, 而道教係只會將你指來指去, 一時就太初點點點, 一時就啲鬼神點點點, […]
																			
香港好少教授做實作嘅原因

係香港,由其是CS同EE你好少見到教授做implement嘅原因不外乎以下兩個 如何改變呢一個現實 要有一群死士執行以下任務
																			
VTC個online library係無敵嘅

Download論文一個click, 至少比Cityu無敵
																			
Good bye IVE 21st July 2023

																			
香港搞open source搞唔起的原因

香港永遠唔會出到外國咁成功同大型的open source project, 原因如下: 原因一: 香港無錢 香港人最驚被人話無錢, 但係開源呢單野上正正就係無錢, 可以話係窮到一蚊都無嗰種. 唔信你可以申請下創新科技署同科學園, 你話你搞open source睇下批唔批到條毛俾你. 原因二: 香港人無堅持力同投入度 你可能會反駁香港人都搞好多open source project, 但係得罪講句啲project係停留係小工具嘅層面(我唔係串, 我只係講事實), 係級數同規模上無得同外國比. 至於點解呢世做小工具, 原因不外乎香港人堅持同投入度都極度低下, 無人可以做一單野用十年做單位. 原因三: 香港人好鐘意得個噏字 香港真係太多阿叔, 可以睇 創科阿叔心理分析 原因四: 香港人啲技術低 HK developer = App developer, 個底係打工仔一名, 啲咩科學改變世界唔會關佢地事, 佢地只關心轉工. 原因五: 香港學界無力 香港嘅學界基本上一蚊都揾唔到sponsor, 如果你揾啲教授合作, 佢地唔係自己着數哂就唔會做, 一係就係咁得個吹字. 講技術, 香港學界有幾多料大家都知, 出論文可能得, 但要開發啲實際野唔洗諗. 原因六: 香港無一群有科學使命嘅老細 所有老細為賺錢, 佢地可能都係讀科學出身, 但個底唔係科學人, 可以話一啲科學精神都無. 佢地搞野要三個月後攞出去賣, […]
																			
CLB and IOB design

altera and xilinx probably copying each other
																			
Programming Arduino using STK500 ISP

STK500 is better than MKII since it supports high voltage programming, it can reset fuses from any status. Step 1: Install the driver. Must be version from date 7th Oct Plug in the USB, if it detected wrong driver, update it by select specific folder'. Need reboot the computer to take effect. Step 2: connect […]
																			
Step to make icesugar 40 works

Simplest steps To make the RGB led work, put on these three jumpers
																			
Arduino Nano IIS + Oled

this youtube works. Oled 0.91 and 0.96 inch both work. Oled can buy in here. The adafruit example is 128x32, need to change to 128x64 for 0.96 inch oled. One thing becareful, 0.96 oled 128x64, the address is still 0x3c, not 0x3d In Arduino IDE, change the address to "3C", otherwise won't work
																			
HKOSCON 2023 - Verilog talk

																			
Compiled Logic papers

																			
Step to run icesugar-nano

Bought from here. user manual:           https://github.com/wuxx/icesugar-nano/blob/main/README.mdwin 7 serial driver:   https://github.com/wuxx/icesugar-nano/blob/main/doc/usbser.infsource and semantics:     https://github.com/wuxx/icesugar-nano Follow https://projectf.io/posts/building-ice40-fpga-toolchain/ . If you got this error: fatal error: 'ftdi.h' file not found, then modify config.mk in /Users/peter/workspace/icestorm: -I/usr/local/Cellar/libfdti/1.5-2/include/libftdi1/ If you don't have libftdi, you can port install libftdi Edit /Users/peter/workspace/icestorm/iceprog/Makefile All examples in https://github.com/wuxx/icesugar-nano , […]
																			
ESP32 on arduino, simplest tutorial

Got this board from Taobao. Follow https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions. schematic:https://pan.baidu.com/s/1sNCK3Z4ZXfziKoF-ZYDMiw  Code:pxc4doc:https://pan.baidu.com/s/1SJFlgyIenaM4-TfmT1eLtQ  Code:NICE  or download here If you failed to run the code for this. Hold "Boot" button while uploading the code If you meet "the port doesn't exist", do:
																			
01.54 OLED with STM32 example (7 pins)

Buy from here. Example is in here
																			
Basic tutorial for blinking led for STM32F411

Tutorial: Create the project Step 1: Open STM32IDE, create the project, choose the right MCU Step 2: Type in project name Step 3: This is project structure Step 4: LED is assign to PC13, set it to GPIO output Then it will generate the setup code Step 5: Blink the led in main, there is […]
																			
Photo - 2022

																			
好正嘅一本Logic書

講得好step by step
																			
Export our data structure into logisim

Created the library to export our data structure into logisim, https://gitlab.com/quantr/eda/logisim-library , part of our EDA tool
																			
Compile verilator in centos 7

Has to use gcc 8 Otherwise you got this
																			
點解香港人搞open source project唔掂嘅原因

好認真咁搞左五年open source project,認真程度係出錢又出力,而家總結點解香港人搞open source唔掂,又或者好難掂嘅原因 香港人動手能力極其低下 其實呢一點都唔洗啲咩證明同解釋,香港IT界人技術人仕其本上打份牛工或者為生活做下freelance仲有少少力之外根本就乜力都無。無力嘅原因我唔知,但係估計離唔開根本唔鐘意寫program呢回事。嗰啲阿叔話就有二十年經驗,其實減去為左份糧而工作嘅經驗基本上一年經驗都無。佢地嘅技術主要黎自份牛工嘅隨學隨做,佢地會好自豪咁講「嗰嗰都係咁㗎啦」,佢哋嘅世界自由香港牛工市場,牛場就係佢地生日嘅全部。外個嘅open source developer夢想改變世界嘅時候佢地會用所謂嘅廿年經驗去點頭評足,好似可批判到單咁,好撚猥瑣 香港根本無前輩可以照耀後來者 都唔好話提點下你,以我經驗香港啲阿叔有超過50%會叫你不如唔好搞,原因嘅白痴程度突破天際 : 學界基本上係搞笑 香港學界係唔會復Email,唔好旨意你有技術問題可以問大學,一定唔會復你。香港大學教授嘅動手能力人盡皆知,就連香港嘅大學生都知自己教授唔會做實際野。係香港一個教授一年出12篇理文咁你估到佢地係到做緊乜野,香港學界唔可能堅負起作為一個城市嘅大腦嘅角色,可以咁講對普通市民,學界簡直係腦殘。 無政府支持 創新科技署無一個支援計劃係支持open source,佢地每一個支援計劃都要寫business proposal,佢地最想就係錢,直接拉高到香港GDP,你搞open source如果無即時market佢地係唔會支持你。同理科學園數碼港創科局都係一樣。因為政府零支持,加上滿腦子講商業價值,所以香港無前瞻性嘅民間科學研究,民間全面熄火。係政府嘅角度要做科學研究只會依賴大學同研究院,但兩者係開源嘅研究實力和貢獻都非常底下。 香港無籌款呢樣野 Apache group同GNU group有一大部份經費係黎自籌款而香港係無籌款呢單野,外國嘅企業用open source軟件,大嘅公司會捐錢資助個project,有好多會出埋人一齊改善個software,而香港嘅企業同政府係唔會咁做。香港班客佢地嘅屬性係西客,用都不特止仲要不停投訴,隻手同跛嘅無分別,唔會落手落腳去改良開源軟件,所以開唔開源對佢地黎講無分別。
																			
Change qemu to use 16M ram for xv6-riscv

After testing, the minimal memory of xv6-riscv needed is 3MB
																			
Sync qemu fork

After I forked qemu, these comands can sync the origin repo
																			
WordPress Component

To redesign our first app engine, we reference WordPress. This is its loading sequence https://medium.com/@dendeffe/wordpress-loading-sequence-a-guided-tour-e077c7dbd119
																			
Very good micro python board

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.15412e8duBDI2J&id=645704746945&_u=mbuhab0da05
																			
Generate verilator coverage report in html

Remark: https://aijishu.com/a/1060000000330400 brew install iconv or apt-get install lcov
																			
Great ByteBuddy tutorial

refer to https://blog.csdn.net/wanxiaoderen/article/details/106544773
																			
SharePoint Error: apps are turned off

Solved by these commands
																			
Convert 64 bits binary string to BigInteger and maintain the sign

The first and third method converted successfully with sign. The second one fail. The reason 3rd way working is : It convert to biginteger and convert to long (then we have sign),then convert back to biginteger (also with sign)
																			
Resolved ICESugar pro blink.v :

ERROR: Module rst_gen contains processes, which are not supported by JSON backend (run `proc` first). Edit Makefile $(TARGET).json: $(OBJS) # yosys -p "synth_ecp5 -json $@" $(OBJS) yosys -p "read_verilog -sv $<" -p "synth_ecp5 -json $@" $(OBJS)
																			
LuaNode running arduino setup

																			
MRK Wifi 1010 serial is different

Arduino MRK Wifi 1010 serial is different than Nano and Uno, the usb-to-serial and in D13/14 are separate, so code them this way
																			
CPU ex.v progress 2022/01/10

																			
Openlane init files

If run fail, have to remove the "runs" folder before rerun, otherwise same error will be shown initProject.sh runProject.sh my_design.v config.tcl
																			
Don't use "skip" in antlr grammar for netbeans syntax highlight

use "channel (HIDDEN)" instead of "skip", otherwise the netbeans will throw exception.
																			
Best post to explain php and fastcgi

https://cloud.tencent.com/developer/article/1442424
																			
RISC-V readelf may has bug on field Abbrev Offset

																			
Knowledge Management

																			
Good electronic components book

																			
Nice book

																			
Very good git command tutorial examples

https://www.codegrepper.com/code-examples/shell/git+log+first+line
																			
Good book about search design

																			
XV6 book March 22, 2021

																			
支持本土, 寫Program用香港人嘅字體

「昭源黑體」唔錯 !!! https://chiron-fonts.github.io/sans/?fbclid=IwAR1K_nmgsBYJD68yRHEMHSnfUHTjJFAGaEyBSjVrIP8DYKM0UN_7Pgtvoy8
																			
Assembler listing is done

																			
Structure of a NASM Program

																			
INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986

INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986
																			
RISC-V decode technique

																			
CPU testbench同assembler testbench而家link埋

它可以幫手check下cpu decode有無錯了
																			
原子哥塊fpga非常唔錯,份doc好掂

份doc過千頁,跟住做毫無難度,好過"特權同學"好多,特權份doc基本上係搞笑,完全唔齊。
																			
Kernel Studio dev progress

																			
First Adobe Animate book

																			
Good Project online powerpoint

																			
New book to read: Sql server wait statistics

Learn more advanced skills for sharepoint tuning from sql server point of view.
																			
Good progress on RISC-V simulator development

We have good progress, finished running 3 examples successfully. Go jump in to simulate some big examples.
																			
SharePoint can't login ad user (Resolved)

https://www.mssqltips.com/sqlservertip/3889/resolving-sharepoint-application-authentication-error-login-failed/
																			
RISC-V disassembler can decode whole RV32IC

I think i can finish the RISC-V disassembler these two weeks. So far it can successfully decode RV32IC and ELF.
																			
riscv green card is wrong

c.sub should be CA format, not CR
																			
Can disasm RISC-V code from ELF

																			
Netbeans bug

Netbeans 11.3 + JDK 13.0.2 + FlatLaf Light theme. Missing character "l" in the package name. If mouse over, tooptip shows correct name.
																			
6 hours to fix my antlr netbeans plugin

Used near 6 hours to fix my netbeans-antlr plugin. I have to remember these: Netbeans build in antlr library have to in-sync with the antlr i am using in my pluging. If they in different version, unexpected result will come out. In windows, if antlr grammar has some mistakes (I meant not problems, your grammar […]
																			
Conquer the Sigrok decoder development

https://gitlab.quantr.hk/quantr/toolchain/quantr-sigrok-decoder
																			
Netbeans終於有返一個靚啲嘅theme+字體

																			
Assembler Meetup #34, 2020/03/21

Only 42 instructons are wrong. We are close to first milestone. Will study "Island Grammar", hope it is the way to embed other antlr grammar from the main one.
																			
spfx becoming super slow after added package buffer

After i added : "buffer": "^5.4.3" , the "gulp serve --nobrowser" become super slow, stuck in Starting subtask 'configure-webpack'. I am using spfx 1.10.0 my package.json
																			
Assembler Meetup #30, 2020/02/15

As usual, meet in Festival Walk, sync-ed up our verilog skill, stuck in the "imm | label" to grammar. Only 64 instructions left.
																			
Assembler Meetup #28, 2020/01/25

Nothing special, still doing the "jump/call label", i can get the information (line number & offset) i need
																			
Microsoft provides "public client" sample code

https://docs.microsoft.com/bs-latn-ba/azure/active-directory/develop/sample-v2-code
																			
SharePoint粉絲注意 : 新書上市Mastering Sharepoint Framework

Table of Contents1. Getting Started with SharePoint Framework2. Develop Your First SPFx Web Part3. SPFx Web Part Property Pane4. Custom Controls for Web Part Property Pane5. PnP Controls for Web Part Property Pane6. CSS Considerations7. Configure SPFx Web Part Icon8. Examine SPFx Web Parts on Modern SharePoint9. Host SPFx Web Parts from MS Azure CDN10. […]
																			
參觀港產FPGA生產商Efinix

參觀Efinix公司, 一定要支持一下香港公司
																			
Verilog syntax conflict

I guess syntax conflict or not is depend on how fpga vendor implement their verilog compile, nothing about the verilog language specification
																			
New toy : Arduino wifi

																			
My first notebook that can run SP2019 on-premises

I have to switch back to windows because almost all verilog toolchain only work in windows. And I bought MSI Prestige-15-A10X which has 32GB ram and 1TB nvms ssd, it is only $15300 HKD, super valueable. It is the first notebook which i can run a SharePoint 2019 VM locally.
																			
Assembler Meetup #20, 2019/11/09

Kelvin and Jenny heading to encode b* and c* instructions Desmond keep going to PE format Peter try to add assembler marco. I will think about our own linker format next week.
																			
玩了14年QQ終於被永久凍結

玩了14年QQ終於被永久凍結了, 原因為了說了一些大陸不想聽的說話
																			
YEAH ! 咪記終於有個Portal可以search哂所有sample code

YEAH ! 咪記終於有個Portal可以search哂所有sample code, 仲有埋azure on-click deploy https://docs.microsoft.com/en-us/teamblog/code-samples https://docs.microsoft.com/en-us/samples/browse
																			
Assembler dev meeting #15

2019/09/28 meeting in cityu. We soonly clear up all combination of ADC instruction. Updated the testing web https://www.quantr.hk/asmweb
																			
Assembler dev meeting #14

2019/09/21, as usual, heading to our first milestone. Enhanced the full test output, added two filters. Filter out by instruction or by error. http://www.quantr.hk/wp-content/plugins/NasmWeb/public//viewOutput.php?path=/home/gitlab-runner/output/output_300588484.html Jenny and Kelvin is clearing the ADC instruction Desmond is extending https://gitlab.com/quantr/toolchain/quantr-executable-library to support Windows PE format
																			
Serious hanging problem in Microsoft Flow

I got a list on SharePoint Online, which is a typical list with some single-line col and one lookup field. I create a flow to get all item from it (no filtering), then use "Apply to each" to loop through all items. For testing, i got two identical loops. After i run it, one successful […]
																			
ELF Specification 1.2 is only for 32 bits

I am writing a java library to manipulate 64 bits ELF, so i read ELF specification 1.2 , but one big mistake i took is : this specification is only for 32 bits, and the 64 bits one introduce new data types. So I was trying to guess out what data types it is using […]
																			
Azure抄走隻vhd真係好貴

Azure抄走隻vhd真係好貴,抄左兩個file,200GB,成100蚊美金
																			
Print antlr version in runtime

																			
Generic E-Form system design

Lots of customers has implemented e-form using different technologies such as Nintex, SPFX, Microsoft Flow. We are going to design a generic E-Form system for them, providing a centralize mechanism for administrators to add/remove eform, user management, log management and etc...
																			
Antlr所有Embed action都會跑在Listener前面

意思是會先跑光所有embed action,然後才會跑listener裏面的function
																			
I thought Java swing is pixel graphic

In last 20 years, I thought Java swing is pixel graphic, but i found out it is vector. I tried to draw a 1 pixel line with 45 degrees, and when i zoom out, i proved it is not pixel base. So all drawLine, drawRect function calls are vector graphic.
																			
作為教學工具,比較Platform IO和STM32CubeIDE

大家都係用STM32CubeMX,所以Gen出黎嘅Code無太大分別。計功能肯定係STM32CubeMX強,第一佢有一個生成器可以生成粒MCU所有Setting,而PlatformIO係純Code,所以好考驗老師嘅功力,但係純Code有純Code嘅好處,就係學生可以更了解第一句代碼點影響粒MCU,會更有利於教學。STM32CubeIDE會要求你將啲Code寫係comment與comment之間,睇上去好亂,而PlatformIO無呢回事,啲Code睇上去好Clean。PlatformIO最大賣點係源於VSCODE所以有Github Copilot,我之前用STM32CubeIDE同VSCode開住同一個project,github copilot一邊gen我一邊改,我就無問題。但作為學生會好麻煩。
																			
Useful linux command

List out 10 biggest files in folder List biggest folders
																			
Set STM32F411CEU6 to run at 96Mhz with 48Mhz USB (100Mhz is not possible)

With HSE = 25 MHz, the PLL configuration must satisfy: Let’s try the main PLL: Since PLL_Q must be an integer (4-15), 48 MHz USB is not possible with VCO = 200 MHz: To get exactly 48 MHz: Since SYSCLK cannot exceed 100 MHz, VCO = 192 MHz (SYSCLK = 96 MHz, USB = 48 […]
																			
WEACT blackpill stm32f411ceu6 virtual com port

																			
Good book : DNA

																			
ATMEGA328P and ATMEGA328PB are different in programming

I got this error is i change "MODEL=atmega328p" to "MODEL=atmega328pb" in my makefile. Github copilot said the error occurs because the ATmega328PB has two TWI (I2C) modules, and its I/O register naming is different from the ATmega328P. Specifically, the ATmega328PB splits some port definitions (like DDRC, PORTC) into two sets (for PORTC and PORTD, etc.), […]
																			
Example : STM32F411CEU6 mem-to-mem DMA interrupt

https://wiki.st.com/stm32mcu/wiki/Getting_started_with_DMA#DMA_memory-to-memory_example_overview
																			
Waveshare ESP32-C6-Zero + LVGL + ST7735S + 80x160 LCD

																			
Waveshare ESP32-C6-Zero + LVGL + ST7735S

https://www.waveshare.com/wiki/ESP32-C6-Zero
																			
Run Micropython in CYD (Cheap Yellow Display) and control the TFT

Official Tutorial From TaoBao Factory : https://github.com/quantrpeter/2.8inch_ESP32-2432S028R Remark: use offset 0x1000 to write the firmware and have to erase flash first, so: Download micropython firmware here https://micropython.org/download/ESP32_GENERIC/ 1. esptool.py erase_flash2. esptool.py --baud 460800 write_flash 0x1000 ESP32_GENERIC-20250415-v1.25.0.bin Download All Files in below links, or by the attachment in this posts ILI9341 Display Driver Download ili9341.py from: […]
																			
Quest Migration Manager UI

																			
Micropython for has no SoftI2C

It has no SoftI2C, so change display = ssd1306.SSD1306_I2C(128, 64, SoftI2C(sda=Pin(20), scl=Pin(21))) to import timefrom machine import Pin, I2C, SoftI2Cimport ssd1306 i2c = I2C(1) # Create I2C object display = ssd1306.SSD1306_I2C(128, 64, i2c) # Pass I2C object display.fill(0)display.text("Hello, World", 0, 0)display.show() time.sleep(100)
																			
MicrPython SSH1106

IT IS SSH1106,NOT SSD1306
																			
STM32 - Serial two 74HC595 shift registers

https://gitlab.quantr.hk/example/stm32/stm32f411ceu6-74hc595-shift-register
																			
Waveshare ESP32 Zero C6 - RGB led micropython example

																			
command to clone mysql database

of use -p
																			
Solved: macports fatal error: 'boost/filesystem/path.hpp'

Edit CMakeLists.txt, add these two line on top
																			
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 […]
																			
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
																			
解剖玩具麥輪車

MX512G : 低压单通道有刷直流电机驱动器, RMB $2MX1616S : 双路有刷直流马达驱动电路, RMB $7.8TRSP5040A : SOP8語音OTP芯片40秒碩呈語音播報IC程序開發, RMB 0.27RF2520A : 无线遥控收发器芯片, RMB $4.3
																			
iPad stand using FreeCad

																			
香港嘅教育展,其實係教育玩具展

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

Run this command in windows host
																			
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 […]
																			
Resolved: unable to push to gitlab

if you meet this problem: fatal: the remote end hung up unexpectedly Do this:
																			
香港編程界必須「代碼脫亞入歐, 工作脫港入陸」

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

																			
Statistics formula in Excel

																			
Remove old node_modules

																			
Mac command to view all opened port

																			
Simplest standalone ApacheDS server

This code run a standalone ApacheDS server, you can use ApacheDS studio to connect to it, it host localhost:10389 pom.xml Then you can connect it by ApacheDS Studio
																			
IoT sensors

																			
Quantr Dwarf Library - Print address/lineNo/ColNo from specific address

																			
Dinner with HKI MEICOM

																			
公關力

																			
Road map to learn AI

																			
Qemu's trace_memory_region_ops_write

I was trying to find the body of trace_memory_region_ops_write function in qemu source code, can't find it. It is generated by python script (log.py)
																			
Latest SPFx, web parts not appear

Using latest SPFx with node v18, pack and deploy the app no error, but web parts not appear, because you missed this. When you upgrade your SharePoint project, beware of this
																			
Create a breadboard FPGA

We tried to ask GOWIN to let us generate the bitstream but seems they are not willing to open their standard, xilinx and altera has no hope too. So for education purpose we now go for build a simple one. We found the way to break logic into LUTs, so we want to build a […]
																			
ENC28J60 + Arduino

																			
Arduino + AD9833 using library by Rob Tillaart

Buy the board here : https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6caf2e8dU9c4dS&id=590166217396&_u=6buhab0a8d9 Install the library, see below Make sure connect these pins to the board, total 5 pins, follow below Refer to https://github.com/RobTillaart/AD9833 , more examples in https://github.com/RobTillaart/AD9833/tree/master/examples
																			
TheDB發展戰略圖

																			
GY-4725 board

Bought from here. This code test maximum frequency, around 1ms period is peak Documents
																			
Redis uses its own protocol to communicate between redis-server and redis-client

I thought db client sending plain text command (in SQL) to server and server parse the command. But I found Redis and Mysql client communicate to server via a custom protocol, that prove the client parse the command, not the server socat -v tcp-listen:8001,reuseaddr,fork tcp:localhost:6379
																			
Funny Toy : Oscilloscope

I got this electronic toy from Taobao, i want to have more experience on soldering and putting different components on the PCB and making them work. After 3 hours in soldering and 1 hour in debugging, i finally make it works https://v.youku.com/v_show/id_XNjAyNDAwNDY2OA==.html?spm=a2hje.13141534.1_3.d_1&scm=20140719.manual.240103.video_XNjAyNDAwNDY2OA== All documents here
																			
CIO現象之觀察

已經同大部份嘅公營機構做過生意, 公營機構嘅IT部技術同hands-on氣氛同以下元素嘅關係 同以下元素有關係, 我解釋唔到點解, 但觀察得之係有一定關係
																			
Multimeter book, teach you how to build one

																			
Arduino read/write AT24C256

Many examples not work from google, it is because it needs a delay after write operand, so i put delay(100)
																			
ATMEGA328P default fuse

																			
Funny lesson today to build few 8-bit registers

Teaching teens for electronics is a rewarding and fulfilling experience. Electronics is a fascinating field that combines creativity, logic, and problem-solving. By teaching teens for electronics, you can help them discover the joy of learning new skills, creating useful devices, and exploring the world of technology. You can also inspire them to pursue their passions, […]
																			
教育界未必係教育界,性格黎講

香港嘅科研唔掂,由其是教育界嘅科研,因為佢地無"愛"。香港教育界當然有好多熱心教育嘅老師,但亦有好多人令教育界唔似教育界 1. 老師未必愛好和平 通常真係鐘意教人嘅人都會係比較和平,始終教人係一件神聖嘅事業。但係好多院校內鬥好嚴重,好多時候啲老師好鐘意鬥來鬥去,所以佢地一啲都唔愛好和平。 2. 其實教育界好多時都無乜包容 好多時候學生做錯少少野佢地會發火,無乜包容可言,學校理應係一個提供無限犯錯機會嘅地方,但相反,香港有好多學院根本唔容許人犯錯,無論係學生或者老師都係。舉個例子,youtube上大吧流浪教師,佢地都唔好話做錯野,只要做左少少人地睇唔順眼嘅野,就會被人搞掂。好多老師佢地嘅性格比公務員更加公務員,有突發事件,佢地會嬲。有啲唔係佢地plan左而出現左嘅事,佢地會發癲。總之佢地嘅性格係要跟預定計劃而行,任何人任何事只要中途殺出,佢地就會發狂。所以無論對人對事都無乜包容。 3. 老師根本就好小氣 學校呢個環境其實係一個好好俾人地小氣嘅環境,老師對上得幾個人佢地在乎,其它身邊嘅所有老師佢地可以盡性小氣一翻,小氣亦都可以好長久,姐係記仇。因為咁樣好多老師都無乜人際能力,舉個例子,兜口兜面打照乎可以無反應。 4. 香港嘅老師係按本子辦事嘅生物 一句講哂,跟課程教跟學校規舉。學校想點就點,大家打份工。外國老師因材施教係香港唔會發生,可以咁講,個種程度唔同。香港老師都會認為自己會因材施教,但變幅可能係10%,外國嘅係50%係香港唔會發生。點因材施教都好,功課唔會改,考試亦都會照考。 咁同香港嘅學院研究下啲野可唔可行呢? 無話唔可行嘅,六合彩都有人中啦。但我嘅真實睇法係呢個機會好渺茫。原因係咁:唔愛好和平嘅老師通常唔識做人,科研要有長久而穩定嘅人際關係,佢地唔會俾到你。無包容嘅學院你亦都唔洗哂時間去遊說,因為佢地個氣氛唔係做科研,佢地係打工。加上無包容度嘅老師無可能同你一齊研究一樣野好耐,因為科研要經歷失敗,佢地一經歷失敗就會發癲。你唔好同按本子辦事嘅老師講推廣科技,教書只係一份工作,除非好快可以幫到佢升職,否則你都係唔好哂時間。 其實掉返轉頭諗,如果香港嘅學院真係咁識得同人合作搞科研,全世界一早排隊黎揾佢地啦,洗等你咩。佢地一定係有一啲被全世界都唾棄嘅缺點,否則香港唔會係而家咁嘅局面。
																			
COSCUP 2023

多謝hkcota同oshk安排, 今次台灣可以係coscup 2023講個talk實在開心.
																			
Elec components related to FPGA

																			
Heltec Arduino super simple tutorial

Buy from here. Offical website. Steps to make it work in arduino: 3. Burn these examples To try the wifi example 2. Change the wifi ID and password, case sensitive 3. Run it and see the result in serial monitor, set the baudrate to 115200. It grab the html from outside, see the code then […]
																			
Remote riscv-qemu gdb in vscode

3. Change the no of hart to 1 Result : Step over fully work
																			
Programming Arduino using MKII ISP

I got MKII ISP from here. To program Arduino Nano via Microchip studio, nothing special, remember have to select the chip. And Nano D8 pin is B0. Nano bootloader can be found in here.
																			
solder resistors to make oled change from spi to i2c

Arduino To make it work in Arduino, don't use adafruit SSD1306, you have to use SSH110X library. Run the example, no need to modify anycode.
																			
We teach kids for free

Kids coding training, lions clubs
																			
Teaching teenagers to understand logic

Teaching always sharpen my knowledge, fill up all the missing gap of my skill
																			
ATMega 328p use ext 16M oscilator

https://www.ee-diary.com/2021/06/how-to-program-atmega328p-using-atmel.html
																			
Arduino check I2C addresses

This code can check I2C address from multiple devices
																			
STM32 - 自古成功在嘗試

STM32FEBKC6T6
																			
Create a dummy driver for openocd

We are developing our own risc-v so we need to have to ability to modify openocd. Here is the quickest guide for you to start when you type "set $s1=0xaabb", it will jump to here
																			
PNP create a new list get 403 access denied

Create a new list in SPO via PNPjs will get 403 access denied, run this script to solve it
																			
SEMU call graph

This graph generated by graphviz, helping students easier understand Professor Jim Huang's SEMU RISC-V emulator
																			
QEMU PLIC call map

After hacking the qemu risc-v source code, here is the PLIC call map
																			
Good HDL synthesis book

The first step of logic synthesis is call "HDL synthesis", converting verilog into raw netlist. http://ebook.pldworld.com/_eBook/FPGA%EF%BC%8FHDL/-Eng-/Verilog%20HDL%20Synthesis.%20A%20Practical%20Primet%20%28Bhasker%29.pdf
																			
Cadence Install Guide

https://downloadly.net/2020/19/7490/03/cadence-ic/23/?#/7490-cadence-212315010314.htmlhttps://downloadly.net/2020/19/7490/03/cadence-ic/23/?#/7490-cadence-212315010314.html
																			
ICESugar board unable to mount in ubuntu

If you unable to mount your icesugar board in ubuntu and saying this error "Not authorized to perform operation", this link resolve it https://benjaminnl.pixnet.net/blog/post/4894925-ubuntu-%E8%A7%A3%E6%B1%BA%E9%9A%A8%E8%BA%AB%E7%A2%9F%E7%84%A1%E6%B3%95%E9%96%8B%E5%95%9F%EF%BC%9Anot-authorized-to-perfo The below board https://item.taobao.com/item.htm?_u=fbuhab0c863&id=631164799875 only work with the extension board on right hand side, the left hand side one dont. I found out the chip in the middle is different, rhs […]
																			
Teaching kids for teen club

																			
Resolved : fatal error: 'zstd.h' file not found

Compiling LLVM and have "fatal error: 'zstd.h' file not found", fix it by manually build the zstd git clone https://github.com/facebook/zstd.git make sudo make install
																			
Step to build llvm + clang

																			
Very good lucene book in cityu library

																			
Solved: The request message is too big. The server does not allow messages larger than 2097152 bytes.

SharePoint Online CSOM error : The request message is too big. The server does not allow messages larger than 2097152 bytes.
																			
Solved: SharePoint 2019 ERR_HTTP2_PROTOCOL_ERROR 

Navigate to the registry key 2.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters. Add 2 new REG_DWORD values, EnableHttp2Tls and EnableHttp2Cleartext, to this registry key. Set both values to 0. Reboot the server  refer to https://stackoverflow.com/questions/67747270/reactjs-neterr-http2-protocol-error-200-with-netcore-in-https/67767129#67767129
																			
四十業處表

																			
Netbeans : communicate with other JTopComponent in the same module

																			
正点原子Mini STM32F103RCT6在STM32CubeMX中玩UART

正點原子的教程是在Keil, 如果要在STM32CubeMX裏玩UART可跟以下步驟 Step 1. Step 2. Comment the whole file Step 3. Add these 3 files from the CD Step 4. Modify usart.c , default example override fputc never works, we have to overrid _write Step 5. Add this
																			
ICESugarPro board blinking example work

																			
start point to build our own jtag for our risc-v cpu

After days of hacking, i finally found out there is a dummy driver in openocd. just ./configure --enable-dummy and run it by ./bin/openocd -c 'interface dummy' -c 'adapter_khz 1' , you can see the dummy driver is running and in the function "static int dummy_write(int tck, int tms, int tdi)", we can manually toggle the […]
																			
Using FlatArcOrangeIJTheme gives me a new fresh look of NetBeans

I am not sure I add this L&F right, but it just works. Below are the steps Below is the code to use FlatArcOrangeIJTheme in your swing app I am thinking to create a NetBeans plugin to let users switch themes, but the above code has to be run before any swing component is unitized. […]
																			
Arithmetic Circuits & Multipliers

https://web.mit.edu/6.111/www/f2016/handouts/L08_4.pdf
																			
validate() in TableCellRenderer affect performance in windows

validate() in TableCellRenderer affect performance in windows, just read the source code of DefaultTableCellRenderer, just override it with empty function body will increase huge performance. Only windows affect this, mac and linux wont.
																			
Very good AI book by examples

																			
Microsoft Online Services SLA

																			
SPFX init pnpjs

																			
WebPart spfx section background color

																			
Solved: liximomo error : file not found

https://stackoverflow.com/questions/67506693/vscode-error-no-such-file-sftp-liximomo-extension/67524099#67524099 This is apparently a brand new problem that has been introduced into the newer versions of VS Code. I have FOUND A SOLUTION that seems to work well, by modifying a single line in the extension code. This is only valid for version 1.12.9 of the liximomo.sftp extension. Here are the steps: Shutdown / Quit VS Code. Locate […]
																			
A very good provision tutorial

https://plumsail.com/docs/actions/v1.x/flow/how-tos/sharepoint/create-list-library-pnp.html
																			
This file controls how "info register" in gdb

this file riscv-64bit-cpu.xml controls how "info register" printing values in gdb. I tried to add one entry to it to print the "PC" value one more time, it works
																			
Dissassembler差唔多

下一步叫班學生加入多啲high level syntax, 同一時間我要攻破chipyard
																			
Build vscode, host it localhost and run it in browser

https://www.barretlee.com/blog/2019/10/23/vscode-study-01-start/ Visual Studio Code 是微软推出的一款轻量级编辑器,与它一起在市场争锋的相似软件还有 Atom 和 Sublime Text,面世第二年的它只占据 7% 左右的市场,后来在短短三年时间雄踞了半壁江山,不可谓不哇塞。 发育如此强势的软件,背后到底是如何设计的,未来一段时间,我将带着你一点一点拨开她的面纱,再撩开她的裙摆。 下载源码 Visual Studio Code 简称 VSCode,需要注意的是,平时我们使用的 VSCode 那是产品,而下面我们要介绍的是源码,产品是源码的构建结果;源码使用的 MIT License,而产品使用的是这个 MICROSOFT SOFTWARE LICENSE TERMS,如果你想把 VSCode 用于商用,建议从源码构建出新的产品,而不是直接使用人家官网上提供下载链接的 VSCode Product。 官网地址是 https://code.visualstudio.com/ 源码在这里:https://github.com/microsoft/vscode。 我们先把源码 down 下来: git clone --depth 1 https://github.com/microsoft/vscode.git 由于 VSCode 项目过于活跃,提交量非常庞大,到目前为止,已经有 56,092 次提交了,建议在下载源码的时候加了一句 --depth 1,意思就是只现在最近一次 commit 的代码。 30s 后……71M,不慢。 安装依赖 在安装依赖之前,我们不妨稍微分析下 VSCode 的项目结构, ➜ vscode (master) tree -L […]
																			
Power Automate Desktop

Power Automate Desktop有好強烈嘅"Variable"氣息, 呢一點會令好多Programmer所喜愛. 加上佢對傳統Programming嘅範式有好正嘅一對一支持, 特別令Programmer容易上手, 就算係一啲初級嘅Programmer都會覺得好就手. 加上咪記黎緊會加強佢嘅SDK支持同加深自己產品線嘅整合, 所以UIPath今次玩完了.
																			
Tutorial to use Hantek6022BE with Pulse

Step 1. Download pulseview Step 2. Make sure this button is poped out. Step 3. Install Zadig driver Step 4. Run pulseview, the device should be auto detected as "Saleae Logic", but not "Hantek", anyway it will works
																			
RISC-V CPU verilog testbench is good now

																			
Never use Baidu Cloud Disk

Simple reaons, upload is fast, download only. few ten KB/s. It looks like Baidu don't want you to download your file, locking you in forever
																			
RISC-V 64 bits XV kernel insturctions

addaddiaddiwaddwamoadd.damoadd.wamoadd.w.rlamoswap.wamoswap.w.aqandandiauipcbeqbeqzbgebgeubgezbgtzblezbltbltubltzbnebnezc.addc.lic.luic.mvc.nopc.sllic.slli64c.srai64csrccsrcic.srli64csrrcsrrccsrrcicsrrscsrrsicsrrwcsrrwicsrscsrwdivuwebreakecallfadd.qfadd.sfdiv.dfdiv.sfencefldflqflwfmadd.dfmadd.sfmsub.dfmsub.qfmsub.sfnmadd.dfnmadd.qfnmadd.sfnmsub.dfnmsub.qfnmsub.sformatfsdfswjjaljalrjrlblbuldlhlhuliluilwlwumretmulmulwmvnegnegwnopnotororiremuwretsbsdsectionseqzsext.wsfence.vmashsllsllislliwsllwsltsltisltiusltusltzsnezsraisraiwsretsrlsrlisrliwsrlwsubsubwswunimpxorxori
																			
Ubuntu 20 reset mysql 8 root password

																			
Running 64- and 32-bit RISC-V Linux on QEMU

https://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.html Running 64- and 32-bit RISC-V Linux on QEMU This is a “hello world” example of booting Linux on RISC-V QEMU. This guide covers some basic steps to get Linux running on RISC-V. It is recomended that if you are interested in a specific distrubution you follow their steps. For example if you are interested […]
																			
RISC-V XV6 Book

																			
logic gate呢一層

我地平時用嘅variable,如果化到落logic gate呢一層,你無法找到佢嘅真身,佢亦都好可能同其它variable所化生嘅logic gate交織埋一齊,你亦都無可能找到佢確實嘅存在嘅時間,一切好虛無,但有其功用。呢個係coding體驗空性嘅其中一個睇法。而家啲programmer執著玩排位玩放位玩lang玩framework,真係好可憐。
																			
GD32 RISC-V registers

===== RISC-V Registers(0) zero (/32)(1) ra (/32)(2) sp (/32)(3) gp (/32)(4) tp (/32)(5) t0 (/32)(6) t1 (/32)(7) t2 (/32)(8) fp (/32)(9) s1 (/32)(10) a0 (/32)(11) a1 (/32)(12) a2 (/32)(13) a3 (/32)(14) a4 (/32)(15) a5 (/32)(16) a6 (/32)(17) a7 (/32)(18) s2 (/32)(19) s3 (/32)(20) s4 (/32)(21) s5 (/32)(22) s6 (/32)(23) s7 (/32)(24) s8 (/32)(25) s9 (/32)(26) […]
																			
I think RISC-V gas has bug

Compiling instruction "csrrci x1,ucause,0x00" produce no bytes
																			
Import-Module : The specified module 'OfficeWebApps' was not loaded because no valid module file was found in any module directory.

This will fix the problem:
																			
Hour of code 2020/06/27 RISC-V assembly

																			
Arduino output sine wave, it works

My Arduino board has built-in DAC, can output sine wave.
																			
ASSEMBLER MEETUP #42, 2020/05/30

Doing RISC-V assembler, this is our first decode screen
																			
Pnp provision framework

Pnp provision framework has these steps: 01/20 - Regional Settings02/20 - Supported UI Languages03/20 - Audit Settings04/20 - Site Security05/20 - Fields06/20 - Content Types07/20 - List instances08/20 - Features09/20 - Page Contents10/20 - Client Side Page Contents11/20 - Site Header12/20 - Site Footer13/20 - Property bag entries14/20 - Workflows15/20 - Web Settings16/20 - Site […]
																			
ASSEMBLER MEETUP #41, 2020/05/09

added RISC-V supports to our testbench portal
																			
Met Rick

2020/04/30. Our assembler team met Rick, Rick is come from America, our first team member from USA. Jenny shown her about the assembler design and Rick share his opinions about the UBC.
																			
Great blog about vscode extension development

https://www.cnblogs.com/liuxianan/p/vscode-plugin-common-api.html
																			
Let's encrypt generate wildcard cert

This works https://medium.com/@saurabh6790/generate-wildcard-ssl-certificate-using-lets-encrypt-certbot-273e432794d7
																			
Netbeans 11.2 still hand in startup, mac catalina

Delete crash modules' xml in /Users/peter/Library/Application Support/NetBeans/11.2/config/Modules
																			
RISC-V要implement哂所有concept是有難度的

																			
Assembler Meetup #27, 2020/01/18

Peter : Adding support to "Label". Rest of people keep encoding x86 instructions.
																			
推薦一個國產示波器連logic analyzer

http://www.hantek.com/en/productdetail_153.html
																			
stepfpga simple project setup

																			
Assembler Meetup #22, 2019/11/30

Jenny teach me code translate Not sure our method is unify or not Trying to make the grammar file shorter and uniform
																			
Hacking Lattice toolchain lesson 1

Lattice Diamond use these commands to compile my project into jed file Synthesize Design: synthesis -f ControlLed_impl1_lattice.synproj -gui -msgset C:/workspace/fpga/ControlLed/promote.xml Place & Route Design: par -w -l 5 -i 6 -t 1 -c 0 -e 0 -gui -msgset C:/workspace/fpga/ControlLed/promote.xml -exp parUseNBR=1:parCDP=0:parCDR=0:parPathBased=OFF ControlLed_impl1_map.ncd ControlLed_impl1.dir/5_1.ncd ControlLed_impl1.prf trce -v 10 -gt -sethld -sp 4 -sphld m -o ControlLed_impl1.twr […]
																			
Simplest tutorial to read yammer message in SPfx

Step 1 : Browser https://www.yammer.com/client_applications create your app Step 2 : Make sure you fill in the Javascript Origins, otherwise you will get an cors error Step 3 : Generate the developer token, we need it to send get/post form spfx Result:
																			
Netbeans in Mac vs Windows

Netbeans in windows is much more ugly than in Mac, here is my point of view: Font is not align and not beautiful The java swing L&F in mac match with OS, but not the one in windows Toolbar icon style not match with windows
																			
Assembler Dev #19 2019/11/02

We think the encoding method is stable, asked Jenny to write a wiki, describe how we can encode each instruction https://gitlab.com/quantr/toolchain/Assembler/wikis/Tutorial-of-decoding
																			
Assembler Dev #16 2019/10/12

We finalize our error handling method, in both antlr grammar and java instruction "ADC" fully encoded, but still some combination mis-encoded. That means nasm don't encode it, but we do https://www.quantr.hk/asmweb , our new testing site is launched
																			
Getting started with RISC-V

https://dantalion.nl/en/getting-started-with-risc-v/ So you have heard of this RISC-V thing typically talked about in the context of microprocessors and to a lesser degree also for desktop processors. RISC-V is an open-source hardware instruction set architecture (ISA). Similarly to how X86 for Intel and AMD is a closed source ISA. Being an open-source ISA any manufacturer can […]
																			
How to measure an intranet portal

																			
成功!ELF文件輸出正常

Heading to goal : Our assembler our elf file directly
																			
Assembler dev meeting #13

2019/09/14, we met in cityu again. I finished IMM in other project https://gitlab.com/quantr/toolchain/antlr-calculator-library . So Assembler's parser will eat up the whole numeric string and then pass it to antlr-calculator-library, if it contains a maths expression, it return the final answer which is a number. I created another library to produce ELF output. Jenny and […]
																			
Bash script to create a file with increment bytes

for ((x=0;x<=255;x++)); do a=`echo "obase=16; $x"|bc`;echo -n -e "\x$a"; done
																			
Assembler dev meeting #11

sync-ed up Jenny coding skill to all of us. Jenny now clearing all useless code, rename variables to a more meaningful name. Our next job is to encode all instructions together, and for me, create an ELF library to output ELF format object code. Here is our tuned assembler grammar https://gitlab.com/quantr/toolchain/Assembler/blob/master/src/main/java/hk/quantr/assembler/antlr/AssemblerParser.g4
																			
Assembler dev meeting #10

As usual, #10 meeting was hold in CityU. We getting more familiar with Intel basic instruction set translating. Here is the actions list for next week: Zero padding, cut of pad "0" Jenny consolidate your code into well format, let us understand and give us tutorial next sat morning Desmond: nasm in linux example, able […]
																			
Wheatstone bridge in multisim

Simulation is correct
																			
Assembler Dev meeting #6, #7 and #8

Desmond typed all basic instructions to grammar. We found some translation are wrong. I fixed the full test so can test all translated instructions.
																			
Calling Docusign Restful API with Bearer

In DocuSign, Bearer is same as access token, just two different names. It can be generated by this web https://developers.docusign.com/oauth-token-generator , make sure you have an sandbox account.