Posts by cuchaz@gladtech.social
 (DIR) Post #AZagsHejg1cbSZogSm by cuchaz@gladtech.social
       2023-09-08T21:53:07Z
       
       0 likes, 0 repeats
       
       Also, curse you #Kotlin and #Rust for having different syntaxes for range values and confusing the hell out of me! :blobcatreeeeeee: In Kotlin, `x .. y` includes the upper bound and `x until y` doesn't.In Rust, `x ..= y` includes the upper bound and `x .. y` doesn't.Perfect, right? :blobCatGooglyTableFlip: For the record, I like Rust's range syntax much much better.But damn if switching from Rust to Kotlin isn't going to introduce a TON of subtle bugs in my code! :blobcatverysad:
       
 (DIR) Post #AZagsKG20KdvWpHUsC by cuchaz@gladtech.social
       2023-09-09T12:36:12Z
       
       0 likes, 0 repeats
       
       @alexelcu Yeah, that one's a little better, but sadly I can't use Kotkin 1.9 for this project. :blobcatverysad:
       
 (DIR) Post #AaGmG9Kq2cVVowoGmG by cuchaz@gladtech.social
       2023-09-29T19:11:05Z
       
       0 likes, 0 repeats
       
       I've been writing #Rust for this many years now and today is the day I finally learned about Option.and_then().I've always wanted a thing like flat_map() but for Option types, and apparently the stdlib has always had one, but I never found it until now.The stdlib is a big place! :blobcatbook:
       
 (DIR) Post #AaZ2ozb9gmhAETTqXA by cuchaz@gladtech.social
       2023-10-08T15:02:03Z
       
       1 likes, 3 repeats
       
       I ended up taking into a dive into the state of #Rust on the web this morning. Looks like lots of progress has been made since the last time I checked!You can call browser APIs from Rust now thanks to efforts like wasm-bindgen and web-sys. It looks a bit clunky, but it's effective. And I wonder about the wasm->jsvm->native pipeline (and back) and its effect on performance. Seems like that jsvm layer doesn't need to be there, but we haven't gotten rid of it just yet.So if you want to make a regular front-end web app in Rust? Go nuts, it'll probably work well enough. And things like Yew and Trunk even make it rather nice in DX terms.But for my own projects mostly building privacy-respecting-apps-as-browser-extensions, it looks like Rust isn't quite ready yet, but it's close. The key missing piece seems to be access to browser extension APIs. There's a web-extensions-sys project, but it's only targeting manifest V3 for some reason, which means FireFox support is completely out.Although I'd love to switch my front-end work to use Rust, looks like I'm stuck with javascript (and jsdoc) for now.
       
 (DIR) Post #Aazt3VFe1nkDhUjnzU by cuchaz@gladtech.social
       2023-10-21T13:59:46Z
       
       0 likes, 1 repeats
       
       Whoa! Flash movies are back, baby!https://ruffle.rs/Thanks to Rust, Wasm, and a bunch of volunteers. This warms my old web gamedev heart. :blobcatheart:
       
 (DIR) Post #AcUQKFdd3YFN8iRJAW by cuchaz@gladtech.social
       2023-12-05T05:34:55Z
       
       1 likes, 1 repeats
       
       I don't know who needs to hear this, but the popular `argh` #Rust crate for command-line argument parsing is maintained by Google.With Google being Google and doing their own damn thing all the time, they really don't care about the same kinds of features that I (a total nobody) care about.Which means, it's stupidly hard to implement really basic normal people shit like `--version` arguments in my app using the `argh` crate.The feature request to make this easier was denied with the utterly deranged statement: "This library is currently used most widely through build systems that are not Cargo based. ... It's pretty trivial to add this flag yourself, so for now I'd like to hold off on this feature request."Narrator: It is not pretty trivial. Especially when you're using sub-commandsSo I switched to the `gumdrop` crate and I just couldn't be happier. Implementing `--version` actually *was* trivial this time.So that's what I get for using libs created by big tech. They solve problems big tech cares about and sometimes not problems I care about. Lesson learned.
       
 (DIR) Post #AhtVEkXpErLoowNTG4 by cuchaz@gladtech.social
       2024-03-14T18:02:18Z
       
       0 likes, 0 repeats
       
       @vic bonus internet points if you can do it without using any extra native libraries. :blobcatwitch:
       
 (DIR) Post #AhveQMSrsgBlW5af3o by cuchaz@gladtech.social
       2024-03-16T14:56:51Z
       
       0 likes, 0 repeats
       
       @vic Oh wild, those are both severely battle-tested softwares. I wonder if the crash was in the JRE itself, or something IDEA is using.I've only ever seen JRE crashes when I'm messing around with native code. Usually it's rock solid for me.
       
 (DIR) Post #AhveQNVjzU54lHwTB2 by cuchaz@gladtech.social
       2024-03-16T23:43:52Z
       
       0 likes, 0 repeats
       
       @vic ps, you're not on MacOS, are you? Just heard about this:https://blogs.oracle.com/java/post/java-on-macos-14-4
       
 (DIR) Post #AiaNdwUGDaCqt2kW2q by cuchaz@gladtech.social
       2024-06-04T13:39:30Z
       
       1 likes, 0 repeats
       
       Oh wow... I just had a wild idea. A hypothesis for all the AI hype.Maybe it's because Big Tech doesn't have any other big ideas. That's it. All they have is AI. There's nothing else coming.So AI has to work for them, because there's no backup plan. And current AI is objectively capital-B Bad too. It's not ready for prime time yet. But they have nothing else to dazzle us with, so they cling to it like it's a lifeboat.Because maybe it is. And if the boat sinks and there's no way to keep spinning the infinite growth story, their investors will eat them.
       
 (DIR) Post #AiieDqIlqSsmexC8ps by cuchaz@gladtech.social
       2024-06-08T13:32:40Z
       
       0 likes, 0 repeats
       
       @aral Oh yes, that one is amazing! One of the few truly good couch co-op games out there.
       
 (DIR) Post #AjHrxEB8kAbSArP5wO by cuchaz@gladtech.social
       2024-06-19T11:36:28Z
       
       1 likes, 0 repeats
       
       @ariadne for what it's worth, I (briefly) worked on an E2EE DM implementation for Mastodon as a kind of mod. I decided to abandon it though because the fail open behavior scared the crap out of me.
       
 (DIR) Post #AjHsFyKXtKZCWWk0vY by cuchaz@gladtech.social
       2024-06-25T13:24:57Z
       
       1 likes, 0 repeats
       
       Sooo the latest announcement from Mozilla about Firefox is: AI all the things! :allthethings: This isn't fun anymore. I just want off Mr. Mozilla's Wild Ride now.We need a browser we can feel good about again. Somehow.
       
 (DIR) Post #AjrjMHGlE4tDZBqUTI by cuchaz@gladtech.social
       2024-07-12T20:02:38Z
       
       1 likes, 4 repeats
       
       Yup, it's true. Firefox 128 includes new adtech features that are opt-in by default and announced with very little fanfare, so most people might not even know they're there. :blobcatverysad: Well, this is me telling you they're there. You might want to go ahead and take a minute to opt out.Here's the little helpful explainer from Mozilla about how it all works:https://support.mozilla.org/en-US/kb/privacy-preserving-attributionMy read seems to be: Mozilla says website surveillance is generally bad and should be defended against. Cool. No notes. Firefox actually has a lot of nice anti-tracking and privacy features there and that's the main reason why I like Firefox.But, and I swear I'm not even joking a little bit here, Mozilla goes on to say that advertisers might be happier if Firefox itself just tracked you directly and sent activity reports back to them.Doesn't that sound great?Now, to Mozilla's credit, they claim to anonymize the activity reports. And you can still meaningfully opt out of the whole system.But WTF, mate?! I use Firefox *because* it fights against adtech. Or at least it used to. Now, Mozilla just lets adtech right in the front door and hopes you won't notice? :blobcat_thisisfine: Well, we noticed. Mozilla is damage and we need to route around it.
       
 (DIR) Post #AjrjMJOdJmNKABXo1I by cuchaz@gladtech.social
       2024-07-12T20:27:54Z
       
       2 likes, 0 repeats
       
       There's hope tho.In Mozilla's earlier days, they jettisoned a totally new web browser project called Servo. It's sort of a ground-up effort to build a browser using the latest safety tech, like the Rust programming language.https://servo.orgAnd the best part is, Servo is totally independent from Mozilla now and they have * independent funding * !Meaning, Google isn't bankrolling Servo as anti-trust insurance (*cough* Firefox *cough*), so there's a chance it might actually take a real stance against adtech on the web.Servo is faaaar from ready for general use yet, but it's picking up development speed. Definitely an option to keep an eye on for the future. :blobcatthumbsup:
       
 (DIR) Post #AjtLfVDrYyaflC2oXg by cuchaz@gladtech.social
       2024-07-13T14:35:51Z
       
       1 likes, 0 repeats
       
       A funny thing happens when you post a toot helping people configure their browsers to turn off adtech and it goes super viral: you (temporarily) get enough reach on social media to actually meet some people who work in adtech.Some of them may have worked on the very features I'm criticising. It's been fascinating to learn what I can from them. Some observations:Some adtech proponents seem to genuinely believe they're helping make the world better for most people. The prevailing argument seems to be that rich people spending money on ads is progressive actually and is also the best way to make high-quality stuff available for free to poor people. Making advertisers happy keeps this virtuous cycle going and all that surveillance is just an unfortunate necessity. The mission makes it worth the sacrifice.Others seem conflicted. They accept that the surveillance is bad and they're trying to steer the ship from inside to less dystopian places. Slowly, by inches. But convincing the powers that be that it's even a worthwhile goal is exhausting, much less making tangible progress towards it. They're playing the long game.Also, this blew up enough to hit Hacker News. That's a first for me. I'm not usually famous enough in tech circles to get posted there. Seeing myself get quoted in HN comments feels super weird.
       
 (DIR) Post #AjwLW27ZySUR08iVm4 by cuchaz@gladtech.social
       2024-07-14T19:08:23Z
       
       1 likes, 0 repeats
       
       Sooo... in the aftermath of Firefox doing an about-face on resisting adtech, I decided to give LibreWolf a spin.https://librewolf.net/First impressions so far are pretty damned great! :blobcatthumbsup: The settings pages have sane defaults. uBlock Origin is installed ✨ by default ✨ !And even my wild experiments in peer-to-peer networking and putting full-blown apps inside of browser extensions works just as well in LibreWolf as it did in Firefox.They even host their code on Codeberg. :blobcatheart:I still need to copy over my bookmarks, but how hard can that be? 😅 I'll switch to LibreWolf as my daily driver for a couple weeks and see what happens. Stay tuned.
       
 (DIR) Post #AjwLW3zr09Uyol7N0i by cuchaz@gladtech.social
       2024-07-14T19:13:47Z
       
       0 likes, 0 repeats
       
       One caveat I should mention is LibreWolf version 128.0-1 still has the Privacy-Preserving Attribution setting `dom.private-attribution.submission.enabled` set to true in about:config.Looking at their code though, it looks like overriding that default value to false was merged into the code just yesterday. So I think we can expect future releases of LibreWolf to have the default settings we want here.https://codeberg.org/librewolf/settings/pulls/64In the meantime, if you've managed to download LibreWolf before the fix is released, just to be extra careful, I'd recommend setting `dom.private-attribution.submission.enabled` to false in your about:config.Happy browsing, folks!
       
 (DIR) Post #AlpRjPdTBw4AuihwsS by cuchaz@gladtech.social
       2024-04-15T18:45:33Z
       
       1 likes, 0 repeats
       
       I made a thing! :blobcatscience: It's a kind of peer-to-peer network for the web that I'm calling The SmolWeb Protocol.The goal is to lower the barrier to entry for hosting your own stuff online. You can host things like services, websites, etc using the computer and internet you already have without too much fuss (hopefully). And people can see your stuff using the browser they already have too.It's not quite ready for prime time yet, but as a sort of tech demo, you can see a website I'm hosting using SmolWeb. It's a blog called The Potato Farm and the inaugural blog post explains how this whole thing works.To try it out, follow the link below. If you see a potato, then it worked! If you see something else, I'd be delighted if you could share what went wrong. Clicking the grey "..." or red "Error" box near the top of the page should give more helpful info.https://smolweb-portal.cuchazinteractive.org/#ext+smolweb://potatofarm.cuchazinteractive.org/posts/smolweb.html
       
 (DIR) Post #AxUmd0raHpzJ4Rp3Cq by cuchaz@gladtech.social
       2025-08-24T13:01:21Z
       
       0 likes, 0 repeats
       
       @aral @steely_glint yeah, WebRTC definitely has its rough edges. I'm interested in see how far we can take it these days.The signaling server definitely needs to be on the non-p2p part of the internet, but I think I've found a way to decentralize it.