not legal advice u cant sue me if u dont put age protections in your os and then get got by the feds
( Read more... )
not legal advice u cant sue me if u dont put age protections in your os and then get got by the feds
( Read more... )
these openclaw bots make me so sad
( step away from the keyboard amity 2 ai posts in 1 month is too many )
once, when assigning an essay, one of my professors said something that's stuck with me. he was eccentric, and near the end of a rant about student work, he went, "You should consider each word you write. If you haven't thought about it, why do you expect me to?"
I hate smartphones!!!!!!!!! I am a big fan of small and silly electronics but the modern smartphone is a devilspawn consumption machine. it is small and serious and seriously unsilly and seriously EVIL!!!!!!!!!!!!!
for a while I've been thinking about what I'd want out of a smartphone replacement device. a seriously silly tiny portable computer of some kind, with support for all manner of communication peripherals. I'm not a hardware person in the slightest so some of this may be talking out of my ass lol. and obviously this whole list is sort of excessive but that's why it's a wish list and not a send it to the build team, David! list
I'm envisioning something modular-ish where there's a central computer unit that can talk to a bunch of peripherals over a bus of some kind.
as far as the main body goes, here's what I'd like:
and then, the modules themselves!
so yeah that's it! be interested to hear any additions or comments. I'm probably at least a year out from even beginning to make this thing, but it's nice to write down ideas.
I've been ~aleteoryx, toodles
what i mean:
toolchain bloat is everywhere in so-called modern development. while it's fun to laugh about node_modules being huge or rust taking a while to compile, isn't it a problem? not an inconvenience, a problem.
the personal computer was supposed to be the great machine that would empower humanity—and it has, just not in the way we thought. the dream of the personal computer was that anyone could have access to the most powerful force multiplication technology ever devised. and while massive corporations reap the harvest of their digital empowerment, the tools for true individual empowerment are locked away, hidden behind the incantations of a special few.
microsoft windows was, originally, designed to let you use your work's computer, not your own computer. the dominant way to access computation wasn't built for its user to control it. if what one owns boots up to BASIC, they might pick up a little bit of programming. they might even master it. if what they own boots to some friendly GUI, if the keys to programming are made obscure, hidden behind a second purchase that a layperson would never think to make, there's a good chance they never will.
of course, in the modern era, we've seen the endpoint of this. far from an instrument to universal empowerment, the smartphone is a computer bound and gagged. it is a machine for consumption and (ostensibly) communication, nigh-impossible to use for anything not dictated by someone else, by an "app". it is a machine opposed, fundamentally, to individual empowerment. it is a thing which its buyers cannot own.
of course, it is better on the more traditional computer. the internet overflows with guides for the installation of a linux distribution, and countless nerds would be happy to help someone who knows not the mystic rites of the computer, to learn them and bask in newfound power. though one still needs to seek out digital empowerment, the resources one finds are plentiful and free.
but what resources? what might a newbie flock to? there are many lightweight ways to build software. but The Future is being built in rust. The Future is being built in typescript. The Future is being built on expensive, powerful computers, with hefty toolchains only tamed by high core counts and swathes of ram. The Future is being built by people whose work supplies them with machines that make the bloat of their code invisible to them.
in $current_year a smartphone, a decent one, will run you at least maybe $500. a laptop, a nice one, will run you at least maybe $1000. it is impossible, in this world to live without a phone. it is possible to live without a computer. if the choice is between a cheap phone and nice laptop, or nice phone and cheap laptop—or no laptop at all—what choice do you think someone strapped for cash would make?
what might it feel like, for the novice, to want to learn the tools with which The Future is made, and find that they run painfully slow. what might it feel like, to realize that the tools of The Future aren't for you?
I do not know. I am not a novice, nor am I particularly deprived of speedy computing hardware. but I have spent the last few months on a limited machine, a modified chromebook with a celeron-class chip and 4GB of RAM, and in that time I have come to resent rust.
I resent the arrogance with which it forces its bloated toolchain on me, and I resent the code which forces me to run it. I resent the obscenely long compiles for even simple things. I have had no real issues with writing code in C, in python, in dlang, in perl, in tcl, even in java. but I feel, overwhelmingly, like the language in which The Future will be built, and in which the past will be rewritten, is not for me. not like this, anyway.
the classism of it all is striking. but I suppose this is typical of the march of "progress".
so, somewhat on impulse, I went to PyCon this year! this is the post on that. it took a while because I wanted to give some insight into racist development policies in Pittsburgh, before ultimately concluding that, while I can talk about these things casually, I cannot write intelligently on them.
( Read more... )
25 months ago, the 28th of March, 2023, I made my account, and my first post here. in that time, I've changed quite a bit in many ways and stayed the same in other ways.
Dreamwidth has been and continues to be a good home for my posting. it does markdown and works under mothra(1), what more could you need? it's also played an important role in preserving certain civil liberties in the US.
I really don't have much to say here, other than "woa... nunber....", but it's been a good time posting here. I'll be back for one of these in 25 months or maybe more or maybe less. 32 is a nice round number.
anyways, happy blogging,
~aleteoryx
P.S.: no, I definitely didn't do it today because I forgot to last month, shut up!
I went to VCF East this weekend! it was a good time, I saw a lot of cool stuff, and I met some youtube people. stay tuned for a more in-depth blog post maybe assuming I have the time and energy.
anyways, while taking a rideshare (I know, I know) back to my hotel, I had a conversation with the driver. it was a white tesla. we were discussing politics in a very shallow and unopinionated way, and at a certain point I had roughly the following exchange:
Driver: You into cryptocurrency?
Me: I think it's pretty dumb. Waste of power.
Driver (removing his baseball cap and showing the bitcoin logo on it to me): Yeah, well, y'know, I'm pretty into it.
Me: I mean, it's not a good use of resources. Satoshi's paper is interesting, but-
Driver (interrupting): You've read the whitepaper?
Me: Yeah. It's an interesting idea, arguably elegant, but I don't think it's wise to actually use it like this.
Driver: Y'know, all FIAT currencies eventually go to zero. Crypto's all that's-
Me (interrupting): Frankly I don't think any form of large scale economy is a good idea.
Driver (after a pause): ...you might be right.
that last point has been playing back in my head ever since. I'm not sure what to make of this man, who I would assume to be a libertarian, agreeing with my distaste for the concept of an economy.
this one's gonna be a bit bleak; contrary to what you may guess from the title, it is not about Current Events in US Politics. I have 3 years to entirely reorganize my life, for entirely different reasons.
see also: solderpunk's The Standard Salvaged Computing Platform.
( Read more... )
you can consider this something like a review, too.
Citizen Sleeper is one of my favorite games of all time. you're a robot! made for Capitalism Reasons! you're on a space station! you're on the run from Capitalism! oh shit! it's a simple and manifestly appealing (to me) pitch. the game itself is an RPG about building a support network. you need to meet the right people, build up relationships, make inroads to communities. it's a game about building a life for yourself with the deck stacked against you. not rags-to-riches, just rags-to-clothes.
it was a deeply moving and deeply touching game when I played it, and it did that with a rather simple set of systems. every day you have a set of dice rolls, 1-6. the number of dice you get to work with varies based on a plot-related health mechanic. most actions in the game that aren't "buy some food" require a dice. you can pick which of your rolls you use, but lower numbers lead to higher chances of failure, and for more dangerous tasks failure can be catastrophic. a day with a bad set of rolls can ruin the trajectory of your quests ("drives"). as you complete quests, you unlock skill points that can be used to give you an advantage, but low rolls still come with risks.
each day passed also advances certain clocks, and that's how the game handles story progression. "John Capitalism is going to murder you in 10 days if you don't find a way to hide out."
that's really it. there are some other things, like a way to convert poor rolls into money ("chits"), but almost everything in the game stems from daily chance and impending consequences.
like I mentioned above, when I played Citizen Sleeper in early 2023, it was deeply affecting (points the reader in the direction of this article's icon), and so, I was extremely excited by the prospect of a sequel. when Citizen Sleeper 2: Starward Vector released a month ago, I got it almost immediately (newsletter ftw!). I am not all the way through it yet, and so I don't have a lot to say in terms of the plot.
what I would like to make note of is how well Citizen Sleeper 2 builds on its predecessor in terms of systems. it feels like the central design goal was to increase player agency. the health system from the first game, which decreases linearly over time, is replaced with a new system, where failing risky actions can lead to temporary and permanent forms of injury. control of your health is moved from the plot itself to the dynamic between the plot and the player. there is an emergent sense of sacrifice when chance puts you in a bind.
clocks are mostly the same, but a large portion of plot now revolves around one you can rewind through major action. again, this is control moved into the player's hands, but game gives itself a way to force your action.
of course, there is also the major added system, and the game's namesake: the "starward vector" in the title is the player themself. there are now multiple maps in which to explore and act, and the player is given a ship with which to traverse them. this is well-implemented, and allows the game to work with a far enlarged scope from the original, but it also ties into the most critical portion of the game, character relationships. characters you encounter can become shipmates, and their skills assets as you embark on missions off-station. missions themselves are themselves potential mechanisms of plot progression, and the characters you take with you can affect this. it's really impressive how seamless all of this is.
it really feels like CS2 was built with the primary intention of putting more things in the player's direct control. the first game was a simulator of being a person with working executive function in a bad situation, and it thrived on forcing you to make hard choices. the sequel fits that exact synopsis, it's just more. everything kept from the first game is refined, everything added marries wonderfully with what's already there.
going into CS2 having played CS1, it's a strange feeling. the sequel is so derived from the original that it almost feels like an expansion or DLC. this is not the case, but it's not a bad thing. in a way, the first game was like a tutorial for a lot of the second game: I don't need to think about engaging with all the systems in CS2, I already know intimately how to reason about half of them.
anyways, I would absolutely suggest you go pick up both games and play them in order. they're excellent and can be had for $40 on steam.
that's all! I've been aleteoryx, toodles.
Originally posted on the fediverse. Doing some PESOD.
so i was looking through the codebase of a rather widely-used C++ FOSS project. one that's known for its simplicity and minimalism, in fact!
of the things:
object.setSortMode
#define constant, btw. because we want our indirection system to be kinda checked by the compiler.class Foo with property Foo foo_ and method initMyFoo(Foo& foo). i don't get why the method doesn't just operate on the class itself, it would be basically impossible for it to be used on anything other than this->foo_.anyways, im not gonna name the actual software project, because i do think it's good and i dont want to publicly shit on FOSS devs unprompted. i just hate how aggressive the misapplication of patterns that could be useful is.
like, string indirection is handy! DI is handy! there are plenty of cases where "initialize this thing based on the state of this other thing" is necessary! but the overuse of these patterns where it's not necessary and likely never will be leads to an ostensibly simple program being utterly labyrinthine to get a foothold in. this is a simple program, that basically just runs a library and renders a list from it, whose code is written like it will ever do anything more than render that library's data. it's designed for "loose coupling" of things that are just never going to not be directly coupled.
it's not an underperformant application, it's not a memoryhog, it's just written to preempt a fundamental change in design and purpose that has yet to come in the last 2 decades of the software's existence. genuinely, what is the point?
quick post, but I wanted to suggest everyone see this movie! it is not showing much where I am, and I don't think it's going to make back a lot of money, which is a shame, because it's great.
The Return is a pretty straight adaptation of the ending of Homer's Odyssey. for those unfamiliar, The Odyssey follows Odysseus, as he and his men make their way back from the Trojan War, to Ithaca. various things happen that make his journey back take significantly longer than it should have, and he returns to find his home overrun with several suitors, trying to court his wife and become the new king in his absence. at the end of the story, he slaughters them all, and reclaims his throne.
now, one may hear this, and come to the conclusion that the movie amounts to 2 straight hours of glorifying violence and war. indeed, a lesser production may have made the choice to reduce Homer to bloodshed. The Return is, instead, a wonderfully restrained production.
( spoilers, in case you plan to see it. even if you have read the odyssey, it is worth going in blind. )
Odysseus is played by Ralph Fiennes, who readers may know as Voldemort, the chef in The Menu, and a number of other roles. he is excellent. Penelope is played by Juliette Binoche. the suitors are cast perfectly, by which I mean 2 of the 3 suitors with the most screentime are played by actors clearly picked for their (and this is mean) hatable faces. it's some McPoyle shit, and it was a great choice.
( complaints, don't read this till after you see the movie )
it was a really excellent time, seeing it, and you should too! it is certainly not a perfect film, but it is a gorgeous and mostly faithful adaptation of Homer. the ending shot seems to be indicating a sequel, and I would love to see one from this same team.
anyways, till next time,
~aleteoryx
sigh.
a couple days ago I spilled coffee on my main laptop, my primary machine for everything. ...and in trying to air it out my clumsy ass gouged a resistor on the mainboard. so it's in the shop. I've had good experiences with uBreakIFix in the past, and I'm hoping they can repair the mainboard without the $700+ replacement cost I'd be looking at for a new part.
the result of this is that I have gone from strictly using an archlinux install to using a fresh windows 10 install, as I've decided to use this event as an excuse to fix up my desktop, which will be running windows until ALVR stops bugging out on me or such a time as I can afford a non-standalone VR headset. this is my first time daily-driving windows in about a year and a half, and it's weird to be back.
well, I do in fact regret not having proper backups. there's no good reason the data on my laptop won't be mostly recoverable, but it's going to suck to be without my development environment and servers for a bit. nothing absolutely 100% critical is missing, but it's going to be profoundly inconvenient for a while.
I also clearly need to have a solution for accessing SSH without my primary machine. I may end up putting together some sort of backup keystore that can be securely accessed in times like this.
no device of mine other than my laptop currently meets my standards for encryption of sensitive files. I am going to try deploying a solution like veracrypt to my windows systems, and begin mirroring critical files from my laptop to there. I will also be synchronizing my obsidian vault somewhere. time permitting, I will organize and backup my dotfiles somewhere.
good, actually. instead of reaching for choco as a package manager, like usual, I decided to finally try winget. this was the right choice. no longer am I confronted with 20 confirmation prompts and licensing upsells, instead the system Just Works. I have yet to try installing something through winget and have it fail. as in, everything I have tried blindly winget installing has Just Worked. this goes for everything from vencord to 7zip. it's wonderful.
I am also realizing that windows 10 was, in fact, created by UX designers that knew what they were doing. I am appreciating the various small UX optimizations that came about in its 8-year lifespan quite a lot.
I am by no means a windows fan, but I am not some linux evangelist either. it's always fun setting up a new machine.
anyways, I've got to go read the aeneid.
~aleteoryx,
signing off
I've killed my redmine. Not for any fault of its own, and I feel bad for the little Rocky Linux install that could, but I don't have a reason to keep it up now. Everything worth saving has made its way to my archive.
There are a few reasons for my doing this.
This is more an incompatibility between soft-serve and Redmine, but a problem nontheless. Redmine just can't read the Git directories stored by soft-serve. I don't know if it's a perms error or what, but part of my reason for picking it in the first place was good Git integration, it's not much different to any other ticket system.
One of the main devs, on their official install, has the username of something something <the N word> something something. Maybe they're black, but I strongly doubt it. If memory serves there was no such indication.
Concerning.
The main point in me having it was as an issue tracker. There are so many buttons on the page for a single issue, and I honestly cannot tell which does which. The "reply" and "edit" buttons open an identical interface. etc. It feels like Discourse, where the app thinks it knows more than you, and decides to hide shit from you.
...and that I was renting an extra VPS to handle the Rails install needed for it. Oh, yeah, it's a fucking Rails app. Because ofc. Also my themes broke after an update? So part of the fun of it being really really cute was just taken from me ig. Upsetting. (Going to have to make amehut even cuter to recover!!!)
I think Redmine is great for people other than me. The lighttpd folks seem to get on fine with it, it just doesn't work for my flow. Thankfully, it has been wholly obsoleted by amehut, and I took the time to copy over the old issues to the new scrobble.observer issue tracker. The VPS is being shut down, and the domain links to this article. All is well in the world.
Toodles!
Welp, I'm hosting another thing, but this thing will probably end up being very much so used in the future.
ameHUT(ah may hut), a sr.ht install!
I have a lot of respect for Drew DeVault, and the general philosophy with which he operates. Sourcehut is exemplary of this. It is ascetic software, shipping barely anything to the browser and relying only on Postgres and Redi{s,ct} in the backend. It eschews fancy modern editors for mailing lists and git send-email. Most important for me, it is software built to stay running, and software built to work first and show off later. It is software built to be lightweight and yet capable of scaling with load trivially.
Switching from cgit/soft-serve to this as my main forge feels better, in a way that other, more cluttered programs do not.
SourceHut is also project-focused, not repo-focused. What this means in practice is that docs can be associated with code, without sharing a file tree; announcement feeds can be associated with a number of repos, instead of just one; etc. I find this significantly nicer in terms of organization, and it's a shame GitHub et al. don't have much similar.
Deployment was a thing!
I spent a week or two setting up the services on a little Alpine box at my house. It proxies via Wireguard to the VPS that runs my core internet services, and I have an Apache macro to manage proxying. Currently, this macro does not account for API proxying, and I will be fixing this... eventually! Currently there are 3 users, myself included, only 1 of which, yours truly, has actually used any of the services, which is to say there is no strong demand for a working API at present time. Wouldn't be hard to get working though lol
SourceHut is built to be easy to shard. Each subdomain is composed of 2+ services, most minimally an API server and webserver. As long as all services can see the same Postgres and Redi{s,ct} databases, it sorta just works. At present moment, I do not have the need to shard, so, naturally, I set the server up on a Core 2 Duo with 2GB of RAM. Does this work? Yes, actually! With minimal stability issues, too! Sourcehut is almost exclusively written in Golang and Python, which accounts for its backend lightweightness. There will probably be an eventual hardware upgrade, but yk, it works for now.
The setup process for each service is roughly the same. Install the package with APK, copy in and tweak the example config from Git, tell the webserver to listen over Wireguard, start everything, test it, and add them to the default runlevel. There were no major issues during it.
Currently the following subdomains work, and run the same-named services as sr.ht:
Planned are:
The first is unimplemented due to poor documentation(a rarity in this project, as it were). The second is unimplemented because I am lazy. The third requires special treatment and I have yet to provision a VPS for it. I will likely reuse the one that currently powers redmine, and decommission redmine.
At some point, I will be soft-forking the sr.ht project, and changing around the color scheme and some of the marketing details.
I've put together an FAQ that says mostly the same stuff as this blog, with some extra details thrown in.
Almost! If you want an account on amehut, and we've interacted before, PM me here or anywhere else. Despite some of the slightly cursed details of the backend, it runs like a dream.
IKR! Also when did you learn to type my headings? Ah whatever.
Aleteoryx, signing off.
These are obviously not rules, but I see a lot of alt-text that misses the mark in one way or another, and I try to follow these general guidelines when writing alt text.
Remember, alt text will not be parsed by human eyes, it will be spoken by whatever TTS the viewer's screen reader uses. I see a lot of criticism of DaShareZone's alt-text, but if you actually run it through TTS, it sounds almost normal. "WHUT R U DEW EENG" and "What are you doing?" sound almost the same when run through TTS, and the main difference is in annunciation.
Consider your username. TTS pronounces mine as "ay l tier eeks", but a closer pronunciation can be gotten with "uh lee tee ore ikhs". I recently wrote alt text for a screenshot in which a username was "sexhaver". The TTS I test with pronounces that as "seksaver", instead of "sex haver". Screen readers are camel-case aware, so I generally just change any strings like that to a camelcased form, e.g. "sexHaver"
Mastodon provides in-built OCR for image uploads, to make alt text easier to add. This is not a perfect function. If you're uploading, for example, a variation on the "Is this a pigeon?" meme, and replacing the butterfly with an image, the generated alt text may just be "Is this a XYZ?"
My general strategy is to start with a broad description of the image context, followed by each important element. The opening might look like:
Then, each element might look like:
Feel free to omit stuff! If a screenshot includes tens of things, but your focus is on only one, you can just describe the bit that matters. Alt text is not about perfectly describing an image so that someone can see it in its entirety in their mind's eye, it's about getting the point of the image across. Especially in the case of a joke post, terse alt text is critical to making the punchline land.
I generally try and provide extra context when putting alt text into images. Many fediverse frontends provide a way to view alt text as a sighted individual, and I find that nice for making my screenshots simple. I don't need to have a lot of extra visual data, I can just crop to a small area and introduce the alt text with "it's this Minecraft modpack", "it's this website", etc. This is the main curb-cut effect from alt text, and I am a huge fan of it. There are people far more technically talented than me on the internet, and it gives me just that much more of a foothold to try and understand out what they're doing.
That's about it. I just wanted to share that, cause I see pretty bad alt text a lot, esp for memes. Also, it doesn't need to be nearly as structured as the above for most cases. You can always just do something like "A photo of my new black tank top.", for simpler images and that will suffice. Structure is only necessary for complicated screenshots and shit.
That's all from me! Toodles!
Vote for Kamala.
With all that being said, let's talk about lesser evils.
For years, I misunderstood the trolley problem. Rather, I did not see the significance. In one case, 5 people die, in the other case, just the 1 does. Obviously, you go with the case where only 1 dies. 5 people are saved from imminent death. What could be complicated about that?
I have since discovered that the difficulty here, for some, is one of framing. Some people cannot bear to be the one to throw the switch. To them, throwing the switch is acting to kill one person, and that makes them a murderer. To them, their inaction makes them innocent.
You may be one such individual, dear reader! You may think this way! Do know, if you are, that I am talking to you specifically when I say: You are selfish.
This framing of saving 5 people as murder only works if inaction is framed as "minding your own business". It only works if, by doing nothing, one assumes irrelevancy. That's not how it works.
There's a refrain that's been popular recently. That the solution to the trolley problem is to, "Stop that guy who keeps tying people to trolley tracks." It's clever, but it's naive. In the real world, sometimes the guy is just too good. There are times where the only way to stop the bad thing is to cause a different bad thing.
Inaction is an oxymoron. Being a physical thing in time means you are always acting. Even the ground beneath you is undergoing constant heat transfers. You can't not do something. Inaction is not "minding your own business," it is a deliberate choice to do fucking nothing. By choosing a course of action where you do not prevent something, you become a second cause for it to happen. You become a murderer of 5 instead of 1.
Obviously, were anyone really in the trolley problem, a number of complications could arise. You could freeze, hesitate, panic, etc. There are a number of ways one's behavior could be involuntarily limited in crisis. To anyone with survivor's guilt, I am not talking to you.
As for what I am talking about,
If you are not explicitly aligned with Donald J. Trump, you have a moral duty to vote for Joe Biden.
I don't like this. I dont like that this is the case. I dont like that the Best Available Option is a cop-loving israel-supporting half-senile bastard. I have even been known to hate it, but I understand the situation. There is no way to keep Trump out for 4 more years but to get someone to have more electoral votes, and there is no realistic way to do that but to back Biden.
This is not about Joe Biden.
This is not even about the Dems.
This is about praying for the death of Donald Trump to come soon and making sure he can't do shit before then. This is about keeping my rights, and the rights of my friends. The rights of my fucking mother.
How self-centered do you have to be to think of it any other way? "Ohhhh I could never vote for Biden because XYZ :/" Suck It Up. The world is shit, and you will die if you cannot bear to pick the lesser evil. If you are gay or trans or queer or bi or whatever else, you may get yourself killed. You're not choosing to not support Biden, you are choosing not to stop Trump.
If you can have that on your conscience, you need to go ask yourself why that is. Why you care so much more about your self-image than anyone else. Why you can live with being so overwhelmingly selfish and self-centered, and yet can't bear to do anything else.
Figure it out soon, and fix it.
Oh my god suck it up. Yes, Biden is senile. Suck it up. Let him get elected, at the worst chances are that Harris will 25th his ass, and at absolute worst he croaks in office. In either case, we get a black woman president and don't actually have to deal with Biden. He is bringing with him an administration that has been generally positive, especially compared to Trump. We can expect more strong anti-trust legislation, for one, even if nobody's home in Biden's head.
Most email scams are pretty boring, but this one was creative in its execution from what I've seen.
I got an email from noreply@[[redacted]], saying to login to my cPanel account for "urgent messages".
Being that I don't use cPanel, I clicked on the link, assuming this would be entertaining. I did not expect to get sent to an IPFS proxy URL, and yet there I was. This "login page" is kinda neat! It stores an email in the URL fragment and then puts an iframe in the background to display the person getting scammed's website. Anyways, this just submits the credentials to https://encon-co.in/fireb/general/_apr/pb3/index2pb3.php. I assume encon-co.in is the actual attacker's server.
Anyways, I think it's neat that the strategy is essentially "spread through cPanel installs to gain a pool of usable emails." The IPFS obfuscation is also kinda fun.
I've let the affected company know about the security breach, and contacted the registrar of encon-co.in and cloudflare, in the hopes of stopping the scam dead in its tracks.
Cya next time!