TECHNOLOGY OLD AND NEW

Just another one of my ramble posts this time. I finally dug out
the 80s era old wireless FM radio microphone that I picked up years
ago and tried sitting it near the speakers from this PC and tuning
in to it with the clock-radio in my bedroom, at the other end of
the house. Sure enough it works great for listing to music playing
from this PC. Besides doing my morning interenet browsing/emailing,
and writing this nonsense for my phlog, this old mid-90s PC also
gets put to work as a music box on weekends. It now even has two
sound cards, the original "OPTi" ISA sound card (I could have
swapped it for something with more pedigree, but I'm really not too
fussy), and my DIY HardSID ISA card with a 8580 SID chips for
playing Commodore 64 SID music, built last year.

The only problem is that when doing all my weekend household chores
(well no, not "all", in reality it's any that absolutely _can't_ be
put off for another week) I move all over the house and in/out of
range of the music. I actually tested out this old wireless
microphone years ago, but got all obsessed over tapping into the
audio signal directly and then never got around to
building/modifying an FM transmitter to do that. Just plonking the
microphone down near the speakers really works well enough (the
microphone in this one actually has quite a good frequency range),
and actually it's more convenient than messing about with cables.
It also works off just one AA battery, and I suspect it won't chew
through that very quickly. This is an old-fashioned wireless
microphone by the way, with a long wire dangling down for the
antenna. Now they all use GHz band radios so the antenna is small
enough to build in, and need special receivers rather than just any
old radio, and probably have special batteries, dedicated chargers,
and frankly I also think the sleek, shiny, tubular,
machined-aluminium construction is a loss as well. Anyway, what do
I care? It's working well. Now I just need to hook up a separate
set of speakers to my TV so that I can listen to ABC Jazz without
leaving the TV on and wasting power (it's only broadcast over
digital TV, or online radio but then I waste internet data).


Onto newer technology, last week I finally got back to setting up
the VPS that runs my websites, first enabling authentication in
Dovecot and Postfix so that I could enable Postfix to send messages
originating some place other than localhost, and read mail there
via IMAP. As all mail is forwarded to another account that I fetch
via POP, and I use my ISP's SMTP server for sending, it hasn't
really been a top priority. However the rare times that I'm away
from home it would have made some things much easier if I'd been
able to connect from an email client rather than using Alpine on
the server (with unfortunately doesn't like MD format mail, and my
cludge of getting it to talk to Dovecot over IMAP on localhost
causes a lot of annoying warnings). Alpine was actually the first
email client that I used, but somehow I've always found little
hitches with using it, I've ended up preferring Sylpheed for email
- selecting messages from the list using the mouse and opening
messages in new windows have become features I struggle to live
without. Funilly enugh I went the other way with Usenet - starting
in a graphical client then moving to a terminal one, the same for
Gopher as well actually. Oh I am rambling today.

Speaking of Usenet, thanks to yeti and snowcrash in
tilde.meta/tilde.pink I finally learnt about Mosh, which I had
heard of before but though it was just a terminal program for smart
phones (seeing that Mosh meant "Mobile Shell" probably reinforced
this, though thinking about it now Americans don't call smart
phones "mobile phones" like us Aussies do). It turns out this does
a lot of the "predictive" stuff that I had in mind for my Ghost
Shell idea mentioned here:
gopher://aussies.space:70/0/%7efreet/ideas/2021-11-05Ghost_Shell.txt

