79 Followers
15 Following
1.4K Posts
Adminhttps:/www.public.outband.net

That stupid new california law requiring age verification, I finally read it and my conclusion is that on unix like systems compliance could be as simple as

echo $YEAR_BORN > ~/.config/ca_ab_1043

That is, all the required interfaces are already present, an os vendor does not need to change anything to be in compliance in the peoples republic of California. and if the user fails to run the age tracking, then it is them that is out of compliance.

For truly malicious compliance it looks like the application could then check for the age wherever it feels like it. "I tried, but I could not find any information at .config/ca_age_cat the user must not have filled it out"

But really, it is such a stupid law that it smells of a frog boiling scheme to me. "If we can get away with an easy change on the os vendors today, we can get them to do anything we want in the future.... for the children of course"

anyhow for grins and giggles here is the actual text of the law. don't lose to many brain cells.

https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202520260AB1043

Bill Text - AB-1043 Age verification signals: software applications and online services.

AB 1043 Age verification signals: software applications and online services.

Anyone else have a problem with the spell checker on firefox/openbsd? Or is it just me.

It barely works for me, it will identify the misspelled word but almost never provides a correction suggestion. I have gotten to the point of writing a short script that pulls from the select buffer sends it through aspell then back into the select buffer for me to paste back into the field.

On the plus side aspell is a much better spell checker than the included hunspell was. On the downside it's an involved process whenever I want to spellcheck something.

And on the griping side, I find myself spelling much better in general, so there is that.

Ha, the infernal thing sort of works.

How we got here: I have a linux install I use as a gaming system. but the gpu fan map is not working correctly, But I can still change the fan speed by hand. And while I was poking at it trying to understand the system I had a terrible idea.

"Why are we using temp maps to control fan speed, wouldn't it be better to have a closed loop controller where you set the temp you want the card at and it figures out what speed to set the fan?"

Now completely derailed by my own nerd snipe. I know more about pid algorithms than I ever wanted to know. and have some janky python code that can keep my gpu at a atable temp.

The worst part is, the pid stuff is the easy part. but I also built a gpu heat simulator so I could get some intuition tuning pid variables before I inflicted it on an actual gpu. then I wanted to use a midi dials box to control the tuning parameters. then I wanted a curses interface so I could see the state. then I wanted to run the pid core separate from the control interface so needed a client server architecture...

Sometimes I am my own worst enemy.

Pardon the rant, first world problems

One of the reasons I still use google translate, over something like deepl, is that when I give it a word in a character set I can't read(for example japanese or chinese) in addition to translating it will give me the word in roman characters. Which I really like.

Or at least I thought it would, for some strange reason it only does this on openbsd(firefox or chrome), on linux(only tried firefox) it is nowhere to be found, only presenting the speak feature. I have no google login(and thus no preferences), I am even sporting an openbsd user agent string on linux to see it this would help. It does not.

It is such a miner thing, but also so weird, (what on earth is obsd doing[or missing] to deserve this feature.) It's been bothering me for a couple months now.

This is hilarious. There was a border dispute between California and Nevada. And because it was never resolved, apparently it is still ongoing.

https://en.wikipedia.org/wiki/Lake_Tahoe#Government_and_politics

When California was admitted to the union it's border was defined a certain way and later when Nevada was admitted it's border was defined in a different manner. At the time it was thought that these two methods were identical but when they actually went out to survey the border it turns out they are not. And because congress does not have the authority to change state lines I guess it is up to the states themselves to negotiate border disputes and both refused to give.

Lake Tahoe - Wikipedia

I just wrote a shell script where(for stupid complicated reasons) instead of just running the commands it prints them and you are expected to pipe them to a shell process to run them. Is there a name for for this madness?

sh script.sh | doas sh

If curious: the stupid complicated reason is that my home directory is nfs mounted with no root access and I need to run the script as root but root has no access to the script. thus the pipe dance. But I can see the benefit in verifying that the critical section is correct before running it.

Many years ago I had a co-worker who wrote all his scripts like this, I thought he was a bit daft then, but perhaps he was on to something.

An odd C case:

I am not much of a C programmer, but I find myself wanting to add a DNS SRV lookup to an existing C program. Because I am not much of a C programmer I figured I would create a stand alone test, to get a feel for the problem. After a bit of perusing the man pages I settled on getrrsetbyname(3) mainly because it looked easier to use than res_init(3), anyway...

My test program started looping in a way I can't explain (IOCCC material?) and I was wondering if someone more failure with C would be able to tell where I went wrong.

#include <netdb.h>
#include <stdio.h>
#include <arpa/nameser.h>

int srv_rr(const char *hostname) {
struct rrsetinfo **result;
int rc;
rc = getrrsetbyname(hostname, C_IN, T_SRV, 0, result);
printf("rrsetbyname rc: %d\n", rc)
return 1;
}

int main(int argc, const char *argv[]) {
int i;
int rc;
for (i=1; i < argc; i++) {
printf("%d %s\n", i, argv[i]);
rc = srv_rr(argv[i]);
}
return 0;
}

I am almost certain it is my rather naive struct rrsetinfo **result; because when I change it to struct rrsetinfo *result[10]; the looping goes away. However I am unable to tell why it was looping in the first place and that is keeping me up at night.

I wanted to display something from my PC on my phone. Now there are many good ways to do this, but I choose none of them. I had just installed a terminal program on the phone(termux) and noticed that they had a X11 install. So I went "of course, that is exactly what I need X11 on my phone"

And honestly, it is glorious. Despite using X11 for many years, I have never actually sat down with a bare X server and used it as god intended. The best way to describe it is you now have a network attached monitor. It is not simply that I can display programs running on a remote machine. I can trivially display programs running on all the remote machines. Sure I have to willingly discard thousands of man hours of security protocols to get here. But sweet deity is it cool.

Hell my plan for the weekend is to spool up a dedicated box(probably a raspi) to attach to my tv, it's whole purpose in life, an open X server.

What program? you ask: The rather excellent but impossible to search for "trend". I wanted to display cpu/gpu temperature graphs while playing a fullscreen game.

http://www.thregr.org/~wavexx/software/trend/

Trend: a general-purpose, efficient trend graph

A seek question. I am trying to compile a go program but it wants to do a SEEK_DATA

As openbsd does not have this whence flag I am seeking wisdom as to what would happen if I just straight replaced it with SEEK_CUR

I am unable to form a concrete opinion on what SEEK_DATA is actually doing some, I mean sure it has to do with sparse files, but.... why would you need such a loose definition of offset? it unsettles me.

https://www.man7.org/linux/man-pages/man2/lseek.2.html

https://man.openbsd.org/lseek

lseek(2) - Linux manual page

The social network nobody asked for.

https://www.public.outband.net

Just a silly thing that has activated my neurons recently.

It started as an exercise in postgres users, so you know its strange.