Moving around.

Lauri Ojansivu 2023-07-23 17:51:31 -04:00
parent 4cc76f6585
commit a33b9becd6
23 changed files with 0 additions and 2334 deletions

306
Amiga.md

@ -1,306 +0,0 @@
## Amiga hardware
https://en.wikipedia.org/wiki/Amiga
https://en.wikipedia.org/wiki/Amiga_models_and_variants
New hardware: A500 Mini http://www.theamigamini.com
- A500 mini, connect to Internet: https://github.com/wekan/wekan/wiki/NexDock
- Note: Keyboard is really small and keys do not work! You plug real USB keyboard to type. This is A500 Mini, like C64 Mini, very small computer. AFAIK there is not yet A500 Maxi where keys work. There is C64 Maxi.
- A500 mini is based on arm64 CPU and emulator. It has HDMI, USB etc ports, ready installed licensed games, etc. You can add more games as files.
- Software:
- aminimiga is unofficial 3rd party Amiga distro. It is not from manufacturers of A500 Mini.
- https://www.aminimiga.com
- https://github.com/emuchicken/pandory-a500
- AmiBerry: Amiga emulator distro for Raspberry Pi
- Try does newest AmiBerry on A500 mini bypass Linux 3.x kernel and access Internet directly like via USB Ethernet dongle, even when there are not drivers compiled into Linux kernel version, some forum post mentioned about that
- https://blitterstudio.com/amiberry/
- https://github.com/BlitterStudio/amiberry
- Linux kernel tree for cross-compiling modules for The A500 Mini
- https://github.com/oleavr/rgl-a500-mini-linux-3.10
- Reviews:
- In English:
- https://www.youtube.com/watch?v=YSQetuKeua8 A500 mini is for easy portability with all-in-one package, easier than Raspberry Pi+wires+emulator. That's why this reviewer will sell their Raspberry Pi 400 and only use A500 mini
- https://www.youtube.com/watch?v=0Vivn-ek8WY All software
- https://www.youtube.com/watch?v=h552-eR0cGA
- In Finnish: https://www.youtube.com/watch?v=_0kPa3zxBL4
I currently have:
- Amiga 500, my first computer from 1989
- Amiga 1200
- A500 mini
But my Amiga monitor is small and display flickers (I don't have flicker fixes), and Amiga 1200 power supply is noisy, so I prefer to run Amiga Emulators on Linux.
## Open Source Amiga OS, original independent code: AROS
Most complete AROS distro is Icaros http://live.icarosdesktop.org . It can be run on x86 VirtualBox 32bit VM.
- https://lunduke.substack.com/p/new-beta-release-of-amiga-inspired
- https://web.archive.org/web/20220630125603/https://lunduke.substack.com/p/new-beta-release-of-amiga-inspired
- https://www.youtube.com/watch?v=PtDiXhjSIfs
More AROS distros here:
- https://aros.sourceforge.io
- AROS source code https://github.com/aros-development-team
- AROS nightly builds for m68k/arm/ppc/i386/x86_64 , can be run on top of Linux https://aros.sourceforge.io/snapshots1.php
## Open Source Amiga inspired Internet OS: Friend
- https://github.com/wekan/wekan/wiki/Friend
## Emulating Original Amiga Closed Source OS: Amiga Forever, and where it works
For Amiga: https://www.amigaforever.com
For C64: https://www.c64forever.com
It is cheap, and includes many versions of original Amiga OS to version 3.1, etc.
Cloanto's Amiga Forever has .msi installer, and it can also create .iso for use at other Amiga emulators. Amiga Forever can be used these ways:
## Where AmigaForever Works
- Works: Installed to PC that has Win11 or Win10. But Windows laptops are noisy, AmigaForever/AmigaOS keeps fans running full speed.
- Works: On Mac (tested on M1 Air, macOS Ventura) => Parallels => Win11 arm64 where also amd64 software AmigaForever10.msi also works). M1 Air is silent.
## Where AmigaForever is NOT working: Wine/PlayOnLinux/CrossOverMac/CrossOverLinux
- Not working: With wine: `sudo apt install wine` and `wine AmigaForever.exe`. Would require installing IE8, not tried.
- Not working: on on Linux => [PlayOnLinux](https://www.playonlinux.com/en/) that has IE8 installed in same bottle so that Amiga Forever can be => Amiga Forever. AmigaForever starts, but display flickers too much or is blank when AmigaOS4 is running.
- Not working: [CrossOver Linux/Mac/CromeOS](https://www.codeweavers.com/). Tested CrossOver Mac. Display flickers or is blank when AmigaOS running.
- Not working: Qubes OS Standalone Debian PVM better to install .bin installer, not .deb. At PVM options resize disk for example to 80GB both. If registration does not work, ask from linux-support at crossover dot codeweavers dot com about sending crossover-linux-license.zip , I got there this reply:
> From: CrossOver Linux
> Hi,
> Thank you for writing us. If your credentials fail to register crossover, you can try another approach.
> Completely quit CrossOver Download the license files attached.
> Once the files are downloaded and unarchived go to the following directory either with terminal
> or file explorer /opt/cxoffice/etc. Move the license files into that location.
>
> Relaunch crossover.
>
> If that also fails, try running the following command in terminal : sudo -H /opt/cxoffice/bin/cxregister
> note with this command you may need a root password.
> Regards,
> Codeweavers Support
>
> ATTACHMENT: crossover-linux-license.zip
> (type: application/zip; size: 615)
Edit startup script crossover.sh, there add:
```
/opt/cxoffice/bin/crossover
```
Install IE8 with English etc default settings to WinXP 32bit bottle. Do not check to install updates. Installers name fields can be left empty, and click next.
3. Rename IE8 bottle to AmigaForever
4. Change bottle wine configuration from some settings tab from WinXP to Win10
5. To same bottle install Amiga Forever .msi (and C64 Forever .msi if you have that).
## How to install AmigaOS4 to AmigaForever on Windows or Mac=>Parallels=>Windows
<img src="https://wekan.github.io/amigaos4/Lunduke-Locals-AmigaOS4.png" width="100%" alt="AmigaOS 4" />
Installing and testing what works and what does not did take 2 days from me. With below info, it will be less of trial and error for you.
After each big install or update step, I did copy amigaos4.hdf to backup files number like 01-amigaos4-after-install.hdf, 02-amigaos4-after-update1.hdf, etc. Because if I mess up some step, I can go back to previous step. My goal was working .hdf where everything is installed. Each install step can take time, with many reboots of AmigaOS4.
When AmigaOS4 is running, you can window bigger or smaller by dragging from AmigaForever window bottom right corner.
Note: Emulating AmigaOS only works with AmigaForeverAmiga 4000 PPC. I did not get FS-UAE working, it does not have necessary PicassoIV, CyberStormPPC and other compatibility add-ons that AmigaForever has.
1. In AmigaForever, right click copy Amiga 4000 PPC template.
2. Rigght click rename template to new name like AmigaOS4.
2. Note: Do NOT change machine type, like amount of RAM, etc. It works only with original settings of Amiga 4000 PPC, PicassoIV graphics 1024x768, CyberStormPPC, 68040, no JIT, predefined WinUAE 32bit. Some Amiga software is not designed for more amount of RAM. If you change settings, when booting you get red screen of death.
2. Right click AmigaOS4 template. At Media tab, create for DH0: new external .hdf hard disk file size 4000 MB (bigger would not work) to Shared/hdf directory. Add to CD0: external ClassicInstall-53.71.iso . Add to DH1: some external Shared directory that is originally empty, like C:\Users\Public\Documents\Amiga Files\Shared\AmigaOS4
3. Play AmigaOS4 template, it boots from ClassicInstall-53.71.iso
4. Edit harddisk: Use cyberstormppc.device, Add l:SmartFilesystem, change type as SFS and add that SFS type number that is in ClassicBootGuide.PDF file that is in same .lha file where ClassicInstall-53.71.iso was. Save to disk, and let it reboot.
5. Change keyboard, language, time zone.
6. Start install. Quick Format disk, disk name for example OS4 . Select PicassoIV graphics card. Keep floppy fix. Do not install IDEFix.
7. At Windows, install 7zip , it is faster and more reliable for unarhiving .lha files that Amiga unarchivers.
8. To Shared directory at Windows side, download with Firefox/Chrome to different directories 1, 2, 3:
- To directory 1: AmigaOS 4.1 Final Edition Update 1
- To directory 2: AmigaOS 4.1 Final Edition Update 2
- To directory 3: AmigaOS 4.1 Final Edition Update 2 Hotfix
9. Extract those .lha files in their directories 1, 2, 3
10. At AmigaOS4, install from directories 1, 2, 3 in that order those updates, and after each update and reboot run that fixfonts command if it recommends, write it down and remember to run it after each reboot.
11. At bottom of AmigaForever window, insert ClassicInstall-53.71.iso . Install Extras software, if you like some.
12. From https://www.ibrowse-dev.net download and install newest AmiSSL PPC and MUI, and reboot. AmigaForever includes older IBrowse webbrowser, so you can use that if you like, I did buy newest version. Other webbrowsers do not work well, they are not usable: OWB does not work with SSL, NetSurf is too slow, Odyssey from os4depot does not have enough RAM to start (AmigaForever Amiga 4000 PPC emulation does not work with more RAM or different settings).
13. I download and installed shareware image etc datatypes from https://www.warpdt.co.uk/download.php and will later buy them, because I like viewing PNG, WebP etc with webbrowser etc.
## Other Amiga Emulators
- Windows: https://www.winuae.net
- Linux etc: https://fs-uae.net
## Newest Closed Source AmigaOS 3.2.2 update for Classic Amiga 680x0
Can be bought here:
- Requires buying 3.2 CD from local Amiga dealer and using key from CD to download update.
- https://www.hyperion-entertainment.com/index.php/news/1-latest-news/290-amigaos-42-for-all-classic-amigas-released-and-available
- https://www.hyperion-entertainment.com/index.php/news
There are:
- ROM chips for Classic Amiga 680x0 hardware
- ROM files for emulators, like AmigaForever/WinUAE/FS-UAE
- AmigaOS 3.2 install
## Newest Closed Source AmigaOS 4.x for PPC
Newest Closed Source AmigaOS 4.x is for PPC. It can be bought here:
https://amigaos.net/content/4/where-buy
It's possible to use Amiga Forever template of Amiga 4000 PPC, clone it, and install AmigaOS 4.x there.
## Newest Closed Source MorphOS for PPC
https://en.wikipedia.org/wiki/MorphOS
https://morphos-team.net
Compatible PPC hardware: https://morphos-team.net/hardware
Running MorphOS trial on Qemu:
- http://zero.eik.bme.hu/~balaton/qemu/amiga/
- https://web.archive.org/web/20211224082543/http://zero.eik.bme.hu/~balaton/qemu/amiga/
But in Qemu it's time-limited trial (maybe to 30min or 1h). Registration MorphOS app does not allow to register and buy MorphOS, because it detects Qemu, they only allow running on real hardware. And it's hard to get real hardware. Best hardware for MorphOS is most likely Mac Mini G4 PPC with ATI Radeon graphics card (Nvidia is not supported), because Mac Mini is small and can be connected to external monitor. I do have Mac PowerBook G4 PPC, but it has Nvidia graphics, it can not run MorphOS.
## Software for AmigaOS
Newest software:
- http://aminet.net
Old Amiga 680x0 software:
- https://archive.org/details/softwarelibrary_amiga
- https://archive.org/details/tosec-20161111-commodore-amiga
## Programming for Amiga
- Programming languages
- http://aminet.net/tree?path=dev
- Blitz Basic
- https://en.wikipedia.org/wiki/Blitz_BASIC
- http://aminet.net/dev/blitz
- https://github.com/blitz-research
- https://github.com/AmiBlitz
- https://github.com/earok/BlitzBasicDemos
- https://github.com/earok/SpaceMan
- https://github.com/SparkFountain/blitz-basic-script-full-stack
- VSCode Blitz2 syntax add-on https://marketplace.visualstudio.com/items?itemName=mickgyver.amiga-blitzbasic2
- Pascal
- Turbo Rascal
- https://lunduke.substack.com/p/turbo-rascal-pascal-compiler-and
- https://web.archive.org/web/20220512042131/https://lunduke.substack.com/p/turbo-rascal-pascal-compiler-and?s=r
- Lazarus/FreePascal
- Other platforms
- CrossCompiling https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases
- https://www.lazarus-ide.org
- https://www.freepascal.org
- https://wiki.freepascal.org
- https://wiki.lazarus.freepascal.org/Amiga
- https://wiki.freepascal.org/Amiga
- https://wiki.freepascal.org/List_of_Amiga_software_written_in_Free_Pascal
- https://wiki.freepascal.org/Amiga_Legacy_Support
- http://fpcamigawiki.alb42.de/index.php?title=Main_Page
- Online compiler
- AmigaOS 1.x http://home.alb42.de/fpamiga13/
- AmigaOS 3.x/4.x/AROS/MorphOS http://home.alb42.de/fpamiga/
- FreePascal
- m68k https://blog.alb42.de/fpc-amigaaros-m68k/
- AmigaOS 4.x https://blog.alb42.de/fpc-amigaos-4/
- AROS https://blog.alb42.de/fpc-aros/
- MorphOS https://blog.alb42.de/fpc-morphos/
- CrossCompiler in Docker https://blog.alb42.de/2021/03/14/docker-direct-compile-and-aros-update/
- C
- Darkest Hour Halloween Game
- https://github.com/xet7/darkesthour
- Includes Linux to Amiga crosscompiler, C compilers for many other OS etc
- Amiga GCC https://github.com/bebbo/amiga-gcc
- Nim
- https://nim-lang.org
- https://github.com/Nadrin/nim-amigaos
## Webbrowsers
- Various web software http://aminet.net/comm/www
- Open Source
- Netsurf
- http://www.netsurf-browser.org
- AmigaOS 3 https://ci.netsurf-browser.org/builds/amigaos3/
- AmigaOS 4 https://ci.netsurf-browser.org/builds/amiga/
- Available for:
- Linux, Windows, RISC OS, Haiku, BeOS, Amiga, Atari http://www.netsurf-browser.org/downloads/
- Redox OS, made with Rust, includes Netsurf:
- https://www.redox-os.org
- Download newest Redox OS from passed build here https://gitlab.redox-os.org/redox-os/redox/-/jobs and there download Artifacts
- Run in Qemu https://doc.redox-os.org/book/ch02-02-try-vm.html or boot from USB stick
- Gemini
- AmiGemini http://aminet.net/search?query=AmiGemini
- Other Gemini browses for other OS https://gemini.circumlunar.space
- AWeb
- http://aminet.net/search?query=aweb
- https://github.com/matjam/aweb
- AWeb is also included in Amiga Forever AmigaOS 3.x
- Lynx
- http://aminet.net/search?query=lynx
- Elinks
- For MorphOS http://aminet.net/search?query=elinks
- Timberwolf, Amiga version of Firefox
- https://github.com/xet7/timberwolf
- https://amigaos.net/software/53/timberwolf-browser
- Closed Source
- IBrowse https://www.ibrowse-dev.net
- For AmigaOS 4.x https://amigaos.net/software-type/3/internet
## Music players
- Music
- http://aminet.net/tree?path=mods
- Music playing and editing software
- http://aminet.net/tree?path=mus
- For Linux, search packages for `tracker`, like `sudo apt-cache search tracker`
- Maybe VLC can also play .mod/.med/.s3m, `sudo apt install vlc`
- Bassoon Tracker, web based Amiga mod etc player
- https://github.com/steffest/BassoonTracker
- Also included in FriendOS https://github.com/wekan/wekan/wiki/Friend
## Amiga at Android
- Amiga Forever Essentials https://play.google.com/store/apps/details?id=com.cloanto.amigaforever.essentials
- Warning: Happened to me, that when I bought Amiga Forever Essentials on Android phone, Android did not let me use file manager or Amiga emulator to load those ROM files etc from Amiga Forever Essentials directory. So most likely it is better to buy full Amiga Forever and from it to transfer ROM, .adf or .hdf files to Android phone or tablet to directory where Amiga Emulator software can load those files. I have not yet asked AmigaForever about this, because I also have full AmigaForever.
## Other Raspberry Pi distros
- AmiBerry: Amiga emulator distro for Raspberry Pi
- https://blitterstudio.com/amiberry/
- https://github.com/BlitterStudio/amiberry
- AROS nightly builds for m68k/arm/ppc/i386/x86_64 , can be run on top of Linux https://aros.sourceforge.io/snapshots1.php
- x86 emulator for Raspberry Pi:
- https://ptitseb.github.io/box86/
- https://github.com/ptitSeb/box86
- [Ubuntu Touch SmartPhone OS](https://ubports.com) version for [Raspberry Pi 3](https://ci.ubports.com/job/rootfs/job/rootfs-rpi/)
- [FreePascal Operating Systems](https://wiki.freepascal.org/Operating_Systems_written_in_FPC) like [Ultibo Core for Raspberry Pi](https://wiki.freepascal.org/Ultibo_core) at https://ultibo.org , direct access with FreePascal to hardware without complexities of Linux
- Raspberry Pi OS https://www.raspberrypi.com/software/
- RISC OS on Raspberry Pi etc, has Netsurf webbrowser:
- RISC OS Direct, that has a lot of extra software https://riscosdev.com/direct/
- RISC OS https://www.riscosopen.org/content/downloads
- Ubuntu https://ubuntu.com/download/raspberry-pi
- Puppy Linux for Raspberry Pi, based on Raspbian Buster armhf 32-bit Raspup 8.2.1 https://puppylinux-woof-ce.github.io
- Windows 11 for Raspberry Pi 4 https://www.tomshardware.com/how-to/install-windows-11-raspberry-pi
- Windows 11 in VirtualBox https://blogs.oracle.com/virtualization/post/install-microsoft-windows-11-on-virtualbox
Windows 8/10/11 Product key in Linux:
```
sudo strings /sys/firmware/acpi/tables/MSDM
```
In Windows cmd.exe:
```
wmic path softwarelicensingservice get OA3xOriginalProductKey
```
## Other OS
- ReactOS, how to install https://github.com/wekan/wekan/wiki/ReactOS

105
Asahi.md

@ -1,105 +0,0 @@
# Asahi Linux
## 2023-06-06 Working mirrors
`/etc/pacman.d/mirrorlist` , only these uncommented and active:
```
### Germany
## Falkenstein
Server = http://eu.mirror.archlinuxarm.org/$arch/$repo
```
`/etc/pacman.d/mirrorlist.asahi` , only these uncommented and active:
```
### United Kingdom
## London
Server = http://uk.mirror.archlinuxarm.org/$arch/$repo
# Denmark
Server = https://dk.mirror.asahilinux.org/$arch/$repo
# Germany
## Falkenstein
Server = http://eu.mirror.archlinuxarm.org/$arch/$repo
```
## Updating packages
```
sudo pacman -Syuu
```
## Development software
```
sudo pacman -S git unp zip unzip p7zip qemu-desktop virt-manager remmina libreoffice-fresh \
base-devel gimp inkscape keepassxc lazarus haxe zig godot sqlite3 curl wget mlocate nano
```
base-devel is like build-essential on Debian.
## Nano
```
nano .zshrc
```
To bottom add:
```
export EDITOR=nano
export PATH=~/.meteor:$PATH
```
Close and reopen terminal (like Konsole).
## Node.js
Node.js 14.x version https://wiki.archlinux.org/title/node.js
```
mkdir repos
cd repos
git clone https://github.com/nvm-sh/nvm
cd nvm
./install.sh
```
Close and reopen terminal (like Konsole).
```
nvm install 14.21.3
nvm use 14.21.3
```
## Updating file locations
For package mlocate:
```
sudo updatedb
```
Finding file:
```
locate filename
```
## Installing Meteor.js on arm64
Note: This did not work, got some errors.
Originally from https://github.com/meteor/meteor/pull/12160#issuecomment-1483260406
```
sudo npm -g install @mapbox/node-pre-gyp
sudo npm -g install node-gyp
cd
git clone https://github.com/meteor/meteor .meteor
cd .meteor
git checkout origin/release-2.12
git merge remotes/origin/feature-linux-arm
time ./scripts/generate-dev-bundle.sh
cd ..
nano .bashrc
```

183
BSD.md

@ -1,183 +0,0 @@
# Package management for various OS
- [Ubuntu](#Ubuntu)
- [FreeDOS](#FreeDOS)
- [NetBSD](#NetBSD)
- [OpenBSD](#OpenBSD)
## Killing VirtualBox that is stuck
killvm.sh
```
killall VirtualBox VirtualBoxVM
```
## Ubuntu
1. Edit file: `nano update.sh`
2. Save and Exit: Ctrl-o Enter Ctrl-x Enter
3. Change to executeable: `chmod +x update.sh`
4. Update: `./update.sh`
more-package-managers.sh
```
sudo apt -y install flatpak gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo apt -y install snapd
sudo reboot
```
update.sh
```
sudo apt update
sudo apt -y dist-upgrade
sudo snap refresh
flatpak update
```
search.sh
```
sudo apt-cache search $1
```
clean.sh
```
sudo apt clean
sudo apt -y autoclean
sudo apt -y autoremove
```
install.sh
```
sudo apt -y install $1
```
uninstall.sh
```
sudo apt remove $1
```
uninstall-all.sh
```
# more dangerous, all configs and data:
sudo apt --purge remove $1
```
shutdown.sh
```
sudo shutdown --poweroff now
```
reboot.sh
```
sudo shutdown --reboot now
```
## FreeDOS
https://www.freedos.org
When installing to VirtualBox, set harddisk .vdi growable max size to 4000 MB / 4 GB, because LiveCD + BonusCD could take nearly 2 GB total disk space.
1. Install from LiveCD
2. Boot from harddisk
3. Insert BonusCD
4. Edit and save .bat files: `edit update.bat`
6. Update: `update`
7. Search: `search zip`
Packange management TUI:
```
fdimples
```
Package management CLI: https://fdnpkg.sourceforge.net
update.bat
```
fdnpkg update
```
search.bat
```
fdnpkg search %1
```
install.bat
```
fdnpkg install %1
```
reboot.bat
```
reboot
```
shutdown.bat
```
shutdown
```
## NetBSD
1. Edit file: `nano update.sh`
2. Save and Exit: Ctrl-o Enter Ctrl-x Enter
3. Change to executeable: `chmod +x update.sh`
4. Update: `./update.sh`
Package management: https://www.netbsd.org/docs/pkgsrc/using.html
Before these, change to root:
```
su
```
update.sh
```
pkgin upgrade
```
search.sh
```
pkgin search $1
```
install.sh
```
pkgin install $1
```
uninstall.sh
```
pkg_delete $1
```
shutdown.sh
```
/sbin/shutdown -p now
```
reboot.sh (does now work well in VirtualBox 7.0.6 in Ubuntu, better to shutdown like above instead)
```
/sbin/reboot -r now
```
## OpenBSD
1. Edit file: `nano update.sh`
2. Save and Exit: Ctrl-o Enter Ctrl-x Enter
3. Change to executeable: `chmod +x update.sh`
4. Update: `./update.sh`
Package management: https://www.openbsd.org/faq/faq15.html
Before these, change to root:
```
su
```
update.sh
```
pkg_add -u
```
search.sh
```
pkg_info -Q $1
```
install.sh
```
pkg_add $1
```
uninstall.sh
```
pkg_delete $1
```
shutdown.sh
```
halt -p
```
reboot.sh (does now work well in VirtualBox 7.0.6 in Ubuntu, better to shutdown like above instead)
```
reboot
```

38
DOS.md

@ -1,38 +0,0 @@
Microsoft 3D Movie Maker:
- https://lunduke.substack.com/p/microsoft-open-sources-1995s-3d-movie
- https://web.archive.org/web/20220504043113/https://lunduke.substack.com/p/microsoft-open-sources-1995s-3d-movie?s=r
- https://github.com/microsoft/Microsoft-3D-Movie-Maker
Microsoft DOS https://github.com/Microsoft/MS-DOS
Microsoft WinFile https://github.com/Microsoft/winfile
Microsoft GW-Basic https://github.com/microsoft/GW-BASIC
Outside of Microsoft created QB64:
- https://en.wikipedia.org/wiki/QB64
- https://lunduke.substack.com/p/the-wild-events-that-nearly-took
- https://web.archive.org/web/20220421155308/https://lunduke.substack.com/p/the-wild-events-that-nearly-took?s=r
Outside of Microsoft created Visual Basic IDE:
- http://gambas.sourceforge.net/en/main.html
- https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
Outside of Microsoft created FreeBasic https://freebasic.net
Outside of Microsoft created Windows 2003 32bit:
- https://reactos.org
- https://github.com/wekan/wekan/wiki/ReactOS
Outside of Microsoft created DOS: https://freedos.org

@ -1,3 +0,0 @@
https://www.enterpriseready.io
https://news.ycombinator.com/item?id=34290249

@ -1,87 +0,0 @@
## Basic
- fbasic
- Repo https://github.com/TheGeekOnSkates/fbasic
- Fork https://github.com/xet7/fbasic
- wwwbasic
- Repo https://github.com/google/wwwbasic
- Fork https://github.com/xet7/wwwbasic
## Ruby
- Ruby on Rails
- MIT license
- Website https://rubyonrails.org
- Repo https://github.com/rails/rails
## Rust
- Rust on Nails
- MIT license
- Website https://rust-on-nails.com
- Repo https://github.com/purton-tech/rust-on-nails
- Fork https://github.com/xet7/rust-on-nails
- Rust serverless runtime
- https://github.com/tbillington/rust_serverless_runtime
- Fork https://github.com/xet7/rust_serverless_runtime
- Lunatic
- https://github.com/lunatic-solutions/lunatic
- Fork https://github.com/xet7/lunatic
## DOS and Bash
- DOS on Dope
- License not found yet
- Website https://secretgeek.net/dod_intro
- Repo https://github.com/secretGeek/dod
- Fork https://github.com/xet7/dod
- Batch to bat and bash
- Repo https://github.com/batsh-dev-team/Batsh
- Fork https://github.com/batsh-dev-team/Batsh
- Bash http server
- Repo https://github.com/emasaka/httpd.bash
- Fork https://github.com/xet7/httpd.bash
- Shails: Bash on Rails
- Repo https://github.com/emasaka/shails
- Fork https://github.com/xet7/shails
- Sh.inatra: CGI shell script framework looks like sinatra
- Repo https://github.com/emasaka/sh.inatra
- Fork https://github.com/xet7/sh.inatra
- Bash on Balls
- Repo https://github.com/jneen/balls
- Fork https://github.com/xet7/balls
## C
- Checked C
- Repo https://github.com/microsoft/checkedc
- Fork https://github.com/xet7/checkedc
## Cobol
- Cobol on Wheelchair
- Repo https://github.com/azac/cobol-on-wheelchair
- Fork https://github.com/xet7/cobol-on-wheelchair
## WASM
- Awesome WASM langs
- Repo https://github.com/appcypher/awesome-wasm-langs
- Fork https://github.com/xet7/awesome-wasm-langs
## Transpilers
- Wax: A tiny programming language that transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly 🚀
- Repo https://github.com/LingDong-/wax
- Fork https://github.com/xet7/wax
## TUI
- TUI Week
- https://github.com/gabe-on-github/tui-week
- Fork https://github.com/xet7/tui-week
## SQLite
- BeeBase
- https://beebase.sourceforge.io/index.php

109
GDPR.md

@ -1,109 +0,0 @@
> [Offline](https://en.wikipedia.org/wiki/Online_and_offline) is the [new normal](https://en.wiktionary.org/wiki/new_normal). [Open Source](https://en.wikipedia.org/wiki/Open-source_software) and [Free Software](https://en.wikipedia.org/wiki/Free_software) and [Open-Source Hardware](https://en.wikipedia.org/wiki/Open-source_hardware) is [eating the world](https://en.wikipedia.org/wiki/Marc_Andreessen#cite_note-WSJ_Software_Eating-35) in the [war on general-purpose computing](https://boingboing.net/2012/01/10/lockdown.html) ([HN](https://news.ycombinator.com/item?id=14335261)). [Encrypted](https://en.wikipedia.org/wiki/Encryption) everywhere. [Secure by design](https://en.wikipedia.org/wiki/Secure_by_design). [Defence in depth](https://en.wikipedia.org/wiki/Defense_in_depth_(computing)). [Legal](https://en.wikipedia.org/wiki/Law). Allowed to do [business](https://en.wikipedia.org/wiki/Business). - [xet7](https://github.com/xet7) 2017-05, implementing GDPR
Case: Implementing [EU General Data Protection Regulation](https://en.wikipedia.org/wiki/General_Data_Protection_Regulation) with [Wekan](https://wekan.github.io), [Sandstorm](https://sandstorm.io) and [Qubes OS](https://www.qubes-os.org).
Disclaimer: All these [opinions](https://en.wikipedia.org/wiki/Opinion) are my own, and I'm implementing this for myself. This has nothing to do with my previous, current or future [employers](https://en.wikipedia.org/wiki/Employment#Employees_and_employers). Everything is subject to change, as this is a [process](https://en.wikipedia.org/wiki/Software_development_process). I'm not a [lawyer](https://en.wikipedia.org/wiki/Lawyer). I have not read the full [regulation](https://en.wikipedia.org/wiki/Regulation) yet, I'm just starting from the very first basic steps. GDPR has different [requirements](https://en.wikipedia.org/wiki/Requirement) for different [industries](https://en.wikipedia.org/wiki/Industrial_Revolution) etc so this may not apply to you. I don't even know what all parts apply to me yet.
I [xet7](https://github.com/xet7) was this week at [Drupalcamp Nordics 2017](http://www.drupalcampnordics.com) and got more details about this regulation, so I started implementing this yesterday in the way I understand it currently, using [technologies](https://en.wikipedia.org/wiki/Technology) I'm most familiar with: [Wekan](https://wekan.github.io), [Sandstorm](https://sandstorm.io) and [Qubes OS](https://www.qubes-os.org). All hardware and software is subject to change if better alternatives are found.
This wiki is editable to all users that have [GitHub](https://en.wikipedia.org/wiki/GitHub) [account](https://en.wikipedia.org/wiki/User_(computing)#User_account) to add more [details](https://en.wikipedia.org/wiki/Security_detail) or [questions](https://en.wikipedia.org/wiki/Question) what I have not [considered](https://en.wikipedia.org/wiki/Consideration) yet.
## Deadlines
Date | Requirements | Sanctions if not ready
------------ | ------------- | ------------
2017-05-13 | Started documenting project. This wiki page history is also used to show versions of process. | Unable to do business legally if not documented everything, including process of preparing to regulation
2017-07-31 | Need to find missing keys | Pay for expensive changing of locks
2017- | Find from home all harddrives, USB sticks, etc | Not known yet
2017- | Downloaded all [data]([data](https://en.wikipedia.org/wiki/Data)) from Internet | Not known yet
2017- | Sorted and moved all [data]([data](https://en.wikipedia.org/wiki/Data)) on [offline](https://en.wikipedia.org/wiki/Online_and_offline) [computer](https://en.wikipedia.org/wiki/Computer) to different [Qubes OS](https://www.qubes-os.org) [AppVMs](https://www.qubes-os.org/doc/software-update-vm/) named by person | Not known yet
2017- | Found all required alternatives to propietary software from [Qubes OS](https://www.qubes-os.org) and Sandstorm | Not known yet
2017- | Converted all [propietary file formats](https://en.wikipedia.org/wiki/Proprietary_format) to [free software](https://en.wikipedia.org/wiki/Free_software) [file formats](https://en.wikipedia.org/wiki/File_format), like [JSON](https://en.wikipedia.org/wiki/JSON) etc. | Not known yet
2017- | Implemented [exporting](https://en.wikipedia.org/wiki/Import_and_export_of_data) of all [data](https://en.wikipedia.org/wiki/Data) to [file](https://en.wikipedia.org/wiki/Computer_file) [download](https://en.wikipedia.org/wiki/Download), and [deleting](https://en.wikipedia.org/wiki/File_deletion) of [persons](https://en.wikipedia.org/wiki/Person) [data](https://en.wikipedia.org/wiki/Data) in [web](https://en.wikipedia.org/wiki/World_Wide_Web) [interface](https://en.wikipedia.org/wiki/User_interface) | Not known yet
2018-04-25 | All [data](https://en.wikipedia.org/wiki/Data) [stored](https://en.wikipedia.org/wiki/Data_storage_device) [securely](https://en.wikipedia.org/wiki/Application_security) following GDPR | Unable to do business legally
## Security requirements
There is very high [sanctions](https://en.wikipedia.org/wiki/Sanctions_(law)) for [data breaches](https://en.wikipedia.org/wiki/Data_breach). If I have not [considered]([considered](https://en.wikipedia.org/wiki/Consideration)) some [security](https://en.wikipedia.org/wiki/Application_security) [aspect](https://en.wikipedia.org/wiki/Aspect_(computer_programming)), please add it to this [wiki](https://en.wikipedia.org/wiki/Wiki) [page](https://en.wikipedia.org/wiki/Web_page).
I need to know exactly where all my [data]([data](https://en.wikipedia.org/wiki/Data)) physically is. It's not OK to spread it all over Internet in cloud services Google/AWS/Amazon/Dropbox etc. I need the abitily to absolutely have the proof and knowledge that when I delete one person's [data]([data](https://en.wikipedia.org/wiki/Data)), it's gone, totally, completely, from everywhere.
### Hardware: [x64](https://en.wikipedia.org/wiki/X86-64)
##### Current
a) Current version 3.x of [Qubes OS](https://www.qubes-os.org), if hardware supports it. Laptop/Desktop hardware should be silent, otherwise it disturbs work. [Qubes-certified laptops](https://www.qubes-os.org/doc/certified-laptops/) are nice, it has hardware switches to turn off wireless. Alternatively desktop PC that has not any wireless WLAN, Bluetooth etc device integrated.
b) If hardware does not support [Qubes OS](https://www.qubes-os.org), I will install some of these:
* [Subgraph OS](https://subgraph.com/sgos/)
* [True OS/FreeNAS](https://www.trueos.org), see [FLOSS423](https://twit.tv/shows/floss-weekly/episodes/432)
##### Hardening
[Intel AMT Checker for Linux](https://github.com/mjg59/mei-amt-check) and it's [HN discussion](https://news.ycombinator.com/item?id=14335159).
For me it shows Intel AMT is present, AMT is unprovisioned, so I need to:
* Install English ISO of [Win7](https://www.microsoft.com/en-us/software-download/windows7) or [Win8.1](https://www.microsoft.com/en-us/software-download/windows8ISO) or [Win10](https://www.microsoft.com/en-us/software-download/windows10ISO) to [USB stick](https://en.wikipedia.org/wiki/USB_flash_drive)
* or Install Finnish ISO of [Win7](https://www.microsoft.com/fi-fi/software-download/windows7) or [Win8.1](https://www.microsoft.com/fi-fi/software-download/windows8ISO) or [Win10](https://www.microsoft.com/fi-fi/software-download/windows10ISO) to USB stick
* or convert [evaluation VM of Windows](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/) to RAW image using [instructions](https://www.qubes-os.org/doc/hvm/#converting-virtualbox-vm-to-hvm) that [I contributed to Qubes documentation](https://github.com/QubesOS/qubes-doc/pull/210), and use [dd command](https://wiki.archlinux.org/index.php/disk_cloning) to write it to USB stick
* Install patch from [HP website](http://www8.hp.com/us/en/intelmanageabilityissue.html#Commercial_Notebooks)
* Check all other hardware and disable AMT where possible.
##### Future
[Rowhammer](https://en.wikipedia.org/wiki/Row_hammer) protection, see [LWN article](https://lwn.net/Articles/704920/), [SN576](https://twit.tv/shows/security-now/episodes/576), [SN583](https://twit.tv/shows/security-now/episodes/583). [HN discussion](https://news.ycombinator.com/item?id=12821019) that has [comment with links to paper and repo of software protections as linux kernel module](https://news.ycombinator.com/item?id=12822490) (I have not tested it yet) and [Qubes Users discussion](https://groups.google.com/forum/#!msg/qubes-users/wbot4wd4Rcw/gxjKyhB1AAAJ). Without it, just browsing Internet with Javascript enabled makes it possible to [exploit using Javascript on webpage](https://github.com/IAIK/rowhammerjs) through all layers of virtualization protections and install malware to firmware like UEFI/Graphics card card/harddrive/SD card etc, so it is not possible get clean computer by just securely erasing harddrive. Alternatively malware can then brick computer, making it unable to boot, as has already happened to IoT devices connected to Internet. Currently Google Cloud kills immediately VMs that try to use Rowhammer serverside code. This is needed for all devices in use.
[Qubes 4.x certified hardware](https://www.qubes-os.org/news/2016/07/21/new-hw-certification-for-q4/) when it becomes available.
### Hardware: [ARM](https://en.wikipedia.org/wiki/ARM_architecture)
[Raspberry Pi](https://en.wikipedia.org/wiki/Raspberry_Pi) or similar ARM device without built-in wireless, so it can be used offline. [Fanless](https://en.wikipedia.org/wiki/Computer_fan#Alternatives) preferred to keep it completely [silent](https://en.wikipedia.org/wiki/Silence_(disambiguation)). I don't know is there any writeable [firmware](https://en.wikipedia.org/wiki/Firmware) in RasPi at all, is [SD card](https://en.wikipedia.org/wiki/Secure_Digital) only writeable storage. AFAIK RasPi hardware does not have any [hardware virtualization](https://en.wikipedia.org/wiki/Hardware_virtualization) or [Rowhammer](https://en.wikipedia.org/wiki/Row_hammer) protection features.
### Software
I need to keep multiple encrypted offline [backups](https://en.wikipedia.org/wiki/Backup). Otherwise some [ransomware](https://en.wikipedia.org/wiki/Ransomware) will just encrypt all my files and demand that I give [money](https://en.wikipedia.org/wiki/Money), [bitcoins](https://en.wikipedia.org/wiki/Bitcoin), etc to get my files back. [Malware](https://en.wikipedia.org/wiki/Malware) exists for most [Operating systems](https://en.wikipedia.org/wiki/Operating_system), including Linux.
Media type:
a) Write-only, like [DVD-R](https://en.wikipedia.org/wiki/DVD)
b) Is there [storage media](https://en.wikipedia.org/wiki/Data_storage_device) that has physical [hardware](https://en.wikipedia.org/wiki/Hardware) [switch](https://en.wikipedia.org/wiki/Switch) that makes media [read-only](https://en.wikipedia.org/wiki/Read-only) ?
I need to have [source code](https://en.wikipedia.org/wiki/Source_code) for every [software](https://en.wikipedia.org/wiki/Software) I use, and tested working way to [compile](https://en.wikipedia.org/wiki/Compiler) it from source.
I need to test [Qubes compromise recovery](https://www.qubes-os.org/news/2017/04/26/qubes-compromise-recovery/).
[Porting software to Sandstorm](https://docs.sandstorm.io/en/latest/developing/raw-packaging-guide/). Not all ports are up-to-date yet, but they are anyway protected by Sandstorm [high-end security features](https://docs.sandstorm.io/en/latest/using/security-practices/), [security audit with fixes already implemented](https://sandstorm.io/news/2017-03-02-security-review) and also [authentication and clustering](https://sandstorm.io/news/2017-02-06-sandstorm-returning-to-community-roots).
[Web developer security checklist](https://simplesecurity.sensedeep.com/web-developer-security-checklist-f2e4f43c9c56) and it's [HN discussion](https://news.ycombinator.com/item?id=14346652)
Software | Propietary Desktop | Propietary Web | FLOSS Desktop | FLOSS Web
------------ | ------------- | ------------ | ------------ | ------------
[Word processing](https://en.wikipedia.org/wiki/Word_processor) | [MS Word](https://en.wikipedia.org/wiki/Microsoft_Word) | [Google Docs](https://en.wikipedia.org/wiki/Google_Docs,_Sheets_and_Slides) | [LibreOffice](https://www.libreoffice.org) Writer | [Sandstorm](https://sandstorm.io) / [Etherpad](http://etherpad.org)
[Spreadsheet](https://en.wikipedia.org/wiki/Spreadsheet) | [MS Excel](https://en.wikipedia.org/wiki/Microsoft_Excel) | [Google Sheets](https://en.wikipedia.org/wiki/Google_Docs,_Sheets_and_Slides) | [LibreOffice](https://www.libreoffice.org) Calc | [Sandstorm](https://sandstorm.io) / [EtherCalc](https://ethercalc.net)
[Presentations](https://en.wikipedia.org/wiki/Presentation_program) | [MS PowerPoint](https://en.wikipedia.org/wiki/Microsoft_PowerPoint) | [Google Slides](https://en.wikipedia.org/wiki/Google_Docs,_Sheets_and_Slides) | [LibreOffice](https://www.libreoffice.org) Impress | [Sandstorm](https://sandstorm.io) / Hacker Slides
[RAD](https://en.wikipedia.org/wiki/Rapid_application_development) [Database](https://en.wikipedia.org/wiki/Database) | [MS Access](https://en.wikipedia.org/wiki/Microsoft_Access) | - | [LibreOffice](https://www.libreoffice.org) Base | [nuBuilder](https://www.nubuilder.com)
[Basic Programming](https://en.wikipedia.org/wiki/BASIC) | [MS Visual Basic](https://en.wikipedia.org/wiki/Visual_Basic) | - | [Gambas](http://gambas.sourceforge.net) see [FLOSS353](https://twit.tv/shows/floss-weekly/episodes/353) | [Gambas](http://gambas.sourceforge.net)
[Pascal Programming](https://en.wikipedia.org/wiki/Pascal_(programming_language)) | [Delphi](https://en.wikipedia.org/wiki/Delphi_(programming_language)) | - | [Lazarus](https://www.lazarus-ide.org), [Lazarus for Amiga, AROS, MorphOS](https://blog.alb42.de/virtual-lazarus), [Ultibo IoT OS for Raspberry Pi](https://ultibo.org) | -
[Cross-platform programming](https://en.wikipedia.org/wiki/Cross-platform) | - | - | [Haxe](https://haxe.org) with [HaxeUI](http://haxeui.org) | [Haxe](https://haxe.org) with [HaxeUI](http://haxeui.org)
[Diagramming](https://en.wikipedia.org/wiki/Diagram) and [Vector graphics editor](https://en.wikipedia.org/wiki/Vector_graphics_editor) | [MS Visio](https://en.wikipedia.org/wiki/Microsoft_Visio) | - | [LibreOffice](https://www.libreoffice.org) Draw, [Inkscape](https://inkscape.org) has also [JPG](https://en.wikipedia.org/wiki/JPEG) to [SVG](https://en.wikipedia.org/wiki/Scalable_Vector_Graphics) etc, Dia | [Sandstorm](https://sandstorm.io) / draw.io
[Password manager](https://en.wikipedia.org/wiki/Password_manager) | [LastPass](https://en.wikipedia.org/wiki/LastPass) | [LastPass](https://en.wikipedia.org/wiki/LastPass) | [KeePass](https://en.wikipedia.org/wiki/KeePass) | [Sandstorm](https://sandstorm.io) / Sandpass
[Hardware](https://en.wikipedia.org/wiki/Computer_hardware) info | [CPU-Z](https://en.wikipedia.org/wiki/CPU-Z) | - | [I-Nex](http://i-nex.linux.pl) | -
[Kanban](https://en.wikipedia.org/wiki/Kanban_(development)) | - | [Trello](https://en.wikipedia.org/wiki/Trello) | - | [Sandstorm](https://sandstorm.io) / [Wekan](https://wekan.github.io) see [author's talk](https://www.youtube.com/watch?v=N3iMLwCNOro) - current maintainer is [xet7](https://github.com/xet7)
[Chat](https://en.wikipedia.org/wiki/Online_chat) | [Skype](https://en.wikipedia.org/wiki/Skype) | [Slack](https://en.wikipedia.org/wiki/Slack_(software)) | [Pidgin](https://en.wikipedia.org/wiki/Pidgin_(software)), [HexChat](https://hexchat.github.io) | [Sandstorm](https://sandstorm.io) / [SandChat](https://apps.sandstorm.io/app/q95sez0acjwq7c1emxyxz38947sr7sgc1gn9yju93nqccz83fzyh) and [Rocket.Chat](https://rocket.chat)
[Video conferencing](https://en.wikipedia.org/wiki/Comparison_of_web_conferencing_software) | [Skype](https://en.wikipedia.org/wiki/Skype) | [Google Hangouts](https://en.wikipedia.org/wiki/Google_Hangouts) | [Friend](https://friendup.cloud), [Riot](https://about.riot.im) | [Riot](https://about.riot.im), [Sandstorm](https://sandstorm.io) / [Rocket.Chat](https://rocket.chat)
[Screen recorder](https://en.wikipedia.org/wiki/Screencast) | - | - | [Simplescreenrecorder](http://www.maartenbaert.be/simplescreenrecorder/), [Green recorder](http://www.omgubuntu.co.uk/2017/02/record-your-screen-on-ubuntu-this-app), [VokoScreen](https://github.com/vkohaupt/vokoscreen), [Byzanz](https://wiki.ubuntu.com/CreatingScreencasts), [VLC](http://www.videolan.org), [OBS Studio](https://obsproject.com/), [Screenstudio](https://github.com/patrickballeux/screenstudio) | -
[Website](https://en.wikipedia.org/wiki/Website) or [Blog](https://en.wikipedia.org/wiki/Blog) | - | [Google Sites](https://en.wikipedia.org/wiki/Google_Sites), [Blogger](https://en.wikipedia.org/wiki/Blogger_(service)) | - | [Sandstorm](https://sandstorm.io) / [Ghost](https://ghost.org), [WordPress](https://wordpress.org), [Hugo](https://gohugo.io), Hakyll CMS
[Robot](https://en.wikipedia.org/wiki/Robot) [simulation](https://en.wikipedia.org/wiki/Simulation) | - | - | - | [Roboschool](https://blog.openai.com/roboschool) and [HN discussion](https://news.ycombinator.com/item?id=14346227)
[SIEM](https://en.wikipedia.org/wiki/Security_information_and_event_management) | - | - | - | [AlienVault Ossim](https://www.alienvault.com/products/ossim)
[Endpoint Visibility](https://en.wikipedia.org/wiki/Endpoint_security) | - | - | - | [osquery](https://osquery.io) see [LWN](https://lwn.net/Articles/723200/) and [doorman](https://github.com/mwielgoszewski/doorman)
Immediate changed file [restore](https://en.wikipedia.org/wiki/Backup), [replication](https://en.wikipedia.org/wiki/Replication_(computing)) and [HA](https://en.wikipedia.org/wiki/High_availability) | - | - | - | [mgmt](https://github.com/purpleidea/mgmt)
[Compliance](https://en.wikipedia.org/wiki/Compliance) to [Cyber Security Standards](https://en.wikipedia.org/wiki/Cyber_security_standards) | - | - | - | [SIMP](https://simp-project.com) see [FLOSS426](https://twit.tv/shows/floss-weekly/episodes/426), [HubbleStack](https://hubblestack.io) = [Saltstack](https://saltstack.com/infrastructure-compliance) see [videos](https://www.youtube.com/user/SaltStack/videos) + [osquery](https://osquery.io)
Encrypted [port knocking](https://en.wikipedia.org/wiki/Port_knocking) | - | - | - | [fwknop](https://www.cipherdyne.org/fwknop/) see [FLOSS352](https://twit.tv/shows/floss-weekly/episodes/352)
[Restore](https://en.wikipedia.org/wiki/Backup) [database](https://en.wikipedia.org/wiki/Database) [back in time](https://en.wikipedia.org/wiki/Time_travel) | - | - | - | [pgBackRest](http://www.pgbackrest.org) see [FLOSS429](https://twit.tv/shows/floss-weekly/episodes/429)
[Remote Desktop](https://en.wikipedia.org/wiki/Remote_desktop_software) | TeamViewer | TeamViewer | [x2go](https://wiki.x2go.org) | [Guacamole](https://guacamole.incubator.apache.org)
[Docker](https://en.wikipedia.org/wiki/Docker_(software)) [Security Scan](https://en.wikipedia.org/wiki/Application_security) | - | - | - | [Anchore](https://github.com/anchore/anchore) see [FLOSS427](https://twit.tv/shows/floss-weekly/episodes/427)
Augmented Reality | - | - | - | [Web](https://github.com/AR-js-org/AR.js)

@ -1,54 +0,0 @@
# SW:Ubuntu Asahi Gambas
Tested on Ubuntu 22.10 Asahi on M1 Air.
https://gambas.sourceforge.net
## Compiling for other distros
https://gambaswiki.org/wiki/install?nh&l=en
## Related links, code and install info
https://github.com/wekan/hx/tree/main/prototypes/ui/gambas
## Compiling for Ubuntu
Change to root during installing packages:
```
sudo su
apt-get update && apt-get install -y build-essential \
g++ automake autoconf libbz2-dev libzstd-dev \
default-libmysqlclient-dev unixodbc-dev libpq-dev \
libsqlite0-dev libsqlite3-dev libglib2.0-dev \
libgtk2.0-dev libcurl4-gnutls-dev libgtkglext1-dev \
libpcre3-dev libsdl-sound1.2-dev libsdl-mixer1.2-dev \
libsdl-image1.2-dev libxml2-dev libxslt1-dev \
librsvg2-dev libpoppler-dev libpoppler-glib-dev \
libpoppler-private-dev libpoppler-cpp-dev libasound2-dev \
libdirectfb-dev libxtst-dev libffi-dev libqt4-dev \
libqtwebkit-dev libqt4-opengl-dev libglew-dev \
libimlib2-dev libv4l-dev libsdl-ttf2.0-dev \
libgdk-pixbuf2.0-dev linux-libc-dev libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev libcairo2-dev \
libgsl-dev libncurses5-dev libgmime-2.6-dev \
libalure-dev libgmp-dev libgtk-3-dev libsdl2-dev \
libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-image-dev \
sane-utils libdumb1-dev libqt5opengl5-dev \
libqt5svg5-dev libqt5webkit5-dev libqt5x11extras5-dev \
qtbase5-dev qtwebengine5-dev libwebkit2gtk-4.0-dev \
git libssl-dev
exit
```
As normal user:
```
./reconf-all
./configure -C --disable-keyring
make -j$(nproc)
sudo make install
```

@ -1,31 +0,0 @@
# SW:Ubuntu Asahi Godot
Tested on Ubuntu 22.10 Asahi on M1 Air.
https://godotengine.org
Building Godot 3.5, because currently 4.x seems to crash when starting.
https://docs.godotengine.org/en/latest/development/compiling/compiling_for_linuxbsd.html
```
sudo apt -y install build-essential scons \
pkg-config libx11-dev libxcursor-dev libxinerama-dev \
libgl1-mesa-dev libglu-dev libasound2-dev \
libpulse-dev libudev-dev libxi-dev libxrandr-dev
git clone --branch 3.5 --depth 1 https://github.com/godotengine/godot.git
cd godot
scons -j$(nproc) platform=linuxbsd
cd bin
./godot.x11.tools.64
```
If you don't have hardware acceleration version of Asahi,
you can use slower software GL:
```
LIBGL_ALWAYS_SOFTWARE=1 ./godot.x11.tools.64
```

@ -1,29 +0,0 @@
## Website
- https://www.haiku-os.org
## Nightly images
- https://download.haiku-os.org/nightly-images/
## Experimental driver for RadeonGFX
- https://github.com/X547/RadeonGfx
- https://www.reddit.com/r/haikuOS/comments/107idge/haiku_now_is_hardware_accelerated_video_testing/
## BootManager
Haiku BootManager GUI. Similar to Linux GrubCustomizer GUI.
1. Type in terminal: `BootManager`
2. Check 1st partition as Windows, uncheck other unrelated Windows partition, and Haiku partition as checked
https://www.haiku-os.org/docs/userguide/en/applications/bootmanager.html
## Lunduke
- https://lunduke.substack.com/p/haiku-beta-4-the-definitive-review
- https://lunduke.substack.com/p/haiku-becomes-viable-for-daily-use
- https://lunduke.substack.com/p/haiku-week-begins-at-the-lunduke
- https://lunduke.substack.com/p/2017-interview-with-haikus-full-time

@ -1,69 +0,0 @@
## RISC-V LicheePi4A
https://sipeed.com/licheepi4a
I have model that is 8+8 GB, that means 8 GB RAM and 8 GB internal storage. I was confused when buying this, 8+8 does NOT mean 16 GB RAM.
I downloaded newest manufacturer provided Debian 12 Gnome RISC-V from Mega, and installed it to internal 8 GB disk of LicheePi 4A, with this multi-step process, using my M1 Air, LicheePi 4A USB-C connected to USB3 port of M1 Air extender:
https://wiki.sipeed.com/hardware/en/lichee/th1520/lpi4a/4_burn_image.html
I used this to write image on Mac M1 Air:
```
#!/bin/bash
sudo ../burn_tools/mac/fastboot flash ram ./u-boot-with-spl-lpi4a-20230510.bin
sudo ../burn_tools/mac/fastboot reboot
sleep 10
sudo ../burn_tools/mac/fastboot flash uboot ./u-boot-with-spl-lpi4a-20230510.bin
sudo ../burn_tools/mac/fastboot flash boot ./boot-20230510-230240.ext4
sudo ../burn_tools/mac/fastboot flash root ./rootfs-20230511-183752-gnome.ext4
```
This Debian 12 Gnome has some acceleration in graphics. Cooler spins sometimes more sometimes less, having some sound.
In this image, from top left:
- 12V power, using power from my old external harddrive
- USB3 to USB wireless headset dongle and USB SSD harddrive
- USB mouse and USB keyboard
- First 1000M Ethernet that does not have PoE, so it uses less power. This has 2 Ethernet ports. It is possible to connect to WLAN, but I used Ethernet instead.
At bottom:
- Full size HDMI, connected to my 43" TV, using 3840x2160 resolution at 60 Hz
<img src="https://wekan.github.io/LicheePi4A/LicheePi4A.jpg" width="100%" alt="LicheePi 4A" />
Currently I'm typing to Firefox running on this LicheePi 4A, logged into Locals.Lunduke.com . Also compiling TSC https://secretchronicles.org/ and Godot.
## Do not install updates to internal drive
Updating to newer kernel messes up drivers, so do not `apt upgrade` or `apt dist-upgrade`. Only do `apt update`, and install only minimal required packages, because internal 8 GB drive is very small.
Messing up usually requires reinstall.
## Firefox sometimes segfaults
So maybe use some other computer for Firefox.
## Chroot
Because internal 8 GB storage is too small to install packages, I am using external USB3 SSD drive where I add Chroot of newest Debian Sid RISC-V.
https://wiki.debian.org/chroot
Remount with exec and dev so I can install Chroot. As root:
```
apt -y install debootstrap
mkdir -p /media/sipeed/L500GB/debian
mount -i -o remount,exec,dev /media/sipeed/L500GB
debootstrap --no-check-gpg sid /media/sipeed/L500GB/debian http://ftp.ports.debian.org/debian-ports/
chroot /media/sipeed/L500GB/debian
```

180
Mesa.md

@ -1,180 +0,0 @@
# SW:Ubuntu Asahi Mesa
For accelerated graphics. Tested on Ubuntu 22.10 Asahi on M1 Air.
2023-03-11: From 60 FPS to 1500 FPS with glxgears, tested with newest Mesa.
https://asahilinux.org/2023/03/road-to-vulkan/
https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/
NOTE: Maybe this is not needed, if there is PPA or already installed here?
- https://github.com/AsahiLinux/docs/issues/60
- https://github.com/tobhe/ubuntu-asahi/issues/3
- https://launchpad.net/~tobhe/+archive/ubuntu/asahi
## 1) /etc/apt/sources.list
```
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic multiverse main universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic multiverse main universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-security main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-security main multiverse universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-updates main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-updates main multiverse universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-backports main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-backports main multiverse universe restricted
```
## 2) Install dependencies
Below building newest from official repo:
```
sudo apt update
sudo apt -y build-dep mesa
sudo apt -y install linux-edge-asahi build-essential wget meson ninja-build mesa-utils
git clone --depth 1 --branch main https://gitlab.freedesktop.org/asahi/mesa/mesa.git
cd mesa
mkdir build
```
## 3) Build
Building below with meson https://docs.mesa3d.org/meson.html without options mentioned at
https://github.com/AsahiLinux/PKGBUILDs/blob/main/mesa-asahi-edge/PKGBUILD ,
because with those options came some errors.
```
meson build/
ninja -C build/
ninja -C build/ install
```
## 4) Reboot
```
sudo reboot
```
## 5) Test with glxgears
2023-03-21
```
$ glxgears
7208 frames in 5.0 seconds = 1441.540 FPS
7564 frames in 5.0 seconds = 1512.677 FPS
7339 frames in 5.0 seconds = 1467.652 FPS
7567 frames in 5.0 seconds = 1513.253 FPS
```
2023-02-15
```
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.372 FPS
```
## 6) Test with glxinfo -B
2023-03-21
```
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: llvmpipe (LLVM 15.0.6, 128 bits) (0xffffffff)
Version: 23.1.0
Accelerated: no
Video memory: 15701MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 4.5
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 63 MB, largest block: 63 MB
VBO free aux. memory - total: 12615 MB, largest block: 12615 MB
Texture free memory - total: 63 MB, largest block: 63 MB
Texture free aux. memory - total: 12615 MB, largest block: 12615 MB
Renderbuffer free memory - total: 63 MB, largest block: 63 MB
Renderbuffer free aux. memory - total: 12615 MB, largest block: 12615 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 4294836239 MB
Total available memory: 4294851940 MB
Currently available dedicated video memory: 63 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.6, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
```
2023-02-15
```
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Asahi (0xffffffff)
Device: Apple M1 (G13G B1) (0xffffffff)
Version: 23.0.0
Accelerated: yes
Video memory: 15702MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: Asahi
OpenGL renderer string: Apple M1 (G13G B1)
OpenGL version string: 2.1 Mesa 23.0.0-devel
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 23.0.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
```
## 7) Test with SuperTuxKart
For sound, used USB-C hub => USB3 port => USB wireless dongle => Jabra Link 380 Headset
https://supertuxkart.net/Download / Linux Show / Full game (.tar.xz) ARM 64-bit
```
./run-game.sh
```
Options / Interface / [X] Display FPS
----
# OLD:
> Old Mesa code is from https://gitlab.freedesktop.org/asahi/mesa/-/tree/asahi/oq and
> https://gitlab.freedesktop.org/asahi/mesa/-/archive/asahi/oq/mesa-asahi-oq.tar.gz
> tar -xzvf mesa-asahi-oq.tar.gz
> cd mesa-asahi-oq

@ -1,145 +0,0 @@
## Amiga Internet with NexDock 360 with A500 mini, does not work yet?
UPDATE 2023-07-15: When I tried again, it looks like IBrowse loaded aminet webpage from cache. When I tried some other links, they did not work, showed some errors about DNS. But looking at local network webpage with just IP address did not work. Maybe I am wrong? I try to figure out how to load kernel module, or to get this working.
Does not work yet:
1. Extract 1) AmiNIMiga and 2) Optionally Pandory to SanDisk Ultra USB stick. Pandory is not required, but if you add it, let Pandory owerwrite that one file from AmiNIMiga. More info below at topic `NexDock with A500 Mini`. Note: This does not require NexDock. This only requires A500 mini and USB Ethernet adapter like at step 3.
2. Edit USB stick directory `Extra CFGS/*.uae` all .uae textfiles, search from there `bsdsocket` , there change it to `bsdsocket_emu=true` and save. This enables Internet.
3. Connect USB Ethernet adapter to A500 Mini. For example, I have `TP-Link Model UE300 USB 3.0 to Gigabit Ethernet Adapter` but it's possible it works with others too.
4. Power on A500 mini, start AmiNIMiga, and browse Internet with for example with Work/Internet/IBrowse.
<img src="https://wekan.github.io/nexdock/nexdock-a500mini-internet.jpg" width="100%" alt="NexDock 360 with A500 mini, Internet" />
***
Related: https://github.com/wekan/wekan/wiki/Amiga
***
## NexDock 360 with A500 Mini
Date: 2023-07-03
Using https://nexdock.com 360, Amiga 500 Mini laptop with working touchscreen, touchpad, and backlit keyboard, running AmigaOS 3.1 680x0. A500 Mini has arm64 hardware similar to RasPi3, has boot menu to some included Amiga games, and USB icon where from FAT32 formatted USB stick it's possible to run .adf files, or start custom distro like AMiNIMiga or Pandory (links below image at step 3). More info about Amiga in general at https://github.com/wekan/wekan/wiki/Amiga .
I recommend trying to shutdown properly, from AmigaOS top menus back to A500 main menu, and there at bottom shutdown menus. Because sometimes FAT32 gets corrupted, shows errors, and needs reinstall.
Keyboard backlight can be turned on with Fn-F11. Fn is near bottom left corner of keyboard, and F11 is near top right of keyboard.
<img src="https://wekan.github.io/nexdock/nexdock-a500mini.jpg" width="100%" alt="NexDock 360 with A500 mini" />
### Wires at A500 mini, from left to right
1. A500 mini USB to Ethernet adapter. Works, see above.
Old info:
a) Linux kernel driver added (try to find some forum post about it that I read previously, precompiled one and order compatible model USB to Ethernet adapter, or compile driver for this USB Ethernet adapter)
- This precompiled USB Ethernet driver [ipv4.ko](https://wekan.github.io/nexdock/ipv4.ko) from https://thec64community.online/post/11547/thread. It's a Realtek 8153 (original filename r8152.ko, but this is only for Realtek 8153) https://thec64community.online/post/11564/thread . He is using the out-of-tree driver that he was using on the C64 Maxi, though he suspected the in-tree driver works fine too. Related [serialusb.zip](https://wekan.github.io/nexdock/serialusb.zip).
- https://thec64community.online/board/51/thea500-general
- Kernel source https://github.com/oleavr/rgl-a500-mini-linux-3.10/ and related kernel config [config.THEA500](https://wekan.github.io/nexdock/config.THEA500)
- Some tools https://github.com/oleavr/thea500-tools
- Maybe something related https://github.com/CommodoreOS
- https://github.com/BlitterStudio/host-run
b) Amiga Emulator software supported override that maybe would work without compiling Linux Kernel driver (there was some news about this somewhere).
- https://blitterstudio.com/amiberry/
- https://github.com/BlitterStudio/amiberry/releases
2. At A500 mini USB2 port, USB3 hub to:
2.1. Wireless dongles to my wireless keyboard MX Keys, that I use sometimes. MX Keys can connect to 3 devices: 2 bluetooth and 1 USB dongle.
2.2. Wireless dongle to my MX Master 3S mouse, that can use 3 devices: 2 bluetooth and 1 USB dongle.
2.3. Wired USB gamepad, came with A500 Mini. (A500 Mini also came with wired USB mouse).
2.4. USB3 from A500 mini to USB-C at NexDock left side near screen, so that works touchscreen and touchpad to move mouse pointer, and backlit keyboard to type.
3. USB3 128 GB stick where is:
3.1. AMiNIMiga distro from https://www.aminimiga.com
3.2. AmigaForever Workbench 3.1 adf and kickstart files. At USB stick directory AMiNIMiga/Hardfolders/Shared I added files with these names: Workbench31.adf, Extras31.adf, Storage31.adf, Install31.adf, Fonts31.adf . At directory AMiNIMiga/Hardfolders/Shared/roms, I have files like amiga-boot-a1000.rom, and others I copied from AmigaForever. When starting AMiNIMiga, it reads these files to setup all correctly, and finally starts AmigaOS.
3.3. Pandory https://github.com/TeamPandory/pandory500 . Panodyry requires A500 Mini update version 1.1.1 from https://retrogames.biz/support/thea500-mini/upgrade/ , that update is also compatible with AMiNIMiga. When extractin Pandory, let overwrite that one file from AmiNIMiga
4. A500 Mini "HDMI" to NexDock "miniHDMI" at left side front (or whatever that midsize HDMI is called, cable included with Nexdock).
5. Wall socket to USB-C power at A500 Mini. Actually, that power wire is from socket USB to 3 different power cables: USB-C, iPhone and microUSB, but here is only to USB-C used to power A500 Mini.
### At NexDock 360, from left to right
6. USB3 from A500 mini to USB-C at NexDock left side near screen, so that works touchscreen and touchpad to move mouse pointer, and backlit keyboard to type.
7. A500 Mini "HDMI" to NexDock "miniHDMI" at left side front (or whatever that midsize HDMI is called, cable included with Nexdock).
8. Wall socket to USB-C power at Nexdock right side near screen.
### Kind of unrelated, at photo is also
9. Bigger green and smaller orange 3D printed OpenBSD mascot Puffy. Color depends on what color is used to print 3D object. For more info, see:
- https://www.thingiverse.com/thing:228761
- https://www.thingiverse.com/thing:5247459
- https://www.openbsd.org/lyrics.html
- https://www.openbsd.org/artwork.html
10. A penguin carrying a small penguin with binoculars on its head in a life ring. I do not remember where I got this.
11. LG 43" LED TV.
12. At front, mouse pad at desk.
### Speed: SysInfo 4.4
<img src="https://wekan.github.io/nexdock/nexdock-a500mini-sysinfo.jpg" width="100%" alt="NexDock 360 with A500 mini, Speed with SysInfo 4.4" />
## NexDock 360 with RasPi4
Date: 2021-12-30
I today got Nexdock 360 from https://nexdock.com . It did take about 10 days to deliver from Netherlands to Finland. I'm thinking Nexdock to be kind of a version of stateless laptop https://blog.invisiblethings.org/papers/2015/state_harmful.pdf .
Anyway, here is RasPi4 that has 4 GB RAM, and now with Nexdock added, it is touchscreen laptop with keyboard backlight, touchpad, extra microSD slot, extra USB-C input with adapter USB-C to USB. I did draw text "Lunduke" directly to touchscreen at Inkscape. I can pinch-zoom Inkscape "paper", change size of that text, move windows with touch, etc.
The config changes I did to Raspberry Pi OS:
```
sudo nano /boot/config.txt
```
Add to bottom:
```
# USB Type-C Host for Nexdock.com
dtoverlay=dwc2,dr_mode=host
```
<img src="https://wekan.github.io/nexdock/nexdock-raspi4.jpg" width="100%" alt="NexDock 360 with RasPi4" />
Wires:
1. Wall socket to USB-C power to Nexdock right side back
2. Wall socket to USB-C power at RasPi4, so that RasPi4 gets enough power to boot. RasPi4 is power hungry, earlier RasPi models can work with power from Nexdock.
3. RasPi4 microHDMI to HDMI to Nexdock miniHDMI at left side front (or whatever that midsize hdmi is called, cable included with Nexdock
4. RasPi4 wired Ethernet
5. RasPi4 USB2 to my external USB wired mouse
6. RasPi4 USB3 to Nexdock USB-C at right side back, with my own cable that I use for charging Android phone. This does make Nexdock touchscreen, backlit keyboard, touchpad, microSD port at right side back, USB-C port at right side front work. Included is USB-C to USB adapter for mouse, USB storage etc.
I prefer typing when I have turned backlit keyboard on, and touchpad off.
Touchscreen works in Raspberry Pi OS. Touchscreen does not work at RISC OS Direct, so there I use my wired USB mouse.
I am very happy with Nexdock, it is excellent for my developer use, and completely silent with RasPi4. This is my first touchscreen backlit keyboard laptop.
But is this portable? No way, RasPi4 is very power hungry, and look at the amount of wires! This is dongle world like Apple style! But for single-board computers use, changing microSD cards, etc, it is huge improvement in usability.
I did not get Nexdock working with my smartphones yet. I will try Nexdock with my other devices too.

@ -1,191 +0,0 @@
# Testing ProtonMail Finnish translations
<img src="https://wekan.github.io/translations/protonmail.png" width="100%" alt="Protonmail with Finnish translation" />
1. Newest Ubuntu/Linux Mint/Debian/WSL. Note: You need at least 4 GB RAM free for running Protonmail frontend. If there is not enough RAM, running Protonmail frontend will stop to error. Running when booted into Ubuntu 22.10 amd64 did work, but not running when booted into Qubes OS Debian PVM.
2. Install Volta node version manager like described at: https://docs.volta.sh/guide/getting-started
3. Create directory repos
```
mkdir repos
```
4. Change to directory repos
```
cd repos
```
5. Install git and build-essential
```
sudo apt -y install git build-essential
```
6. Install node
```
volta install node@18
```
7. Install yarn package manager, info from https://github.com/ProtonMail/WebClients/issues/281
```
npm -g install yarn
```
8. At https://crowdin.com/project/protonmail/fi Click: 1 Mail / Proton Mail Web Application / File / **Download**. Note: **Click Download. Do NOT click Export XLIFF !!!** It downloads `webapp.xcliff` file, save it to `~/repos/`, convert it to JSON with newest translation converter https://github.com/ProtonMail/WebClients/issues/285#issuecomment-1422801160
```
git clone https://github.com/dhoko/xliff-to-JSON-ttag
cd xliff-to-JSON-ttag
sudo apt -y install python3-pip
pip3 install pip --user --upgrade
pip3 install -r requirements.txt --user
python3 convert.py --input ../webapp.xliff --output ../fi_FI.json --locale fi_FI
cd ..
```
9. Clone ProtonMail WebClients
```
git clone https://github.com/ProtonMail/WebClients.git
```
10. Change to directory WebClients
```
cd WebClients
```
11. Edit list of locales
```
nano -c applications/mail/locales/config/locales.json
```
12. Above en_US add:
```
"fi_FI": "Finnish",
```
Save and exit: `Ctrl-o Enter Ctrl-x`
13. Copy ProtonMail translation to it's directory:
```
cp ../fi_FI.json applications/mail/locales/
```
14. Info from https://github.com/ProtonMail/WebClients . Install all dependencies for the entire monorepo & symlink local dependents to one another:
```
yarn install
```
15. Run web clients by running proton-<package-name> . Example: proton mail web client
```
NODE_ENV=development yarn workspace proton-mail start
```
16. Login with your ProtonMail username, password, 2FA etc with webbrowser at: http://localhost:8080/
***
# Old translation info below, ignore
7. Install yarn package manager and ttag-cli translation converter, info from https://github.com/ProtonMail/WebClients/issues/281
```
npm -g install yarn ttag-cli
```
8. At https://crowdin.com/project/protonmail/fi Click: 1 Mail / Proton Mail Web Application.Pot / [...] / Download. It downloads `webapp-fi.po` file, save it to `~/repos/`, convert it to JSON:
```
npx ttag po2json webapp-fi.po --format=compact -p > fi_FI.json
```
***
# How to login
From ZeroTricks from
- https://github.com/ProtonMail/WebClients/issues/304#issuecomment-1613650919
- https://github.com/ProtonMail/WebClients/issues/322#issuecomment-1613666913
So, I have been playing around to see which configurations currently work and which don't, regarding captcha, 'unsupported browser' and CORS errors. Follow steps below to successfully login:
### Development environment
Make sure that you have a development environment set up as described [here](https://github.com/ProtonMail/WebClients). I run this in a [docker container](https://github.com/ZeroTricks/Proton-WebClients/blob/main/docker-compose.yml) with:
```
docker compose run proton-dev yarn install #initial run
docker compose up proton-drive-dev
```
### Access
**Webaccess only works via `http://127.0.0.1` or `https://somedomainyouown`** . You can put an nginx proxy or something similar in front of the app that deals with certificates and the such.
#### Urls that don't work:
* IPs other than 127.0.0.1, ie `http://172.17.0.1` → unsupported browser
Circumvent this by tunneling to 127.0.0.1:80 with socat, ssh tunnel, docker port,... so you can access 127.0.0.1 in browser
* `http://somehost` → unsupported browser
* `http://localhost` → Captcha shows with warning about localhost, spins forever
As seen in screenshots in above.
The `unsupported browser` errors might have to do with the client packages for cryptography and storage not being available on http. You may try your luck with [adding fallback packages](https://webpack.js.org/configuration/resolve/#resolvefallback) to /packages/pack/webpack.config.js (or to the specific app's webpack.config.js). (I was sure at one point i needed this for 127.0.0.1 too but now i run it without any changes. Most fallback packages should be available as yarn installed them earlier).
### Captcha
A wrong api url and cross-domain blocking policies will prevent loading the captcha iframe. You can circumvent this by solving the captcha in a separate tab and manually passing the security token. Try something like this:
* Hardcode the api url by returning `mail-api.proton.me` in [/packages/shared/lib/helpers/url.ts](https://github.com/ProtonMail/WebClients/blob/main/packages/shared/lib/helpers/url.ts#L187), like [this](https://github.com/ZeroTricks/Proton-WebClients/blob/811669b44954d9873808fb1f4ccf30975dbeffd2/packages/shared/lib/helpers/url.ts#L190)
* Open `http://127.0.0.1` or `https://thedomainyouown` in your browser
* Log in
* The human verification popup is show, with an empty iframe
* Click 'Open site in new window' or find the iframe source in your devtools (it looks like this: `https://mail-api.proton.me/core/v4/captcha?Token=...`) and open it in a new tab.
* If you run your app on a non-default port (80, 443) and it was added to this link, remove it
* BEFORE solving the captcha, run the following code in the devtools of the captcha's page. (If you don't know what it does, don't do it.)
```
window.addEventListener('message', ({data: {token}}) => {
if(!token)
return;
const code = `//Run in main tab devtools:
\nwindow.dispatchEvent(new MessageEvent("message", {
origin: '${window.origin}'.replace(/^https?:/, location.protocol),
source: $('iframe').contentWindow ,
data: {
type: 'pm_captcha',
token: "${token}"
}
}))`;
console.log(code);
alert(code);
},
false);
```
* Solve the captcha and copy the generated code from alert or devtools
* Run the generated code in the main tab
* Enter 2FA if it is enabled
* You're logged in!
It's a cumbersome process, maybe someone knows an easier way around this. Opening the captcha page in a popup and listening for the token is afaik not possible due to the same-origin policy again. At least if you stay logged in you won't have to enter the captcha every time.
Tested with proton-mail and proton-drive. All my changes were done [in this fork](https://github.com/ProtonMail/WebClients/compare/main...ZeroTricks:Proton-WebClients:main).
Extra note: CORS errors will prevent proton-drive over https to do any file operations (up/download, preview....). Not sure if this is a bug or not. Up/downloads work as intended on `http://127.0.0.1`

215
Qemu.md

@ -1,215 +0,0 @@
# SW:Ubuntu Asahi Qemu
Tested on Ubuntu 22.10 Asahi on M1 Air.
Other Ubuntu Asahi install info at https://github.com/AsahiLinux/docs/wiki/SW%3AAlternative-Distros
Also installs virt-manager.
Slirp included when compiling, to have user networking:
https://bugs.launchpad.net/qemu/+bug/1917161
```
sudo apt -y install git libglib2.0-dev libfdt-dev \
libpixman-1-dev zlib1g-dev ninja-build \
git-email libaio-dev libbluetooth-dev \
libcapstone-dev libbrlapi-dev libbz2-dev \
libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev \
libibverbs-dev libjpeg8-dev libncurses5-dev \
libnuma-dev librbd-dev librdmacm-dev \
libsasl2-dev libsdl2-dev libseccomp-dev \
libsnappy-dev libssh-dev \
libvde-dev libvdeplug-dev libvte-2.91-dev \
libxen-dev liblzo2-dev valgrind xfslibs-dev \
libnfs-dev libiscsi-dev flex bison meson \
qemu-utils virt-manager
git clone --branch master --depth 1 https://gitlab.com/qemu-project/qemu.git
cd qemu
git submodule init
git submodule update
git clone --branch master --depth 1 https://gitlab.freedesktop.org/slirp/libslirp
cd libslirp
meson build
ninja -C build install
cd ..
mkdir build
cd build
../configure --enable-slirp
make -j$(nproc)
sudo make install
```
## Networking examples for various OS
https://wiki.qemu.org/Documentation/Networking
## ReactOS x86 32bit with networking
https://reactos.org
```
wget reactos-32bit-bootcd-nightly.7z
7z x reactos-32bit-bootcd-nightly.7z
mv reactos*.iso ReactOS.iso
```
20G is max growable disk size here:
```
qemu-img create -f qcow2 ReactOS.qcow2 20G
```
Here `-m 3G` is 3 GB RAM.
Edit `start.sh` and set it executeable `chmod +x start.sh` with this content:
```
qemu-system-i386 -m 3G -drive if=ide,index=0,media=disk,file=ReactOS.qcow2 \
-drive if=ide,index=2,media=cdrom,file=ReactOS.iso -boot order=d \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
Then run `./start.sh`
## WinXP x86 32bit with networking
1) Create growable harddisk image of 80 GB:
```
qemu-img create -f qcow2 winxp.qcow2 80G
```
2) Start install from winxp.iso
Edit `start.sh` and set it executeable `chmod +x start.sh`, here `-m 4G` is 4 GB RAM:
```
qemu-system-i386 -m 4G -drive if=ide,index=0,media=disk,file=winxp.qcow2 \
-drive if=ide,index=2,media=cdrom,file=winxp.iso -boot order=d \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
3) After install, boot without iso
```
qemu-system-i386 -m 4G -drive if=ide,index=0,media=disk,file=winxp.qcow2 \
-boot order=c \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
## Win10 x86_64 with networking
1) Create growable harddisk image of 80 GB:
```
qemu-img create -f qcow2 win10.qcow2 80G
```
2) Start install from win10.iso
Edit `start.sh` and set it executeable `chmod +x start.sh`, here `-m 4G` is 4 GB RAM:
```
qemu-system-x86_64 -m 4G -drive if=ide,index=0,media=disk,file=win10.qcow2 \
-drive if=ide,index=2,media=cdrom,file=win10.iso -boot order=d \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
3) After install, boot without iso
```
qemu-system-x86_64 -m 4G -drive if=ide,index=0,media=disk,file=win10.qcow2 \
-boot order=c \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
## Win11 x86_64 with networking
1) Create growable harddisk image of 80 GB:
```
qemu-img create -f qcow2 win11.qcow2 80G
```
2) Start install from win11.iso
Edit `start.sh` and set it executeable `chmod +x start.sh`, here `-m 4G` is 4 GB RAM, `-usbdevice tablet` makes using mouse more exact:
```
qemu-system-x86_64 -hda win11.qcow2 -cdrom win11.iso -boot d \
-smp 2 -m 4G -usbdevice tablet \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
3) When installing Win11
a) Use bypass registry keys:
https://blogs.oracle.com/virtualization/post/install-microsoft-windows-11-on-virtualbox
b) Figure out UEFI and TPM and how to activate it, not tested:
- https://getlabsdone.com/how-to-install-windows-11-on-kvm/
- https://getlabsdone.com/how-to-enable-tpm-and-secure-boot-on-kvm/
- https://github.com/stefanberger/swtpm/wiki
- https://www.reddit.com/r/AsahiLinux/comments/y7hplo/virtual_machines_on_asahi_linux/
- https://that.guru/blog/uefi-secure-boot-in-libvirt/
- https://www.reddit.com/r/AsahiLinux/comments/107m4nb/windows_vm_on_asahi_qemukvm_virtmanager/
```
sudo apt-get install dh-autoreconf libssl-dev \
libtasn1-6-dev pkg-config libtpms-dev \
net-tools iproute2 libjson-glib-dev \
libgnutls28-dev expect gawk socat \
libseccomp-dev make -y
git clone https://github.com/stefanberger/swtpm
cd swtpm
./autogen.sh --with-openssl --prefix=/usr
make -j4
make -j4 check
sudo make install
```
3) After install, boot without iso
```
qemu-system-x86_64 -hda win11.qcow2 -boot c \
-smp 2 -m 8G -usbdevice tablet \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
## Ubuntu x86_64 with networking
1) Create growable harddisk image of 80 GB:
```
qemu-img create -f qcow2 ubuntu.qcow2 80G
```
2) Start install from ubuntu.iso
Edit `start.sh` and set it executeable `chmod +x start.sh`, here `-m 4G` is 4 GB RAM:
```
qemu-system-x86_64 -m 4G -drive if=ide,index=0,media=disk,file=ubuntu.qcow2 \
-drive if=ide,index=2,media=cdrom,file=ubuntu.iso -boot order=d \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
3) After install, boot without iso
```
qemu-system-x86_64 -m 4G -drive if=ide,index=0,media=disk,file=ubuntu.qcow2 \
-boot order=c \
-serial stdio -netdev user,id=n0 -device rtl8139,netdev=n0
```
## Haiku
```
qemu-system-i386 -cdrom haiku-r1beta4-x86_gcc2h-anyboot.iso -vga virtio \
-display gtk -full-screen -hda haiku.img -smp 2 -boot c -m 1024 \
-net nic,model=rtl8139 -net user
```
## Emulating PPC64 inside Docker
https://blog.michael.kuron-germany.de/2023/06/emulating-ppc64-inside-docker/

@ -1,31 +0,0 @@
## Settings
To run Qubes OS 4 at ZBook i7 that has 32 GB RAM:
https://wekan.github.io/qubes/
https://www.qubes-os.org
## Fedora 38 templates available
https://www.qubes-os.org/news/2023/05/26/fedora-38-templates-available/
## Fedora upgrade
```
sudo dnf upgrade
```
## Install software to Fedora
Fedora has newest versions of many software.
Below, first line is about langua
```
sudo dnf install libreoffice-langpack-fi libreoffice-help-fi libreoffice-voikko \
libreoffice libreoffice-postgresql libreoffice-pdfimport libreoffice-writer2latex \
libreoffice-writer2xhtml libreoffice-filters \
lazarus zip unzip p7zip gimp inkscape keepassxc haxe zig \
gambas3 godot golang virt-manager qemu remmina
```
Above, packages `make automake gcc gcc-c++ kernel-devel` are like build-essential at Debian.

@ -1,5 +0,0 @@
- https://wiki.qemu.org/Documentation/Platforms/RISCV
- https://ubuntu.com/download/risc-v
- https://wiki.ubuntu.com/RISC-V
- https://mangopi.org
- At MangoPi I use Armbian: https://www.armbian.com/mangopi-mq-pro/

@ -1,122 +0,0 @@
## What is ReactOS ?
Website: https://reactos.org
ReactOS is original code, independently developed Windows 2003 32bit compatible OS. There is not any code that is copied from MS, MS can not shut them down.
ReactOS is Open Source. You can make your own ReactOS distro:
https://reactos.org/faq/#free-and-open-source
"The ReactOS kernel is the only complete implementation of an NT kernel outside of the Microsoft campus"
https://reactos.org/architecture/
## Download ReactOS and VirtualBox
Download ReactOS 32bit stable release bootcd from https://reactos.org
Download newest VirtualBox from https://www.virtualbox.org
## Install VirtualBox
### To Windows
1. Install exe.
2. Install Oracle VM VirtualBox Extension Pack from https://www.virtualbox.org/wiki/Downloads
### To Linux
1. Add repo for your distro.
2. Add keys for repo.
3. Install VirtualBox.
4. Install Oracle VM VirtualBox Extension Pack from https://www.virtualbox.org/wiki/Downloads
5. Add your Linux username (like /home/username directory , there is username) to group vboxusers:
```
sudo nano /etc/group
```
And there for example:
```
vboxusers:x:143:username
```
Save and exit nano: Ctrl-o Enter Ctrl-x
6. Reboot
## Install ReactOS
1. Copy reactos.iso to /home/user/VirtualBox VMs, if on Linux.
2. When you add new VM to VirtualBox starting with name "ReactOS", VirtualBox automatically selects Windows 2003 32bit, but you need to add more compatible settings from here:
https://reactos.org/wiki/VirtualBox
I used these settings with newest ReactOS:
- General: ReactOS, Windows 2003 32bit
- System/Motherboard: 4096 MB (because I'm compiling. Although 2000 GB could be enough).
- System/Motherboard: [X] Enable I/O APIC
- System/Processor: 1 CPU
- Dispay/Screen: Video Memory: 64 MB (max if installing VirtualBox client extensions, but I did not install them). VBoxVGA. No 3D Acceleration, because it's not supported in newest VirtualBox (only old VirtualBox supports it).
- Storage: 60 GB .vdi (compiling ReactOS may take 30 GB)
- Storage: Add reactos.iso to virtual CD drive from /home/username/VirtualBox VMs
- Audio: Pulseaudio (if linux)
- Network: Bridged Adapter (because I test webservers, ReactOS has it's own IP address at network)
- Network/Adapter 1/Advanced/Adapter Type: PCnet-FAST III
- USB: 2.0
3. Click OK and Start, to start ReactOS VM.
4. When installing ReactOS, and selecting filesystem, I usually select FAT32 Quick format, that is most stable. Yes, there is also Btrfs option.
5. For resolution, I selected 1024x786x32, because it fits to my laptop screen.
6. (For language, I chose my mother language, Finnish. I'm translating ReactOS to Finnish.)
There is also ReactOS 64bit, but it's not as stable as ReactOS 32bit. I don't know does 64bit version nightly images boot properly yet.
## Install software to ReactOS
From ReactOS Desktop doubleclick `ReactOS Application Manager`, there in GUI is list apps that are compatible with ReactOS. Not all newest software works on ReactOS. There MyPal webbrowser is most compatible with Javascript etc.
If downloading some software is slow, then it may be easier and faster to download it on Linux side, use Brasero or K3b to add those files to .iso image, and add that .iso to CD/DVD drive of VirtualBox ReactOS VM.
## Compiling newest ReactOS git version on ReactOS
Compiling ReactOS on ReactOS works, I just tried it. (Compiling ReactOS on Linux did not work on my too new distro Ubuntu 22.04).
1. Install Mypal webbrowser and Git for Windows from ReacOS App Store. That old Mypal version is fork of Firefox, made compatible with WinXP and ReactOS. Newer Mypal versions do not run in ReactOS (newest Mypal is at https://mypal-browser.org and source at https://github.com/Feodor2/mypal).
2. Use Mypal to download newest RosBe Windows version from https://reactos.org/wiki/Build_Environment (because ReactOS App Store has old version). Create directory C:\repos with ReactOS File Manager. Then install RosBe, to use C:\repos as home directory (this is because by default it would set home directory somewhere where is space in directory name, there can not be space because then it does not work).
3. Double click RosBe from desktop, or from Start menu.
4. Build info is at https://reactos.org/wiki/Building_ReactOS , but I did it like below:
```
cd C:\repos
```
5. Clore ReactOS repo:
a) Smallest download, only newest code, no version history:
```
git clone --branch master --depth 1 https://github.com/reactos/reactos
```
b) Biggest download, all history:
```
git clone https://github.com/reactos/reactos
```
6. Compile only bootcd:
```
cd reactos
configure.cmd
cd output-MinGW-i386
ninja bootcd
```
7. Using Mypal webbrowser, upload `C:\repos\reactos\output-MinGW-i386\bootcd.iso` somewhere.
8. Create new VirtualBox VM, for example named `ReactOS newest`, and install it like above at `Install ReactOS`

@ -1,87 +0,0 @@
## Awesome Scratch
### Hello World in different programming languages
- https://www.youtube.com/watch?v=mLsVb3uJfYo
- https://www.youtube.com/watch?v=Ysled8GvKuk
- https://www.youtube.com/watch?v=zecueq-mo4M
- https://www.youtube.com/watch?v=xXt5e1eP3iU
### Projects
- https://github.com/CodeLabClub/awesome-scratch-projects
### About Scratch
https://en.wikipedia.org/wiki/Scratch_(programming_language)
https://en.wikipedia.org/wiki/Visual_programming_language
Scratch is not "children's programming language", while it looks like it is. Scratch prevents making syntax errors in code. With scratch, my friend teenager nerd boy made game, where at beginning of game it generates random levels. It's very advanced.
I did see somewhere some paid software where it's possible to make sheduled tasks to Jira with Scratch like interface.
There are many versions of Scratch for different purposes.
### Original
- Old Scratch 2.0 https://github.com/LLK/scratch-flash
- https://scratch.mit.edu/developers
- Scratch Blocks is a new development project for the next generation of graphical programming blocks, based on a collaboration between Google and MITs Scratch Team — building on Googles [Blockly technology](https://developers.google.com/blockly/) and informed by the Scratch Teams expertise in developing creative learning tools for young people. Scratch Blocks will provide a framework for building programming blocks in both vertical (text-based) and horizontal (icon-based) formats.
- Scratch 3.0 https://github.com/LLK/scratch-blocks
- Scratch-www is a standalone web client for the Scratch Community, built using React and Redux
- Scratch 4.0 web https://github.com/LLK/scratch-www
- ScratchJr is an introductory programming language that enables young children (ages 5-7) to create their own interactive stories and games
- https://www.scratchjr.org
- https://github.com/LLK/scratchjr
- Google Blockly https://developers.google.com/blockly/
## Scratch article with many links
- Scratch https://news.ycombinator.com/item?id=32120445
- Low Code https://news.ycombinator.com/item?id=32106380
### Scratch Haxe
Some of the Blockly Haxe code seems to be deleted, and some have license issues, I don't know is there working Blockly that generates Haxe code from blocks. There were previously some fork of Blockly where someone changed Blockly Javascript (or some other programming language) to instead create Haxe code.
- Blockly
- https://github.com/nickmain/haxe-blockly
- https://github.com/nickmain/haxe-blockly-flask-server
- OpenFL
- https://scratch.mit.edu/discuss/topic/178496/
- https://github.com/my2iu/scratch-flash/tree/openfl-port Not working
- https://bobbybee.github.io/scratch-flash/release/
- https://github.com/IronManMark20/scratch-openfl
- https://github.com/openfl/scratch-openfl
- https://github.com/openfl/scratch-openfl/commits/master
- Flash
- https://github.com/LLK/scratch-flash/issues/983
- https://github.com/my2iu/scratch-flash/tree/haxe-port
- https://github.com/my2iu/scratch-flash/tree/openfl-port
### Native MIT
- Compile Scratch3 projects to fast, native C++ code.
- https://lunduke.substack.com/p/a-linux-kernel-module-written-in
- https://web.archive.org/web/20220630172343/https://lunduke.substack.com/p/a-linux-kernel-module-written-in
- https://github.com/scratchnative/scratchnative
- https://github.com/scratchnative/scratchOS
- https://github.com/scratchnative/scratch-linux-modules
### Snap!
- https://snap.berkeley.edu
- https://github.com/jmoenig/Snap AGPLv3
### Jira
- Autoblocks for Jira
- https://marketplace.atlassian.com/apps/1224414/autoblocks?hosting=cloud&tab=overview
- Based on Google Blockly, at that page logo and links to Autoblocks for Jira https://developers.google.com/blockly/
- https://www.youtube.com/user/AdaptavistEnterprise/videos
- https://www.youtube.com/playlist?list=PL_E9T0Z4ua14YEQUjYas7lzDi-lnaWtdF of https://www.youtube.com/c/RaviSagar1
### MicroPython MPY Blockly for ESP32
- https://mpyblockly.github.io/mpyblockly/
- https://micropython.org
- https://github.com/micropython/micropython Licenses: MIT, BSD, GPL etc
### Blocky.games
- https://blockly.games
- Download for offline https://github.com/google/blockly-games/wiki/Offline

100
TLDR.md

@ -1,100 +0,0 @@
## Awesome TL;DR (Too Long Didn't Read)
### Definitions
- https://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read
- https://www.urbandictionary.com/define.php?term=TLDR
- https://www.dictionary.com/browse/tldr
### Terms of Service
- https://tosdr.org
### Software Licenses
- https://tldrlegal.com
### Man pages
- https://tldr.sh
- Gitter Chat https://gitter.im/tldr-pages/tldr
- Programming languages
- NPM
- https://github.com/tldr-pages/tldr
- https://www.npmjs.com/search?q=tldr
- Go
- https://isacikgoz.me/tldr/
- https://github.com/isacikgoz/tldr
- https://awesomeopensource.com/projects/golang/tldr-pages
- Python
- https://pypi.org/project/tldr.py/
- Rust
- https://crates.io/crates/tldr
- Julia
- https://juliahub.com/ui/Packages/TLDR/79h2W/0.2.0
- Haskell
- https://hackage.haskell.org/package/tldr
- Operating Systems
- Arch
- https://archlinux.org/packages/community/any/tldr/
- Debian
- https://packages.debian.org/search?keywords=tldr
- Fedora
- https://wiki.gentoo.org/wiki/Tldr
- Gentoo
- https://wiki.gentoo.org/wiki/Tldr
- Android. Not checked are these safe.
- https://play.google.com/store/apps/details?id=wtf.technodisaster.tldr&hl=fi&gl=US
- Unofficial Android app made with gradle. License: Apache v2
- https://github.com/CesarValiente/tldrlegal
- Mac
- https://apps.apple.com/us/app/tldr-pages/id1071725095
- Other TLDR clients
- https://awesomeopensource.com/projects/command-line/tldr-pages
### Functions to Simplify Data Analysis and Reporting
- R
- https://cran.r-project.org/web/packages/tldr/index.html
### Summarize webpage
- https://tldrthis.com
- Study paper PDF: TLDR: Extreme Summarization of Scientific Documents https://arxiv.org/abs/2004.15011
- https://quillbot.com/summarize
### Cheatsheets
- https://lecoupa.github.io/awesome-cheatsheets/
- https://github.com/LeCoupa/awesome-cheatsheets
### Law
- https://tldr.legal
- TLDR Act
- In English
- https://www.congress.gov/bill/117th-congress/house-bill/6407?s=1&r=6
- https://www.washingtonpost.com/politics/2022/01/13/no-one-reads-terms-service-lawmakers-want-fix-that-with-new-tldr-bill/
- https://www.fastcompany.com/90712974/tldr-act-bill-terms-conditions-contracts-congress
- In Finnish
- https://mobiili.fi/2022/01/14/tldr-lakialoite-yhdysvalloissa-ajaa-selkeita-ja-lyhyita-yhteenvetoja-palveluiden-kayttoehtoihin/
### Pharmacy
- https://www.tldrpharmacy.com
### Psychology
- Written articles
- TLDR Effect
- https://www.psychologytoday.com/us/blog/boundless/201903/the-tldr-effect
- TLDR Symptom
- https://seths.blog/2014/01/the-fatal-arrogance-of-tldr/
- Semicolon is Ironic in TL;DR
- https://www.quickanddirtytips.com/education/grammar/is-the-semicolon-in-tldr-ironic
- TLDR: Why we should all add a summary to the emails we write
- https://patiencedavies.com/2021/06/02/tldr-why-we-should-all-add-a-summary-to-the-emails-we-write/
- Podcasts
- Why You Need a TLDR for Your Presentations
- https://communicationsnacks.libsyn.com/why-you-need-a-tldr-for-your-presentations
### Books
- TLDR - Investments and Finance for Young People
- https://www.amazon.com/TLDR-Investments-Finance-Young-People/dp/B09MDZSCK8
### Offline image loader component
- z/Transaction Processing Facility Enterprise Edition 1.1.0.14
- https://www.ibm.com/docs/en/ztpf/1.1.0.14?topic=loaders-offline-image-loader-component-tldr
### Meme
- https://knowyourmeme.com/memes/tldr

@ -1,40 +0,0 @@
Date: 2023-05-11
Here are some of my currently used apps at Ubuntu Touch.
I am using OnePlus 3T smartphone, thas has 6 GB RAM, and that originally had Android 9, sometime I also had LineageOS installed, and then installed Ubuntu Touch back.
Current Ubuntu Touch I am using is based on Ubuntu 16.04. AFAIK there is not that Ubuntu 20.04 based version for OnePlus 3. There is for OnePlus One, and some other models, but 20.04 based version does not yet have as many apps, it's still brand new.
At Ubuntu Touch, using OnePlus 3T works, and are apps for:
- Phone calls
- SMS
- Contacts, importing from vCard or Gmail
- Calendar
- Flashlight
- Camera works
- Gallery
- 4G and WLAN Internet, and Hotspot
- Bluetooth, can be connected to Bluetooth mouse, keyboard, headset
- Terminal, can install some packages with apt (limited space available) or use chroot to home directory (much more space available)
- uAdBlockNG for global adblocking for all apps
- Email with Dekko 2 app
- ProtonMail app, that has also ProtonCalendar and ProtonDrive
- Teleportit, Telegram app
- Discord app
- Warden, native client for Bitwarden (this I recently found, very good)
- 2FA manager, can import export, use Tagger app to read barcodes and QR codes
- 3rdperson, Godot 3D example
- uNav navigation app
- Tux Racer
- UI Tweak Tool, with it can be added root access to use apt, or change windowing mode from fullscreen to separate windows, very useful with multitasking many apps.
- Morph webbrowser, based on Chromium
- More apps at OpenStore
Some of these apps are with features that do not exist or are more limited on Android and iOS, like:
- Terminal for compiling and using apt
- global adblock
- multitasking many apps in different windows
- most apps FOSS with link to repo
So in a way, there are many clear advantages.

@ -1,178 +0,0 @@
## How to download videos from YouTube or any other video website
- Embeds multistream audio and video
- Embeds subs, chat, etc, without saving them to external files
- Ignores unavailable videos
- Using https://github.com/yt-dlp/yt-dlp
## Install on macOS
1. Install vlc and yt-dlp:
```
brew install vlc yt-dlp
```
2. Edit .zshrc:
```
nano .zshrc
```
3. Add there this. (noglob option make possible that there is no no need to add escape backslash before `?` in YouTube URL)
```
alias yd="noglob /opt/homebrew/bin/yt-dlp -f 'bv+ba/b' --sub-langs all,-live_chat --compat-options no-youtube-unavailable-videos --audio-multistreams --video-multistreams --no-clean-infojson --embed-subs"
```
4. Save and Exith with Ctrl-o Enter Ctrl-x
5. In new terminal download YouTube video or channel, and then play video:
```
yd https://youtube.com/....
vlc "filename.webm"
```
## Install on New Debian or Ubuntu based Linux
```
sudo apt-get -y install vlc yt-dlp
```
Add to .bashrc:
```
alias yd="~/.local/bin/yt-dlp -f 'bv+ba/b' --sub-langs all,-live_chat --compat-options no-youtube-unavailable-videos --audio-multistreams --video-multistreams --no-clean-infojson --embed-subs"
```
## Install on old Debian or Ubuntu based Linux
```
sudo apt-get -y install vlc python3-pip ffmpeg
pip3 install pip --upgrade --user
pip3 install yt-dlp
```
Upgrading:
```
pip3 install yt-dlp --upgrade --user
```
Add to .bashrc:
```
alias yd="~/.local/bin/yt-dlp -f 'bv+ba/b' --sub-langs all,-live_chat --compat-options no-youtube-unavailable-videos --audio-multistreams --video-multistreams --no-clean-infojson --embed-subs"
```
## Download one or more videos from YouTube
- All from channel
- All from some favorite list
- One video
- Etc, any YouTube or other video URL
Here, all from one channel:
```
yd https://www.youtube.com/c/Somechannel/videos
```
## Firefox: Other ways to download
Video downloadhelper:
- https://addons.mozilla.org/en-US/firefox/addon/video-downloadhelper/
Download many files from website:
- https://addons.mozilla.org/en-US/firefox/addon/downthemall/
## WaterFox
Pro privacy webbrowser. Supports both Firefox and Chrome browser extensions.
https://www.waterfox.net
- Firefox extensions: https://addons.mozilla.org/en-US/firefox/addon/
- Chrome extensions; https://chrome.google.com/webstore/category/extensions
## Downloading website: httrack
Note: Some websites block all traffic from your computer if you try to download all webpages. So if it's important website, ssh to some remote server and try from there is downloading possible. That way your own computer will not get blocked completely. Some blocking stops after some delay, some other blocking could be permanent, depending on website.
Windows GUI download at:
https://www.httrack.com
Linux version:
```
sudo apt-get install httrack
httrack https://example.com
```
## Downloading website or file: wget
One file:
```
wget https://example.com/linux.iso
```
Continuing interrupted download of one file:
```
wget -c https://example.com/linux.iso
```
Whole website:
```
wget -r https://example.com
```
Continuing interrupted download of whole website:
```
wget -r -c https://example.com
```
## Websites etc archive, Wayback machine
https://archive.org
## Blocking ads on YouTube
Webbrowser extension: uBlock Origin.
Or some other extension.
Maybe MiniTube, or some other YouTube specific player app.
https://yewtu.be is an Invidious instance that lets you watch without ads.
Newpipe is an Android app that lets you watch without ads.
## Download video from webpage that requires login
1) Install Firefox or WaterFox https://www.waterfox.net . WaterFox is more private, and has worked better on Ubuntu when saving full webpages to some directories.
2) Install AddOn https://addons.mozilla.org/en-US/firefox/addon/video-downloadhelper/ . (I also use UBlock Origin to block ads)
3) At toolbar 3-colored ball icon of Video DownloadHelper AddOn, click ⚙️ icon / Companion App. Install Companion App and reboot. Companion app will help to save videos to ~/dwhelper
4) Login to website, and click to play video.
5) At toolbar 3-colored ball icon of Video DownloadHelper AddOn, click down arrow button on largest resolution download. It will start downloading video to directory ~/dwhelper
## Downloading smallest video resolution file
```
#!/usr/bin/env bash
function border () {
local str="$*" # Put all arguments into single string
local len=${#str}
local i
for ((i = 0; i < len + 4; ++i)); do
printf '-'
done
printf '\n| %s |\n' "$str"
for ((i = 0; i < len + 4; ++i)); do
printf '-'
done
echo
}
clear
border "Internet Video Console"
echo
read -p "Search For: " searchphrase
yd --ytdl-pref="[height <=? 480]" --sort-by="upload_date" "${searchphrase}"
```

@ -1,26 +0,0 @@
# Split and join big files
For example, for copying big file using FAT32 filesystem that has limit of 4 GB per file.
## Split big file at Linux or Mac
```
split -b 3G bigfile.zip e
```
Will produce files like: eaa, eab, eac, ead
## Join file at Linux or Mac
```
cat eaa eab eac ead > bigfile.zip
```
## Split file at Windows
https://stackoverflow.com/questions/5693795/windows-command-to-split-a-binary-file
## Join file at Windows
```
copy /b eaa + eab + eac + ead bigfile.zip
```