2023-12-13
So, I came across this Simon Michaux guy on YouTube yesterday. He is a geologist and claims that the energy transition is doomed to fail because of the lack of (rare earth) metals. Off by multiple orders of magnitude. His presentation was convinvcing to me at first. WHile I have some but very limit...
Read more →2023-12-08
This post is not my usual rambling about tech. But I want to share my frustration with how I can't help with climate change. First of all. I'm not virtual signaling, but I think I'm likely one of the least consumerist people in the population - I host my blog on Gemini. Boring jokes aside, I truly...
Read more →2023-12-02
I left my last job by the start on November, 2023 and have a week of free time before I join the new one. With time on hand, I decided to finish a feature request I made years ago in Drogon. A HTTP/2 client - And server, but that'll happen later. I never expected to get it almost finished in like 5...
Read more →2023-11-04
I'm drunk on a Friday night again. This time I decide to investigate how to use OpenBSD's pledge(2) and unveil(2) to enhance the security of the Drogon web application framework. Drogon in written in the C++ programming language, not known to be safe. But in truth, as a maintainer of Drogon, non of...
Read more →2023-10-22
This weekend, after a night of partying with my friend and somehow ending up hanging out at a near by McDonald. Back to home, I picked up my old work of running LLMs on the Rockchip RK3588's NPU. Last time I hacked around directly withing GGML and running the RWKV model. That was quite a failure, s...
Read more →2023-09-25
Very quick and short one. I was trying to make something with LangChain. I already had a server running LLaMA 2 Chat using llama-cpp-python. It happens to provide a OpenAI like API. There must be a way to abuse the code to make it work with LangChain. Yet half and hour of Googling turned up nothing...
Read more →2023-09-17
Want to quickly document how I got my PineTab 2 to play 1080p videos smooth(-ish) with hardware acceleration. With the defaul DanctNIX image, it was quite easy. Simply install `mpv` and ` ffmpeg-v4l2-request-git` from the AUR. Then, pass pass `--hwdec=drm` to `mpv` and you're good to go. This ...
Read more →2023-09-15
I cam across two articles on Gemini, discussing what would happen if Chinese switched to using pinyin instead of characters. I want to share my thoughgts as a native speaker. First, I don't user pinyin to type Chinese. I'm from Taiwan and we use another system called Bopomofo(注音). I agree with...
Read more →2023-09-02
Not long after my last benchmarking attempt. Rockchip releases a SDK update that fixes the crashing matrix multiplication API. Now I'm no longer restricted to using ONNX. Now I can directly do matrix multiplication from C! And now I can do an apple to apple comparison with OpenBLAS. That's benchmar...
Read more →2023-08-28
I wasn't expecting this to be so hard. I ordered an RK3588 based Orange Pi 5+ a while back as a development platform. It's great. A good combination CPU and GPU power. As well as a very competitive price to performance ratio. I also bought a large heat sink for it. However it kept hitting thermal l...
Read more →2023-08-26
My goal with my RK3588 dev board is to eventually run a large language model on it. For now, it seems the RWKV model is the easiest to get running. At least I don't need to somehow get MultiHeadAttention to work on the NPU. However, during experimenting with rwkv.cpp, which uses pure CPU for infere...
Read more →2023-08-16
My recent job have been developing a very fast TTS system for our internal use. I can't share too many details about it because NDA. But I do want to share some findings while messing with our system. - My boss is ok with me sharing these findings. We are looking to open source it soon anyway. It's...
Read more →2023-08-03
Just a few minutes ago, my fried sent me an encrypted ZIP file and says "This ZIP file contains some artwork, but the password is distributed in a past, live event. And it's the birthday of the artist. 8 digits. Can you crack it?" Apprantly he can't find the password. "Sure" I said. I've learned in...
Read more →2023-07-23
Quick announcement. I'm running a publically accessible GNUnet hostlist at `http://clehaxze.tw:9876/` due to me failing to bootstrap 3 new nodes today. I was experimenting and this issue really annoyed me. I don't know what happened with the default one. `https://v15.gnunet.org/hostlist` is down. B...
Read more →2023-07-15
Armed with experience converting scikit-learn to RKNN. I spent the past few days trying to get Waifu2x (Anime image upscaling) and endup defeated. Either RKNN got stuck submitting commands or I get the mysterious message `W RKNN: [07:11:36.064] Output(Deconvolution2DFunction_0): size_with_stride la...
Read more →2023-07-13
My first experience with my RK3588 board was mildly infuriating. I bought my Orange Pi 5Plus for it's quite capable NPU. However the low level matrix multiplication API segfaults every single time. After a long period of headbanging I decided to dump that approach for now and the barely working rkn...
Read more →2023-06-27
My plan of running language models on my RK3588 board failed because the official SDK segfaults with the simplest of examples. Nothing I can do until Rockchip fixes it. In the mean time, me and my friend cam across the RK3588(S) Technical Reference Manuals on GitHub (not linked in the hope that Roc...
Read more →2023-06-22
I've been asking myself lately. Epically after Large Language Models becoming the new hot girl in the town. - Thing are, mostly, owned and propelled by large mega-corps. The situation of the field of AI is even worse. So far only Facebook, Google and Microsoft have the capacity to build new LLMs d...
Read more →2023-06-17
I finally got the OrangePi 5 Plus board I ordered. I was going to mess around with the NPU with the rknn2 SDK. However, their matrix multiplcation is broken, segfaulting, and the core SDK is closed source. Nothing I can do becides reporting a bug and wait for them to fix it. In the mean time I deci...
Read more →2023-06-11
So, recently I saw some old-ish discussion on hacker news anout GNS, and mostly the misunderstanding on how it work. So this is my attempt to explain it. Espically to developers whom have not dabbled into the world of decentralized systems. In this post, I'll assume that you are already GNS is...
Read more →2023-06-10
This Saturday, I got too bored and decided do some long overdue housekeeping on my website. I wanted to minify the HTML files, one because this website runs on Drogon's template engine, which is just like PHP and won't collapse whitespace and indentations, and two because I dislike that the HTML I'...
Read more →2023-06-10
So, I had dinner with other people in my company today (as of when I started this post). One of them are absolute Apple fan boys. He knows that I piratically a VR resident. And the topic of Apple's new Vision Pro headset showed up. I expressed my view that I don't like it and it does nothing what c...
Read more →2023-05-28
After spending days archicturing and building my own decentralized public key infrastructure. I find myself consistantly thinking about how attackers can DoS my system or how the trust model is flawed. Then I come up with a solution and realize GNUnet already has something like it built in. Typed ...
Read more →2023-05-26
I'm back working on GNUnet++ after months of not knowing what to do with it! Now I've a fun project that I'm working on. In the mean time I have fixed and added a lot of things to GNUnet++. I think it's a good time to write a blog post about what each GNUnet subsystem does and how to use it in GNU...
Read more →2023-05-09
C++20 introduced coroutines. Which drastically simplifies the implementation of asynchronous code. However, converting existing callback-based code to coroutines is not always easy. The simple case, where the callback is guarenteed to be called only once is covered by the fillowing question on Sta...
Read more →2023-05-04
Quick rant. **Stop comparing Rust to C!** I saw too much comparsion on the internet about why C is unsafe and Rust is safe. True. But they are NOT even the same class of language. C is minimal. The compiler is easiy to write. And nicknamed "portible assembler" for how low level it is. Rust on the...
Read more →2023-04-24
Recently, I got into a debate with a friend of mine about whether AI art is.. art and whether is should be allowed in commercial projects. He is on the position that it is not as it can only mix and replicate existing works. Thus not art. While I'm on the team calming that it can be and we don't kn...
Read more →2023-04-14
Short post. I've traveled to Indonesia for a few weeks and I've found sites like Reddit is blocked. Although I come prepared with my own WireGuard VPN to bypass it. It's still annoyning. Mostly because the added latency. First I tried some low skill bypasses After messing around. I find that Blz...
Read more →2023-04-08
I've spent a few months rewriting Trantor's TLS infrastructure. The old one was purely based on OpenSSL and messy. It's hacked together and not very well documented. Over time we added more and more features to it. And it's getting harder and harder to even understand what's going on. This and my ...
Read more →2023-03-30
My work machine is a 2019 MBP. The machine is nice and UI,, ok, I still like Gnome a lot better. But I miss a good and fast terminal emulator. To be specific, I want the following features For the longest of time, I've tried and used several options. Non of them are as good as Konsole. I've trie...
Read more →