Table of Contents
My Mini-Blog
Devuan apt update error
Running apt update
on my Devuan machine today results in these:
# apt update Get:1 https://deb.devuan.org/merged chimaera InRelease [33.9 kB] Err:1 https://deb.devuan.org/merged chimaera InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> Get:2 https://deb.devuan.org/merged chimaera-security InRelease [26.5 kB] Err:2 https://deb.devuan.org/merged chimaera-security InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> Get:3 https://deb.devuan.org/merged chimaera-updates InRelease [26.5 kB] Err:3 https://deb.devuan.org/merged chimaera-updates InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> Fetched 86.9 kB in 1s (88.4 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://deb.devuan.org/merged chimaera InRelease: The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://deb.devuan.org/merged chimaera-security InRelease: The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://deb.devuan.org/merged chimaera-updates InRelease: The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: Failed to fetch https://deb.devuan.org/merged/dists/chimaera/InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: Failed to fetch https://deb.devuan.org/merged/dists/chimaera-security/InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: Failed to fetch https://deb.devuan.org/merged/dists/chimaera-updates/InRelease The following signatures were invalid: EXPKEYSIG BB23C00C61FC752C Devuan Repository (Amprolla3 on Nemesis) <repository@devuan.org> W: Some index files failed to download. They have been ignored, or old ones used instead.
It turns out that the keyring has been rebuilt (read post #7). More than one way to fix it - I choose this one:
rm -rf /var/lib/apt/lists/* apt update --allow-insecure-repositories apt install devuan-keyring --allow-unauthenticated
note: removing all in list may be overkill - maybe try removing just deb.devuan.org_merged_dists_chimaera_InRelease instead? keep in mind that some pc may still use pkgmaster.devuan.org
All is well now… and that is all I have to say about that.
Revisiting MinGW (for sdcc build)
I want to build sdcc for NMK322 so that my students can use EXACTLY what I have. So, here we go again:
Installing MinGW:
- Get the 'package manager' from here
- version 0.6.3 (beta) at the moment
- I prefer the standalone binary (no setup)
- Pick a location and extract the zip file
- I choose
C:\Users\Public\Tool
- change the folder name so that we have
C:\Users\Public\Tool\mingw\bin\mingw-get.exe
- Prepare to use mingw-get binary
cd C:\Users\Public\Tool\mingw\var\lib\mingw-get\data\
copy defaults.xml profile.xml
- Open a command prompt and update catalogue
cd C:\Users\Public\Tool\mingw\bin\
mingw-get.exe update
- Get stuffs (compiler with Unix-like environment) without using GUI
mingw-get.exe install gcc g++ gmp mpfr mpc msys msys-wget-bin
- To get GUI interface install mingw-get (apparently, we are NOT running mingw-get! )
mingw-get.exe install mingw-get
- now, a window will come up when you run
mingw-get
Note20220808 Current software versions {gcc:9.2.0,binutils:2.32}
Some useful things to do:
- To have git in MinGW shell, install Git-for-Windows at
C:\Users\Public\Tool\Git
- edit
C:\Users\Public\Tool\mingw\msys\1.0\etc\profile
and insertMY1GITPATH="/c/users/public/tool/git/bin" [ -d "$MY1GITPATH" ] && PATH="$MY1GITPATH:$PATH"
before the block containing an
export PATH
line(s)
- Get helper script(s) - I wrote that for personal use
- copy everything (except LICENSE, README.md and msys2.vbs) to
C:\Users\Public\Tool\mingw
- allows environment to be used on shared computer (no need for admin account)
- Running
msys.vbs
(*Hint*: double-click) will install (or remove if already installed) a pop-up context menu entry (MinGW Shell) whenever you right-click on a folder in Windows Explorer- edit
C:\Users\Public\Tool\mingw\msys\1.0\etc\profile
and comment (place '#' at the beginning of) the last line withcd $HOME
command
- If you want to use normal Windows command prompt to run stuff, these two scripts are you friend (you may ignore them otherwise)
- Running
mingw-setup.bat
sets up normal command prompt for command-line compilation- place
mingw-term.bat
script (form tools folder) in any folder - when executed, it will open a command prompt (with MinGW path properly configured) in that folder
- Running
mingw-clear.bat
cleans up settings created bymingw-setup.bat
RGB 80x160 OLED ST7735S
I bought this display module a while back, but never got the chance to test it out. I have multiple platforms to test it with: (1) Pi Zero (2) 8051:stc12 (3) Maker Uno (4) ESP32 (5) Pi Pico. While I figure out what I am going with, I just want to put some basic info so I can refer to it later.
Interface Pins (info from the link above):
- GND (Power ground)
- VCC (Power +3.3 or 5V)
- SCL (SPI clock line)
- SDA (SPI data line)
- RES (LCD reset, LCD needs to be reset once after power-on)
- DC (SPI data/command selection pin)
- BLK (LCD backlight control, the default can be left floating, low level to turn off the backlight)
Although the pin labels suggests I2C interface, it is actually recommended to use SPI (as stated on the board itself). So, for 8051 I may try I2C - but since this is said to be a fast display (timing specs at ns range), I want to try it on Pi Zero/Pico. We shall see…
Useful desktop entry for my personal use
Place this in $HOME/.local/share/application
- gedit-standalone.desktop
[Desktop Entry] Version=1.0 Type=Application Name=gEdit (Standalone) Comment=Edit text files Exec=gedit -s %U Icon=org.gnome.gedit Terminal=false Categories=GNOME;GTK;Utility;TextEditor; MimeType=text/plain;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-pascal;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;text/x-diff; StartupNotify=true Keywords=Text;Editor;
- geany-workspace.desktop
[Desktop Entry] Version=1.0 Type=Application Name=Geany (WorkSpace) Comment=A fast and lightweight IDE using GTK+ Exec=/home/azman/.local/bin/geany_space %F Icon=geany Terminal=false Categories=GTK;Development;IDE;TextEditor; MimeType=text/plain;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-pascal;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;text/x-diff; StartupNotify=true Keywords=Text;Editor; Name[en_US]=Geany (WorkSpace)
- android-studio.desktop
[Desktop Entry] Version=1.0 Type=Application Name=Android Studio Comment= Exec=/home/share/appx/android-studio/bin/studio.sh Icon=/home/share/appx/android-studio/bin/studio.png Path=/home/share/appx/android-studio/bin Categories=Development;IDE; Terminal=false StartupWMClass=jetbrains-studio StartupNotify=true
- arduino.desktop
[Desktop Entry] Name=Arduino Comment=Arduino IDE Exec=/home/share/appx/arduino/arduino Path=/home/share/appx/arduino Icon=/home/share/appx/arduino/lib/arduino_icon.ico Terminal=false Type=Application Categories=Utility;Application;Development;
Re-Post: Cron
Note: This is taken from my previous blog - Published on: Jul 11, 2011 @ 10:35
Sounds very computer-ish isn't it? Well, it is… it's actually a scheduling table, something that computer system admins are very familiar with. It's nothing fancy, I could have written this in my wiki, which is what I usually would have done. But, since it's been quite a while since I last write something in this blog, I just feel like putting the info here. I know I'm going to regret this and spend more time transferring this to my wiki later… but I'll do it anyways :-p
A task/job is made of 1 line with 6 items - 5 items/numbers represent time, and the last one is the job/task to be executed. Check it out…
* * * * * job/task_to_be_executed ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─── weekday (0 - 7) 0/7 => Sunday │ │ │ └──────── month (1 - 12) │ │ └───────────── day (1 - 31) │ └────────────────── hour (0 - 23) └─────────────────────── minute (0 - 59)
I got the above 'figure' from wikipedia (with minor personal adjustments). To view your current cron jobs, type
crontab -l
So, how do we 'install' a new job? Type
crontab -e
which will open your default terminal editor (e.g. vi) and enter a task in the given format, then save. Voila!
Update20220307 So, after more than 10 years, I finally manged to transfer this to my wiki's mini-blog. Yay! Here are some additional info..
Some examples:
- To run binary
tool
every hour:0 * * * * /path/to/tool <args>...
Special cases:
- To run binary
tool
every 5 minutes:*/5 * * * * /path/to/tool <args>...
- To run binary
tool
on reboot/startup:@reboot /path/to/tool <args>...
Latest HC06 AT firmware
I am trying to create an 8051 code library for HC06 bluetooth module. I have done one for my my1barepi library, so I thought that would be easy. Boy! Was I wrong! It turned out that the AT firmware on the latest HC06 module have been upgraded. The old ones do not need any CR/LF pair (the new ones do) and the AT command for changing name requires a ':' i.e. AT+NAME:<name>
instead of just AT+NAME<name>
. I am using AT firmware version 3.0-20170609 - not sure when this was changed. Maybe I need to update my my1barepi
code? Since I no longer handle that paper, that is not in my priority list at the moment.
That is all I have to say about that.
Working on a repository with 3-branches
I have a repository with 3 branches:
- master - main project
- upstream - upstream project
- work - working copy of project with current semester data
In order to update (merge) upstream into master, I need to
# git checkout upstream # git pull /path/to/upstream/repo # git checkout master # git merge upstream # git checkout work # git merge master
I would prefer to do this without doing those multiple checkouts. SO, I found a way to do just that…
# git fetch /path/to/upstream/repo master:upstream # git fetch . upstream:master # git merge master
However, this only work IF updating master involves purely fast-forward merge.
That is all I have to say about that.
Moved to a new server
Due to a problem on the older server provided by my Uni's ICT department, I decided to move this wiki to the newer server. However, now I am having problems updating (some of?) my wiki pages. Need some time to check this out, but at the moment I think I am affected by this. Anyway, if this is NOT fixable, I may have to revert the old server… if they still keep that one running. Hopefully we can make it work on this new server.
A New Hope
Starting to use this as my little notebook - putting in notes that I want to refer to and have a timestamp on it I hope this one sticks… who knows? Maybe this will grow in to a full blog and replace my currently dormant blog