Posts

Showing posts from March, 2022

some unspecified (non) protocols: rsync, openvpn, bitcoin

Image
Unspecified "protocols", which are not really protocols, tend to require both ends to have the same implementation, often at a similar version.  Real protocols require both ends to speak the same specified protocol.  In real life there are often grey areas, but things like TCP, HTTP, and sort of SSH fit into this category.   It can be surprising how widely-used unspecified non-protocols are.  Three examples for today: rsync, openvpn, and bitcoin.  By their nature, then, all ripe for replacement with something specified. Re VPN protocols, the ipv6 stuff is specified but rubbish, and the WireGuard thing recently added to the linux kernel appears to be unspecified, tho it's probably less coupled to the whims of openssl than openvpn is.   And I managed to get a 500 internal server error out of google's main search page in the process: "This should never happen".

fitting image to page when printing in gimp

My name's Tom and I work full-time in compliance.  Not as an employment.  But banks and the like just keep giving me never-ending admin tasks, in order to have access to my own property.  I don't see how economic growth could be possible under such a regime, and suspect that it's not, but here we are. One of the tasks of this kind of compliance officer is to print out screenshots, as banks love things on paper and in PDF format, which stands for "print digital format".  On Debian, not knowing better, I use GIMP for this. A reasonable default when printing an image to an A4 sheet might be to set a margin around the sheet, and then fit the image to fit the sheet within this margin, whatever comes first, height or width, subject to orientation of the sheet and aspect ratio of the image.  Without going below some minimum resolution, maybe 100 dpi. GIMP does not do that.  My screenshots, of xterms, were coming out tiny.  I looked up how to change it.  You have to go Im

Royal Mail 1st class stamps as currency and store of value

The cost of postage tracks debasement ("inflation") pretty well.  This is one of the ways you knew they were lying to you during the "low inflation" era.  When they said it was 1%, stamps were "going up" by 6% (actually, the currency was going down by this amount, being debased). The Royal Mail has a nice system where a 1st class stamp is a first class stamp, and is marked as such, instead of being marked with its monetary value.  A practical effect is that one can stock up on stamps in advance, and not have to stock up on tiny-value delta stamps when the price as denominated in the debasing fiat increases.  Nothing screams "I live in an extremely backwards country" like a row of stamps on the envelope, one for 1.xx fiats, the next for 0.04 fiats, the next for 0.07 fiats, or whatever the increases were.  This doesn't happen when a first-class stamp is just a first-class stamp. As an "investment", entering a period of high debasement

extracting images from PDFs