The limitation of not being able to scroll up the buffer in the
terminal window is pretty frustrating though. People say to use
server-side solutions such as GNU Screen instead, but I'm someone
who often uses "cat" instead of "less" in remote SSH connections so
that I can avoid the lag in pgup/pgdn type quick scrolling. I think
I get the technical reason why they did it this way, I guess I
would have preferred something at the shell level like I suggested,
similar to command-line FTP clients. Perhaps it would be possible
to add to Mosh some explicit triggers for local processing,
including transferring text files for local editing like I
suggested before, then reserve the "frame capture" style of display
for programs like Lynx and Alpine where they're needed. Maybe one
day I'll look at it, seeing as Mosh has done the hard work like
sorting out a protocol, but then it's in C++ and hacking C++ code
always seems to be torture - classes drive me nuts. It also won't
work with PuTTY (I tried to trick it by linking ssh to plink, but
plink just doesn't have the features required), which brings me
full circle back to my horrors trying to get OpenSSH to build the
way I wanted it to on my old systems. Plus there's no Mosh package
for the distro I'm running on my Internet Client, though hopefully
it will compile there OK (unless that's why there's no package),
testing was done in Devuan on my "new" laptop (which I still
haven't switched over to using, even since its reincarnation as a
Thinkpad T60).

The other thing I set up for the VPS was automated backups. Since
I've been going places where I can tap into other people's internet
less and less, my VPS backup routine has been pretty sketchy. I was
going to use my Oracle Cloud free account to run another VPS to
store backups in some of the huge 200GB block storage that they
give you, but I decided to look into the Object Storage service.
You only get 20GB free storage there (10GB of which is "archive"
storage - not immediately retrievable), but that's plenty as the
backup files are currently at 1GB compressed (I'd like to run a
more stripped-down system that was smaller, but the VPS provider
doesn't make it easy to use custom images even though I went with a
KVM VPS in the hope that they would, as least running Debian makes
updates simple). Oracle want you to install and use their own OCI
command-line program to do uploads, but if you set up a 'policy'
you get a long hashy URL that can be used to upload from a HTTPS
client such as Curl.

Of course you can't use Rsync like I was originally going to with a
dedicated backup VPS, but my website VPS sits around all the time
with hardly any load, so I might as well run a backup process with
"nice" occasionally and get some processing done for my money
(well, my $1USD/month).

I wish they could have used SFTP or FTPS or SCP or something
_designed_ for uploading files, but "the cloud" seems to be all
about cramming things into HTTPS for better or worse. Heck the
whole maze of exotic cloud services that Oracle offers seem largely
about replacing the concept of a private server that you SSH into
with a whole network of differet serverless services all configured
and interconnected via endless pages in the web interface, or even
the javascript terminal thing that they have so you can run their
"oci" commands without needing to actually install their program on
your own computer. It really speaks to some sort of love affair
with HTTPS and the web in general.

Anyway, the suggested command to upload files is (where $BKUPURL is
the URL matching the "policy" that you configured):
 curl -X PUT --data-binary @[source file] "$BKUPURL"/[dest. file]

But I'm used to streaming backups so that I don't have to store
them on the machine before uploading them, thereby avoiding the
issue of always needing enough space for everything twice. Easy
with FTP:
 put |"tar cvJ ." backup.tar.xz

But try this (I don't trust Oracle's own encryption, even though
they'll supposably use your own key to encrypt it if you supply one
(how exactly would you know though?), hence the gpg step):
 nice tar cJ . | \
 nice gpg -c --batch --passphrase "$PASSPHRASE"\
 --pinentry-mode loopback --cipher-algo "$CIPHER" -o - | \
 curl -X PUT --data-binary @- "$BKUPURL"/backup.tar.xz.gpg

And you run out of memory (my website VPS only has 1GB + swap - you
just can't get for $1USD/month what Oracle give you for free :) )
because Curl actually tries to store the whole file in RAM before
uploading.

Though the Oracle docs don't mention it for some reason, Curl
actually has the -T option for uploading files, but it attempts a
chunked transfer by default and although Oracle have a script
showing how to do multi-part transfers "their way" (which assumes
you already know the total file length), the regular method doesn't
work and their server just sends back an error. So they don't just
want HTTPS, they want HTTPS _their_ way, ho hum. Anyway forcing an
empty "Transfer-Encoding:" header with Curl's "-H" option solves
that problem:
 nice tar cJ . | \
 nice gpg -c --batch --passphrase "$PASSPHRASE"\
 --pinentry-mode loopback --cipher-algo "$CIPHER" -o - | \
 curl -H "Transfer-Encoding:" -T - "$BKUPURL"/backup.tar.xz.gpg

But now Curl is unhappy because it doesn't know what to say in the
"Content-Length:" header and spits out some error or other. OK,
specify an empty "Content-Length:" header as well then:
 nice tar cJ . | \
 nice gpg -c --batch --passphrase "$PASSPHRASE"\
 --pinentry-mode loopback --cipher-algo "$CIPHER" -o - | \
 curl -H "Transfer-Encoding:" -H "Content-Length:" -T - \
 "$BKUPURL"/backup.tar.xz.gpg

No, now Oracle's server spits back an error demanding a valid
"Content-Length" header! So it turns out streaming data to their
Object Storage isn't allowed anyway. A scan of the HTTP 1.1 spec
suggests that Content-Length is a required header, so I was being
cheeky, but couldn't we just have been using a file-transfer
protocol in the first place? Like I say, it's easy with FTP. Oh
well, I gave up and stored the backup file locally before uploading
with Curl (which still runs out of memory when using Oracle's
command) this way:
 curl -H "Transfer-Encoding:" --limit-rate 2m \
 -T newbackup.tar.xz.gpg "$BKUPURL"/backup.tar.xz.gpg

The rate limit avoids saturating the network connection. It's
probably conservative, but still about 5x as fast as my home
internet.

So I'm using that (with some extra stuff to keep some old copies of
the backup archive) for now, at least until storage space on the
website VPS gets tight. But is this really easier than running
one's own VPS with programs that talk over the protocols you want
and don't have their own way of handling things like multi-part
transfers? I'm not so sure.

OK to be fair, I don't know whether Object Storage is commonly used
for backups or whether most people choose something that works with
Rsync or a fancier alternative. Hosting large files for inclusion
in websites is probably a big application, indeed seeing as the
URLs look pretty anonymous I might use it in the future for hosting
large files to link to from my Gopher hole, instead of using Yandex
Disk with its need for a Javascripty browser so that people can
click the "Download" button (and see their Russian ads). The
chunked transfer and empty Content-Length header problems both
suggest that their back-end system needs to know how big a file is
going to be before it decides what to do with it, which may be fair
enough but they could have been a lot clearer about that limitation
in the docs.


So just as I was finishing off all that VPS tinkering (watching
people try to brute-force the Postfix authentication and other
log-file fun actually) - the power went out. It was one of four
long black outs that persisted into the weekend (this was all a
week ago by the way, take a guess why I wasn't writing phlog
entries last weekend). It was one of my 'post days' so luckily I'd
already printed out order labels and picking slips at midday,
though I had to dig out the carbon paper hand-written customs forms
for the international parcels and fill them out by hand - how oh
how did I stand doing so many of these only a year ago before the
online system was brought in?!

Got back from town and the power was still out. I really should
have hung around there and ordered a pizza. However it was a chance
for another attempt at getting one of my late grandfather's
collection of camp stoves going. I've been somewhat obsessed by
these kerosene 'Primus' stoves (branded 'Companion', but that seems
to be an Australian company and hence the internet knows nothing of
it, well actually I did eventually find a manual scan burried in a
forum thread). I've got two, and in the past I've messed about with
them and never had any luck getting them properly lit. The design
is pretty clever - once lit they maintain a pressure inside the
fuel tank which forces a spray of keroscene through a tiny nossle
where it ignites below the stove-top. The trouble is that to get
this started you need the a lot of heat around the nossle, and
pressure in the tank.

You get the heat by burning methylated spirits in a little basin
below the burner, and build the pressure with a distinctive-looking
hand pump (brought into action just before the last of the metho
burns up). Long story short, I could never get either stove to
light properly in the past. Only one of the stoves actually had a
plunger part in it, and as basically just a block of deteriorated
rubber I did wonder how it was supposed to work, but the internet
provided little help so far as identifying names and diagrams of
the parts involved. I tried swapping the plunger over to the other
stove, and got some pressure, but never got anything I could cook
with (by 'cook' of course I really mean warm up canned foods).

I tried again that time and it went about the same way. So instead
I dug out the more modern gas camp stove that I picked up later.
The trouble with it is that the gas canisters are more of a pain to
get than metho and kero, and doubtless expensive (though I don't
actually know where you get them - I've just got the rusty old ones
that were with it), plus throwing away the cans seems wasteful.
Anyway I couldn't get it to work peoperly either - spluttering out
all the time. So I resigned to another drive into town and called
up the pizza place to place on order, but their phone rang out
(they're not very reliable, possibly not even open on some days
that their window says they are), so I went back to the gas stove
for another try and  discovered that the plate that needs to fit
into a notch on the gas can actually needs to be perfectly centred.
Wriggling the can a bit  resulted in a soft click, and then it all
worked a treat!

So that got me my canned soup for Thursday night, and the power
came back just before dark - in time for the TV show I wanted to
watch even. Next day the power went out again just before 9AM, so I
threw in the towell and decided to go for a drive. I ended up
having a great time exploring a quiet spot around a long narrow
bridge hidden down a badly corrigated gravel road - even
discovering (and trying not to fall into) some old gold diggings
near the adjacent rock face. Unfortunately shortly after leaving
the Jag developed some nasty grinding sounds from the front
driver's side wheel, seemingly triggered after use of the brakes.
So I fueled up at the over-priced independent petrol station in the
nearest town (I haven't seen a bowser still showing old labels for
leaded/unleaded petrol for quite a while!), then began an extremely
braking-efficient and slightly hair raising trip back. I made it
home alright by late afternon, and the power was on! Then a bit
over an hour later it was off again.

Even though I now knew how to bend the gas stove to my will, my
obsession over the kero stoves hadn't quite subsided. So without
much else to do, I dug out the two 50s era ex-army petrol camp
stoves (not the tall ones frequently documented online, I'm
guessing these are again an Australian version and hence largely
unknown to the internets, though the principle is the same) that my
grandfather also had. Frankly I'm too scared to mess about with
these given that petrol is so flammable. A Wikipedia page somewhere
also suggests that modern petrol additives block up the nossles.
However they have a pump that looks similar to the kero stoves, and
pulling them apart I found one with a much different looking,
cup-like, part at the end of the plunger. The plunger shaft itself
couldn't be swapped over, but the cup bit was held on with nuts,
and fit in the pump of the kero stove, so I swapped it over and the
pumping action was noticably more positive than with the bit of old
rubber in there before.

So I filled it up again and this time after a few pumps the
kerosene clearly lit from the burning metho, and with time came to
make a nice roaring sound with blue flame shooting out below the
hot plate. Great! Only trouble is that I hadn't got anything ready
to cook. So I put it out, grabbed a small saucepan, can opener, and
budget brand baked beans, and came back all excited only to have a
hell of a time getting it to burn properly the second time. I think
half the trouble was that the burner needs to be in just the right
temperature range, and the other was that the wind was picking up
out on the verandah where I was doing all this. So almost an hour
later I _finally_ got it to light properly again and warm up my
beans (before blowing out again). Anyway, now at least I have some
notes for last time: use out of the wind, and don't light until
ready to cook.

[Later research online revealed that the "cup-like part" is called
a cup washer, traditionally made of leather though I'm not sure
whether all the modern ones still are. They're relatively cheap on
Ebay (oh and you can buy dedicated cup washing devices to use in
the kitchen apparantly :) ), though come in a lot of sizes and
usually in packs of five or ten, so I decided against buying a
spare. The one from the army stove looked in pretty good condition,
even if it may well be over half a century old.]

The power didn't come on again that night, so I ended up with
candle-lit evening reading a 1950s magazine  about (rather
ironically) electronics. Seeing as my dream of a romantic
candle-lit dinner with a lover in the sun room has never happened,
it's nice to at least put the candelabra to use. Lesson learnt
though - don't let the candles burn all the way down or you end up
with a pool of melted wax in the bottom which is a pain to clean
out. Three candles down, about 40 to go, well at least I'm prepared
in that respect.

The power was on and off again the next day as well, but I was busy
pulling apart the wheel hub on the Jag so I hardly noticed anyway.
The nasty noises were just because a screw that holds on the brake
disk splash shield had rattled out on those washboard roads, and
had been getting jammed up somewhere. No damage done, but shame the
hub had to come off to get to those screws, though the wheel
bearings were about due for re-greasing anyway.

So there's a little window into my adventures with technology new
and old. OK, a long and rambly window that most people may regret
looking though, but there you go. I've spent a fair chunk of my
weekend writing up all that over Saturday and Sunday mornings,
between running off to do my chores. It's a hot day today, so I'll
just stay inside and tinker about with stuff in the nude, but
hopefully achieve something a little more productive than just this.

- The Free Thinker