Categories
Brainwaves

I watched an HBO production video Government Surveillance: Last Week Tonight with John Oliver featuring Edward Snowden.
Entertaining presentation of a very complicated and serious topic.

Categories
Brainwaves

I looked at secushareBox (AKA boxen): A CLI devices management utility built on P2P and GNUnet. Looks to be deserted now. And the binding from this Go code to GNUnet is done via system() calls, not a library? The motivation for this utility sounds reasonable, I might revisit it for inspiration later on.

Time to look into running GNUnet on my own. Whatever that means…

Categories
Brainwaves

GNUnet at FOSDEM20: FOSDEM20 featured several Pine64 products, e.g. PinePhone. Now I found out GNUnet was covered as well. I’ll have to dig into this!

I watched the introduction to GNUnet from FOSDEM20. Sounds like a great project, ticking all the right boxes for me. Though the dark shadow with this one is that it is a giant undertaking with years and years of work (both behind and ahead of it) on multiple fronts. Then again, what do you expect when you want to replace the whole ISO/OSI stack?

Categories
Brainwaves

Watched 34c4: SecuShare looks cool!

Secure Scuttlebutt is not anonymous and this is what put me off when initially looking into it. That as well as that it is reinventing the wheel and not using a standard protocol / library.

Reading about SecuShare makes me excited. Even more so when I compare it to reading about e.g. Secure Scuttlebutt or other non-cloud social networks.

I read about PSYC: I have my doubts about a 1995 protocol, but hey, SecuShare uses this, so it has to be cool, right?

Categories
Brainwaves

Discovered youbroketheinternet.org and secushare.org with some interesting points on how and why the current Internet is broken. Can’t really argue with them…

Federation doesn’t work, here is why: I thought federation was a way to go, an improvement on the current centralized corporation-owned services. Though still somewhat true, I can’t argue that federation isn’t as awesome and wildly spread as it should’ve been by now.

GNUnet looks to be “better” than I2P or Tor according to SecuShare’s site.

Is SecuShare project still alive? Looks interesting, lots of good ideas and observations (e.g. on federation and P2P technology in social setting).

Well, there are 2020 updates on the page. Sounds like it lives to some extent.

SecuShare Prototype: “Mobile is further down the road, re-using the code for desktop. The problem is getting our daemons onto mobile operating systems.” — looks like a job for PinePhone, i.e. native GNU/Linux smartphone?

Categories
Brainwaves

Discovered GNUnet. A redesign of the Internet with privacy in mind. The main point that stuck with me was that it is a framework, not the end product. It often occured to me that a lot of the inovative privacy-respecting distributed applications have to reinvent a lot of stuff. Which is a dumb thing to do if you know anything about security or value your developers’ time.

Found out about CADET-GTK which is a GNUnet-based messenger: CADET-GTK
Looks to be alive, supports libhandy (convergence, yay!), though not very far in terms of development. Maybe I should help here?

GNUnet repository: Looks to be alive. Nice.

GNUnet documentation: Lots of modules are provided, e.g. DHT, File Sharing, GNS name service, crypto functions, …
Several interesting apps are already in the making with this. Sounds interesting.

GNUnet is NOT based on or using blockchain. GOOD! I hate blockchain.

Discovered Taler: GNU microtransactions system that could act as an alternative to ads.

Categories
Brainwaves

Markdown, anyone?

Right after sending my first post I discovered that I couldn’t be bothered to enter raw HTML. Markdown on the other hand is quite easy to write. Hence my update to the wordpress-rest-curl tool, which does the transformation from markdown to HTML on its own!

Categories
Brainwaves

I’ve improved my WordPress instance with the ability to post to it through the REST API right from the terminal. How? See https://git.dejvino.cz/dejvino/wordpress-rest-curl

And why? I want to experiment with “brainwave” posts, i.e. very short posts that require only minimal effort on my part, but still provide a lot of value. To any potential reader and to me as well, since I can easily track and record what I worked on.

Categories
Awesome Hardware Linux

Orange Pi Zero running in QEMU

I needed a way to run an Orange Pi Zero SD-Card image of Armbian as a virtual machine. And this is actually possible with QEMU!

This is the command I used:

qemu-system-arm \
-M orangepi-pc -m 1024 -cpu cortex-a7 -dtb boot/dtb/sun8i-h3-orangepi-pc.dtb \
-kernel boot/vmlinuz-5.4.45-sunxi -initrd boot/initrd.img-5.4.45-sunxi \
-append 'earlyprintk loglevel=8 earlycon=uart8250,mmio32,0x1c28000,115200n8 console=ttyS0 root=/dev/mmcblk0p1' \
-nographic -serial stdio -monitor none \
-drive file=Armbian_20.05.3_Orangepizero_buster_current_5.4.45.img,format=raw,if=none,id=d1 \
-device sd-card,drive=d1 \
-nic user,model=allwinner-sun8i-emac,hostfwd=tcp::50022-:22

Original source: https://forum.armbian.com/topic/7547-run-armbian-into-qemu/?tab=comments#comment-86797

You need to get the contents of the /boot directory from the SD Card image so that you can start booting it. I just used scp to copy it from a running Orange Pi Zero to my main machine. The command above doesn’t actually run an Orange Pi Zero board, it runs an Orange Pi PC, though this is almost the same thing. At least the CPU is the same (note: Allwinner H2+ and H3 are binary compatible). But it has more memory!

Why run Armbian in QEMU?

I wanted to compile an application written in Rust. The problem was that installing it the official way through rustup (or more precisely rustup-init) resulted in an error:

info: installing component 'cargo'
info: Defaulting to 139.4 MiB unpack ram
thread 'main' panicked at 'RUSTUP_UNPACK_RAM must be larger than 220000000', src/dist/component/package.rs:200:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'No process instance', src/currentprocess.rs:126:17

The newer versions of rust required more memory than the Orange Pi Zero had! Mine had 256 MB (since I thought I’d take this as a challenge instead of going with the 512 MB version). Rustup needed at least 220 MB on its own.

Alternatively I could get some cross-compilation toolchain. But that seemed even harder; I couldn’t find anything usable.

Categories
Hardware

Serial Connection to Orange Pi 4

I thought I’d use my trusty CP2102 USB-UART adapter. But as it turns out, it only works up to 1 Mbps, while the Orange Pi 4 is running at 1500000 bauds. Oops.

My other attempt was to try the Raspberry Pi‘s serial port, but that also didn’t work. The data coming in was also just a random garbage.

I tried using a random Arduino‘s on board serial module CH340 (while having Reset hooked up to GND so that it bypasses the Atmel chip) but that for some reason didn’t produce any data on the high baud rate. Even though based on the specification of the chip the baud rate should be supported.

My next attempt was with an ESP32 dev board, hooking it up similarly to an Arduino. No luck, turns out there is again the CP2102 chip. There was some output from the Orange Pi 4, but again it was garbage since it can’t keep up at this speed.

Finally I found a lonely DAPlink module that is specifically designed for ARM programming. Among other things it has a UART with 3.3V TTL levels. And bingo, this one was fast enough to finally read the Orange Pi 4’s debug UART port.