pdfimages , packaged in poppler-utils in Debian, can extract images from PDFs. Its default output format is weird.  It would be nice to have it just extract the images, in whatever format they're in, by default.  But to get this behaviour you need something like the option -all.  But even that isn't specified as "what comes in, goes out".  Instead, it is specified as:   Write  JPEG,  JPEG2000,  JBIG2, and CCITT images in their native  format. CMYK files are written as TIFF files. All  other  images  are  written as PNG files.   (I can't get blogger to remove that double spacing from the paste).  The reader is left hoping that "all other images" permitted in the PDF whatever-version format (PDF spec is a bigly moving target) are PNG.  But I wouldn't bet on it.  So some obscuro format might be getting converted to PNG still. The other gotcha is this from the SYNOPSIS and command-line usage summary: pdfimages [options] PDF-file image-root You have to re

Austria-watch: that Impfplicht (vaccine mandate) letter

Image
Some time in January or February, I got the letter from the Austrian government about the vaccination mandate.  Scan of this letter is at [0]. [0] < http://republish.coulddobetter.at/2022-02.bundesregierung.impfpflicht.scan.pdf > The Austrian government does half publish it online, in PDF, which is a print format.  They do not publish it in a web format or in any semantic document format, unless the semantics are "here's a rendering for A4 paper".  It's a sad comment on the web's failure that no one thinks to publish the actual document using a web format.  The web is just used for talking about and linking to the document, not for the actual document.  The actual document is in PDF.  Watch out, I'm going emit a DOCUMENT!  So it must be in pdf, rendered for print!  Fucksake. I converted it into simple html at [1].  The idea with republish.coulddobetter.at , currently nascent, is to format-shift / mark-up published documents from whatever they're publ

github pages is taking around 3 minutes to update

After pushing an update to a "github pages" site, it's taking around 3 minutes for the changes to appear.  This is a long time.  There is no progress meter, no indication of when it should complete, or, worse, that a change is pending at all.   It's not suitable for multiple change-view cycles.  One needs a separate way of previewing the changed content.  

Austria's Covid policies are increasingly absurd as of March 2022

It was obvious in early December, by looking at South Africa, that Omicron changed everything. During December, some countries, Austria included, put specific restrictions on travel from countries with high Omicron prevalence.  This was exactly backwards.  It should have been policy to have Omicron displace Delta as quickly as possible.  So reduce restrictions for travel from Omicron countries.  Or just remove all travel restrictions, and the greater infectivity of Omicron will do the rest.  Yes, this was all obvious at the time. If you know someone whose health was wrecked by Delta in December or January, and it was in a country with a policy of DELAYING DISPLACEMENT OF DELTA BY OMICRON, then this policy may have made the difference of which strain they got. Austria tightened restrictions on travel from Omicron countries Dec 26, way after it was obvious this was wrong and bad policy. There was some kind of police crackdown throughout January, as it was impossible to get a coffee witho

libreoffice / openoffice: setting print mode to landscape

One of the more hellish aspects of a life dedicated to banks' compliance processes is the rendering of CSV files into PDF, for submission. One can imagine a command-line typesetter, that deterministically produces print (PDF) output from a given CSV, with options around information preservation, text size, paper orientation, etc.  I've not yet found such a thing, so I use the other obvious technique: open the CSV in a GUI spreadsheet, and, using the print-to-file function, "print" to the PDF. I've encountered two issues with doing this. Under some circumstances, some spreadsheet programs truncate individual fields, removing information.  This looks bad (aesthetics of the rendered-for-print item is very important to banks), and may prevent the quasi-judicial entity (bank) presuming to audit my life from completing their checks. Under other circumstances, other spreadsheet programs split rows across multiple sheets.  Reconstructing the sheet from the printed matter

Bitstamp insults its customers at every stage: pop-up spam, cookie "consent" bullshit

Image
Bitstamp seems determined to stop a logged-in customer (after going thru the ordeal of logging in [1]) doing the things they need to do, instead distracting them and obstructing them with web-page-foreground-spam. [1] < https://wibblement.blogspot.com/2022/03/bitstamp-and-ebay-both-insult-their.html > In this case, there are two foreground spams to deal with before the customer can try to remember what they were actually trying to do, and then try to actually do it.  One is about "Stake your ETH", the idea of staking being unsound, and ETH being a scamcoin.  Even if it were not a scam, the foreground-spam would be unwelcome.  The other is cookie consent spam, thanks to the EU cookie directive.  You don't have to have it, if you only use essential cookies.  It's a big degradation of service to have it. This is how everyone thinks you design web sites.  If there is a function, it must be hidden under multiple layers of spam, and the user must fight at every stage

Bitstamp and ebay both insult their established customers with captchas, and lose custom

Image
As a matter of principle, businesses should be able to authenticate their own customers. If a business provides service over the internet, they should be able to authenticate their customers over the internet. If the business is handling a lot of valuable assets and / or money on behalf of their client, then the business must be able to authenticate their customers.  There is no excuse not to be able to. Captchas are infuriating "prove you're a human" bullshit, that values the time of the "human" at zero, and presumes to put the "human" to work for free, training some machine-learning database, with the side effect of some dorks walking around claiming they "work in AI".  Captchas, at a stretch, may be acceptable as a way of filtering anonymous strangers who turned up at a web site and want to do something.  Maybe they want to post, maybe they want to create an account, maybe it's something else.  Captchas are never acceptable as an ingre

Swifi codes

In Switz, Wifi, which they probably call "swifi", is commonly accessed by getting directed to a captive portal page and requesting an SMS code to a mobile number. Those paying close attention will have noticed that someone without capability to receive an SMS in realtime right now is out of luck. The problem with this is that the reason this poor wretch is trying to use your shitty "swifi" service is probably that THEY DON'T HAVE A WORKING PHONE AT THE MOMENT.  Maybe it ran out of battery, or maybe they didn't bring it today, or they don't have one, or roaming isn't working (for example, SMS reception does not work at all on Austrian network A1 prepaid when roaming outside the EU, Switz being outside the EU).  If they had a working phone, they would probably be using it perfectly happily for their internet access right now, instead of fiddling with your appalling captive portal. This SMS Swifi happens on SBB trains, public places, and even in hotels.

Eurotards check each others' papers more than dogs check each others' arses

The pandemic has brought a renaissance of papers-please in Europe.  It's not so much that Eurotards love checking each others' papers, although they do.  It's more that it's an element of their archetype of interaction.  Just as normal people naturally start an interaction with greetings and pleasantries, or dogs naturally start an interaction with sniffing each others' arses, so Eurotards start an interaction by checking each others' papers.   Two weeks ago, I was prevented from entering the main train station in Ljubljana by a chap who actually said "covid papers please".  Those were his exact words, and his first words, once he realised I didn't understand Slovene.  I did not have my covid papers on me.  He asked me to leave the station.  I was trying to buy a ticket for the next day, and the next day I came with papers, but jesus fuck, I would not have been able to travel.  This well after omicron is over 99% of new cases, and any sensible coun

ontology of seat pricks

If you sit in a seat, and you put your feet on, or push your legs against, the seat in front, you are a seat prick.  If the person whose seat you are messing up asks you to stop, and an hour later you are doing the same thing again, you are a very bad seat prick. If you yank on the head of someone's seat, to heave yourself up, you are a bad seat prick. If you recline your seat into someone else's space, and it's not night time, you are a recline seat prick. These are the basic types of seat prick: seat prick, bad seat prick, very bad seat prick, and recline seat prick.

you are even more disgusting than before the pandemic, especially you disgusting bloated milky (non-Jap) ones

Trying to have an optimistic take at the start of the pandemic, a friend remarked to me that at least people from now on may have some basic decency around coughing, sneezing, blowing their nose, having a cold, and so on.  No such fucking luck. Despite covid-papers-please Austria getting obsessed with papers-papers, and people threatening to call the police on non-mask-wearers well after Omicron exceeded 99% of new cases, sneezing out into the open on trains appears to be socially acceptable.  Guy a few seats away just spent a minute mega-sneezing out into the air.  During his performance, his hand moved around in proximity to his face, in a symbolic gesture that showed he felt like he should pretend to try and cover his face.  His being was in spasm.  Once he was done, he kindly got an FFP2 mask and put it on his face.  The only other person visibly disgusted by his behaviour was a Slav on the seats in front (update: later turned out to be a posh Ukrainian refugee).  The carriage then

SBB signature fraud

 The process of signing documents has got much worse in the last 7 years. The way it used to work is: they gave you two copies, you see if you're willing to sign, check they're the same, sign one, and give the other to them, noting on yours that you signed the other, or just signing it too, it doesn't matter. The way it often works now is: they give you a small blank screen to sign, and a stylus type thing to do it with.  You sign the blank screen, and their device captures this signature.  They then attach the signature, to whatever the fuck they want. I first became aware of this returning from Zurich airport after being away for a month.  I had had a GA, which means you buy access to all Swiss public transport for a fixed price.  I think it was 7 or 8 k for a year first class.  It saves a lot of time buying tickets.  I hadn't made enough use of my GA to justify the price, but I appreciated the convenience.  On this occasion my GA had expired while I was away.  They u

killing trees of Unix processes

Unix semantics around processes and signals are a bit gnarly. One issue I have with signals is that they conflate doing some simple IPC with a process, and doing something to a process.  In other words, the catchable signals and the uncatchable signals (and perhaps uncaught catchable signals -- it would depend on the design) are such categorically different items, that they should not be lumped together under "signals".  You want to kill a process, you kill it.  It doesn't have a say.  You want to let a process know about something, request it do something, whatever, great, you talk to it, that's a different thing. An issue I have with processes is that they are apparently hierarchically organised, via each process's parent process id, which is established at fork time, but this hierarchy is hard to make use of, and easily falls apart.   Trees of processes naturally represent useful things.  The OS as a whole is the tree rooted at (conventionally) init, with its P

output redirection at different levels (and a standard error developer debug crap rant)

 What's the difference the way output redirection is handled in this: $ foo > bar and this: $ xfoo -geometry +100+200 There are various differences, but the one I am trying to illustrate is as follows. In the first example, foo's standard output, which is a one-way text stream, and a Unix / POSIX concept, is redirected to the file called bar.  Whether or not it is redirected does not depend on anything from foo.  The shell, which is an execution environment that runs foo and opens bar and redirects the standard output (and prints that $ prompt at the beginning of the lines), takes care of it.  If foo writes to its standard output, this output ends up in bar.  If foo really wants to care, it can look at its standard output file descriptor, and find out whether it's on a filesystem, or is it pipe, or a terminal, and find out all about about it.  But by default, it doesn't have to care.  This is nice. In the second example, convention indicates this is a graphical progr

settling bills in restaurants has become an ordeal

The world has got much, much worse in the last 3 years. Until a few years ago, the way a restaurant bill went was as follows: you ask for the bill.  They bring it, and it's itemised.  It's on a slip of paper, maybe handwritten, maybe printed.  You check the items, if you like.  You check the addition, if you like.  You raise any mistakes.  You see if they added service, and add a tip, if you like.  You then pay by cash, or by card if mutually agreeable. Now, the way it works is as follows: you ask for the bill.  Someone fiddles around on some kind of electronic device for a very long time, right in front of you, so you kind of feel obliged to give them your attention.  Eventually, they presume to announce a total at you.  You ask for an itemised bill.  They initially pretend not to know what you mean, so you have to explain what an itemised bill is.  You say it can be on the screen or on paper.  At this point, they may flash the screen at you for a second, so you have to explai

the state of clock synchronization and setting in debian

 In the PC "architecture", there are two main clocks in the sense of what's the time.  The hardware clock lives on the motherboard, and can be spotted by its button-shaped CR2032 battery, which maintains the time even when no power supply is connected.  The OS clock exists in volatile state, somehow between the memory and the CPU, meaning it is lost when the OS is shut down.  From the perspective of a POSIX user, the OS time is accessed thru functions like time(2), or the date(1) utility. On boot, the OS clock gets its time initialised from the hardware clock.  Shortly after, depending on the system's ntp configuration, and the right network access, this may get replaced straight away with an ntp server's notion of the time.  Therefore, the sysadmin may not notice if the hardware clock is wrong, if the system gets its time from ntp shortly after each boot.  This creates a situation where, if the system has to be brought up without network (or internet, depending o

Kraken statements

I recently wrote down some basic requirements for statements from a financial account provider in “account service statement requirements” 1 . https://wibblement.blogspot.com/2022/03/account-service-statement-requirements.html ↩

no, such-and-such place did not make Bitcoin "legal tender"

Last year it was Ecuador.  Last week it was Lugano.  Places keep claiming they have made Bitcoin "legal tender", and tards keep repeating it.  I watched some Max Kaiser thing on Youtube the other day.  He kept saying Bitcoin was legal tender in Ecuador. Legal tender means if it's offered in settlement of a debt, and refused, then the debt is cancelled.  So every business, and every individual, must have a capability to accept it. Example: last year I went, based on a recommendation from a friend, to a restaurant called "Wilding" on Little Clarendon St in Oxford.  They forgot the order and there was a delay of around an hour, but the food was tasty.  When it came time to pay, I took cash from my wallet.  They preciously informed me they "only accept" card payments.  I informed them that I wouldn't be doing that, and that they were free to refuse my payment in cash, but this would cancel any debt from me to them, due to the legal tender law. Legal te

github pages and jekyll initial evaluation

github appears to offer free web hosting, integrated with their git service. You publish under a subdomain of github.io, or bring your own domain. To publish, you push a git repository (branch) to their service. This allows, or even requires, you to use git version control for the content. The content to be served can either be the git content directly, or it can be processed with jekyll, the static site generator, by the github service. As service design, this is mostly pretty nice. I would be using git anyway. So instead of pushing to a centralised git repo, and then publishing, this is a single action. With the static-site generation, I’m not so sure. I don’t know what can and can’t be done with Jekyll. But there is still the option to static-site-generate on one’s own computer, and commit the output of that to the repository, and push that, not making use of the github-side Jekyll processing. Permanent deletion is at best a pain with git, as it’s just not designed for it. So if p

duckduckgo is now a better search engine than google

I've switched my default search engine to duckduckgo.  It's simply better at finding web pages than google, despite its stupid name. Google search has become increasingly "curated", to the point where they're pushing whatever they want at you, and not really searching the web based on what you entered.  Only a few sad souls in google branch offices still believe in the neutral algorithm bullshit. This blog still isn't listed on Google, despite being authored and hosted on their platform, and me explicitly requesting it via search console.  Meanwhile, duckduckgo found it via a link, and it's just there. Google has been heading this direction for a while, and accelerating downwards, to the point where most interesting stuff on the web has disappeared again.  In other words, the google experience has regressed to whatever people were using in 1999, before Google came along.  

account service statement requirements

account service statement requirements What are the requirements for bank statements? More generally, for any financial statements by some kind of account provider. This could be a bank, broker, exchange, payment processor, credit card operator, etc. Take a bank account with monthly statements. You want it to show the start date, start balance, transactions with descriptions and amounts, the end date, and the end balance. You want the start balance plus the changes to equal exactly the end balance. Zooming out, you want this statement to follow on exactly from the previous statement, and to follow on exactly to the next statement. You do not want any transactions to be able to fall in between the statements, or to be duplicated on both statements. The closing balance of the previous statement must equal the opening balance of this statement, and not by coincidence, but because the end of the previous statement, and the start of this statement, represent exactly the same point in the