Was trying Proxmox VE 9.1 ISO Installer on an old HP minipc and had issue of the iso not being found while booting to it. Initially tried ventoy, but it didn't work. Next was following the instruction Prepare Installation Media which recommends using dd like below (Tip: use lsblk to locate /dev/* block mount point): dd bs = 1M conv = fdatasync if = ./proxmox-ve_*.iso of = /dev/XYZ dd bs = 1M conv…
Proposal for an open, decentralized social credit system for publishing and consuming reputation, boycott, and recommendation data about organizations, political groups, companies, and products. Anyone can publish a static reputation file; anyone can build a client. Users choose which sources they trust, with no central server, no mandatory account, and no enforced ideology. There is already…
What if we can add additional metadata and records into mdns standard to make it easier to have a local 'webapp' or search engine. This is an open idea, so feel free to develop it. I would like mdns to have the capability for me to create a local web search engine that can do two things targeted for human use: Directory listing of all *.local web server Search capability of searching individual…
Got a device that can do voice synth and is controlled over serial. Would like to have a simple bash script to at least test that it's working. It's a SYN6988 and has some pretty decent voice synth capability for being an embedded module. Learned the basic on controlling it via reading the source of this pill dispenser robot and created a bash script so I can quickly check if my module is working.…
This allows for creating custom screw backplane that you often find in junction boxes etc... and also was researching on typical size and spacing for future custom PCB projects. Based on https://www.aliexpress.com/item/1005009909495336.html , i manually measured the screw size and spacing for future custom PCB designs. Basically you want to stick to these spec: M2 screws (2mm holes) Noticed that…
Just modified a KEEPTEEN D5 Solar Lora station so that it can hold two radios to run both Meshtastic and Meshcore at the same time. Main insight here is: Use Heltec T114 over Heltec LoRa v3. This is because Heltec LoRa32 v3 is way too hungry and will drain a single battery overnight. With two Heltec LoRa32 v3 it will drain even faster. This is too much for the solar panel and the three lipo cells…
Was trying to figure out why a Vacuum called Electrolux ErgoRapido ZB3012 is not working. Found that there is a likely issue with the button controls and found that there is some replacement board in: Electrolux ErgoRapido ZB3004 Handle Switch PCB : https://allfixelectrical.com.au/products/electrolux-ergorapido-zb3004-handle-switch-pcb-part-938063010 Electrolux ErgoRapido ZB3010, ZB3012, ZB3013…
Found a really good guide on using ptouch-print in this github notes Took a bit of time, but figure out how to get it working on PT-P710BT. To make life easier for future people to get started, here's the justfile if you have just installed. Or you could just read it directly as a quick guide. # Directory where build files and artifacts are generated BUILD_DIR : = "build" # Default target: build…
Occationally I would have a http api endpoint that I would like to access and use via a python script. However most examples online requires installing https://docs.python-requests.org/en/latest/index.html . This is certainly a good advice for more complex scripts... but for stand-alone scripts where you just want to use only builtin python features... it would fail. Below are some functions that…
When creating a build of materials from ITEM, I was hoping for a way to easily get the latest specs and other basic product information from it. This shows how I figured it out. First I was browsing the page https://www.item24.com/en-au/0002633 which autoresolved to https://www.item24.com/en-au/profile-8-40x40-light-natural-2633 on the browser. I then checked the source of the page and found this…
Found an old HDD that I would like to show activity for fun. Got a bash script that would help demonstrate the hard drive motion A while ago, I found a an old laptop HDD and found a transparent sata to USB adapter. This would be a good demo for others to see what old tech was like before SSDs. But to best demo its motion to other people, I needed a bash script to rapidly read the hdd to show the…
Was trying to reset the toner of a Brother HL-4570CDW Paper Printer. Here's the step you can follow. Open the front cover of your Brother HL-4570CDW printer where you can access toner cartridges. Press the two buttons named Cancel and Secure on the printer panel simultaneously. You will see K.TNR-STD on the printer screen) Press the + or - to select the toner colour you want to reset. You will see…
Was trying to streamline the process of producing archival Blu-Ray. Created a bash script that would create a hybrid ISO9660+UDF disc image using genisoimage and dvdisaster. Below is a script for create-archive-iso.sh that you can use to read a folder like: ./2025-01-13_Projects_2020_-_2025/ And generate a hybrid iso image like ./2025-01-13_Projects_2020_-_2025.iso Where the disc volume title is…
For linux if you call env you will get a sequence of bash variable like: XDG_SESSION_DESKTOP = cinnamon QT_QPA_PLATFORMTHEME = qt5ct XDG_SESSION_TYPE = x11 What if you want to parse such files in C? I written a kv_parse_value() which might help you! It has zero dependencies, doesn't require malloc and also can handle whitespace and quoted strings. Typically application is linux software, embedded…
In response to this idea for clibs C package manager Filter packages by tags and features. E.g. Is this package heapless? #322 , I created this C source scanner to scan C source code and generate keyword suggestions based on the code's properties of relevance for people browsing clib package list. Such as if the source code utilize dynamic memory ( malloc , free , realloc )? How It Works The…
As an alternative to writing JSON by hand using purely printf, I written a helper header file called json_fmt.h . There are other options, but I just want something quick to get going with json output, so written a series of C macros that I can use to make it easier to write the formatting string for a printf call. Note that this approach is quite limited to future expansion, but is suitable for…
Created a C library for dealing with multipart form handling. It's very minimal but is going to be useful when I need to deal with embedded systems occasionally with lack of memory or requirement to reduce complexity. To give it a shot head to https://github.com/mofosyne/minimal-multipart-form-data-parser-c The interface will be quite simple, like below int c ; static MinimalMultipartParserContext…
This is a digikey api v4 script that is focused only on just the flow needed to get product information. (FYI I'm running this script in a ubuntu linux context, so it has not been tested on windows or mac) Recommend Reading: https://developer.digikey.com/documentation Section "OAuth 20: 2 Legged Flow" has good information on basic authnetic Design Principle: This script is written to be self…
Was helping out a bit with this PR where one user was trying to get rid of special token being outputted in llama.cpp when being run in shell script context. One approach I thought was to allow for outputting the control tokens into a separate out of band stream rather than mixed into stdout. Ultimately we found a different approach that didn't require attaching an out of band stream approach.…
Was aiming to get started on a small idea of a psv program to help parse markdown tables into json output. Studied how jq a popular json data handling tool structure it build system and found it is using autotools. To better use this means I first need to create a minimum autotool setup. To which i tend to prefer a scriptable approach to make the process a bit clearer to me (Since it ends up…
Been getting into LLMs and one thing I noticed being in Australia is internet speed still suck here compared to many other countries. Well in the meantime for the llamafile project, here is one useful linux bash script which may be useful for you who already downloaded a llamafile model a while ago, but want to take advantage of the new speedups that justine figured out for llamafile…
A while ago I was helping out with netguy's CITAQ H10 research found here . I was able to figure out to interface with the printer on it directly via the onboard internal serial port. Recently however, I've been getting interested in creating some app for it and was checking if the web browser can still access modern websites. Much to my dismay, I discovered a significant hurdle: any websites…
Did some exploration of a CITAQ H10-3 that I got from a friend who does not need it anymore for his shop. I also contributed a few other useful informations like how to factory reset it, so if you need such information then head on to this Factory Reset Guide For CITAQ H10 . I've also contributed other more detailed technical notes to this technical repository notes by netguy netguycode/citaq .…
Just recently got my hands on a really tiny quadrocopter. It's very cool, especially how they managed to get everything to such a tiny form factor. This is no doubt in part of using the PCBs as part of the support structure. This wouldn't be possible without MEMS technologies that you find in a smart phone like accelerometers and gyroscope, in miniaturising components that use to be rather bulky…
I attended a day presentation called 'Rockwell Automation University' where they showed some interesting development in the field of Industrial Automation. They are really pushing for integrating factories into the internet via the internet to enable new data analytic opportunities. Here is a few quick notes I made of some of the key interesting things I noted on the day. Factory based Machine…
A while ago, I went online and purchased a couple of old gameboy camera carts, I found that it had a bunch of old images taken by the previous owner. Got me thinking that we really should try to save all these images. Thus to assist with this, I written a way to extract images from these old cameras, that can be done on the cheap via an arduino, a link cable and a PC. Been a bit too busy to do a…
During electronex, I've made some notes on good designs shown below. These are good tips in general to keep in mind.: Low BOM cost does not always lead to low product cost. Don't forget cost of setup/testing/design etc... Must design for testing in the beginning of the design process or it will be harder to test later on. Built in self test can be useful in the right circumstances, so reserve some…
Scored really cheap from ebay. Wonder whats inside, and if it can be reprogrammed at all? Annotation 1: BLE micro controller There appears to be some unused pins on one side of this mcu. But datasheet is hard to come by. Does anyone know what chip this is? 1st Row Text: "ST17H25" 2st Row Text: "F412ET32" 3st Row Text: "CK1528" 4st Row Text: "CFAPOL 1P" 2: GND = Ground SWS = (connects to the pin…
Ninja edit: I probbly should reworded with a name that properly specifies that this is mostly useful for manipulating digital pins only. This is the second iteration of the saner bitfield project that you can find in this page. Unlike the first one, where an AVR IO register getter and setter are #define seperately. ' In this implementation, a single generic getter and setters was created. This…
This is just a note for me to recall on how or what really happens in coding an AVR program: ATMEL STUDIO 6 Observation x= register letter (e.g. DDRA DDRB etc... ) DDRx :~ Data Direction Register (read/write) : Defines if pin is output=1 or input=0 PORTx :~ Pin Output Mode Register (read/write) : If input then - pullup=1 floating=0 : If output then - high=1 low=0 PINx :~ Pin INput register (read…
Had quite a close call with bricking my OpenPGP card which is specifically V2.0 . To make it easier for those doing this in windows (mostly for myself). I made a batchfile that types the right commands into gpg to do a full factory reset of your OpenPGP card (Only tested on V2.0 btw, not V2.1 or V1.0), using codes from other sites (however most didn't work, except this one after some corrections).…
This is an ongoing log of setting up, installing and then using an open sourced privacy suite. Keyserver entries. You can find my latest one under mofosyne in http://keys.gnupg.net/pks/lookup?op=vindex&search=mofosyne&fingerprint=on The OpenGPG smartcard is not as easy as you think to reinstall: Instruction coming up for openpgp card V2.0 factory reset process. I did manage to get it to install,…
Tap codes has a pretty cool history, you can read more about it in the wikipedia entry for tap codes . A minor issue is that the C and K in the 5x5 tap codes are mushed together. What if we extend the table to 6x6. And what if we arrange it in different ways. Here is just some experimentations to that reguards. Feel free to use it. Please do let me know how you find it. It's not ment to be a…
Got a Smart Card Reader (Gemalto IDBridge CT30) for really cheap, but is frankly just too large. Would be nice to shrink it. It has usb and serial capability. But I have no idea what's the pinout for the serial line version. PINOUT OF THE GEMALTO ID USB CABLE to smartcard reader: [ 1:NC | 2:USB_D+_GREEN | 3:USB_D-_WHITE | 4:5V_VCC | 5:NC | 6:NC | 7:NC | 8:GND ] __ ___________________ __ | |_|…
In order to make ascii art nicer to look at, I was experimenting with some CSS. While I thought to make a dedicated generator in javascript, I luckly found that there is an easier way to do so in CSS. Originally I did the css styling for reddit as can be seen in this post . Since it works well there, I decided to try it out for my site. __ __ _____ ____ _____ ___ _ _ _ _ ____ ( / )( _ )( ___)( _…
To install node.js go to http://nodejs.org/ and install the latest copy of node.js . Note: For windows C: Windows System32>npm install Error: ENOENT, stat 'C: Users <Your User Account Name> AppData Roaming npm' Error: EPERM, open 'C: Windows System32 npm-debug.log' If you get this error, it means that this folder C: Users <Your User Account Name> AppData Roaming npm just plain doesn't exist and…
To solve the issue of not knowing what song was playing over the radio, I am looking to create an FM display that shows a log of the (Radio Data System) RDS signal that is included in all broadcast FM stations (Incidentally short news, song title, station names, can be found via RDS). Looking at ebay for a cheap radio module, I came across this radio module ( PCB model RRD-102 V2.0) that breaks…
This is useful for those who is seeking a way to interface directly to a Posiflex PP7000II, with a micro controller. This was done by looking at the pcb board of the usb printer adapter for the Posiflex PP7000II printer. Read this if you have a similar printer, and you are hoping to interface to it via say an arduino, or a PIC, or AVR, or even a raspberry pi. On the PCB board, the main component…
Was working on improving this jekyll blog, when I cam across the issue of truncating blog post for the front page view. By default it only shows the first paragraph with ``. However I wanted to show pictures. Thus... There is 3 approaches I could have done here. Limit post by number of words. But this may cut off html tags, thus messing up the presentation. {{ post.content | truncatewords: 50 }}…
Got some barcode scanner off ebay. It's the usb type 1d barcode scanner. Model type MJ-4209 . It came with a manual full of barcodes that allows for scanning it to set settings. One of it was for version control. Which when scanned gave: MJ_tech V3.00 2014/03/01 If you need a copy of the manual, here it is: If you need the pinout, for the scanner, then here it is as well from the datasheet for…
Just found out about this really curious piece of kit. It is a tiny chip with an embedded ARM microprocessor and a wifi stack all miniturised into one tiny surface mount chip. Cheap to boot too! Right now, I am just learning how to use it. So my first configuration is to hook the module up to a serial dongle. The Seeed tutorial is written for the version 1 module with a 57600 baud rate serial…
Here is a collection of javascript programming toys for you to try out. (heck you can even download it), where you can create algorithmic art using code. It was developed when I found that you can actually read the content of a url after the # sign. Direct link to folder: link urlhashloader.html : First file written. It's just a simple read and display kind of thing. Quite simply it is a platform…
Here is something you might find interesting. This is a HTML5 text to speech shoutbox . This works best for chrome browser, and is a recent addition to HTML5. This is quite a useful little program that you might want to know better. It's more of a toy at the moment, but I'm sure you can still find use for it. DEMO: http://briankhuu.com/shoutbox/shoutbox_TTS.html Source Code:…
Diff-PDF (click here to go to the download page) is a very useful command line tool for comparing pdfs. Only issue is that there is a lack of GUI frontend to use this. This is quite annoying for occasional usage of this program, especially for the average user. Thus for anybody who really really needs this feature quickly, here is a good stopgap measure for those in windows. For linux users, it…
It has been a while since this website has been updated. Previously I written custom PHP files to iterate over my blog post and display it using markdown to html converter (ParseDown). Maintaining it has become a hassle however, and thus I'm converting the site into Jekyll which is a static site generator (and thus no PHP needed). Of which the biggest advantage for me, is that the output is in…
Sometimes you just gotta switch the date to an older time because a program checks for that. Well maybe this might be handy for you, if you are a windows 7 user: Just copy the below code and name the file as tempdateset.bat . So when you click on it, you have a 10 sec window to activate the program and let it check the date before launching whatever program it is. Cheers. @ECHO off ECHO Temporary…
This is a continuation of the experiment with TL-WR703n (Starting from the The_TL-WR703N_piratebox_exploration post) http://wiki.openwrt.org/toh/tp-link/tl-wr703n ![Image of the PCB][pcb] Just remembered I got Tera Terminal, and if I remember, it should support ymodem Previously tried TFTP method: hornet> tftpboot 0x81000000 openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin hornet> erase…
Here is version two of the parsedown based general .md file viewer This time I added support for Math Jax, which will make it easier for me to post documents marked in LaTeX and ASCIIMaths. Which is very useful! Especially for future collaboration or documentation efforts. <?php /* Project: parsedown Render Coder: Brian Khuu briankhuu.com VERSION: v2.0 (MathJax and raw view support now) Purpose:…
Testing mathjax rendering support for this page. This is the code inserted on the top of each page. I decided on using mathjax cdn since it is likely to be precached by the cdn in multiple websites, meaning faster load time. Plus it means MathJax will always be up to date. I also decided to choose both ASCIIMath and Tex/LaTeX support since both have suitable use case (One for quick and dirty…
Today, just trying again at configuring a pirate box in TL-WR703N. A while ago, I got it working for a while, but then the Sandisk 16gig somehow ended up dying. Haven't touched it since. Now just trying to see what can be done with it, and if I can reinstall it (on a 4gig flash drive, Sandisk nonetheless) Serial: 11520 baud Useful to note that if you stuff things up in OpenWrt for TL-WR703N that…