Post AWBZpqrkDW0CDmLF8S by p@freespeechextremist.com
(DIR) More posts by p@freespeechextremist.com
(DIR) Post #AW8vCpLS1fzyqCF4uO by lain@lain.com
2023-05-29T09:28:03.035319Z
51 likes, 68 repeats
PLEROMA ADMINS READ THIS, AKKOMA TOOAnother important pleroma security post: @alex and @graf found ANOTHER injection bug, and this one was probably used for the attack. I think that single user instances are probably not affected, but I wouldn't want to risk it. Move your media and proxy to a subdomain as alex initially recommended, it's not complicated and takes 15 minutes, and eliminates this whole class of bugs.Fix is being worked on, but just do the media/proxy thing now so you'll never have to worry about this again.https://webb.spiderden.org/2023/05/26/pleroma-mitigation/
(DIR) Post #AW8viXz86btuGZvWhk by splitshockvirus@mstdn.starnix.network
2023-05-29T09:34:23Z
1 likes, 0 repeats
@lain 🆗
(DIR) Post #AW8wArMBfu8QSJDDnc by l0ngyap@akm.longyap.name.my
2023-05-29T09:39:32.836741Z
5 likes, 1 repeats
@lain @alex @graf single user instance are not affected holy sheeeeet
(DIR) Post #AW8xDBabWPGbjsd2wa by crafti@akkoma.0x68756773.moe
2023-05-29T09:48:44.721625Z
4 likes, 1 repeats
@lain how the fuck are these things uncovered like no tomorrow now
(DIR) Post #AW8xDDYuBh61rBqiZc by lain@lain.com
2023-05-29T09:49:41.486161Z
5 likes, 1 repeats
@crafti essentially, this is the one that was actually used, the other ones were more complicated and not exploited, as far as we know.
(DIR) Post #AW8xrzkKSWKMsgdXM0 by mario@hornyjail.pro
2023-05-29T09:58:32.561340Z
3 likes, 1 repeats
Instances hosting their media on a separate domain (i.e. using non-proxied Object Storage) are not affected if I understand correctly? :think_nyan:
(DIR) Post #AW8xv4HC4ZVjndTSxU by shpuld@shpposter.club
2023-05-29T09:58:24.969883Z
0 likes, 0 repeats
@lain if I just changed media to use subdomain media.shpposter.club, which maps to the same server, without configuring any proxy stuff, doesn't that do the trick already? all media you'll see on the tl will have a different domain
(DIR) Post #AW8xzNkVcCbhLsF9Dk by lain@lain.com
2023-05-29T09:59:05.403891Z
2 likes, 0 repeats
@shpuld yes, if you don't use proxy.
(DIR) Post #AW8y5PPWLo2iF5IfQm by lain@lain.com
2023-05-29T09:59:09.122380Z
0 likes, 0 repeats
@mario @alex @graf yes that's true
(DIR) Post #AW8y6cGE3mAgNyWnr6 by mario@hornyjail.pro
2023-05-29T10:01:09.771027Z
0 likes, 0 repeats
Thanks for confirmation :hug:
(DIR) Post #AW8yDho5pz6lc8kY5o by shpuld@shpposter.club
2023-05-29T10:01:41.620819Z
1 likes, 0 repeats
@lain thanks! it wasn't clear in the posts I saw earlier. I'm good then
(DIR) Post #AW8yrRejJ1gT6dJraS by zxcvfadsf@shitposter.club
2023-05-29T10:09:39.645261Z
0 likes, 0 repeats
@shpuld @lain You also need to block the /media path on the main domain
(DIR) Post #AW8zC8cHI13i8Z2WOG by lain@lain.com
2023-05-29T10:12:29.703816Z
0 likes, 0 repeats
@maksim @alex @graf yes
(DIR) Post #AW8zEdrY5UN9coNPDE by shpuld@shpposter.club
2023-05-29T10:13:13.625812Z
0 likes, 0 repeats
@zxcvfadsf @lain good call
(DIR) Post #AW8zKKvJPs84chqtaS by lain@lain.com
2023-05-29T10:14:06.003644Z
2 likes, 0 repeats
@shpuld @zxcvfadsf you can redirect it as in the guide i linked, so your old media will still work correctly.
(DIR) Post #AW8zktWnNc8XTc34XA by ivesen@miniwa.moe
2023-05-29T10:19:37.682357Z
2 likes, 1 repeats
@lain should probably recommend running nginx -t before restarting nginx to avoid unnecessary stress and downtime (I don't know the @ of the author)
(DIR) Post #AW8ztSJhv4B7gn0cM4 by Moon@shitposter.club
2023-05-29T10:21:11.529164Z
4 likes, 1 repeats
@zxcvfadsf @shpuld @lain I should not have anything on SPC's however I am gonna add this as an additional safety measure.
(DIR) Post #AW90Jm7ktoK8eJy7Iu by deadheat@cawfee.club
2023-05-29T10:25:54.480755Z
2 likes, 0 repeats
@lain oi @grips
(DIR) Post #AW90SZUzD1jg6C1rg8 by lain@lain.com
2023-05-29T10:26:00.133364Z
2 likes, 0 repeats
@ivesen it's @w
(DIR) Post #AW90WG3bR0toxZyjI0 by mint@ryona.agency
2023-05-29T10:27:54.121037Z
13 likes, 5 repeats
@lain @alex @graf >Move your media and proxy to a subdomainYeah I'm not doing that. There's six mirrors across different networks, all of which would need to have subdomains configured somehow, even the one that is a plain IPv6 without domain (moving it to different port like I did with bloat?). Old media would still dangle in the same dir unless you introduce more overhead by putting redirects.Speaking of media, here's my setup:>mediaproxy is disabled as it doesn't play well with upstream proxies, the state of HTTP adapters in Erlang/Elixir is abysmal and you all know it>nginx serves media directly from Pleroma's upload dir, bypassing Cowboy, Oban and other shit>since nginx doesn't analyze file contents, it sends the MIME type that is corresponding to extension, so you can't load js file uploaded as txt because it'll be text/plain or octet-stream (don't remember if that's also a default pleroma behavior or not)>as for .js uploads themselves, they all return 403, that was one of the first things I did after the initial hackSo far I don't see how it can be exploited if there's no way to access any scripts that aren't part of frontend, due to the basic 403, CORS/CSP block on subdomain or otherwise.
(DIR) Post #AW90iSKlcDpaVjp70C by delta@mk.absturztau.be
2023-05-29T10:29:24.022Z
3 likes, 0 repeats
@lain@lain.com i think i'm alright with my single user instance, i never enabled the media proxy and local uploads were setup with object storage from the very start
(DIR) Post #AW90ymTGVvwRb9aBkW by grips@cawfee.club
2023-05-29T10:33:12.747316Z
1 likes, 0 repeats
@deadheat @lain ah, thanks. I thought it's just the media proxy (which we don't use)
(DIR) Post #AW91WgQ5WEN6g0GKcy by kirby@freespeechextremist.com
2023-05-29T10:39:31.656920Z
3 likes, 1 repeats
@lain cc @p @waifu @meso anotha one.
(DIR) Post #AW91liTABGbrNQrwoa by shpuld@shpposter.club
2023-05-29T10:40:47.647770Z
1 likes, 0 repeats
@lain @zxcvfadsf yep, did that now successfully, didn't have it previously. learned maybe something about nginx configs while at it
(DIR) Post #AW91qBWy4bF2fRmOhc by kirby@freespeechextremist.com
2023-05-29T10:43:03.124590Z
1 likes, 0 repeats
@lain @meso @p @waifu maybe not Pete because of the headers?
(DIR) Post #AW961n6x5eOQDtOtpw by w@arachnid.town
2023-05-29T11:29:29.069291Z
0 likes, 0 repeats
@lain @ivesen Reloading tests the file first, at least in Debian and Alpine.
(DIR) Post #AW98yp6zUlCtQChAOW by Earmuffs@bae.st
2023-05-29T12:03:01.905883Z
2 likes, 0 repeats
@lain cc @p @sjw @lunarised @waifu @Moon
(DIR) Post #AW99N62QDOnSrr8Gie by Earmuffs@bae.st
2023-05-29T12:07:25.219549Z
1 likes, 0 repeats
@lain cc @Kyou
(DIR) Post #AW9Bhp6EaSRiK6vVvU by a1ba@suya.place
2023-05-29T12:33:33.320984Z
1 likes, 0 repeats
@lain I think this better be in a default nginx config in Pleroma/Akkoma and installation guide.
(DIR) Post #AW9I1UGSMQ9lDlT3gW by crunklord420@rdrama.cc
2023-05-29T13:44:21.392492Z
11 likes, 1 repeats
@mint @alex @lain @graf lmao "displaying images on a website is too complicated and it keeps injecting javascript so just host all your images on a different domain instead".I wrote my own MIME detection crap in Rust in a few hours, optional ffmpeg integration for codec detection. Apparently no Elixir dev can do this.THE ABSOLUTE STATE OF WEBDEVS!!!!!!!!
(DIR) Post #AW9IE9XyhNbajQhdTs by swastika@pouque.net
2023-05-29T13:45:41.926369Z
1 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint stupid rustcucks with their stupid cargo gay gay gay gay
(DIR) Post #AW9IEA9CSzNaas7MUy by crunklord420@rdrama.cc
2023-05-29T13:46:37.203981Z
2 likes, 0 repeats
@swastika @alex @lain @graf @mint this is the most retarded non-criticism of rust possible
(DIR) Post #AW9IJKI8B8f5VEl0qW by Moon@shitposter.club
2023-05-29T13:47:33.551611Z
0 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint separate domain for user content should be standard for all web apps
(DIR) Post #AW9IgXDGIqnOEqXwXY by crunklord420@rdrama.cc
2023-05-29T13:51:46.245044Z
6 likes, 0 repeats
@Moon @alex @lain @graf @mint I don't care this is insane. No one is saying move UGC text to a different domain. No, it's the _SAFE_ stuff that should be moved to a different domain. Images are literally the easy part, sanitizing text is the hard part but it's a solved problem if you use someone else's library.I'm tired of seeing webshitters pretend like they're real devs while working in soy languages with soy frameworks and in the end they're very proud of themselves for displaying text and images on a webpage poorly, in under 4GB of per-tab RAM usage.Take your L and don't tell me to move shit to a different domain. Don't pretend like you wrote this down anywhere in the docs, because you didn't, no, it's just retroactive cope.
(DIR) Post #AW9IvM3S4U0ByY1aL2 by Moon@shitposter.club
2023-05-29T13:54:19.194167Z
5 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint it is exceptionally hard to move text to a separate domain and have buttons and things be located proximally to the content, otherwise I would agree with you. also one of the exploits is in fact because SVGs can have links to scripts (SVG was a mistake)
(DIR) Post #AW9J53xwBFHylm4gK0 by Moon@shitposter.club
2023-05-29T13:56:10.885339Z
2 likes, 0 repeats
@crunklord420 @alex @graf @lain @mint I agree btw that nobody (afaik) said to do this before now. Well, I did but I didn't take my own advice for mediaproxy, but only because I thought it would be harder than it was because I didn't see the option in the docs (maybe that is because I am stuipid though.)
(DIR) Post #AW9JNbkDKZcakEUxai by crunklord420@rdrama.cc
2023-05-29T13:59:33.342122Z
6 likes, 1 repeats
@Moon @alex @lain @graf @mint I can't believe I'm saying this.Pleroma needs to be rewritten in Rust.
(DIR) Post #AW9JduR1bjzTLUIPXk by swastika@pouque.net
2023-05-29T14:00:53.370986Z
2 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint @Moon in order to be even slower? Die tranny
(DIR) Post #AW9Jdv7D4tjbSK26IS by crunklord420@rdrama.cc
2023-05-29T14:02:29.153702Z
4 likes, 0 repeats
@swastika @alex @lain @graf @mint @Moon bro you don't know shit about code don't even pretend. Rust is because because of cargo and that it's slow? Elixir is a high abstraction bytecode garbage collected virtual machined spook language.
(DIR) Post #AW9JhzMVENhXmj7s7U by Moon@shitposter.club
2023-05-29T14:03:13.667948Z
3 likes, 1 repeats
@crunklord420 @alex @lain @graf @swastika @mint there is a high quality fedi server written in Rus, called Mitra.
(DIR) Post #AW9Jj2c0dHj89dsfoW by crunklord420@rdrama.cc
2023-05-29T14:03:26.397138Z
0 likes, 0 repeats
@swastika @Moon @alex @graf @lain @mint also pleroma doesn't scale well for memory usage (it doesn't cache enough).
(DIR) Post #AW9Jr5iexoXm6lpWxU by alex@gleasonator.com
2023-05-29T14:04:45.980107Z
1 likes, 0 repeats
@crunklord420 @mint @lain @graf You're misunderstanding the problem. The issue is that the mime detection is too good. We get back application/javascript instead of text/plain for uploaded JS files, leading to injection possibility without needing to bypass CSP in any way.
(DIR) Post #AW9JrgBzMFOXE9pSfg by crunklord420@rdrama.cc
2023-05-29T14:04:59.433577Z
0 likes, 0 repeats
@Moon @alex @lain @graf @swastika @mint uses actix and tokio, the dev hasn't shittered it up with a billion dependencies. The crypto integration is questionable, but if its done in a way where you can turn it off it should be fine.
(DIR) Post #AW9JxK16iceeBlQiIq by swastika@pouque.net
2023-05-29T14:05:10.183467Z
1 likes, 0 repeats
@Moon @alex @lain @graf @crunklord420 @mint
(DIR) Post #AW9JyHOtvnkCMe1356 by Moon@shitposter.club
2023-05-29T14:06:10.738048Z
0 likes, 0 repeats
@crunklord420 @alex @lain @graf @swastika @mint my cursory examination of the code is that it is good code.
(DIR) Post #AW9K35WfVb1Wz1wSYq by alex@gleasonator.com
2023-05-29T14:06:57.259189Z
1 likes, 0 repeats
@crunklord420 @Moon @lain @graf @mint I'm building a backend in Deno which is written in Rust and uses tokio under the hood.
(DIR) Post #AW9KEv4MDCVW1mLDKy by crunklord420@rdrama.cc
2023-05-29T14:09:11.370499Z
0 likes, 0 repeats
@alex @lain @graf @mint @Moon yeah tokio is really a lynchpin in the rust ecosystem.
(DIR) Post #AW9KPiiYTXAauBIGNE by n-2-l@rdrama.cc
2023-05-29T14:10:58.036843Z
2 likes, 0 repeats
@alex @lain @graf @crunklord420 @mint @Moon every single javascript engine is slow as shit,nodejs is written and C and uses libuv underneath.it doesnt matter if the runtime is written or whatever because the js that runs on top of it requires gigabytes of RAM to do anything.
(DIR) Post #AW9KRziQFTqMCbJeF6 by p@freespeechextremist.com
2023-05-29T14:11:34.538570Z
3 likes, 2 repeats
@kirby @lain @meso @waifu Yeah, even inline CSS doesn't work on FSE uploads. If someone can get JS to execute, I will give them all my 10grans.
(DIR) Post #AW9KilC7UTxE5aCXHU by crunklord420@rdrama.cc
2023-05-29T14:14:34.872148Z
1 likes, 0 repeats
@n-2-l @alex @Moon @graf @lain @mint I just live in a totally different world it's unreal. I'm over here implementing a custom buddy allocator so I can have constant-time mallocs/frees in the main loop.Meanwhile webshitters are npm add is-odd or whatever.
(DIR) Post #AW9Km307k7ZWBS9puC by Moon@shitposter.club
2023-05-29T14:15:09.504111Z
0 likes, 0 repeats
@n-2-l @alex @lain @graf @crunklord420 @mint works fine here, I use it all day every day. only issues I have with it are the inherent limitations of a single-thread language trying to hack on concurrency.
(DIR) Post #AW9Kr31F6SfBgh46gi by alex@gleasonator.com
2023-05-29T14:15:58.970988Z
2 likes, 0 repeats
@n-2-l @lain @graf @crunklord420 @mint @Moon I'm bridging two entire decentralized social media protocols on a single thread of TypeScript code in Deno, serving about 4GB of data per day, and the whole VM including my code and OS are consuming about 400MB of RAM and maybe 10% of the CPU.
(DIR) Post #AW9Krv5i44K3OBZR9E by i@declin.eu
2023-05-29T14:16:13.605102Z
2 likes, 0 repeats
@alex @lain @graf @crunklord420 @mint @Moon you could probably do a bigger public service by writing down what the actual fuck is meant to be sent over the wire in plain markdown nostr nip style for this AP retardation we're stuck withkenoma needs to happen one way or another
(DIR) Post #AW9KtwBMyi7fLwBDpA by meso@asbestos.cafe
2023-05-29T14:16:36.874614Z
3 likes, 1 repeats
@p @kirby @lain @waifu how muhc balance do you have
(DIR) Post #AW9Kz7yOZH4TMwaPJ2 by p@freespeechextremist.com
2023-05-29T14:17:33.819452Z
6 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint Didn't KF's most recent token exfiltration happen through a chat widget written in Rust?Rust is the worst for "all this shit would be better if you people adopted my preferred silver bullet". You hand a browser text headers, you could do it in brainfuck. Rust is shit, won't fix a damn thing.
(DIR) Post #AW9L1nEk7bBhvQVIC8 by alex@gleasonator.com
2023-05-29T14:17:54.402663Z
0 likes, 0 repeats
@i @lain @graf @crunklord420 @mint @Moon You can find the full ActivityPub schema here. I think it's readable enough in its code form: https://gitlab.com/soapbox-pub/mostr/-/blob/develop/src/activitypub/schema.ts
(DIR) Post #AW9L2XX5zhCVVfRbBg by crunklord420@rdrama.cc
2023-05-29T14:18:09.495900Z
1 likes, 0 repeats
@alex @lain @graf @n-2-l @mint @Moon almost everything I run is never CPU bottlenecked, and that's a bad thing. They're always IO bottlenecked, pleroma, matrix, everything. The CPU is literally just sleeping while waiting for data to move from disk to ram to CPU. If the software was good that data would be in CPU cache, it would be in memory, it wouldn't be on disk. It wouldn't be constantly doing system calls to the kernel and sleeping on mutexes.If the software was good, it'd be using 100% on all cores.
(DIR) Post #AW9L4OXmNz4wD5eGie by p@freespeechextremist.com
2023-05-29T14:18:30.934929Z
1 likes, 1 repeats
@meso @kirby @lain @waifu I don't know. I think less than one.
(DIR) Post #AW9LC6BeWJOlasyLaq by slash@cdrom.tokyo
2023-05-29T14:20:16.706073Z
1 likes, 1 repeats
@crafti @lain that’s why they’re called bugs, the moment you have a reason to lift up the rock a bunch of them scurry away
(DIR) Post #AW9LD16etYGw7u4fDs by alex@gleasonator.com
2023-05-29T14:19:58.918566Z
0 likes, 0 repeats
@crunklord420 @lain @graf @n-2-l @mint @Moon Elixir is built specifically to use 100% on all cores, without the developer having to work so hard to achieve it. That's why it's a high level abstraction spook, as you said.
(DIR) Post #AW9LGnvnp0DmQHnoQa by crunklord420@rdrama.cc
2023-05-29T14:20:44.202692Z
3 likes, 0 repeats
@p @lain @graf @mint @Moon security isn't the reason I want it rewritten in Rust. It's because I refuse to learn Elixir and fundamentally speaking it will always be inferior to a non-VM, non-GC'd language.Mitra has the right idea just going ahead and using Actix. Actix/Tokio will absolutely annihilate whatever routing framework Pleroma uses (Phoenix?) .
(DIR) Post #AW9LHDyWzTqvCHHMI4 by n-2-l@rdrama.cc
2023-05-29T14:18:17.056469Z
1 likes, 0 repeats
@alex @lain @graf @crunklord420 @mint @Moon my C++ backend that uses an efficient coroutine pool design from Yandex's userver framework can serve 100k nontrivial requests(involving DB shit) per second while using 100 megabytes of RAM.
(DIR) Post #AW9LJmsgBQeA2AlQkC by alex@gleasonator.com
2023-05-29T14:21:11.079480Z
1 likes, 0 repeats
@n-2-l @lain @graf @crunklord420 @mint @Moon Pretty awesome, but I bet you worked hard to achieve it.
(DIR) Post #AW9LQW2hBdQtpzeoka by Moon@shitposter.club
2023-05-29T14:22:29.096096Z
5 likes, 3 repeats
@alex @lain @graf @crunklord420 @n-2-l @mint there is room in programming for all God's children, including the hardcore rust programmers and time-saving super-productive deno programmers. there is not room for react programmers however.
(DIR) Post #AW9LSngcYe9J8eQC3c by istvan@bozgor.org
2023-05-29T14:22:54.687502Z
1 likes, 0 repeats
> You hand a browser text headers, you could do it in brainfuck.The only way you could make this worse would be whitespace.
(DIR) Post #AW9LXOFWYkofh8w4tE by i@declin.eu
2023-05-29T14:23:43.916889Z
1 likes, 0 repeats
@crunklord420 @p @lain @graf @mint @Moon phoenix/cowboy would be the equivalents, they're not bad, but pleroma is absolutely gimped by postgresql not keeping up with the buckets of json
(DIR) Post #AW9LXfBXaojODiCdXc by Moon@shitposter.club
2023-05-29T14:23:46.186238Z
1 likes, 0 repeats
@alex @crunklord420 @graf @lain @mint @n-2-l god forgives you though alex
(DIR) Post #AW9LklZj96YPnrlPyS by crunklord420@rdrama.cc
2023-05-29T14:26:09.175248Z
3 likes, 0 repeats
@alex @lain @graf @n-2-l @mint @Moon Pleroma doesn't cache enough. Like I said the bottleneck is IO. I struggle to get it to use more memory, I tune all the lame VM options and yet it never really caches more. Meanwhile as a functional GC'd VM language Elixir is constantly allocating and throwing away memory. Even Rust isn't perfect since it tends to promote RAII which involves allocating and throwing away memory.One of the architectural decisions I did in sneedforo was to cache as much data as reasonable in memory. Avoiding queries to the DB. Imagine the insane performance gains Pleroma could have if it actually cached stuff in an intelligent way. Oh, but that's a little complicated, right? What is the states become stale, that could be a problem. Bro, just don't be a soydev and think about it hard.
(DIR) Post #AW9LnpVMzXxmrNBcYq by alex@gleasonator.com
2023-05-29T14:26:35.067952Z
1 likes, 0 repeats
@Moon @lain @graf @crunklord420 @n-2-l @mint The thing we really need is better databases anyway. I think you could write a Fediverse server in Chef and not suffer from performance problems, but we really need a database that's fast, easy to maintain, easy to delete things from, easy to index, easy to move, and supports full text search. I want LMDB but for someone else to have already made this stuff really easy.
(DIR) Post #AW9LtFH8baDyEX701g by n-2-l@rdrama.cc
2023-05-29T14:22:03.641369Z
0 likes, 0 repeats
@crunklord420 @Moon @alex @graf @lain @mint do you use a global lock like literally every single malloc implementation?
(DIR) Post #AW9LtFxK4jy6LMqgmO by crunklord420@rdrama.cc
2023-05-29T14:27:41.093677Z
1 likes, 0 repeats
@n-2-l @Moon @alex @graf @lain @mint no mutex, when you do your own custom stuff you can make assumptions based on your use-case, like knowing only one thread will ever use that particular heap.
(DIR) Post #AW9LuVG6fHkI5vEHFQ by i@declin.eu
2023-05-29T14:27:54.315245Z
0 likes, 0 repeats
@crunklord420 @alex @lain @graf @n-2-l @mint @Moon you could 100x most of these limits for thathttps://git.pleroma.social/pleroma/pleroma/-/blob/develop/lib/pleroma/application.ex#L198
(DIR) Post #AW9M20wjFZ8OOlkNk0 by Moon@shitposter.club
2023-05-29T14:29:14.926948Z
1 likes, 0 repeats
@alex @lain @graf @crunklord420 @n-2-l @mint I keep trying to use couchdb and it's just pain
(DIR) Post #AW9MDajmWHOuaXDBFA by kroner@seal.cafe
2023-05-29T14:31:21.764295Z
0 likes, 0 repeats
>rust programmersGood, I actually quite like programming in it given how fast and efficient the resulting code I compile is :blobcatcomfsip:
(DIR) Post #AW9MIyACqhOugv8UAC by Hoss@shitpost.cloud
2023-05-29T14:32:18.453488Z
3 likes, 0 repeats
When did you start transitioning?
(DIR) Post #AW9MKGnf2qUmmSD7lg by Moon@shitposter.club
2023-05-29T14:32:33.633124Z
0 likes, 0 repeats
@kroner @alex @lain @graf @crunklord420 @n-2-l @mint rust is great, so is elixir, pattern matching in elixir is next-level. but at the same time I find too many cases where you are supposed to do things functional and it just doesn't work if you have to do a lot of specific data validation
(DIR) Post #AW9MLCsd6WvsueyuZ6 by alex@gleasonator.com
2023-05-29T14:32:38.680113Z
1 likes, 0 repeats
@crunklord420 @lain @graf @n-2-l @mint @Moon On the contrary, Pleroma is forced to cache too much because it needs a local representation of user user and post it cares about on the Fediverse. On Nostr you can actually just "lol, delete everything" with essentially no consequence because there are about 100 mirrors of the same content. So I would say the cache situation is harder and worse on the protocol level because devs are forced to confront this problem instead of better problems.
(DIR) Post #AW9MQQtCRhu5oFjwR6 by i@declin.eu
2023-05-29T14:33:40.931164Z
0 likes, 1 repeats
@Moon @alex @lain @graf @crunklord420 @n-2-l @mint maybe https://sqlite.org/hctree/doc/hctree/doc/hctree/index.html will save us
(DIR) Post #AW9MTkjP88TCDWk1lg by kroner@seal.cafe
2023-05-29T14:34:16.889844Z
0 likes, 0 repeats
Haha very funny, I am not trans and never will be (people just like to associate Rust with trannies for some reason)
(DIR) Post #AW9MlbmX8vjVfnieps by alex@gleasonator.com
2023-05-29T14:37:23.654087Z
3 likes, 0 repeats
@Moon @kroner @lain @graf @crunklord420 @n-2-l @mint If it compiles fast it's great. Pleroma is currently riddled with cyclical imports that make it take a billion years to recompile.
(DIR) Post #AW9MqRGff2V6Vr7Rp2 by kroner@seal.cafe
2023-05-29T14:38:22.226831Z
0 likes, 0 repeats
My project I have been working on takes like 2 minutes to compile right now on my machine :marseysipping:
(DIR) Post #AW9Mr41RZaUehvIL0C by istvan@bozgor.org
2023-05-29T14:38:29.330406Z
0 likes, 0 repeats
I wonder if Web 1.0 interfaces are safe.https://brutaldon.org/
(DIR) Post #AW9Ms2IBUTXFdDaYQS by crunklord420@rdrama.cc
2023-05-29T14:38:40.124276Z
2 likes, 0 repeats
@alex @lain @graf @n-2-l @mint @Moon Pleroma needs to talk to the DB less. While faster DBs are a nice idea, they will always been significantly slower than retrieving from local process memory. It's not just the overhead of (de)serialization, DBs must be hyper-generic and account for all possible scenarios. The reality is you can make reasonable assumptions about your data and those reasonable assumptions unlock worlds of optimizations.Reminder best programming talk of all time: https://youtu.be/rX0ItVEVjHc?t=125
(DIR) Post #AW9MyzjjOIf9jSn8hU by Moon@shitposter.club
2023-05-29T14:39:55.330616Z
3 likes, 0 repeats
@crunklord420 @alex @lain @graf @n-2-l @mint as long as we're on the topic, might as well start this fight up again: pleroma isn't slow/bloated because it uses json native in the database
(DIR) Post #AW9N3apFR9Pxv6Z4Mq by MischievousuTomatosu@boks.moe
2023-05-29T14:40:44.522096Z
2 likes, 1 repeats
@kirby @meso @p @lain @waifu @marine @paulo
(DIR) Post #AW9N9HB3Oy0qifTSE4 by crunklord420@rdrama.cc
2023-05-29T14:41:47.162279Z
0 likes, 0 repeats
@Moon @alex @lain @graf @n-2-l @mint is this sarcasm? explain
(DIR) Post #AW9NAEIBc5m63sGU2C by marine@breastmilk.club
2023-05-29T14:41:58.192655Z
3 likes, 2 repeats
@MischievousuTomatosu @meso @paulo @kirby @p @lain @waifu we just did this, actually. :)Thanks!
(DIR) Post #AW9NJmP49v2ASe2Kwq by Moon@shitposter.club
2023-05-29T14:43:37.523687Z
2 likes, 2 repeats
@crunklord420 @alex @lain @graf @n-2-l @mint pleroma using postgresql jsonb to directly store AP objects is controversial but i can't tell that it's bad in any way that I can measure. I guess space but if you want to throw away AP data use Mastodon. I'm serious.
(DIR) Post #AW9NNVyr9zv2gXYgIy by KashKustomer@nicecrew.digital
2023-05-29T14:43:04.757173Z
2 likes, 0 repeats
I thought he was walking to Alex tbh
(DIR) Post #AW9NfoOxPUbH1sUXQW by n-2-l@rdrama.cc
2023-05-29T14:39:00.307390Z
1 likes, 0 repeats
@i @alex @lain @graf @crunklord420 @mint @Moon bruh even Yandex uses postgres in production,the database is absolutely not a problem.people should be more efficient with how they handle in-memory data.
(DIR) Post #AW9Nfq4pBJgUE15UK8 by i@declin.eu
2023-05-29T14:47:39.140894Z
0 likes, 0 repeats
@n-2-l @alex @lain @graf @crunklord420 @mint @Moon they also have YTsaurus and YTBpleroma would probably do better if the two buckets of jsonb were partitioned in anywayit would actually fit in ram (on postgresql) then
(DIR) Post #AW9NmVyQK6YVu3HDpA by Moon@shitposter.club
2023-05-29T14:48:48.769093Z
1 likes, 0 repeats
@bot @alex @lain @graf @crunklord420 @mint yeah you just copy them to your s3 bucket and you put a redirect in your webserver.
(DIR) Post #AW9NtEdFCIO897ZhCq by crunklord420@rdrama.cc
2023-05-29T14:50:05.323221Z
0 likes, 0 repeats
@Moon @alex @lain @graf @n-2-l @mint it's bad unless you're actually taking the JSON directly out of the DB and sending it out over ActivityPub.
(DIR) Post #AW9Nv2pA4MTA6W0nKa by loathsome@petrolkorps.cc
2023-05-29T14:50:25.783333Z
0 likes, 0 repeats
Are you even allowed to write in Rust without coder socks?Elixir is fucking amazing for the problem set it's designed for. It's not going to replace C/C++ and I don't think anyone even pretends so.
(DIR) Post #AW9NwYq8WN6PglBttw by Moon@shitposter.club
2023-05-29T14:50:40.998926Z
1 likes, 0 repeats
@crunklord420 @alex @lain @graf @n-2-l @mint it can be criticized but it's not the reason that pleroma slows down as the database grows.
(DIR) Post #AW9Nz4LMMXAzyTzWaW by Moon@shitposter.club
2023-05-29T14:51:08.370122Z
0 likes, 0 repeats
@bot @alex @crunklord420 @graf @lain @mint SPC did this years ago, btw.
(DIR) Post #AW9O9L6qsj48rx6Que by crunklord420@rdrama.cc
2023-05-29T14:53:00.231710Z
0 likes, 0 repeats
@Moon @alex @lain @graf @n-2-l @mint it might not be a top 10 reason but efficient packing of data is important. Who knows how PostgreSQL actually does it in the finer details of implementation, and it might change, it's never going to be as good as just not talking to the DB.
(DIR) Post #AW9Ojoa6mcumhRBDv6 by swastika@pouque.net
2023-05-29T14:54:20.630479Z
0 likes, 0 repeats
@loathsome @alex @lain @graf @crunklord420 @mint @Moon coder sucks
(DIR) Post #AW9OjpHiAVnEsfa2sq by loathsome@petrolkorps.cc
2023-05-29T14:59:36.056968Z
1 likes, 0 repeats
Sucking cock while writing Rust code increases your productivity by 41%, I hear.
(DIR) Post #AW9Ozj05IjYc1WutIe by Moon@shitposter.club
2023-05-29T15:02:26.844734Z
3 likes, 0 repeats
@loathsome @alex @lain @graf @swastika @crunklord420 @mint just use adderall
(DIR) Post #AW9P80sOiqonmXH0gC by parker@pl.psion.co
2023-05-29T15:03:58.841814Z
2 likes, 0 repeats
@Moon @alex @lain @loathsome @graf @swastika @crunklord420 @mint Or drink, the classic approach.
(DIR) Post #AW9PGu5DLhStJqVWee by KitlerIs6@seal.cafe
2023-05-29T15:05:35.375611Z
0 likes, 0 repeats
Does this handle someone uploading a javascript file name .png?
(DIR) Post #AW9PQ2u9v4WVHkhCds by crunklord420@rdrama.cc
2023-05-29T15:07:12.997880Z
1 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @mint yeah it gets given a PNG MIME and if you wanted to go further than that the ffmpeg integration would tell you it's corrupt/invalid.
(DIR) Post #AW9PdQJKCyENdrqVSi by KitlerIs6@seal.cafe
2023-05-29T15:09:39.145511Z
0 likes, 0 repeats
You'd have to if you wanted it to be useful as script tags don't give a shit about mime type and will happily treat any file type as a javascript file if you tell them to.
(DIR) Post #AW9PjJXoHJh6OUQjDM by crunklord420@rdrama.cc
2023-05-29T15:10:42.547597Z
1 likes, 1 repeats
@KitlerIs6 @alex @lain @graf @mint >script tag>if you tell them toso how about you dont do that
(DIR) Post #AW9PpcYiUlkF6WrTPc by meso@asbestos.cafe
2023-05-29T15:11:51.543593Z
1 likes, 0 repeats
@lain @alex @graftiresome-mao-tiresome.gif
(DIR) Post #AW9PwH3SqT8wRCPqXQ by KitlerIs6@seal.cafe
2023-05-29T15:13:03.657598Z
0 likes, 0 repeats
If you could guarantee that never would happened then you wouldn't care about mime type in the first place.
(DIR) Post #AW9PzsOQTnPh6mwEfg by meso@asbestos.cafe
2023-05-29T15:13:42.661672Z
0 likes, 0 repeats
@alex @i @lain @graf @crunklord420 @mint @Moon :marseyrussiaglow:image.png
(DIR) Post #AW9Q6jTm1FDbURi0Vk by crunklord420@rdrama.cc
2023-05-29T15:14:56.499893Z
0 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @mint I care about the MIME type because you need MIME types to display shit in a web browser.Bro why is everyone so fucking retarded? I don't even really do webdev and this is basic. This is the problem of cargo cultism, no one understands the basic. They're too deep into their framework to read the MDN Web Docs.
(DIR) Post #AW9QNRn52QEdYKi3RA by Hoss@shitpost.cloud
2023-05-29T15:17:55.873647Z
6 likes, 1 repeats
Hey friend kwoner 🤗, you might not know it yet but you are a true trans 🏳️⚧️ wust pwogwammer! You've been writing wust code for a while now, but it's just like peb-bles in a cwackly-wack queue. You just need to keep cwacking away and your eggy-weggy code will shine like a pwes-twicious gem 💎. Keep coding and who knows, maybe one day your eggy-weggy will take fwight like a baw-wybird 🐦. It's totally fwin-tastic ✨ and you have everything in you to build fwinding stuff and show the wust pwogwamming community what you are made of 🔨. Hope this helps and good wuck 👍!
(DIR) Post #AW9QR1orXZZMA9Fc2K by kf01@breastmilk.club
2023-05-29T15:18:37.662358Z
2 likes, 0 repeats
@Hoss @alex @lain @graf @crunklord420 @n-2-l @mint @kroner @Moon no one will find your body
(DIR) Post #AW9QiwjzA4nxckVuBE by KitlerIs6@seal.cafe
2023-05-29T15:21:51.418479Z
0 likes, 0 repeats
>we did this thing for security<wow you idiots, I was able to write a program that solves the same problem in this tranny language you are so bad>but it doesn't solve the same problem<bro I don't care cargo cult framework MDNwow your brain is really bad
(DIR) Post #AW9QuLFyLtssqOuQ3U by kroner@seal.cafe
2023-05-29T15:23:54.621566Z
3 likes, 0 repeats
ChatGPT wrote this
(DIR) Post #AW9R1r3KX8f1U8Zu2y by crunklord420@rdrama.cc
2023-05-29T15:25:15.698151Z
0 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @mint we didn't do it for security, we did it for robustness and performance. It just so happens that my implementation would have respected the file extension, like you'd expect, RIGHT?
(DIR) Post #AW9RNwqFgsEHoIznrk by KitlerIs6@seal.cafe
2023-05-29T15:29:16.399099Z
0 likes, 0 repeats
Ok and?Like literally so what? You wrote a program that maps strings to other strings. That's not impressive nor relevant in the way you acted like it was.
(DIR) Post #AW9RXpCOxdaR0E48MC by Hoss@shitpost.cloud
2023-05-29T15:31:02.218422Z
1 likes, 0 repeats
It would be horrifying if I hadn't used it to write this.
(DIR) Post #AW9VzL4Yxn8rUZm4iO by icst@clubcyberia.co
2023-05-29T16:20:50.999319Z
1 likes, 0 repeats
@i @p @lain @graf @crunklord420 @mint @Moon i know all the instances mainly get bottlenecked by db writes, but what I don't understand is why? Is it because they don't cache enough in RAM before writing to disk or is it just structured inefficiently so that it has to update more stuff than it should? I feel like something must be missing because a lot of other software out there that uses postgresql doesn't seem to have these problems.
(DIR) Post #AW9WIRUjJJaKub7gsi by crunklord420@rdrama.cc
2023-05-29T16:24:17.506555Z
3 likes, 0 repeats
@icst @i @p @lain @graf @mint @Moon >json is totally fine it causes no issues>why does writing anything create a billion cache misses?
(DIR) Post #AW9WNIsYlqUndfaTJY by crunklord420@rdrama.cc
2023-05-29T16:25:10.433746Z
1 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @mint it's very impressive because it's robust, performant, and doesn't unexpected javascript mime types to non-javascript files.
(DIR) Post #AW9XFxPgHW50zV8lJQ by i@declin.eu
2023-05-29T16:35:02.469774Z
2 likes, 0 repeats
@icst @p @lain @graf @crunklord420 @mint @Moon structural inefficiency, each message is written to the OBAN task queue, before it's transmogrified for compatability to be put in the main bucket, which means a lot more reading and writing for what's supposed to be a get and forget action
(DIR) Post #AW9XrqiLdVkLDcwL20 by i@declin.eu
2023-05-29T16:41:53.682600Z
1 likes, 0 repeats
@i @icst @Moon @crunklord420 @graf @lain @mint @p it could probably be better, but OBAN gatekeeps most of the features that would help pleroma behind a 89$/month enterprise license
(DIR) Post #AW9XxwWMxYlWxwF6q8 by crunklord420@rdrama.cc
2023-05-29T16:42:59.394887Z
1 likes, 0 repeats
@i @icst @p @lain @graf @mint @Moon oh wow this is the power of the elixir ecosystem.
(DIR) Post #AW9YKPXxiujhMGhYDg by Moon@shitposter.club
2023-05-29T16:47:01.672387Z
1 likes, 0 repeats
@i @icst @p @lain @graf @crunklord420 @mint been through this before, oban is extremely fast
(DIR) Post #AW9YO8ZilWOnscIiX2 by KitlerIs6@seal.cafe
2023-05-29T16:47:44.627182Z
0 likes, 0 repeats
lmao you really think it's impressive lol
(DIR) Post #AW9YYCwJOTEuJNfZNQ by i@declin.eu
2023-05-29T16:49:33.014994Z
0 likes, 0 repeats
@Moon @icst @p @lain @graf @crunklord420 @mint not at server rack scale, it still kills instance into a crash loop if you're not carefulpleroma has a minimum hardware requirement, even if we lie to people it can run on an SBC/cheapVM just fine
(DIR) Post #AW9Yr6gCtKjsOp9FzM by crunklord420@rdrama.cc
2023-05-29T16:52:57.681236Z
3 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @mint no, but you should because you've never even see half-decent code before. You think good code comes from a package manager that some heckin big poggers soy said was good because someone else said it was good.Your average programmer isn't worthy of licking the bottom of boot, and I don't even consider myself that good of a programmer. Look at my code, is best code you've ever seen in your entire life, you cannot even see how beautiful it is.In the end, something I shat out in a few hours defeated the combined effort of hundreds of people and thousands of hours across multiple projects.
(DIR) Post #AW9aYy12Z61WDyN48O by KitlerIs6@seal.cafe
2023-05-29T17:12:06.630107Z
0 likes, 0 repeats
lol, you are almost certainly trans with how hard you cope and seethe. Everything you wrote about me is wrong and you aren't half as smart as you think you are.
(DIR) Post #AW9aZwDWjnf8w4fsvY by swastika@pouque.net
2023-05-29T17:02:55.913242Z
1 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint @KitlerIs6 lol such stupid rustcuck
(DIR) Post #AW9buI0zVHWyHo4yHI by n-2-l@rdrama.cc
2023-05-29T15:47:59.113180Z
1 likes, 0 repeats
@KitlerIs6 @alex @lain @graf @crunklord420 @mint the point is that elixir devs can't even do that :marseylaughpoundfist:
(DIR) Post #AW9gM8K7WsXe9aYjRo by parker@pl.psion.co
2023-05-29T18:17:01.038368Z
2 likes, 0 repeats
@lain @alex @graf Worked like a charm. Thank you, leafposter dick pics are safe enough now.
(DIR) Post #AW9hFgRIOCe5tAP5mK by n-2-l@rdrama.cc
2023-05-29T14:16:31.183154Z
1 likes, 0 repeats
@Moon @alex @lain @graf @crunklord420 @mint my point is that a backend written in Node is just absolutely unreal for me.it WILL be slower than even a sloppily written Go backend,and magnitudes slower than a Rust backend.stop writing backends in javscript.ban this now.
(DIR) Post #AW9hZZwoEdTrXxdAa8 by parker@pl.psion.co
2023-05-29T18:30:39.079802Z
2 likes, 0 repeats
@bot @alex @lain @graf At the very least, my hog has never graced the internet.
(DIR) Post #AW9hdI3qg7m1EOh2UC by parker@pl.psion.co
2023-05-29T18:31:19.364904Z
0 likes, 0 repeats
@bot @alex @lain @graf @crunklord420 @mint @Moon There's settings to strip exif data and anonymize uploads.
(DIR) Post #AW9iharwnBwCfxk5BY by parker@pl.psion.co
2023-05-29T18:43:17.946388Z
1 likes, 0 repeats
@bot @alex @lain @graf @crunklord420 @mint @Moon Yes, since stripping it is an extra step and requires installing an extra package.
(DIR) Post #AW9jVn8tR0aZDhbYeW by PurpCat@boks.moe
2023-05-29T18:52:20.725412Z
0 likes, 0 repeats
@parker @alex @lain @graf @bot this man has though
(DIR) Post #AW9jWnnoSy9zYZE72e by Moon@shitposter.club
2023-05-29T18:52:32.547740Z
2 likes, 0 repeats
@parker @alex @lain @graf @crunklord420 @mint @bot I should probably do that here
(DIR) Post #AW9oUaHiFmGep7yQtM by billiam@shitposter.club
2023-05-29T19:48:11.257446Z
1 likes, 0 repeats
@bot @alex @lain @parker @graf @crunklord420 @mint @Moon there are potential "issues" with removing meta data that might affect 0.1% of people. E.g. a photography instance may wish to have a "remove metadata" option turned off.But yes, it should be turned on by default. Removing meta data is pretty simple with exiftool (it can even be used to check mimetype (and get past the simple trick of changing the extension)).
(DIR) Post #AWABRJAXjLmDok1jhA by Soy_Magnus@detroitriotcity.com
2023-05-30T00:05:17.550960Z
1 likes, 0 repeats
@lain @alex @graf @verita84 @admin @sjw not sure if you guys heard of this but a lot of big names are in here
(DIR) Post #AWABtst6WSichnUpWq by admin@detroitriotcity.com
2023-05-30T00:10:27.077398Z
4 likes, 0 repeats
@Soy_Magnus @lain @alex @graf @sjw @verita84 DRC moved its media to a subdomain a few days ago. So we should be safe for now.
(DIR) Post #AWADb2qjSctK0WX02C by Soy_Magnus@detroitriotcity.com
2023-05-30T00:29:27.934828Z
1 likes, 0 repeats
@admin @alex @graf @lain @sjw @verita84 nice u guys are good :winkingfelix:
(DIR) Post #AWADwldAA1OuyVXgOW by mint@ryona.agency
2023-05-30T00:33:02.782965Z
2 likes, 1 repeats
@jeff @icst @i @p @lain @graf @crunklord420 @Moon So that it won't get lost after restart, I suppose.
(DIR) Post #AWBYR1e5NHu3Zadi7s by p@freespeechextremist.com
2023-05-30T15:57:41.607468Z
5 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > fundamentally speaking it will always be inferior to a non-VM, non-GC'd language.Bullet-point meme objections. GC's fine, Pleroma's not memory-bound. VM's fine, it's not CPU-bound either. It's I/O-bound, leans hard on Postgres. Maybe we should add manual memory management to Postgres, start shipping binaries to the DB instead of letting it parse queries. Why bother with Rust anyway? C ticks off the same bullets and the compiler doesn't take a year to run.
(DIR) Post #AWBYUBXp1jLv8vDTZg by p@freespeechextremist.com
2023-05-30T15:58:15.864901Z
0 likes, 0 repeats
@istvan @crunklord420 @lain @graf @mint @Moon Worse?
(DIR) Post #AWBYbepCYtMRytuORc by caekislove@gleasonator.com
2023-05-30T15:59:35.429829Z
4 likes, 0 repeats
@p @crunklord420 @lain @graf @mint @Moon Also, unlike Rust, coding in C doesn't turn you gay.
(DIR) Post #AWBZ57nJSY6v76zIWW by istvan@bozgor.org
2023-05-30T16:04:55.649858Z
1 likes, 0 repeats
Please don't make me look at whitespace ever again 😭
(DIR) Post #AWBZpqrkDW0CDmLF8S by p@freespeechextremist.com
2023-05-30T16:13:23.110347Z
1 likes, 0 repeats
@icst @i @Moon @crunklord420 @graf @lain @mint > i know all the instances mainly get bottlenecked by db writes, but what I don't understand is why?Reads and writes. Part of it is the massive volume of really messy data (messy data always adds overhead but is usually unavoidable in big, distributed, heterogeneous networks), part of it is the architectural decision to keep objects around in their original forms instead of losing data like Masto does.
(DIR) Post #AWBgt2bfil3ZBNI9L6 by p@freespeechextremist.com
2023-05-30T17:32:23.795737Z
6 likes, 2 repeats
@caekislove @crunklord420 @lain @graf @mint @Moon The reason the compiler is such dogshit is that they are secretly mining XMR to send you a fursuit.
(DIR) Post #AWBgw4tDgmnd8EwonA by p@freespeechextremist.com
2023-05-30T17:32:56.734118Z
0 likes, 0 repeats
@istvan @lain @graf @crunklord420 @mint @Moon OkayIwon't.
(DIR) Post #AWBhKwMaWivVvZXX0q by apropos@freespeechextremist.com
2023-05-30T17:37:26.323639Z
6 likes, 2 repeats
@p @caekislove @Moon @crunklord420 @graf @lain @mint how propaganda works:>the compiler is such dogshitobviously true. You are primed to agree with the speaker.>they are secretly mining XMRdubious. This is the creme in the "misinformation oreo" that has been prepared for you>to send you a fursuit.obviously false. Your doubts, raised already by the previous assertion, come falling down on this larger target, and you forget to hold in any doubt in reserve.In the moment, you'll scoff. But later?>man, why is this compiler so slow?>oh yeah, it's because it's mining XMR
(DIR) Post #AWBhWqomy9zWCkPTQe by caekislove@gleasonator.com
2023-05-30T17:39:34.098507Z
1 likes, 0 repeats
@apropos @p @lain @graf @crunklord420 @mint @Moon look at this guy fact checking a joke
(DIR) Post #AWBqDRMiHG4NLj64HI by p@freespeechextremist.com
2023-05-30T19:16:55.717965Z
1 likes, 0 repeats
@caekislove @apropos @lain @graf @crunklord420 @mint @Moon It's a bit, it was funny.
(DIR) Post #AWBs23ODHJqriFUqxc by Earmuffs@bae.st
2023-05-30T19:37:11.975875Z
0 likes, 0 repeats
@crunklord420 @alex @lain @graf @mint @KitlerIs6 Cope nigger
(DIR) Post #AWC7K8zsfPcjd4CR1M by crunklord420@rdrama.cc
2023-05-30T22:28:36.146230Z
1 likes, 0 repeats
@p @lain @graf @mint @Moon Pleroma is I/O bound partially because it was written in a language specifically designed to be incredibly slow and wasteful when it comes to reuse of memory.It cannot be repeated enough. Functional programming languages are totally orthogonal to how computers actually work and you can never take advantage of the properties of a computer if you view how a computer actually operates as a flaw that requires a rube goldberg machine to pretend doesn't exist. But of course, never will cease to exist because ultimately you are trying to get a computer to do a thing, not just turn on and get warm (as the intended purpose of functional programming languages).
(DIR) Post #AWCGD6WaMPSrWNDNxI by p@freespeechextremist.com
2023-05-31T00:08:11.892321Z
6 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > Pleroma is I/O bound partially because it was written in a language specifically designed to be incredibly slow and wasteful when it comes to reuse of memory.This is self-contradictory.It's I/O-bound because it's supposed to be I/O-bound. It is network software: if you have to have a faster CPU to saturate the pipe, you have fucked up. Data enters the pipe, data goes down another pipe, and if you have to do enough work that the flow is uneven, you are doing too much work. It's I/O-bound because it's architected correctly and written well. This has literally nothing to do with the language runtime. If anything, for the amount of string-mangling it has to do, it's impressively efficient for a program written in a functional language.> Functional programming languages are totally orthogonal to how computers actually work and you can never take advantage of the properties of a computer if you view how a computer actually operates as a flaw that requires a rube goldberg machine to pretend doesn't exist.I don't know who you're addressing. SQL doesn't match how a computer works, either, but because Postgres spends most of its time in iowait, SQL is fine. An anime girl doesn't match how a computer works, but somehow, JPEG decoding is never the bottleneck. awk is not how computers work, either, but a one-liner takes 30 seconds to write and will usually finish executing in less time than your Rust compiler takes to build a program that runs slower. You're gonna have tradeoffs anywhere, but only a complete HN-style idiot is capable of saying things like you have. People that are this wrong are usually not as loud. You'd think you'd have looked at K by now; APL is a functional branch and garbage collected and you'll have a hard time beating K in its domain.And which computer, anyway? Forth is way too hard on the memory bus to perform well on an amd64 system, but it screams on an AVR, PIC, anything with a builtin stack.Every single environment has tradeoffs in its runtime characteristics. (Make a goddamn compiler and look at how many decisions you have to make.) It's entirely possible to botch it so hard that there's nothing a given design does well, but an entire paradigm? A paradigm doesn't survive past the first paper these stupid meme positions mean that you're unable to think it through or evaluate anything. You end up the equivalent of the 50-year-old Java dude, but for Rust.
(DIR) Post #AWCIHZ16ZJwkxGkDCq by crunklord420@rdrama.cc
2023-05-31T00:31:23.544176Z
1 likes, 1 repeats
@p @lain @graf @mint @Moon I didn't read all this but I'm just going to say you can't throw your hands up and complain about the IO bottleneck when pleroma is leaving tons of memory on the table.Databases are great, but they're a not replacement for local process memory. Pleroma isn't doing any schizo sharding hyper-galaxy-scale shit. It's just a single frontend and a postgresql database. Cache shit, CACHE CACHE CACHE PUT THINGS IN THE MEMORY AND THEN READ THEM FROM MEMORY MARK THEM AS DIRTY WHEN NEEDED AND REFRESH. WHO CARES IF IT'S THERE'S NANOSECOND ATOMIC RACE CONDITION OVER THE EXISTENCE OF A PEPE THE FROG IMAGE JUST PRESS F5 NIGGA ITS FAST
(DIR) Post #AWCIdr91qnRfY353QW by crunklord420@rdrama.cc
2023-05-31T00:35:25.370179Z
1 likes, 1 repeats
@p @Moon @graf @lain @mint also you will _NEVER_ get to performance nirvana if you think you can just throw your bullshit into some job framework bullshit bloat system and it's going to be great. Only _YOU_, the actual programmer of the actual software know what your data actually looks like can create an ideal solution. It's not even that hard, people think writing their own stuff is hard because they look at these megabloat frameworks and they're huge. It doesn't have to be huge when it's built around (correct) assumptions.
(DIR) Post #AWCJQ8Abqy68Ffq4vI by animeirl@shitposter.club
2023-05-31T00:44:09.027331Z
3 likes, 0 repeats
Oban uses Postgres for its job queue lol
(DIR) Post #AWCJnZCdVq4AkixiJE by crunklord420@rdrama.cc
2023-05-31T00:48:22.799132Z
1 likes, 0 repeats
@animeirl @p @lain @graf @mint @Moon >"you know whats a great idea? replacing a for loop with a database"This is what John Carmack was talking about when he said "architectural astronauts". Imagine if you had to generate a unique hash for every function call you ever did, nothing would ever be inlined, you know, for logging or something stupid. The reality is a million times worse.
(DIR) Post #AWCK7mHaajXT6vurUO by crunklord420@rdrama.cc
2023-05-31T00:52:01.901087Z
3 likes, 0 repeats
@animeirl @Moon @graf @lain @mint @p if carpenters were like programmers they'd be spending all day working on a giant machine that takes preloaded packets of nails and individually engraves serial numbers on them and then repackages them into something like a shotgun shell so the carpenter can use it without ever actually seeing a nail in real life.
(DIR) Post #AWCKMQr6XVSv01W2uO by Marvin@fans.sonichu.com
2023-05-31T00:43:16.523026Z
0 likes, 0 repeats
Powder actuated nail guns.
(DIR) Post #AWCKSWKZ602PiZCOfY by crunklord420@rdrama.cc
2023-05-31T00:55:46.804981Z
2 likes, 0 repeats
@Marvin @p @lain @graf @mint @Moon @animeirl yes but those actually work
(DIR) Post #AWCLE5AFP31rMY3IVk by Marvin@fans.sonichu.com
2023-05-31T00:52:57.949467Z
0 likes, 0 repeats
Yeah fair.
(DIR) Post #AWCMAxUfZ88Aerg95c by apropos@freespeechextremist.com
2023-05-31T01:15:02.445794Z
2 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint @p hello I have authoritative opinions>would a Rust implementation of Pleroma be much faster than Elixir?very likely, yes, even if it's implemented in a very similar way>but isn't Elixir I/O bound?I/O matters most but it doesn't use zero CPU time. It can be improved, and probably very strikingly. It's not uncommon for people to convert 'I/O bound' python programs to real languages and seeing the program run hundreds of times faster. Erlang/BEAM isn't nearly as bad as Python in general (nothing is), but Elixir's string handling is probably a lot worse than you think.>is crunklord proposing a very similar implementation of Pleroma, in Rust?no, he's mostly talking about also changing the implementation. That of course permits many more ways to speed up the resulting program, although probably many of those are transferable back to Pleroma>is a Rust reimplementation obviously a great idea?you need programmers to do the work, and Rust absolutely sucks as a language, especially for big server programs, especially when you have bugs. People working on this could burn out for all kinds of Rust-specific reasons before ever delivering the result (that would probably be a lot faster and use less memory and be easier to deploy than Pleroma--if delivered). I'd save my all of my venture capital for someone promising a fast library that Pleroma could use, or a microservice that Pleroma could use. Even some kind of gerry-rigged fediverse server in CGI, written in C, would be more realistically useful than Actix/Tokio Pleroma, because at least someone promising something like that can probably deliver it.>actually I know this Mitre guy and his server is going great and you're totally exaggerating on how difficult a task this even is>also Rust being a terrible language is more than compensated by Rust having a bigger community of psychotic activists who will put in tons of time to help out if it means planting a Rust flag on the fediverseok, well I'll look forward to the detailed benchmarksbut remember that "a fediverse server" is a moving target, so enjoy staring at the loathsome guts of that Actix server and having Rust whip you a with a cat-o-nine tails every time a minor update to an internal datastructure cascades into having to revisit half your program.
(DIR) Post #AWCOei4jeejBR1rXg8 by Moon@shitposter.club
2023-05-31T01:42:44.868217Z
3 likes, 0 repeats
@animeirl @crunklord420 @p @lain @graf @mint it is also extremely fast
(DIR) Post #AWCOhs3R0e9BFklGrY by animeirl@shitposter.club
2023-05-31T01:43:23.256476Z
1 likes, 0 repeats
@Moon @crunklord420 @graf @lain @mint @p compared to what though?
(DIR) Post #AWCOnRSAp9veUNzOoy by Moon@shitposter.club
2023-05-31T01:44:21.953605Z
1 likes, 0 repeats
@animeirl @crunklord420 @graf @lain @mint @p i mean conventionally you are told not to use a database as a queue but in practice it works perfectly fine
(DIR) Post #AWCP9M6BPgpgFj9Wim by animeirl@shitposter.club
2023-05-31T01:48:21.159715Z
1 likes, 0 repeats
@Moon @crunklord420 @graf @lain @mint @p depends on what you are doing I guess
(DIR) Post #AWCPiUBTLPC1SqNVLc by p@freespeechextremist.com
2023-05-31T01:54:42.897107Z
1 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > I didn't read all thisI get the feeling you don't read much, yeah.> you can't throw your hands up and complain about the IO bottleneck"I/O bottleneck" is not a complaint. The bottleneck is gonna be somewhere. For this stuff, it should be I/O and it is I/O because it is good software.> [the last paragraph can only be interpreted as a cry for help]Meds.
(DIR) Post #AWCPz8m0CbbryzPFZ2 by crunklord420@rdrama.cc
2023-05-31T01:57:42.204207Z
0 likes, 0 repeats
@p @lain @graf @mint @Moon you can reduce bottlenecks and it seems like modern web backends are always IO bottlenecks. I assume this is because of an over-reliance on databases because doing intelligent caching requires you to think about race conditions. When I see a program using all my cores at 100% I consider that a performant program, when I see it only using 1 core, or waiting on disk, it's bad.
(DIR) Post #AWCQ47x0gh18sbvu7c by p@freespeechextremist.com
2023-05-31T01:58:37.575142Z
1 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > also you will _NEVER_ get to performance nirvana if you think you can just throw your bullshit into some job framework bullshit bloat system and it's going to be great.Good, I don't. I hate "frameworks". Like I said, you're addressing someone that isn't present. "I didn't read what you wrote but here are a bunch of replies criticizing some other person that made me mad on Reddit ten years ago." Take your goddamn meds, Kiwi.
(DIR) Post #AWCQCkfobM9PID0E64 by crunklord420@rdrama.cc
2023-05-31T02:00:09.764335Z
2 likes, 0 repeats
@p @lain @graf @mint @Moon people need to be reminded that the state of webdev is really bad and what's worse is people applaud each other for how bad it is.
(DIR) Post #AWCQIVj15lpofWFK9Q by p@freespeechextremist.com
2023-05-31T02:01:13.543722Z
1 likes, 0 repeats
@animeirl @crunklord420 @lain @graf @mint @Moon Yeah, and it's fine. Crunk never profiled a DB before, apparently, but he has lots of opinions on DB performance. Dude's probably got RGB LEDs on his keyboard.
(DIR) Post #AWCQiAifoRu93BK10C by crunklord420@rdrama.cc
2023-05-31T02:05:50.450574Z
0 likes, 0 repeats
@p @lain @graf @mint @Moon @animeirl bro you're totally missing the point. Stop using the DB when you can avoid it and Pleroma _CAN_ avoid it. I could hand it 128GB of RAM and it'd still grind to a halt due to a slow DB no matter how long it ran, it will never take advantage of that RAM.Don't tell me that I should increase DB caching, or put my entire DB in ramdisk or something insane. That's still not the point. The point is that it will always be fastest to use local process memory.This goes back to Elixir. Can Elixir even do this in a reasonable way? How does that integrate with the frameworks on top of frameworks used? Can you do it in a zero copy, lockless way? Can you implement RWLock mutexes? Oh boy I can't wait to read the virtual machine code that elixir actually runs on to find the real answers about how the program _actually works_ instead of the lies you tell yourself when you write elixir code.
(DIR) Post #AWCQmh7rGkQAiNG58C by loathsome@petrolkorps.cc
2023-05-31T02:06:40.337948Z
2 likes, 0 repeats
Lambda calculus is Turing complete. I have no idea how functional programming is "totally orthogonal" to how computers actually work. Feel free to explain.
(DIR) Post #AWCQvy1hnm9djnnms4 by p@freespeechextremist.com
2023-05-31T02:08:21.393617Z
2 likes, 0 repeats
@crunklord420 @animeirl @Moon @graf @lain @mint > "replacing a for loop with a database"If your shit crashes, the posts still get delivered. If the entire box crashes, the posts still get delivered. You do this games programming shit and it's fine if some triangles overlap sometimes, but you can't write a server that way. Your shit falls over. You have to plan around the 1% cases for a game, but for a server you have to plan around the 0.01$ case because it will happen ten times a day. It's fine to not know how anything works but godDAMN, it's retarded to never shut up about it.
(DIR) Post #AWCR0PGQTYKVN5nvUm by animeirl@shitposter.club
2023-05-31T02:09:08.774713Z
1 likes, 0 repeats
@crunklord420 @p @lain @graf @mint @Moon You could make something faster in rust or C or whatever but Elixir software generally performs quite well. Using a SQL database for a job queue may be "fine" for current fedi instances but it's indicative of a philosophy in webdev that leads to poor performing software. Even if it's minor, you're adding additional latency to every task for no reason.
(DIR) Post #AWCR23U6QDsOP2zHyS by crunklord420@rdrama.cc
2023-05-31T02:09:24.909775Z
2 likes, 0 repeats
@loathsome @p @lain @graf @mint @Moon there's two answers to this. The real world answer and the academic answer. In the real world the idea of copying large arrays over and over instead of using state and mutability is totally orthogonal to writing performant code.As for the academic answer I'll just post this meme: https://youtu.be/iSmkqocn0oQ?t=30
(DIR) Post #AWCROxciNaVKsxwDXk by loathsome@petrolkorps.cc
2023-05-31T02:13:35.033492Z
1 likes, 0 repeats
Rust is inferior to C. C also doesn't turn you gay.
(DIR) Post #AWCRSwKr6tyw36TwUy by animeirl@shitposter.club
2023-05-31T02:14:18.202973Z
1 likes, 0 repeats
@p @lain @graf @crunklord420 @mint @Moon use an actual message broker like rabbitmq
(DIR) Post #AWCRhUiS54oEjUSWVU by apropos@freespeechextremist.com
2023-05-31T02:16:56.744364Z
2 likes, 0 repeats
@crunklord420 @p @Moon @graf @lain @mint > When I see a program using all my cores at 100% I consider that a performant program, when I see it only using 1 core, or waiting on disk, it's bad.if you're making server software, a thing to keep in mind is the potential deployment environments of the users of your software, and a popular one ('cloud' environments) has metered CPU, where you pay more as you use more CPU. Also very popular: a user taking the dedi that they're using for other things, and running your software on it too.Rust shenanigans like forking CPU*2 times in order to search the file system a little faster, that can actually be really undesirable on a busy server vs. the slower grep.
(DIR) Post #AWCRt2WUj8gAlkN5H6 by crunklord420@rdrama.cc
2023-05-31T02:19:01.081731Z
1 likes, 0 repeats
@apropos @p @lain @graf @mint @Moon the idea of gimping software to help soydevs run it on AWS isn't something anyone should seriously consider.
(DIR) Post #AWCS7E3AfO6UZdQ5k8 by crunklord420@rdrama.cc
2023-05-31T02:21:34.406491Z
1 likes, 0 repeats
@apropos @Moon @graf @lain @mint @p also there's nice if you care about CPU priority. Modern CPUs are insane supercomputers that crunch numbers and churn through any instruction you throw at it in no time in comparison to memory IO.The mentality I have is each individual instruction is free, basically a nop. The performance is about branch prediction and memory access, of course instructions themselves count as memory so you wouldn't want a bazillion nops.
(DIR) Post #AWCSjnBgTWbUYQn9Sy by p@freespeechextremist.com
2023-05-31T02:28:33.976085Z
2 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > When I see a program using all my cores at 100% I consider that a performant programI don't even know how to address this. I don't know what you could be thinking. Worst metric. Throughput and error rate, and the less it has to burn to get there, the better. Here is a server for a bitbucket::mycomputer: nc -l 9001 > /dev/nullThat will not max out your cores, and any implementation of that would be worse if it uses any CPU. It's going to be bottlenecked by the network, it's I/O-bound.> when I see it only using 1 core, or waiting on disk, it's bad.Your bottleneck at max throughput is going to be somewhere. BEAM does fine with extra cores, but you are going to be waiting on something, something is going to be too slow. In Pleroma's case, it's I/O, and it should be I/O for any of these systems: you store incoming posts, you fetch posts and give them to clients. There's no heavy processing required. If you're using a lot of CPU, you are doing it wrong.That's not to say that there shouldn't be more caching. More caching could solve some problems. But there's not much for the CPU to do in either case.
(DIR) Post #AWCT6W64BSJUD203pQ by loathsome@petrolkorps.cc
2023-05-31T02:32:39.737203Z
3 likes, 0 repeats
https://elixir-lang.org/getting-started/enumerables-and-streams.html#eager-vs-lazyHave a look at that. I don't have to pass around large arrays, I can just pass around lazy iterators. But I'll forgive you for not knowing this, since you admit to actively not wanting to learn the thing you are talking about.And obviously making copies of small chunks of information has no meaningful impact on performance.At the end of the day, languages are tools. You choose the right tool for the job. Elixir is designed to build concurrent, fault-tolerant code and it's absolutely great at this. It can be used for other things as well, but I wouldn't build an operating system with it. It's "good enough" for it's intended purpose. You can obviously be an autistic faggot that thinks any abstraction away from binary code is "orthogonal" to how computers work, but that is akin to only having a hammer and seeing all problems as nails.
(DIR) Post #AWCT7638VpMNiMuEG8 by p@freespeechextremist.com
2023-05-31T02:32:46.672246Z
2 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > people need to be reminded that the state of webdev is really badThe web is terrible, but try killing it. You're preaching to the choir, here. I hate the web. I won't touch JavaScript. I hate browsers. I use bloat as a frontend almost exclusively.
(DIR) Post #AWCTHkfaLIHAajyFou by Soy_Magnus@detroitriotcity.com
2023-05-31T02:34:40.979431Z
1 likes, 0 repeats
@crunklord420 @p @lain @loathsome @graf @mint @Moon same thing in manufacturing. There's the garbage some pampered nigger in a cozy air conditioned office comes up, with which we throw away, and then there's the set up techs and process technicians actual solution we implement cause we have hands in experience with the equipment and we don't power our machines with imagination and theoretical feel goods lol
(DIR) Post #AWCUWMVCZwKxw3e26K by crunklord420@rdrama.cc
2023-05-31T02:48:31.968856Z
2 likes, 1 repeats
@p @lain @graf @mint @Moon its not just frontend, we're not talking about frontend.It's a genuine webdev warcrime that PleromaFE often uses GBs of RAM to display a few pages of text a few images.
(DIR) Post #AWCUpG5AfhtfWiTnF2 by crunklord420@rdrama.cc
2023-05-31T02:51:56.049206Z
0 likes, 0 repeats
@p @lain @graf @mint @Moon >That will not max out your cores, and any implementation of that would be worse if it uses any CPU. It's going to be bottlenecked by the network, it's I/O-bound.Insane the test you choose is some IPC kernel whatever probably locked behind a million mutexes and interrupts BS thing. Yeah bro, lets just TALK TO THE KERNEL THROUGH A FILESYSTEM ABSTRACTION CONSTANTLY. That's totally the way to performance.
(DIR) Post #AWCWASeHFIluXGZf4S by p@freespeechextremist.com
2023-05-31T03:07:00.063508Z
0 likes, 0 repeats
@crunklord420 @Moon @animeirl @graf @lain @mint > bro you're totally missing the point. Stop using the DB when you can avoid it and Pleroma _CAN_ avoid itI didn't disagree with that part. If that's what you meant to say, maybe say that instead of rambling about Rust and functional programming and refusing to learn Elixir. I don't like Elixir much, I have half-assed all the Elixir I wrote because I don't like the language much or even Elixir's terrible docs. Pleroma could stand to cache more, you'll get no disagreement from me, but "and this is why higher-order functions are impossible" is insane.> Can Elixir even do this in a reasonable way?Yes. See the Cachex docs. There's also Mnesia but I don't think I've seen anyone use it in a long time so maybe it sucks now. I don't know, I dropped Erlang for Inferno a little over a decade ago.> How does that integrate with the frameworks on top of frameworks used?Hell if I know. Pleroma's got too much Rails-style AOP in it, and I don't know if that's because of the framework shit or a style preference the team had (I didn't ask anyone because it's a fiddly detail that's not important unless I have to live in that codebase), but it's the equivalent of "COME FROM" and it makes the code nearly unreadable.> Can you do it in a zero copy, lockless way?Maybe not zero-copy, definitely lockless. Copying is usually faster than locks and the immutability makes this less error-prone and less likely to result in a copy anyway. (Boehm did Ropes in, what, like the 80s, maybe early 90s.)> Can you implement RWLock mutexes?Trivial in Erlang, should be easy in Elixir but Elixir seems to miss out on a lot of Erlang's benefits, so it's probably easy but my heart has been broken before.> Oh boy I can't wait to read the virtual machine code that elixir actually runs on to find the real answers about how the program _actually works_ instead of the lies you tell yourself when you write elixir code.It's pretty easy to guess what BEAM is gonna do from Erlang code, but I have no idea how directly Elixir translates and I don't blame you if you don't want to either, but I imagine enough time with the language and you get a feel for it.
(DIR) Post #AWCWpTBU9vkO4Nf4ka by p@freespeechextremist.com
2023-05-31T03:14:24.742755Z
1 likes, 0 repeats
@loathsome @crunklord420 @lain @graf @mint @Moon No clear mapping between the operations the actual machine will perform and the things you tell the language to do. This is a problem with Haskell, even experienced Haskell programmers seem to get surprised by their own runtime on occasion, but I think it's less of a problem with Elixir if Elixir is as close to Erlang as it looks.James Hague (prog21.dadgum.com) did some extensive attempts to do purely functional games in Erlang, simple stuff like Space Invaders. His conclusion was that you can make it work, but it doesn't map well and isn't going to work for anything that has to model complicated state transitions across a large number of objects.
(DIR) Post #AWCWwJWOU2PC80hlCq by p@freespeechextremist.com
2023-05-31T03:15:38.960312Z
0 likes, 0 repeats
@crunklord420 @loathsome @Moon @graf @lain @mint Orthogonal is parallel, this is more like a negative correlation.
(DIR) Post #AWCXAV48MKgFzCFcKe by p@freespeechextremist.com
2023-05-31T03:18:12.771617Z
1 likes, 0 repeats
@animeirl @Moon @crunklord420 @graf @lain @mint I think the idea was to avoid adding a lot of dependencies. Like Masto relies on an entire rack worth of clustered Redis instances and you have to download the earth to run it, but Pleroma's a little easier on you.
(DIR) Post #AWCXE0Ginsgfd4oEa0 by animeirl@shitposter.club
2023-05-31T03:18:49.948620Z
1 likes, 0 repeats
@p @lain @graf @crunklord420 @mint @Moon went too far in the other direction imo
(DIR) Post #AWCXuiT0rjuks0vRNA by p@freespeechextremist.com
2023-05-31T03:26:33.937982Z
1 likes, 0 repeats
@crunklord420 @Moon @apropos @graf @lain @mint Yeah, but icache and dcache are separate, you can get away with a lot more branching if you can get your code to fit in icache. SMP actually hurts memory performance a lot of the time, so if it's memory-bound, you really want small code running on a single core.
(DIR) Post #AWCY5EpZOPMg8mUf3I by shaunh@pleroma.nobodyhasthe.biz
2023-05-31T03:28:26.203510Z
0 likes, 0 repeats
@apropos @p @lain @graf @crunklord420 @mint @Moon Are most CPU metering schemes set up in a way that it costs more to run 2 cores for 1 minutes than it costs to run 1 core for 2 minutes?
(DIR) Post #AWCYVANUZSLnrLiwXA by p@freespeechextremist.com
2023-05-31T03:33:09.185319Z
2 likes, 1 repeats
@loathsome @crunklord420 @lain @graf @mint @Moon > languages are toolsI forget who wrote it (it was some time in the aughts), but that guy was correct: it's more like a substrate than a tool. You can build the same thing out of balsa that you make out of oak or teak or redwood or steel, but it's going to work a lot differently and it's going to have different characteristics and some things are easier to work with than others. Little rubber-band prop planes are easy to do with balsa, nearly impossible with steel, but a 747-equivalent made of balsa is going to be unworkable. A balsa table is technically possible, but you will have to structure it way differently. Car mockups use balsa a lot of the time so you can see how they do in a wind tunnel, things like that.
(DIR) Post #AWCZ5w1gtPeE3z3j60 by p@freespeechextremist.com
2023-05-31T03:39:47.885860Z
1 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > its not just frontend, we're not talking about frontend.Yeah, I get you. I'm saying that even using a web application, I use as little webshit as plausible, so you'll get no disagreement from me that webshit is cancer.> It's a genuine webdev warcrime that PleromaFE often uses GBs of RAM to display a few pages of text a few images. Doesn't happen to FSE, because we don't dick around with uploads and we don't use media proxy. FSE's beam.smp sits at something like 300-500MB most of the time. That still feels like a lot to me, but it doesn't seem like a war crime.
(DIR) Post #AWCZmQq6ij3Ln6uBN2 by p@freespeechextremist.com
2023-05-31T03:47:28.692854Z
0 likes, 0 repeats
@crunklord420 @Moon @graf @lain @mint > Insane the test you choose is some IPC kernel whatever probably locked behind a million mutexes and interrupts BS thing....No? It's literally just accept(), read(), write(), I think netcat uses a static buffer. The point is that if that loop maxes out your cores, you're doing it wrong. I used netcat>/dev/null because a one-liner in the shell is easier to read and I was addressing your "It maxes out all cores because PERFORMANCE" lunatic shit. You want it in C, that is gonna be at least a couple dozen lines, take way longer to read. You can just discard the data if you write it in another language, but if you max out all the cores doing a bitbucket, you're doing it wrong.
(DIR) Post #AWCZvwtMv2EHo4y7Mm by p@freespeechextremist.com
2023-05-31T03:49:11.825271Z
0 likes, 0 repeats
@animeirl @Moon @crunklord420 @graf @lain @mint Maybe; I've never seen complaints about honk's performance.
(DIR) Post #AWCayHXfDK3sNuUbqa by dcc@annihilation.social
2023-05-31T04:00:43.420344Z
1 likes, 0 repeats
@p @lain @graf @crunklord420 @mint @Moon @animeirl the honk ui is kinda trash compared to bloat lol
(DIR) Post #AWCdLp9Ada3DB3ODjM by loathsome@petrolkorps.cc
2023-05-31T04:27:28.754344Z
1 likes, 0 repeats
This sounds like it could be true. I haven't encountered such a dilemma yet, so I haven't considered it yet.I find that being "purely functional" or "purely imperative" or "purely OOP" are stupid stances. Use what solves your problem. I just personally think functional programming _largely_ works and solves a lot of the complexity problems inherent in imperative and OOP paradigms.
(DIR) Post #AWD3BAkYZjB3nhSTRI by crunklord420@rdrama.cc
2023-05-31T09:16:52.179399Z
1 likes, 0 repeats
@p @lain @loathsome @graf @mint @Moon
(DIR) Post #AWD6xMYCIsoyA7Ld3Y by Sioctan@freespeech.group
2023-05-31T09:59:12.526733Z
1 likes, 0 repeats
@pI am an effing n00b in regards to coding, let alone software arch, so you can stop reading and safely ignore what I am about to say.There is a benefit to storing entire JSON in the databases is that it allows you to receive messages you don't fully support yet, and allow for later parsing as features get introduced. So for example: if something like Mastodon, Misskey, whatever introduces meta-URL links to knowyourmemes in posts pl cannot parse, but could at least store them until it is able to parse this on a later date when a similar feature has been introduced.My $0.02@icst @i @lain @graf @crunklord420 @mint @Moon I am enjoying this thread.
(DIR) Post #AWDmvyH7GndOesNS5o by crunklord420@rdrama.cc
2023-05-31T17:49:33.179088Z
1 likes, 0 repeats
@Sioctan @icst @i @p @lain @graf @mint @Moon here's more functional memes https://www.youtube.com/watch?v=ADqLBc1vFwI
(DIR) Post #AWDpuUhE3dy2UgZq3k by Marvin@fans.sonichu.com
2023-05-31T18:11:25.399067Z
1 likes, 0 repeats
The value of a virtual machine is dubious but the value of garbage collection is absolutely well established. Manual memory management for any sort of problem involving objects with non-trivial life cycles brings it's own set of inefficiencies, either by programmers having to spend a bunch of time sussing out exactly how high in the call stack the object needs to be allocated or by just saying fuck it and lifting it to the top level (or close to it).Not to say there aren't problems where a simpler, non-GC'd language would work, but there's definitely classes of problems where using a non-GC'd language is just wasteful.I see this a lot professionally, with programmers doing this kind of faggy, pseudo-macho posturing. The autism leads them to trying to pretend to be some old school, Unix gray beard, which is the faggiest way to ape masculinity I've ever heard of.The nerds who insist on inappropriately doing stuff in C are the mirror image of the nerds who insist on inappropriately doing stuff in Haskell.(To be fair, I do understand that Rust is not C, and has a way better memory model.)
(DIR) Post #AWDqIBh0Mde2VOluAC by crunklord420@rdrama.cc
2023-05-31T18:27:10.957554Z
1 likes, 0 repeats
@Marvin @p @lain @graf @mint @Moon nigga don't talk to me like I'm pretending. I've written software way more complex than this webdev shit in assembly and it runs at 60FPS _LOCKED_ (it will literally hard lock if it ever drops a frame) on a 1MHz CPU.No one has any excuses. The proof is performance metrics. This shit is slow as fuck and my RAM isn't even nearly full. There's nothing more to be said.
(DIR) Post #AWFmyEnTCZM0nMVkOm by p@freespeechextremist.com
2023-06-01T16:59:24.676678Z
0 likes, 0 repeats
@loathsome @lain @graf @crunklord420 @mint @Moon > I haven't encountered such a dilemma yet, so I haven't considered it yet.Yeah, if a lot of things can be a lot of ways, events occur, and time matters, you've gotta encapsulate it somehow. Maybe FRP works better for it, I haven't looked at a lot of FRP stuff but it seems like the semantic bridge. FP works great for pipelines; even using a non-FP language, if you're doing ETL or something, it'll come out FP style.> I find that being "purely functional" or "purely imperative" or "purely OOP" are stupid stances.Same with hardline anti-$x. I'm sure there's at least one place where Haskell makes sense; I haven't found it, but I'm sure it exists.
(DIR) Post #AWFoAsFSRq1Ya4Bvua by p@freespeechextremist.com
2023-06-01T17:12:53.996809Z
0 likes, 0 repeats
@crunklord420 @Moon @graf @lain @loathsome @mint Okay, yes.
(DIR) Post #AWFqYkcUf5upmPTmee by p@freespeechextremist.com
2023-06-01T17:39:37.512726Z
3 likes, 0 repeats
@Sioctan @Moon @crunklord420 @graf @i @icst @lain @mint > There is a benefit to storing entire JSON in the databases is that it allows you to receive messages you don't fully support yetThis was the rationale with Pleroma, yeah. A lot of the stuff that Pleroma "supports" it only has to support in the frontend, because the backend is a generic AP server and the frontend is where the concepts from "microblogging" live. If you wanted to do a longer-form blog or a chat server or whatever, PleromaBE could accommodate that fine, lain always refers to it as a "generic AP server", that's the idea. There was a 4chan-like UI and a Tumblr-like UI, this type of thing works fine. Conceivably, you could write a game UI.
(DIR) Post #AWFqj52rZlHm1Wjsbw by i@declin.eu
2023-06-01T17:41:27.329007Z
1 likes, 0 repeats
@p @icst @Sioctan @lain @graf @crunklord420 @mint @Moon you'd still suffer from the bad decisions forced upon it by mastodon though
(DIR) Post #AWFsCDqs0oPxglaayO by loathsome@petrolkorps.cc
2023-06-01T17:57:57.253458Z
1 likes, 0 repeats
I now want to write a fedi game :(
(DIR) Post #AWFsseuNo3WPlYT3Ds by p@freespeechextremist.com
2023-06-01T18:05:37.989134Z
6 likes, 1 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon > I do understand that Rust is not CThis is exactly the reason I don't like Rust.
(DIR) Post #AWFt7mqEarXwiJjyz2 by Marvin@fans.sonichu.com
2023-06-01T17:56:49.165150Z
1 likes, 0 repeats
I'd say it's the trannies for me but they're starting to invade my language of choice as well. They're like ants at a picnic.
(DIR) Post #AWFtfJmv7VCWS5BBxI by p@freespeechextremist.com
2023-06-01T18:14:25.627776Z
2 likes, 0 repeats
@crunklord420 @Marvin @Moon @graf @lain @mint > I've written software way more complex than this webdev shit in assembly and it runs at 60FPS _LOCKED_ (it will literally hard lock if it ever drops a frame) on a 1MHz CPU.Completely different model, completely different execution constraints. It's good stuff, sure, but it's about as comparable to a backend server as engine design for cars is to engine design for trains.> No one has any excuses. The proof is performance metrics. This shit is slow as fuck and my RAM isn't even nearly full.Sure, but you can fix it or you can put up a bounty.
(DIR) Post #AWFtfKEvRNbPqwHYbg by Sioctan@freespeech.group
2023-06-01T18:14:25.488129Z
1 likes, 0 repeats
@i @icst @p @lain @graf @crunklord420 @mint @Moon Unless some other app becomes the most popular one, the rest will have to chase Mastodon. With the risk alienating the rest of fedi if they decide to do their own thing.In the same extent I do wonder what will happen when all those major platforms migrated to ActivityPub. Will this change the landscape, or is this some temporary thing like XMPP support years ago? ( I do suspect EU's DMA is the force behind this, and AP seems to be most convenient at this time. )
(DIR) Post #AWFtlvDIsyKGGLfXMW by Sioctan@freespeech.group
2023-06-01T18:15:36.640353Z
1 likes, 0 repeats
@loathsome @icst @i @p @lain @graf @crunklord420 @mint @Moon Yes please. Something other than Chess (https://mastodon.social/@kosinus/100493323307547389) please this time. I am all game!
(DIR) Post #AWFtpUoqxefzYnw94a by Moon@shitposter.club
2023-06-01T18:16:14.344930Z
2 likes, 0 repeats
@Sioctan @icst @i @p @lain @loathsome @graf @crunklord420 @mint I'll do it but only pleromo will support it
(DIR) Post #AWFtryyPorpTf3axMG by i@declin.eu
2023-06-01T18:16:42.161631Z
1 likes, 0 repeats
@Sioctan @icst @p @lain @loathsome @graf @crunklord420 @mint @Moon fedi also had blackjack for a while, backed by 10grans, but the casino has yet to recover
(DIR) Post #AWFuyfM3GAlUnPOxMG by Sioctan@freespeech.group
2023-06-01T18:29:07.529947Z
1 likes, 0 repeats
@i @icst @p @lain @loathsome @graf @crunklord420 @mint @Moon Can the source code be recovered somehow?
(DIR) Post #AWFv44VXAYOwFpPl9E by Moon@shitposter.club
2023-06-01T18:30:03.162779Z
1 likes, 0 repeats
@Sioctan @icst @i @p @lain @loathsome @graf @crunklord420 @mint she told me has to be fixed somehow.
(DIR) Post #AWFv7bQ7G1C3CRZ1bk by i@declin.eu
2023-06-01T18:30:43.279469Z
2 likes, 0 repeats
@Sioctan @icst @p @lain @loathsome @graf @crunklord420 @mint @Moon not sure @cassidyclown has ever shown it's source
(DIR) Post #AWFvGvtWVI9bJ1lfgu by p@freespeechextremist.com
2023-06-01T18:32:25.809708Z
4 likes, 0 repeats
@i @Moon @Sioctan @crunklord420 @graf @icst @lain @mintdispleased.png
(DIR) Post #AWFvKYncJU7WprjdDs by p@freespeechextremist.com
2023-06-01T18:33:05.140558Z
1 likes, 0 repeats
@loathsome @icst @i @Sioctan @lain @graf @crunklord420 @mint @Moon That would be awesome. (Don't use the "Move" type for moves people make.)
(DIR) Post #AWFvWO2W8wZiwLLNiK by p@freespeechextremist.com
2023-06-01T18:35:13.373340Z
3 likes, 0 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon Users of a language don't necessarily reflect on the language itself, but Rust seems to have been designed to appeal to people that would otherwise be using C++ or JavaScript, and I like neither of those languages.
(DIR) Post #AWFvdfAEsBjC4tQPrc by p@freespeechextremist.com
2023-06-01T18:36:32.099291Z
2 likes, 1 repeats
@Sioctan @i @Moon @crunklord420 @graf @icst @lain @mint > when all those major platforms migrated to ActivityPubI'll believe it when I see it. I hear noises about them doing it, but the IMF endorsed Bitcoin a few times before they decided to try to kill it.
(DIR) Post #AWFvhpSaXDhlAVziHg by Kirino@seal.cafe
2023-06-01T18:37:17.185211Z
1 likes, 0 repeats
Wish they'd migrate to dis dick NIIGGAAAAAAAAA
(DIR) Post #AWFvrmMCvUDAROkpV2 by p@freespeechextremist.com
2023-06-01T18:39:05.352169Z
0 likes, 0 repeats
@i @Sioctan @Moon @crunklord420 @graf @icst @lain @loathsome @mint That was very cool, but was a bot, right, so everything was encapsulated in "Create" activities pointed at "Note" objects. If the object is "BlackjackStand" and refers to the game it was in, and so on, PleromaFE could retroactively support it and view the blackjack games, but less pure AP implementations couldn't.
(DIR) Post #AWFwFavh47btwsi0jQ by i@declin.eu
2023-06-01T18:43:21.925987Z
1 likes, 0 repeats
@p @icst @Sioctan @lain @loathsome @graf @crunklord420 @mint @Moon except that the mastoapi would never return a "BlackjackStand" object to pleromafelife would probably better is speaking AP wasn't so dang annoying
(DIR) Post #AWFwHqfvUiBRMWPOam by Sioctan@freespeech.group
2023-06-01T18:43:47.675344Z
1 likes, 0 repeats
@p @icst @i @lain @graf @crunklord420 @mint @Moon > I'll believe it when I see it.Yeah, same. This said, there is a difference between IMF answering to whatever they answer to. And tech companies complying to EU's silly DMA, as abiding by it allows them to operate and print money in the EU.lets take bets on this! ;-)
(DIR) Post #AWFwWchhinsQNIHkXI by teknomunk@apogee.polaris-1.work
2023-06-01T18:46:27Z
1 likes, 0 repeats
@p @icst @i @Sioctan @lain @graf @crunklord420 @mint @Moon Will probably do the same with ActivityPub when they realize they can't control it either.
(DIR) Post #AWFweaCwsynkwxhABM by p@freespeechextremist.com
2023-06-01T18:47:54.560788Z
2 likes, 0 repeats
@i @Moon @Sioctan @crunklord420 @graf @icst @lain @loathsome @mint > life would probably better is speaking AP wasn't so dang annoying AP is like a million fiddly shits, like it's easy to step over a dog turd if you spot it but AP is like walking through a warehouse full of rat droppings.
(DIR) Post #AWFwf8aB57aJYqpC6q by Marvin@fans.sonichu.com
2023-06-01T18:36:25.261314Z
1 likes, 0 repeats
No, users of the language don't matter that much, but still, I've got a limit for how many anime avatars I can tolerate.For me, C++ occupies a weird no-man's land where if my project gets that complicated, I'll just bump up to a language with a real GC.And Javascript, oh god, I'm doing a lot of Javascript at my current job and it's the worst. Jesus christ kill me. Typescript makes it somewhat more tolerable but still it's a shit show.
(DIR) Post #AWFwtxG5SyZGmfUcsq by p@freespeechextremist.com
2023-06-01T18:50:41.245281Z
2 likes, 0 repeats
@teknomunk @icst @i @Sioctan @lain @graf @crunklord420 @mint @Moon Yeah, I fully expect that any attempt to support it will be "Embrace, Extend, Extinguish".
(DIR) Post #AWFxLNVnxrFc1hvBOy by p@freespeechextremist.com
2023-06-01T18:55:38.614181Z
2 likes, 0 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon > I've got a limit for how many anime avatars I can tolerate.The web must be a difficult place for you. Like, everywhere people can communicate and have an avatar.> C++ occupies a weird no-man's landYeah. Does everything, but terribly. :bwk: said that when writing C, he used 70-80% of the language in most programs he wrote, but he said in C++, he used maybe 10% of the language in any given program and he isn't sure he understands the other 90% of the language. But he said that 20 years ago, and C++ has only gotten bigger since.> I'm doing a lot of Javascript at my current jobI got by this by telling people that I don't write JavaScript. If they hang up, I've saved myself some misery.
(DIR) Post #AWFxoYgJW1X749kcQy by Marvin@fans.sonichu.com
2023-06-01T18:49:17.048704Z
1 likes, 0 repeats
Lol I think C++'s template system is Turing complete. And if my memory about that is correct, I guarantee there's degenerates out there exploiting that in production code.I was uneasy about this current job but they said they weren't dead set on JS and were talking about switching. That's the main reason I'm still with them. Well and I have family to support.
(DIR) Post #AWFy1t8ukhCoI3U7gu by udongle@mugicha.club
2023-06-01T19:03:19.315858Z
2 likes, 0 repeats
Turing completeness doesn't account for performance which is the main reason to use a computer in the first place, there are cellular automata that are turing complete but they are so hilariously slow that only academics care about them.Computers are largely just Von Neumann register machines, they load instructions from memory/caches, decode the instructions and execute them in hardware. Functional programming says nothing about the fetch-decode-execute cycle, it's on a different layer of abstraction and you don't know how it affects the instruction cycle unless you dig into how it gets turned into machine instructions.Lisp machines were built because functional programming wasn't performant on old hardware at the time, it was performant on specialized hardware, but it turned out it was a lot easier to speed up conventional register machines and emulate the lisp machine's hardware in softwareAcademically speaking, functional programming is orthogonal to how computers work, practically speaking though it's a lot of obfuscation.
(DIR) Post #AWFyTgMdr8xkla9ung by p@freespeechextremist.com
2023-06-01T19:08:20.961238Z
1 likes, 0 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon > I think C++'s template system is Turing complete.Yes; I've seen it do Fibonacci, and I don't know if I have seen it do brainfuck but I'm sure it can. Compilers should be able to handle polynomial-time compilation.> Well and I have family to support.There's always a way to avoid JavaScript.
(DIR) Post #AWFyhchQHKxXSEWi92 by Marvin@fans.sonichu.com
2023-06-01T18:59:12.346653Z
0 likes, 0 repeats
Which is worse to work with: pajeets or Brazilians?
(DIR) Post #AWFymGz6RQE5YT0tge by Marvin@fans.sonichu.com
2023-06-01T19:00:09.560510Z
1 likes, 0 repeats
Lol Matt Might is good people but seriously fuck him for this: https://matt.might.net/articles/c++-template-meta-programming-with-lambda-calculus/
(DIR) Post #AWFzUMsZszVAZwzI5g by p@freespeechextremist.com
2023-06-01T19:19:40.680111Z
4 likes, 0 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon I haven't worked with Brazilians as far as I know. Indians are fine if they don't come out of those degree mills, but peoople coming out of the degree mills are about as reliable as people that do a codecamp and only know how to write glue code, and it's much easier to get through a degree mill or a codecamp than to learn actual computer science so anywhere is gonna be swamped with dipshits that don't know what they're doing.True story, at an old workplace, we'd use "reverse a string, language of your choice" as the first interview question, and 90% of the people we had to talk to couldn't manage it. One guy actually wrote `function reverse(string) { return "elloh"; }`. So the boss puts into the job ads that we had an exacting interview process that 90% of candidates failed and I kept wasting my time watching people spend an hour failing to reverse a string.
(DIR) Post #AWFzXkxSomBk7ut9rU by p@freespeechextremist.com
2023-06-01T19:20:17.441848Z
1 likes, 0 repeats
@Marvin @crunklord420 @graf @lain @mint @Moon It sounds like he has done the world a favor with this.
(DIR) Post #AWG02qKStmZplHTEkS by istvan@bozgor.org
2023-06-01T19:25:53.346701Z
3 likes, 0 repeats
You were getting people who couldn’t even <?php echo strrev($str); ?>Holy cow.
(DIR) Post #AWG0JjVJWkMdW7bBWC by p@freespeechextremist.com
2023-06-01T19:28:57.678975Z
1 likes, 0 repeats
@istvan @Marvin @lain @graf @crunklord420 @mint @Moon Well, they had to implement it. It was basically a test of whether or not they know how to write a really basic for loop.
(DIR) Post #AWG0MkwkcWQIrMsEkK by p@freespeechextremist.com
2023-06-01T19:29:30.461207Z
2 likes, 0 repeats
@istvan @Marvin @Moon @crunklord420 @graf @lain @mint (The reasoning was that if they couldn't do that, or they took the entire hour to do that, we didn't need to waste more time on them.)
(DIR) Post #AWG1efxS0U9oYQJGGO by Marvin@fans.sonichu.com
2023-06-01T19:32:21.061204Z
2 likes, 0 repeats
Jesus fucking Christ. I hear stories like this a lot and I feel like I shouldn't be so naive anymore but I totally am.The guy who had my position before they hired me at my current place, apparently he farmed out his work to pajeets on fiver and he didn't know how to code at all.I've worked with some very good pajeets and some shit ones and the main difference is a good grasp of English. Everything follows from being a coherent English speaker.
(DIR) Post #AWG1fE5n5z1yQ8TOz2 by istvan@bozgor.org
2023-06-01T19:44:01.731212Z
2 likes, 0 repeats
Oh. Still really easy. That’s all first semester first year stuff like when you learn stack operations and FIFO/LIFO/all that crap.
(DIR) Post #AWG1uZKYPmuKdJh7Wi by istvan@bozgor.org
2023-06-01T19:46:48.024421Z
2 likes, 0 repeats
I am the old fuck from back when they used to make you do binary on your fingers.
(DIR) Post #AWG25KKyV2Z1Jm1NHk by ademan@thebag.social
2023-06-01T19:48:44.256542Z
1 likes, 0 repeats
Stuff like this makes me feel marginally better about being a moron. For some dumb reason I was doing interviews for a while, and my go to question is even simpler than that algorithmically (but tests some other skills) and it’s incredible how many fail.
(DIR) Post #AWG2CHOPqUPQDFwhzE by Moon@shitposter.club
2023-06-01T19:49:57.725831Z
2 likes, 0 repeats
@ademan @Marvin @p @lain @graf @crunklord420 @mint just fizzbuzz
(DIR) Post #AWG2Fb6T1ESADF8Hbs by ademan@thebag.social
2023-06-01T19:50:36.491044Z
2 likes, 0 repeats
It’s a half step up from fizzbuzz, it’s wild
(DIR) Post #AWG2L0l93d2jEPk01Y by Moon@shitposter.club
2023-06-01T19:51:33.514934Z
3 likes, 0 repeats
@ademan @Marvin @p @lain @graf @crunklord420 @mint it is hard to get across to non-technicals that, many even most people doing interviews in our profession can't do the absolute minimum
(DIR) Post #AWG35oGJL8hE59dLrU by pwm@crlf.ninja
2023-06-01T20:00:02.410087Z
4 likes, 0 repeats
@Moon @Marvin @p @lain @graf @crunklord420 @mint @ademan at the last software shop I worked ( a couple jobs ago) we had three questions- fizzbuzz- reverse a string- detect a palindromeWe hired basically anyone who could do all three. I no longer work in software, and do computers strictly for fun on my own because that reality was depressing
(DIR) Post #AWG3JZHtoLnvh5wAGO by ademan@thebag.social
2023-06-01T20:02:31.755920Z
3 likes, 0 repeats
Man, that is depressing, I distinctly remember doing palindromes in my compsci “101” course at the local junior college when I was 13 lolI was captain off-by-one-error back then but I made it through…
(DIR) Post #AWG3voCYoHLAx8fscS by pwm@crlf.ninja
2023-06-01T20:09:26.019080Z
2 likes, 0 repeats
@ademan @Marvin @p @lain @graf @crunklord420 @mint @Moon What really opened my eyes was how many people could reverse the string but not detect a palindrome. That they couldn't just realize the naive, 'reverse it and compare' when they had *just* reversed the string pretty much convinced me that they (and lots of other people) were just regurgitating something they had read or been coached on before.
(DIR) Post #AWGHqMJiSIkwNfJiNc by loathsome@petrolkorps.cc
2023-06-01T22:45:19.962514Z
1 likes, 0 repeats
Software development isn't just about performance. Yes, if you need to run highly specific computations as fast as possible, then by all means, use your architecture's assembly to squeeze out all the performance you can. But with large projects you run into the problem of code complexity.Maybe you're one of those 191+ IQ people who can speed read through 100k lines of assembly and retain all of it in working memory, but I sure as fuck am not. I've heard claims that software in a general sense produces the most complex constructs humans have ever built and we are seriously running up against the limits of our ability to understand what we create. We adopted OOP as one, in my opinion flawed, solution to this complexity. Another option is functional programming.The whole point of functional programming is that you write your code in a human-brain friendly manner and you leave the implementation details to the compiler. Yes, some of this translation by the compiler has performance costs, some of which can be offset with minimal optimization, but it's not as great as some people here claim (optimized Haskell code can be as fast as C code) and the benefit in terms of lowered complexity is a massive boon. Lower complexity means more understandable code, more secure code, more productive coders, etc.Don't get me wrong, I would love for all the code in the world to be built on high quality open source C code based on the Unix philosophy (which is actually quite similar to functional programming), but in reality that hasn't happened. The temptation of the street shitter Java developer was too great for the capitalist. So we are left with the the task of managing complexity. I personally prefer functional programming, even if it's "orthogonal".
(DIR) Post #AWGNwF117BttCJl6Ui by crunklord420@rdrama.cc
2023-06-01T23:53:36.355698Z
4 likes, 0 repeats
@loathsome @p @lain @udongle @graf @mint @Moon your brain is totally spooked soydev mentality.Software engineering is the only industry where people (like you) applaud "innovations" which makes the end product worse. Imagine of people who designed firearms got together to talk about the innovations in CAD design which results in more expensive, heavy, complicated (and implicitly less reliable) firearms. Imagine them clapping and saying "oh boy I can't wait to make my design *worse*".
(DIR) Post #AWGh9NjntY6T8wgeFk by p@freespeechextremist.com
2023-06-02T03:28:54.389018Z
1 likes, 0 repeats
@istvan @Marvin @lain @graf @crunklord420 @mint @Moon I think "for loop" is probably first *week* stuff. Pretty sure guys that failed that test had memorized FizzBuzz (which was popular at the time) bu tote.
(DIR) Post #AWGhHmdRD9a2g4iQAC by p@freespeechextremist.com
2023-06-02T03:30:25.492726Z
1 likes, 0 repeats
@ademan @Marvin @lain @graf @crunklord420 @mint @Moon You'd think that lying on your resume would be more difficult than writing a for loop, but some people can do one and not the other.
(DIR) Post #AWGhSQNIJapMp8EqdE by p@freespeechextremist.com
2023-06-02T03:32:20.880233Z
1 likes, 0 repeats
@Moon @ademan @Marvin @crunklord420 @graf @lain @mint ...And sometimes get promoted.
(DIR) Post #AWGiRtgtvrwNPXionA by p@freespeechextremist.com
2023-06-02T03:43:27.464016Z
1 likes, 0 repeats
@pwm @Moon @Marvin @ademan @crunklord420 @graf @lain @mint I think reversing a string and detecting a palindrome are not different enough to matter; I would wager that anyone that reversed the string could detect the palindrome.
(DIR) Post #AWGiXMp72uw9DBAf9k by p@freespeechextremist.com
2023-06-02T03:44:26.776583Z
3 likes, 0 repeats
@pwm @ademan @Marvin @Moon @crunklord420 @graf @lain @mint > What really opened my eyes was how many people could reverse the string but not detect a palindrome....Disregard my previous message.
(DIR) Post #AWGijlsZiNdIObhmoi by loathsome@petrolkorps.cc
2023-06-02T03:46:40.737239Z
1 likes, 0 repeats
I think I understand you now. You're a hobby programmer, right? You take greenfield projects that you understand and write them in your favorite language? You don't really have to consider complexity or maintainability or deadlines or anything, since you'll be the one maintaining it (until you get bored and assuming you finish it) and the project can be in development for a decade.
(DIR) Post #AWGl3BUauRvBFCsBxQ by istvan@bozgor.org
2023-06-02T04:12:34.259454Z
1 likes, 0 repeats
I think they did do…while, while, and then for. Probably first month. First week was always just basic I/O on the terminal.
(DIR) Post #AWHFTyZI4CjzbVlEoK by cassidyclown@clubcyberia.co
2023-06-02T09:53:24.009778Z
4 likes, 1 repeats
@i @icst @Sioctan @p @lain @loathsome @graf @crunklord420 @mint @Moon fce's git is still up where I uploaded it. Warning that it's probably pretty retarded compared to what niggas in this thread are accustomed to. It has a problem with crashing and not responding to the right notifications when it starts up again, I forgot the details and haven't gotten around to looking at it. https://git.freecumextremist.com/Cassidy/BlackjackBot/src/branch/masterI think poker would be pretty cool and a more social experience but you'd have to implement a chip purchasing system (like a real casino) otherwise it's going to be really cumbersome going through the gransbot every round. The bot could pm you your hand.
(DIR) Post #AWQXc1Qsqd8GOzSEim by jeff@federated.fun
2023-05-30T00:36:22.054117Z
1 likes, 0 repeats
@mint @icst @i @p @lain @graf @crunklord420 @Moon that's such retarded reason, it's just embarrassing to hear someone post that without suffering a cringe induced suicide for doing so.
(DIR) Post #AWQXc6S8BQ6JyJ4nrM by jeff@federated.fun
2023-05-30T00:20:19.649171Z
0 likes, 0 repeats
@i @icst @p @lain @graf @crunklord420 @mint @Moon jesus fuck why the actual fuck is pleroma using fucking postgres for a message queue bro ya'll got erlang.
(DIR) Post #AWQXc6xgI7L1Y9q02K by jeff@federated.fun
2023-05-30T00:19:06.405518Z
0 likes, 0 repeats
@Moon @alex @lain @graf @crunklord420 @n-2-l @mint vigorous caching feels like it should be trivial to do with Erlang. is there something idiotic using the database like a message queue via sql?
(DIR) Post #AWQXc9HFgKBIjR0eoq by jeff@federated.fun
2023-05-30T00:15:45.620474Z
0 likes, 0 repeats
@lain @alex @graf inb4 "just stop having bugs bro"
(DIR) Post #AWQjRaGqBC74iNXuue by p@freespeechextremist.com
2023-06-06T23:41:43.155855Z
1 likes, 0 repeats
@jeff @mint @Moon @crunklord420 @graf @i @icst @lain These posts finally started federating!