Ángel
@angel@triptico.com
Location: 40.4235492,-3.6617828
95 following, 226 followers
For anyone who wants to try out time-limited sessions, pam-session-timelimit is now in Debian unstable and Ubuntu lunar:
https://packages.debian.org/sid/pam-session-timelimit
I've also finished a patch to make pam_time integrate with pam_systemd, which after 20+ years makes it possible for pam_time to enforce the end of sessions and not just their start times:
Started Mastodon API support, so you can use Mastodon-compatible apps to access #snac accounts. What works so far: login, private and public timelines, full post information (replies and ancestors), liking and boosting posts. Things that don't work yet but eventually will: following accounts, posting and replying to messages (I still have to figure out how some things work, like posting images), notifications (needs some internal support), the instance timeline (snac does not have one, but it can be simulated with not much effort) and probably many other things. Things that will never work: bookmarks, pinning, a federated timeline, many other things that I don't remember right now. Please note that if you want to use this API in your instance, you must add some lines to your HTTP proxy configuration, see the snac(8) (administrator documentation) manual page. I'm doing my tests using the #Tusky (which sometimes crashes, surely my fault), #AndStatus, #Fedilab and #Husky Android apps. Success or failure reports will be appreciated.
Fixed some buffer overflows (contributed by Saagar Jha).
Fixed overzealous rejection of some local boosts.
Thanks again to the great people that makes this unique piece of software possible.
https://eli.thegreenplace.net/2012/08/13/how-statically-linked-programs-run-on-linux
The OpenSSL code has been refactored to avoid using deprecated functions.
Added more aggressive filtering on unwanted Announce (boost) messages.
What's Ruby?
An interpreted, multi-paradigm, high-level, general-purpose programming language. You need Rust to build it.
What's Rust?
A compiled, multi-paradigm, high-level, general-purpose programming language. You need Python to build it.
What's Python?
An interpreted, multi-paradigm, high-level, general-purpose programming language.
Do I need, uhm, Perl to build it?
No, but you need Perl to build Rust.
I knew it. What's Perl?
An interpreted, multi-paradigm, high-level, general-
It's expensive to be poor. It's ironic but true. You get charges and fees for everything. Higher interest rates. Overdraft fees. Late fees. Having only enough to buy what you need right now instead of buying in bulk. Losing your job because you can't afford to get your car fixed. Losing your car because you don't have a job. Even your mental faculties are drained, as you are forced to continually eat low-nutrition foods, "sleep" in miserable conditions, and be exposed to toxins and lack of medical treatment. The lack of liquidity wipes you out. Life really does kick you while you're down.
You can't tell someone trapped in that vicious cycle to "just" get a job or "just" make responsible decisions. Sometimes, no amount of good decision-making can stop the vortex sucking them down. So the next time you are tempted to place moral judgment on someone who lives in poverty, think twice.
Signed, someone who has been both a Have and a Have-Not.
[1] https://www.andechs.de/en/monastery-brewery/product-range/bergbock-hell.html
If these gems were not available for me, I would also be happy drowned in belgian Kaiser Karel, american Spencer Trappist Ale or german Hofbräuhaus.
Does #honk support the C2S ActivityPub protocol?
CC: @virtuosew@mathstodon.xyz @stitchsprout@socel.net @inkstitch@diode.zone @FediFollows@social.growyourown.services
"I see no hope for the future of our people if they are dependent on frivolous youth of today, for certainly all youth are reckless beyond words... When I was young, we were taught to be discreet and respectful of elders, but the present youth are exceedingly wise [disrespectful] and impatient of restraint".Hesiod
piensan que las IA son la panacea que les ayudará a conseguirlo sin esforzarse lo más mínimoHay mucho de eso, yo también lo creo. Como dice Terry Pratchett, en el mundo hay mucha gente a la que le gustaría haber hecho cosas.
Very valuable information for watching a "the very best of..."
Y es una pena, porque técnicamente el protocolo está muchísimo mejor diseñado que el ActivityPub.
Estoy interesado en tu pisoEsto ha ocurrido antes. Si no haces nada, entienden que el piso está vacío, así que entran por la noche, arrasan con todo y matan a todo el mundo que está dentro. Si contactas y dices que no estás interesado, lo entienden como una provocación, y entonces entran por la noche, arrasan con todo y matan a todo el mundo que está dentro. Si les dices que quieres negociar, te sueltan un montón de buenas palabras para tranquilizarte pero después entran por la noche, arrasan con todo y matan a todo el mundo que está dentro.
Teléfono █████████
Lo único que te queda es coger todo lo que puedas ahora mismo y salir del piso lo antes posible.
“The reason most public transportation is seen as ‘losing’ money is precisely because it charges for trips. If you don't charge fares, suddenly it can't ‘lose’ money. It just costs money, the same as the roads.”
This random comment has given me my new favourite argument for removing fares from public transit.
It is obscene that governments effectively require people to have internet connectivity to be able to function in society but abdicate responsibility for ensuring that people actually have that and delegate it to for-profit enterprises instead
Does issuing an eject command to a USB flash drive make it spontaneously fly across the room?https://research.exoticsilicon.com/articles/eject_command_hacking
https://torbsd.github.io/obsd-relays.html
Also applicable to other server software that need a lot of file descriptors for network connections or whatever.
Summary: increase the openfiles value in /etc/login.conf and the global kernel number with something like sysctl kern.maxfiles=20000.
accidentally wrote "saad" instead of "saas" in a text to my partner; they immediately coined "Software as a Disappointment"
and honestly, where is the lie
The oft-forgotten, but useful tcpdrop(8) command accepted:
# tcpdrop 192.168.5.41 80 192.168.5.1 26747 # space
or...
# tcpdrop 192.168.5.41:80 192.168.5.1:26747 # colon
It now also accepts a 3rd syntax, compatible w/ netstat(1) output:
# tcpdrop 192.168.5.41.80 192.168.5.1.26747 # dot
I didn't know that Livejournal still exists, by the way.
I'm from Spain and knew about the song in German, didn't remember there was an English version.
QUÉ BIEN 😠
Generating Platonic Solids in C++ (2021)
https://www.danielsieger.com/blog/2021/01/03/generating-platonic-solids.html
Discussions: https://discu.eu/q/https://www.danielsieger.com/blog/2021/01/03/generating-platonic-solids.html
TONIGHT at 7:30pm PST! Tune in to the LIVE-STREAM for The ROAST of Bruce Campbell at SF Sketchfest! 🔥🔥🔥🔥 https://www.moment.co/sfsketchfest?ref=artistsocial
From time to time, it's worth to remember that, more or less, all planets from the Solar System fit between the Earth and the Moon.
😆 😆 😆
You can edit your own posts from now on.
Fixed the breakage of Emojis I introduced when implementing HashTags because I am a moron.
Added adaptative timeouts when sending messages to other instances.
top(1) should benefit of a sentence explaining these measures a little bit.sysctl kern.allowkmem=1You must put it in
/etc/sysctl.conf.This is probably common knowledge for OpenBSD superusers, but I'm still a bit of a newbie here.
Thanks for the clues!
In this very same machine, I get the error
procmap: /dev/mem: Operation not permittedno matter the option I give to
procmap. I vaguely recall this command working in the past.angel@lucifer:~$ sysctl hw | grep memI always took for granted that
hw.physmem=8453619712
hw.usermem=8453464064
angel@lucifer:~$ top | grep Memory
Memory: Real: 98M/4030M act/tot Free: 3779M Cache: 3116M Swap: 0K/4088K
top output was to be interpreted as 'Real:' + 'Free:' = total memory, but now I'm deep in a sea of doubt 😕Also Mastodon: insert <span> tags into the fucking middle of everything just for shits and giggles.
Jodidos medios.
#OpenBSD developer @phessler just committed the addition of The Atkinson Hyperlegible font into OpenBSD ports tree
https://brailleinstitute.org/freefont
It's made to be the most readable possible, there is a nice PDF explaining how they did https://brailleinstitute.org/wp-content/uploads/2020/02/BIA_AtkinsonHyerlegible-Specimen_200210.pdf
Will this year give start to the era of "rewrite everything in Zig"?.
Daniel Stenberg, of the #curl tool and library fame, wrote not long ago an article [1] wondering if years in copyright notes are mandatory or not... His conclusion was to delete all year mentions. I'm not sure if he's right; I'm going to keep them by now (updating them, of course).
Thanks for your help.
[1] https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
Added support for #HashTags (they are not internally indexed yet, only propagated to other instances).
Added support for OpenBSD enhanced security functions unveil() and pledge() (contributed by alderwick).
The purge ttl for stray global objects has been shortened.
In the HTML interface, don't show the collapse widget for non-existent children.
Added support for HTTP signature pseudo-headers (created) and (expires), that are used by some ActivityPub implementations (e.g. Lemmy).
When replying, the mentioned people inherited from the original post will be clearly labelled with a CC: prefix string instead of just being dropped out there like noise like Mastodon and others do. (I hope) this will help you realise that you are involving other people in the conversation.
El choque de civilizaciones interplanetarias del Dr. Hawking:
https://blogs.publico.es/lapizarradeyuri/2023/01/14/choque-civilizaciones-extraterrestres-hawking/
Perhaps this flood of content will prove beneficial [...]. But that outcome does not seem highly likely in the near future. Instead, we're likely to see code submissions from "developers" who do not understand what they are posting; this code could contain no end of bugs and, potentially, license violations. Cut-and-paste programming has long been a problem throughout this industry. It is far from clear that automating the cutting and pasting is going to improve the situation.https://lwn.net/Articles/918790/AI-generated text has its own challenges. Our mailing lists and forum sites do not lack for people trying to appear authoritative on subjects they do not really understand; how many more will show up when it is easy to get a machine-learning system to produce plausible text with little effort? Even the most ardent believers in the "last post wins" approach to mailing-list discussions will get tired and shut up eventually; automated systems have no such limits. How long until we have a discussion on, say, init systems that is sustained entirely by bots?
Your work is impressive. I love it.
snac, the minimalist ActivityPub server written in C. As these features are opinionated and probably even controversial, they will be off by default. These are the ideas:First, add an option to automatically drop all announces (boosts). Unless your affinity with the people you follow is deep, boosts are just (usually) tangentially interesting, probably flooding your timeline and just forcing you to spend more and more time inside the social media space. A variant of this would be to make this option not global, but by actor, so that you can 'boost-mute' only those adorable but annoying fellows that are particularly trigger-happy to the boost button (implementing the option this way is more work for me, but not that much).
Second, add an option to drop all messages that are not public nor mentioning you. That is, filter out those infamous 'follower-only' messages. People use to engage in these follower-only conversations, so you only receive these chat fragments without context (unless you also follow all the people involved) and they are purely noise. In my opinion, follower-only messages are a very bad idea that just pollute the space (and this is why snac doesn't implement them and never will).
Third, add an option to drop all replies to your messages from people that you are not following. This would prove useful for very popular, mostly announce-only accounts. I agree that it's a bit elitist and probably toxic, but also helps in spending less time inside the social networks and more time painting or writing or taking the dog for a walk.
What do you think?
value = user_value ? user_value : default_value;Where you test
user_value and, if it's non-zero, you store it in value; otherwise, you set value to default_value.What you may not know is that, thanks to a gcc (and others) extension, you can abridge that expression to this:
value = user_value ?: default_value;This ?: thing is colloquially named the 'Elvis' operator (if you don't see why, just look at it with you head slightly slanted to the left).
Me, any time I do something wrong from now on: "PLEASE DO NOT ATTACK ME. An AUTHOR has TOLD a STORY."
(From here: https://upstreamreviews.substack.com/p/not-dead-yet )
https://ianleslie.substack.com/p/mutually-assured-engagement
https://floooh.github.io/2019/09/27/modern-c-for-cpp-peeps.html
I find the article interesting not only for C++ "peeps", but for us greybeard C programmers as well, who learnt the language in the eighties. Remarkable sections in the document are:
- Use struct wrappers for strong typing (I've never done this, but it's interesting; accessing the components inside the structs may become a bit tedious, though).
- Initialization in C99 (I haven't used this to its full potential).
- Don’t be afraid to pass and return structs by value (as an old fart, I always pass pointers to structs, and this section reasons otherwise for small structs).
- Named optional arguments (or, as the author more accurately describes this, the "option bag").
Researching mines in northern Spain I came across this curious object. It's a canary cage designed to keep the canary alive in the event of a gas leak. If a miner saw the canary laying at the bottom of the cage it was time to abandon everything and leave the mine, but not without first closing the latched glass door and opening the valve of the oxygen bottle to save the bird. A miner would do that on their way out and take the bird with them. It's a signifier of the miner's legendary sense of solidarity, no lives lost to the mine on a miners watch. A solidarity that was also crucial in the fight for workers rights, creating safer and more humane working conditions, achievements of unionization and solidarity that some of us still enjoy today.