Show more

In case some of the crates use C code and build something themselves, like ring crate does, you have to point cargo to the right tools using the environment variables, but in a lot of cases it figures everything out on its own.
Also rust crate version 0.16 didn't support 32-bit PowerPC properly so to port TUI RSS reader here github.com/veeso/tuifeed I had to update a few dependencies to use newer ring 0.17

Show thread

It appears that cross-compiling with Rust is rather straightforward: just install the target you're… hmm, targeting with "rutsup target add <target>", and use "cargo build --target <target> --release" — not much harder than it is with Go.
Considering that your target is available via rustup — mine, PowerPC MUSL system wasn't and I had to build natively, I'll figure out how to add my own targets later. But building for my old ARM machine went without a hitch — and, surprisingly, the binary works😂

I have sussexfully updated rust (and cargo) to 1.79 on my PowerPC MUSL machine running Void.
xbps-src makes cross-building software so easy, in absolute most cases you only have to specify the target architecture and here we go — although it fails to produce a working dynamically-linked Python for PowerPC, but it looks like a bug in libffi. In any case you only have to worry about platform-specific workarounds, most of other stuff is done for you — and it just works!

m0xEE boosted

@nina_kali_nina @kirtai Wow, MicroWeb makes DOS look like quite the limited OS! Yet they got something working, despite needing to implement the whole networking stack themselves!

@ajroach42 you might be interested? github.com/jhhoward/MicroWeb

Why the fuck does crates.io require JS and refuses to show any content at all without it?
Requiring a full browser with JS support just to view info on modules is even worse than Go giving you URLs in help messages — it was bad enough, but this… is simply unacceptable! 😩

m0xEE boosted
m0xEE boosted
m0xEE boosted
@Cocoa @p Alright, tested the process out on a VM with rebased that has like one user and three posts. I'm gonna assume you followed instructions on https://soapbox.pub/install/ during initial installation (which for whatever reason make you use some third-party package manager for Erlang/Elixir, which I think should work with base Pleroma). If not, you should already know whether something should be adjusted.
1. Stop pleromer (`systemctl stop pleroma` or whatever other init system you use)
2. Log in as pleroma user (`sudo -Hu pleroma bash`) and enter /opt/pleroma
3. Rollback vegan-specific migrations by executing following commands in that order:
MIX_ENV=prod mix pleroma.database rollback 20221207235104
MIX_ENV=prod mix pleroma.database rollback 20221029171353
MIX_ENV=prod mix pleroma.database rollback 20220927220033
MIX_ENV=prod mix pleroma.database rollback 20220819171321
MIX_ENV=prod mix pleroma.database rollback 20220624104914
MIX_ENV=prod mix pleroma.database rollback 20220225164000
MIX_ENV=prod mix pleroma.database rollback 20210612185407
4. Exit pleroma user (`exit`) and drop the column that can't be rolled back with mix: `sudo -Hu postgres psql pleroma -c "alter table users drop column location;"`
5. Go back to /opt, rename /opt/pleroma into something else (e.g. `mv /opt/pleroma /opt/glussy`), then clone upstream repo (`git clone https://git.pleroma.social/pleroma/pleroma`)
6. Copy config/prod.secret.exs from old directory to new.
7. Log back in as pleroma user, go to /opt/pleroma and run the following to compile the new version and migrate the DB
mix local.hex --force
mix local.rebar --force
mix deps.get
MIX_ENV=prod mix compile
MIX_ENV=prod mix ecto.migrate
8. After all that's done, log out and restart pleromer (`systemctl start pleroma`). If there are no invalid config entries, it should work out of box. If not, stop pleromer and try running it manually (`sudo -Hu pleroma MIX_ENV=prod mix phx.server`) then tell me what the error is. Worst case scenario, you'd have to remove DB configs (`TRUNCATE TABLE config`) and reconfigure it manually.
m0xEE boosted
m0xEE boosted

LOL, on orders from Russia’s GenPro, Vkontakte blocks popular account of “Z-poet Gennady Rakitin” that was actually Nazi poems translated by antiwar activists trying to show invasion supporters that their "patriotism" is simpatico with 1930s–40s Germany. t.me/sotaproject/83006

m0xEE boosted

A FUSE filesystem and dungeon crawling adventure game engine? What's this madness?

github.com/ChrisRx/dungeonfs

m0xEE boosted

Rossiyskaya Gazeta, Russia’s official govt newspaper, publishes an essay by lawyer Ilya Rusyaev where he says the verdict against the Nevzorovs should be a model for outlawing more “extremist families” and various “small social groups.” Truly demented. rg.ru/2024/07/03/reg-szfo/iuri

m0xEE boosted

It's always tempting to allocate objects on the stack, but there's a good reason why you shouldn't allocate large ones if you care about your application's memory footprint: the stack space you use is used forever, even if you don't need it anymore.

Now you might be wondering, wait a sec, I thought that stack variables are freed when they go out of scope, right? Well, yes and no. Let's talk about this. 🧵 1/8

m0xEE boosted
m0xEE boosted
m0xEE boosted

#BBC live report on #Hungary featured this very optimistic map. If you can’t spot the hidden feature, check the alt text over the picture :)

m0xEE boosted
@kaia YYHWHJDE punished his people for worshiping the idol of the Smiling Donkey Micro-Fleece-Decke, ultraweich
m0xEE boosted
m0xEE boosted

The OpenAI ChatGPT app on macOS is not sandboxed and stores all the conversations in **plain-text** in a non-protected location:

~/Library/Application\ Support/com.openai.chat/conversations-{uuid}/

So basically any other running app / process / malware can read all your ChatGPT conversations without any permission prompt:

Show more
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml