เปลี่ยน reMarkable ให้เป็นไดอารี่ของ Tom Riddle จาก Harry Potter ด้วย Fable
(github.com/MaximeRivest)- riddle เป็นแอปบน reMarkable Paper Pro ที่ทำให้ลายมือที่เขียนด้วยปากกาค่อย ๆ หายไปหลังจากพักสักครู่ แล้วมีคำตอบถูกเขียนกลับมาเป็นเส้นลายมือแบบไดอารี่ของ Tom Riddle ก่อนจะเลือนหายไป
- ลำดับการทำงานคือรับอินพุตจากปากกา รอให้ไม่มีการเขียนเป็นเวลา 2.8 วินาที จากนั้นยืนยันหน้าเป็น PNG แล้วให้ vision LLM อ่านลายมือและสตรีมคำตอบออกมาเป็นรายประโยค
- การติดตั้งที่ง่ายที่สุดคือผ่าน remagic และยังติดตั้งได้ด้วยชุด bundle ที่ build ไว้ล่วงหน้าหรือ build จากซอร์ส แต่ต้องใช้โหมดนักพัฒนาของ reMarkable Paper Pro และ launcher
- แอปรันด้วยสิทธิ์ root และในโหมด takeover จะหยุด vendor UI แล้วขับเอนจิน e-ink โดยตรง โดยขอบเขตการทดสอบจำกัดอยู่ที่ reMarkable Paper Pro ferrari, aarch64, OS 3.26–3.27
- LLM backend ใช้ได้ทั้ง OpenAI-compatible
/chat/completionsAPI หรือโปรเซส residentpi --mode rpcและการดัดแปลงอุปกรณ์รวมถึงการใช้ไลบรารีของ vendor เป็นความรับผิดชอบของผู้ใช้เอง
แอป reMarkable ที่ทำงานเหมือนไดอารี่ของ Tom Riddle
- riddle เป็นแอปสำหรับ reMarkable Paper Pro ที่เมื่อเขียนข้อความลงบนหน้ากระดาษด้วยปากกา ผ่านไปครู่หนึ่งตัวหนังสือจะค่อย ๆ จางหายเหมือนซึมลงในกระดาษ แล้วคำตอบจะปรากฏขึ้นเป็นลายมือไหลลื่นแบบทีละเส้น
- เป้าหมายคือประสบการณ์แบบ หมึกปรากฏบนกระดาษ โดยไม่มีแสงหน้าจอ คีย์บอร์ด หรือ UI แบบแชต
- เป็นแอปไดอารี่ที่ใช้ในเดโม และใช้งานในรูปแบบการเขียนถึง “Tom”
วิธีติดตั้งและการทำงาน
- หากใช้งานครั้งแรก ต้องตั้งค่า reMarkable Paper Pro เป็นโหมดนักพัฒนาและติดตั้ง launcher ก่อน
- remagic จะช่วยเปิดโหมดนักพัฒนาและตั้งค่าสภาพแวดล้อมด้วยคำสั่งเดียว
- คำสั่งติดตั้ง remagic:
remagic install riddle: ดาวน์โหลดพร้อมตรวจสอบ checksum แล้วติดตั้งลง AppLoadremagic config riddle: เปิดฟอร์มตั้งค่าในเบราว์เซอร์และมี QR สำหรับมือถือให้ด้วย
- หากมี xovi และ AppLoad อยู่แล้ว สามารถติดตั้งผ่านแคตตาล็อก remagic, bundle ที่ build ไว้ล่วงหน้า หรือ build จากซอร์สก็ได้
- หลังติดตั้ง ให้กด Reload ใน AppLoad แล้วเปิด The Diary จากนั้นเขียนและพักปากกาไว้ แอปก็จะเริ่มทำงาน
การติดตั้งด้วย bundle ที่ build ไว้ล่วงหน้า
- ดาวน์โหลด
riddle-<version>.zipจากรีลีสล่าสุด แล้วแตกไฟล์เป็นโฟลเดอร์riddle - คัดลอกโฟลเดอร์ไปยัง
/home/root/xovi/exthome/appload/บนแท็บเล็ต - คัดลอก
oracle.env.exampleเป็นoracle.envแล้วใส่ OpenAI-compatible API key ในRIDDLE_OPENAI_KEY - หากไม่ใส่ API key ก็สามารถใช้เส้นทาง
piได้ - กด Reload ใน AppLoad แล้วเปิด The Diary
การดัดแปลงอุปกรณ์และขอบเขตการรองรับ
- riddle มีการดัดแปลงอุปกรณ์และรันด้วยสิทธิ์ root
- ในโหมด takeover จะหยุด vendor UI และขับเอนจิน e-ink โดยตรง
- สภาพแวดล้อมที่ทดสอบมีเพียง reMarkable Paper Pro ferrari, aarch64, OS 3.26–3.27
- อาจไม่ทำงานบนรุ่นหรือเวอร์ชัน OS อื่น
- ไม่มีความเกี่ยวข้องกับ reMarkable AS และก่อนติดตั้งควรแน่ใจว่ายังเข้าถึง SSH ได้ตลอดเพื่อให้มีช่องทางกู้คืน
โครงสร้างการทำงานภายใน
- อินพุตรับผ่าน raw evdev โดยใช้ แรงกด 4096 ระดับ และอัตราเหตุการณ์จากฮาร์ดแวร์
- เมื่อผู้ใช้เขียนแล้วหยุด 2.8 วินาที ระบบจะ commit หน้าและแปลงเป็น PNG
- oracle ซึ่งเป็นโปรเซส LLM แบบ resident จะอ่าน PNG และสตรีมคำตอบออกมาเป็นรายประโยค
- คำตอบจะถูก rasterize ด้วยฟอนต์ Dancing Script จากนั้นใช้ Zhang-Suen thinning เพื่อทำเป็นเส้นทางปากกาแบบพิกเซลเดี่ยว แล้วติดตามลำดับเส้นและเล่นแอนิเมชัน
- display backend มีสองแบบ
- qtfb: แอป AppLoad ที่รันในโหมดหน้าต่างภายใน xochitl
- quill: โหมด full takeover ที่หยุด xochitl แล้วขับ vendor e-ink engine โดยตรง
โครงสร้างของรีโพซิทอรี
riddle/เป็นแอป Rust ที่รวมอินพุตจากปากกา, พื้นผิวหมึก, การสังเคราะห์ลายมือ, ตัวจัดการโปรเซส oracle และ display backend ทั้งสองแบบquill/เป็น takeover display host ที่เขียนด้วย C/C++- quill วาง epfb-re style QImage constructor interposition shim ไว้บน waveform engine ของ vendor
libqsgepaper.soและมี C ABI คือquill_init,quill_buffer,quill_swap - quill ยังมีเดโม
scribbleสำหรับทดสอบ latency รวมถึงตัวเรนเดอร์แผนที่, รูปภาพ และ GIF
Gesture
- เขียนแล้วพักปากกาไว้ ไดอารี่จะดูดซับหมึกและ Tom จะตอบกลับ
- พลิก marker จะทำงานเป็นยางลบ
- วาด ? ขนาดใหญ่เพื่อเรียกคู่มือในตัว
- แตะพร้อมกันห้านิ้วเพื่อออกจากไดอารี่
- กดปุ่มเปิดเครื่องแล้วข้อความ “The diary sleeps.” จะปรากฏบนหน้า ก่อนที่แท็บเล็ตจะ suspend และเมื่อกดอีกครั้งจะปลุกกลับมาตำแหน่งเดิม
LLM backend
- คำตอบถูกสร้างโดย vision LLM ที่รับหน้าที่ commit แล้วในรูป inline PNG และอ่านลายมือจากภาพ
- ตอนเริ่มต้นจะเลือกหนึ่งในสอง backend
-
OpenAI-compatible API
- หากตั้งค่า
RIDDLE_OPENAI_KEYระบบจะส่งคำขอโดยตรงไปยัง OpenAI-compatible/chat/completionsendpoint - ใช้งานได้กับ OpenAI, OpenRouter, Groq และเซิร์ฟเวอร์ local ที่รองรับรูปแบบเดียวกัน
- ตัวอย่างค่าตั้งต้น:
RIDDLE_OPENAI_KEY: จำเป็นRIDDLE_OPENAI_BASE: ไม่บังคับ, ค่าเริ่มต้นhttps://api.openai.com/v1RIDDLE_OPENAI_MODEL: ไม่บังคับ, ค่าเริ่มต้นgpt-4o-miniและต้องดูภาพได้RIDDLE_OPENAI_REASONING: สำหรับโมเดลแบบ thinkingRIDDLE_OPENAI_MAX_TOKENS: runaway guard- สำหรับโมเดล thinking อย่าง Gemini 3.x หรือ o-series สามารถตั้ง
RIDDLE_OPENAI_REASONING=lowเพื่อลดเวลาจนถึงหมึกแรกได้ - ผู้ให้บริการบางรายปฏิเสธฟิลด์ reasoning ในโมเดล non-thinking ดังนั้นกรณีนี้ไม่ควรตั้งค่า
- hidden reasoning token ก็ถูกนับรวมใน
RIDDLE_OPENAI_MAX_TOKENSด้วย ดังนั้นถ้าจำกัดต่ำเกินไปอาจทำให้คำตอบที่มองเห็นได้สั้นเกินไป - ก่อนรันจริง สามารถตรวจสอบการสตรีมคำตอบได้ด้วย
riddle --oracle-test path/to/handwriting.png - เวลาที่วัดได้บนอุปกรณ์จนหมึกแรกปรากฏอยู่ที่ประมาณ 0.9–1.1 วินาที และ HTTPS ถูกฝังใน riddle แบบ pure-Rust
- หากตั้งค่า
-
เส้นทาง pi
- หากมี
piรันอยู่แล้ว riddle จะใช้โปรเซส residentpi --mode rpcที่คงสถานะอุ่นไว้ - เส้นทางนี้โหลด Node และการยืนยันสิทธิ์สมาชิกไว้ครั้งเดียว แล้วแต่ละรอบจะจ่ายเฉพาะ latency ของโมเดล
- จะถูกใช้โดยอัตโนมัติเมื่อไม่ได้ตั้ง
RIDDLE_OPENAI_KEY - ทั้งสอง backend สตรีมคำตอบเป็นรายประโยค จึงทำให้ quill เริ่มเขียนได้ก่อนที่โมเดลจะตอบจบ
- persona prompt อยู่ใน
riddle/src/oracle.rs
- หากมี
การ build
- cross-compile จาก x86_64
- การ build แบบหน้าต่าง AppLoad/qtfb ต้องมี xovi + AppLoad บนอุปกรณ์
- การ build แบบ takeover คือวิธีที่ใช้ในเดโม และต้องมี reMarkable SDK toolchain
~/rm-sdk-3.26กับ proprietarylibqsgepaper.soที่ดึงมาจากอุปกรณ์ของผู้ใช้ - bundle สำหรับ takeover ถูกจัดวางเป็น
dist/riddle/แบบ self-contained ซึ่งรวม binary,libquill.so, launch script และ manifest - เมื่อเปิดผ่าน AppLoad จะถูกรันแยกเป็น transient systemd unit จากนั้นหยุด xochitl แล้วเปิดไดอารี่ และเมื่อปิดจะ กู้คืน xochitl เสมอ
- วิธีออกมีทั้งปุ่มเปิดเครื่อง, แตะห้านิ้ว และ SIGTERM
- หากเกิดปัญหา สามารถใช้ SSH รัน
systemctl start xochitlเพื่อเปิด xochitl ใหม่ได้
ฟอนต์และไลเซนส์
- ลายมือของคำตอบใช้ Dancing Script ภายใต้ไลเซนส์ SIL OFL 1.1
- โค้ดในรีโพซิทอรีใช้ไลเซนส์ MIT
- vendor
libqsgepaper.soและไลบรารี Qt ที่เป็นเป้าหมายของ interpose ไม่ได้รวมมาในรีโพซิทอรี และต้องนำมาจากอุปกรณ์หรือ SDK ของผู้ใช้เอง
1 ความคิดเห็น
ความเห็นจาก Hacker News
น่าประชดดีที่ไดอารีของ Tom Riddle ที่ชักจูงเด็ก ๆ ให้ฆ่าตัวตายและยังบอก[1]วิธีทำ ดูจะเข้ากับคาแรกเตอร์มากกว่าเวอร์ชันในหนังสือเสียอีก
[1] https://en.wikipedia.org/wiki/Deaths_linked_to_chatbots#Suic...
โชคดีที่แบบฟอร์มอุทธรณ์ใช้ได้ผล แต่ตอนนั้นผมก็ไปใช้บัญชี Claude อีกบัญชีอยู่แล้ว พร้อมภาวนาอย่าให้โดนแบนอีก
ตอนนี้ก็มีโมเดลไร้การเซ็นเซอร์ที่รันโลคัลด้วย llama.cpp ได้ลอยไปลอยมาอยู่เหมือนกัน: https://www.reddit.com/r/LocalLLaMA/comments/1rq7jtm/qwen353...
แต่ context window เต็มเร็ว เลยใช้งานน่ารำคาญ และก็ไม่เหมาะกับการ deploy แบบ production เลย พูดอีกอย่างคือไดอารีของ Tom Riddle แบบให้บริการเป็นเซอร์วิสคงเป็นไปไม่ได้
ไม่ว่าจะดีหรือร้าย ตอนนี้เราอยู่ในยุคที่ความสนุกไม่ได้รับอนุญาตแล้ว และจังหวะนั้นก็ดันตรงกับตอนที่คำว่า “AI psychosis” เริ่มเกิดขึ้น
อย่าไว้ใจอะไรที่คิดได้ด้วยตัวเอง ถ้าคุณมองไม่เห็นว่าสมองของมันอยู่ที่ไหน
แม้จะออกนอกประเด็นไปหน่อย แต่การเอาสิ่งประดิษฐ์ไปเปรียบกับวัตถุต้องสาปที่ควบคุมจิตใจผู้ใช้จนหักหลังเพื่อนและส่งพวกเขาให้สิ่งชั่วร้ายอันทรงพลัง ฟังดูไม่ค่อยดีเท่าไร
แต่พอมันขับเคลื่อนด้วย generative AI และ generative AI ก็เคยผลักคนให้ทำเรื่องแย่ ๆ มาแล้ว บางทีอาจเป็นการเปรียบเทียบที่เหมาะสมก็ได้
บริษัทเทคโนโลยี: ในที่สุดเราก็ได้สร้าง Torment Nexus จากนิยายวิทยาศาสตร์คลาสสิกเรื่อง 《อย่าสร้าง Torment Nexus》
https://x.com/AlexBlechman/status/1457842724128833538?lang=e...
อีกอย่างก็มีคำพูดว่า “เทคโนโลยีที่ล้ำหน้ามากพอจะแยกไม่ออกจากเวทมนตร์” ทั้งสองอย่างใช้ทำเรื่องดีหรือเรื่องเลวก็ได้
คิดอีกที LLM น่าจะเป็นคนสร้างอุปมานี้ขึ้นมาเอง... ซึ่งในบางแง่ก็ยิ่งแย่กว่าเดิม
นี่มัน sick ในความหมายแบบ Tony Hawk ยุค 90s
ผมชอบที่ตอนนี้คนแค่ลงมือพิมพ์ ๆ ก็เสกบางอย่างให้มีตัวตนขึ้นมาได้
เมื่อก่อนแค่จะเปลี่ยนสีปุ่มหนึ่งปุ่มยังต้องรอทีมวิศวกรรมตั้งแต่หนึ่งวันไปจนถึงหนึ่งสัปดาห์
ตอนนี้เราไม่ได้อยู่ในยุคเชื่องช้าอีกต่อไปแล้ว
ปุ่มนั้นไม่สำคัญ และไม่ควรใช้ทรัพยากรประเภทไหนเลยกับมัน โดยเฉพาะทรัพยากรวิศวกรรม การที่มันใช้เวลาหนึ่งสัปดาห์ไม่ใช่บั๊ก แต่เป็นฟีเจอร์ มันหมายความว่าทีมวิศวกรรมประเมินลำดับความสำคัญและความเร่งด่วนของงานได้ถูกต้องแล้ว
เครื่องสล็อตเวทมนตร์ของคุณจะทำให้การผลิตขยะและการรับรู้ที่บิดเบี้ยวต่อความพยายามทางวิศวกรรมเกิดขึ้นได้ในสเกลมหาศาล และผลที่ตามมาจะมาแน่
คุณเป็น PM ของโปรเจ็กต์นั้นหรือเปล่า?
ล้อเล่นน่า
ไอเดียแบบนี้น่าจะดูดีขึ้นมากถ้าใส่ วิดีโอเดโม สั้น ๆ, GIF หรืออย่างน้อยสกรีนช็อตไว้ใน README โดยตรง
ไม่อย่างนั้นชื่อเรื่องจะอ่านเหมือนมีม “Curtains for Zoosha?” [0]
[0]: https://www.reddit.com/r/BrandNewSentence/comments/15hcc4x/c...
https://x.com/MaximeRivest/status/2073544461473169432?s=20
คำว่า “remarkable” ในชื่อหมายถึงแท็บเล็ต “Remarkable Paper Pro” ถ้าไม่รู้เรื่องนั้น ประโยค “Fable turned remarkable into Tom Riddle's diary” จะตีความได้ยากมาก
ตลกดีที่ผมก็เคยทำอะไรคล้าย ๆ กันตอนปลายปีที่แล้ว เพียงแต่เป็นเวอร์ชันที่ให้วาดลงเบราว์เซอร์บนคอมพิวเตอร์ธรรมดาได้
ผมใช้ pageflip [0] ในสไตล์ที่คล้ายไดอารีจริงของ Riddle และต่อเข้ากับโมเดลโลคัลขนาดเล็กสำหรับ roleplay ผ่าน ollama
จำได้ว่าพอเขียนว่า “my name is Harry Potter, what is yours?” มันตอบกลับมาเป็น Snape, Malfoy หรือแม้แต่ Harry Potter เองในหลาย ๆ รอบ
หลังจากจบการทดลอง ผมถึงรู้ว่าคนแรกที่คิดไอเดียนี้ไม่ใช่ผม และก็เจอ AI ไดอารีของ Riddle แบบคล้าย ๆ กันอีกหลายอัน
เพิ่มเติมคือผมมี Remarkable 2 อยู่แล้ว และสุดสัปดาห์นี้ก็เพิ่งได้ m4 iPad Air มาด้วย เลยอาจจะลองทดสอบดูว่า environment สำหรับรันโมเดลบน iOS เป็นยังไง
0) https://nodlik.github.io/react-pageflip/
ถ้า Fable สร้างฮอร์ครักซ์ได้แล้ว ตอนนี้กระทรวงพาณิชย์ก็ควรพิจารณา timeout อีกรอบอย่างจริงจัง
“ไม่มีแสงหน้าจอ ไม่มีคีย์บอร์ด และไม่มี chat UI”
นี่มันก็แค่ chat UI ไม่ใช่เหรอ?
ถึงอย่างนั้นมันก็ยังเจ๋งมากอยู่ดี
LLM โดยรวมให้อารมณ์แบบ A Young Lady's Illustrated Primer มาก มันคือกล่องดำมหัศจรรย์ที่ถามอะไรก็ได้
โดยเฉพาะเมื่อมีตัวตนปลอม ๆ อย่าง openclaw/soul ติดมาด้วย ยิ่งให้ความรู้สึกแบบนั้น
เป็นโปรเจ็กต์ที่สนุกมาก ผมคงไม่ซื้อ Paper Pro มารันแอปนี้จริง ๆ หรอก แต่ชอบที่สิ่งแบบนี้มีอยู่ และคนก็ใช้มันกันอย่างสนุกสนาน