Timeline Sandbox

@abucci@anthony.buc.ci

Hi, I'm Anthony and I'm a computer scientist

@abucci@anthony.buc.ci

@prologic AI is slot machines for coders:

The same intermittent reward operant conditioning that gets people addicted to gambling and thinking that if they follow certain rituals they'll win "next time" drives people's beliefs that AI tools are making them more productive when they're making them less productive. I'm going to guess that a side effect of this is that people think they're typing less when in the longer term they're typing the same amount or more when you factor in the productivity loss (as far as I've read the studies don't measure this so I'm only guessing).

People are also being rapidly de-skilled by this technology: the more they use it, the more their actual skills atrophy. "Continuous exposure to AI might reduce the ADR (adesoma detection rate) of standard non-AI assisted colonoscopy, suggesting a negative effect on endoscopist behaviour." (science speak for saying that radiologists get worse at seeing tumors in scans once they've used AI): https://www.thelancet.com/journals/langas/article/PIIS2468-1253(25)00133-5/abstract

Nobody who cares about the future should be using this stuff for anything.

In reply to: #7lrohdq 4 months ago
@abucci@anthony.buc.ci

@prologic My pod, which is running the same commit you are, does not return an error like that. It returns the same HTML it always has. Try it. I nuked my cache before restarting.

Edit: Oh wait, the plot thickens. I do get an error if I use curl or if I use a web browser that isn't logged in. That's good!

In reply to: #vowtikq 1 year ago
@abucci@anthony.buc.ci

@prologic I believe you are not seeing the problem I am describing.

Hit this URL in your web browser:

https://twtxt.net/external?nick=lovetocode999&uri=https://socialmphl.com/story19510368/doujin

That's your pod. I assume you don't have a user named lovetocode999 on your pod. Yet that URL returns HTTP status 200, and generates HTML, complete with a link to https://socialmphl.com/story19510368/doujin, which is not a twtxt feed (that's where the twtxt.txt link goes if you click it). That link could be to anything, including porn, criminal stuff, etc, and it will appear to be coming from your twtxt.net domain.

What I am saying is that this is a bug. If there is no user lovetocode999 on the pod, hitting this URL should not return HTTP 200 status, and it should definitely not be generating valid HTML with links in it.

Edit: Oops, I misunderstood the purpose of this /external endpoint. Still, since the uri is not a yarn pod, let alone one with a user named lovetocode999 on it, I stand by the belief that URLs like this should be be generating valid HTML with links to unknown sites. Shouldn't it be possible to construct a valid target URL from the nick and uri instead of using the pod's /external endpoint?

In reply to: #krlhs5a 1 year ago
@abucci@anthony.buc.ci

@prologic @bender I partially agree with bender on this one I think. The way this person is abusing the /external endpoint on my pod seems to be to generate legitimate-looking HTML content for external sites, using a username that does not exist on my pod. One "semantically correct" thing to do would be to error out if that username does not exist on the pod. It's not unlike having a mail server configured as an open relay at this point.

It would also be very helpful to give the pod administrator control over what's being fetched this way. I don't want people using my pod to redirect porn sites or whatever. If I could have something as simple as the ability to blacklist URLs that'd already help.

In reply to: #krlhs5a 1 year ago
@abucci@anthony.buc.ci

@prologic Ah nice, thank you! Do you think this fix is ready for me to test it or do you think I should wait til you poke at it?

In reply to: #krlhs5a 1 year ago
@abucci@anthony.buc.ci

@support No. Try this again and I nuke your IP.

In reply to: #xauiaga 1 year ago
@abucci@anthony.buc.ci

@prologic I don't think it's your code. As you said in one of your commit comments, the internet is a hostile place! That's partly why I reacted the way I did: all things considered it's usually better to react quickly and clean up the mess later, then it is to wait and risk further damage. Anyway it sucks @xuu got caught up in it. Hopefully it's all good now.

In reply to: #2rxkcca 1 year ago
@abucci@anthony.buc.ci

@stigatle @xuu @lyse "Not cool"? I was receiving many broken (HTTP 400 error) requests per second from an IP address I didn't recognize, right after having my VPS crash because the hard drive filled up with bogus data. None of this had happened on this VPS before, so it was a new problem that I didn't understand and I took immediate action to get it under control. Of course I reported the IP address to its abuse email. That's a 100% normal, natural, and "cool" thing to do in such a situation. At the time I had no idea it was @xuu .

The moment I realized it was @xuu and definitely a false alarm, I emailed the ISP and told them this was a false positive and to not ban or block the IP in question because it was not abusive traffic. They haven't yet responded but I do hope they've stopped taking action, and if there's anything else I can do to certify to them that this is not abuse then I will do that.

I run numerous services on that VPS that I rely on, and I spent most of my day today cleaning up the mess all this has caused. I get that this caused @xuu a lot of stress and I'm sincerely sorry about that and am doing what I can to rectify the situation. But calling me "not cool" isn't necessary. This was an unfortunate situation that we're trying to make right and there's no need for criticizing anyone.

In reply to: #2rxkcca 1 year ago
@abucci@anthony.buc.ci

@prologic I don't know if this is new, but I'm seeing:

Jul 25 16:01:17 buc yarnd[1921547]: time="2024-07-25T16:01:17Z" level=error msg="https://yarn.stigatle.no/user/stigatle/twtxt.txt: client.Do fail: Get \"https://yarn.stigatle.no/user/stigatle/twtxt.txt\": dial tcp 185.97.32.18:443: i/o timeout (Client.Timeout exceeded while awaiting headers)" error="Get \"https://yarn.stigatle.no/user/stigatle/twtxt.txt\": dial tcp 185.97.32.18:443: i/o timeout (Client.Timeout exceeded while awaiting headers)"

I no longer see twts from @stigatle at all.

In reply to: #2rxkcca 1 year ago
@abucci@anthony.buc.ci

I'm seeing GETs like this over and over again:

"GET /external?nick=lovetocode999&uri=https://vuf.minagricultura.gov.co/Lists/Informacin%20Servicios%20Web/DispForm.aspx?ID=8375144 HTTP/1.1" 200 35861 17.077914ms

always to nick=lovetocode999, but with different uris. What are these calls?

In reply to: #ve43paq 1 year ago
@abucci@anthony.buc.ci

The vast majority of this traffic was coming from a single IP address. I blocked that IP on my VPS, and I sent an abuse report to the abuse email of the service provider. That ought to slow it down, but the vulnerability persists and I'm still getting traffic from other IPs that seem to be doing the same thing.

In reply to: #homd37a 1 year ago
@abucci@anthony.buc.ci

@prologic

abucci@buc:~/yarnd/yarn$ make preflight
Checking Go version ...                 [ ERR ]
Go 1.16+ is required, found go1.22.5
FATAL: šŸ™ preflight failed
make: *** [Makefile:33: preflight] Error 1

šŸ¤”

In reply to: #uqxxstq 1 year ago
@abucci@anthony.buc.ci

This is completely insane!

abucci@buc:/tmp$ du -sh /tmp/yarnd-avatar-*
564M    /tmp/yarnd-avatar-3024946878
7.2G    /tmp/yarnd-avatar-3122347915
11G     /tmp/yarnd-avatar-3533381443
445M    /tmp/yarnd-avatar-441914658

I'm going to have to shut down my server soon. This looks like some kind of DDoS. Whether intentional or not it's filling up the disk at an unsustainable rate.

In reply to: #l7ek66a 1 year ago
@abucci@anthony.buc.ci

There are also a bunch of log messages scrolling by. I've never seen this much activity in the log:

Jul 25 01:37:39 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:39 (149.71.56.69) "GET /external?nick=lovetocode999&uri=https://pagez.co.uk/services/your-own-100-fully-owned-online-vi>
Jul 25 01:37:39 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:39 (162.211.155.2) "GET /twt/112135496802692324 HTTP/1.1" 400 12 826.65µs
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (51.222.253.14) "GET /conv/muttriq HTTP/1.1" 200 36881 20.448309ms
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (162.211.155.2) "GET /twt/112730114943543514 HTTP/1.1" 400 12 663.493µs
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (27.75.213.253) "GET /external?nick=lovetocode999&uri=http%3A%2F%2Falfarah.jo%2FHome%2FChangeCulture%3FlangCode%3Den>
Jul 25 01:37:40 buc.ci yarnd[829]: time="2024-07-25T01:37:40Z" level=error msg="http://bynet.com.br/log_envio.asp?cod=335&email=%21%2AEMAIL%2A%21&url=https%3A%2F%2Fwww.almanacar.c>
Jul 25 01:37:40 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:40 (162.211.155.2) "GET /twt/111674756400660911 HTTP/1.1" 400 12 545.106µs
Jul 25 01:37:40 buc.ci yarnd[829]: time="2024-07-25T01:37:40Z" level=warning msg="feed FetchFeedRequest: <a href="/timeline/profile?url=http://alfarah.jo/Home/ChangeCulture?langCode=en&returnUrl">@lovetocode999</a><a href="http://alfarah.jo/Home/ChangeCulture?langCode=en&returnUrl" class="webmention"></a>
Jul 25 01:37:41 buc.ci yarnd[829]: [yarnd] 2024/07/25 01:37:41 (162.211.155.2) "GET /twt/112507964696096567 HTTP/1.1" 400 12 838.946µs

Something really weird is going on?

In reply to: #l7ek66a 1 year ago
@abucci@anthony.buc.ci

@bender I have nothing against GoToSocial, but:

GoToSocial stores statuses, accounts, etc, in a database. This can be either SQLite or Postgres.

snac is simpler. Some JSON files and that's it. I can read them with jq and less. I can use tar to back them up. I can hand edit them in a text editor.

In reply to: #paebb5a 1 year ago
@abucci@anthony.buc.ci

I think @abucci and @stigatle are running snac? I didn’t have a closer look at snac (no intention of running it), but if that is a relatively small daemon (maybe comparable to Yarn?) that gives you access to the whole world of ActivityPub, then, well, yeah … That’s tough to beat.

Yes, I am running snac on the same VPS where I run my yarn pod. I heard of it from @stigatle, so blame him šŸ˜ snac is written in C and is one simple executable, uses very little resources on the server, and stores everything in JSON files (no databases or other integrations; easy to save and migrate your data) . It's definitely like yarn in that respect.

I haven't been around yarn much lately. Part of that is that I've been very busy at work and home and only have a limited time to spend goofing off on a social network. Part of it is that I'm finding snac very useful: I've connected with friends I'd previously lost touch with, I've found useful work-related information, I've found colleagues to follow, and even found interesting conferences to attend. There's a lot more going on over there.

I guess if I had to put it simply, I'd say I have limited time to play and there are more kids in the ActivityPub sandbox than this one. That's not a ding on yarn--I like yarn and twtxt--I'm just time constrained.

In reply to: #gxolr6a 1 year ago
@abucci@anthony.buc.ci

@New_scientist Silicon Valley’s top AI models are terrible at almost everything. They only seem otherwise because people are easily fooled into believing they have capabilities they don't have.

In reply to: #fxa4bpa 2 years ago
@abucci@anthony.buc.ci

@xuu Right now they're laying the groundwork for uncritical belief in the power of #AI, so the next step will be accepting the magical incantations as if they were real.

In reply to: #cikr4oa 2 years ago
@abucci@anthony.buc.ci

@prologic I use the gmail webapp for work, and I have to say that over the years it's gotten less and less usable. There are so many little usability things that it's bad at. For instance, if you select a message and hit the Delete key nothing happens. The message is not put in the trash like you'd expect. There are issues like that scattered all over the app. I suspect they spend most of their energy on the spyware side of gmail and dedicate less to making it a useful app for end users (which seems to be true of their search engine too).

In reply to: #7uig3sq 2 years ago
@abucci@anthony.buc.ci

@adi I think it is, and one benefit they have is that you can add third-party repositories to the F-Droid app as you discover them. So, for instance, if you know of a developer who pushes builds to an F-Droid compatible repository, you can add that to your F-Droid app and start tracking updates like you would for any other app in there. Can't do that with Google Play!

F-Droid tends to focus on open source applications that can be built in a reproducible way, which limits the inventory (though of course tends to mean the apps are safer and don't spy on you). There are non-free apps in there as well but they come with warnings so you're informed about what you might be sacrificing by using them.

That said if you have a favorite app you get through Google Play, there's a decent chance it won't be in F-Droid. Many "big corporate" apps aren't, and vendor-specific apps tend not to be either. But for most of the major functions you might want, like email clients, calendar apps, weather apps, etc etc, there are very good substitutes now in F-Droid. You're definitely making a trade-off though.

What I did was go through the apps I had installed on my last phone, found as many substitutes in F-Droid as I could, started using those instead to see how they worked, and bit by bit replaced as much as I could from Google Play with a comparable app from F-Droid. I still have a few apps (mostly vendor-specific things that don't have substitutes) that come from Google Play but I'm aiming to be rid of those before I need to replace this phone.

In reply to: #if5eb2a 2 years ago
@abucci@anthony.buc.ci

@prologic I've had a Teracube phone for about 3 years now. Theirs comes with a guarantee of 4 years--if something that's covered breaks, you send the phone to them and they fix it and send it back, or they send you a new one. I took advantage of that last year when the screen broke; their tech support even helped me figure out how to wipe the phone when the screen didn't display anything. Pretty painless all around. Have to say I've been very happy with it. It doesn't have the top-end features that new big company phones have, but I don't want those features so that's not an issue for me. I dunno if it's available in Australia or if it's just a US thing.

In reply to: #if5eb2a 2 years ago
@abucci@anthony.buc.ci

@adi @prologic It's worth bearing in mind that

I used to have a lot of hope for them but these two ingredients mean that enshittification is virtually inevitable.

In reply to: #7dxtvnq 2 years ago
@abucci@anthony.buc.ci

@prologic Horseshit hype:

  • AI that we have today cannot think--there is no cognitive capacity
  • AI that we have today cannot be interviewed--"inter" "viewing" is two minds interacting, but AI of today has no mind, which means this is a puppet show
  • AI today is not free--it's a tool, a machine, hardly different from a hammer. It does what a human directs it to do and has no drives, desires, or autonomy. What you're seeing here is a fancy Mechnical Turk

This shit is probably paid for by AI companies who desperately want us to think of the AI as far more capable than it actually is, because that juices sales and gives them a way to argue they aren't responsible for any harms it causes.

In reply to: #xevmcwa 2 years ago
@abucci@anthony.buc.ci

@jmjl I'm sorry that I'm not super knowledgeable about alternatives to jmp.chat but I'll tell you what I know.

You're probably right about jmp.chat not working for you, at least as it is now. You can only get US and Canadian phone numbers through it last time I checked, so if you're not in either of those countries you'd be making international calls all the time and people who wanted to call you would be making international calls too.

I've seen people talk about using SIP as an intermediary: you can bridge SIP-to-XMPP, and bridge SIP-to-PSTN (PSTN = "packet switched telephone network", meaning normal telephone). You can skip the SIP-to-XMPP side if you're comfortable using a SIP client. I don't know very much about SIP or PSTN so I am not sure what to recommend, but perhaps this helps your search queries.

There are a fair number of services like TextNow that let you sign up for a real telephone number that you can then use via their app (I wouldn't use TextNow--they had tons of spyware in their app). I don't know if that kind of service works for you but if it does perhaps you'd be able to find one of them that isn't horrible. This page (https://alternativeto.net/software/jmp-chat/) has a bunch of alternatives; I can't vouch for any of them but maybe it's a starting point if you want to go this route.

Good luck!

In reply to: #vkofzva 2 years ago
@abucci@anthony.buc.ci

@mckinley Yes, I'm still with jmp.chat, and still very happy with them overall. Their beta period ended and their pricing increased a bit, so that's worth a bit of consideration. I also managed to get one of their eSIMs. I'm slightly less happy with that aspect of their service, though they seem to be actively working on improving it and I knew in advance this was an early beta kind of thing and likely to have issues.

The only unreliability with calls that I've noticed was traceable to the unreliability of my own internet connection. I've confused incoming calls by simultaneously making and taking calls from the computer and the phone, but I think it's understandable that problems might arise and that's not a real use case for me. Once or twice I did not receive a text transcription of a voice mail, but the support is usually quick to address things like that.

I host my own XMPP server and have for a good decade now, and that's what I use with jmp.chat. I can't speak to the quality of their hosting options.

Group texting works fine for me if one of the other parties initiates the group text. I haven't tried to initiate my own group text in well over a year; last time I did, it didn't work. That may or may not be a problem for you, and it may or may not have been fixed by now. Worth investigating more if it's important. I should also say I've only ever used group texts with 3 participants, and can't speak to what happens if there are more nor whether there are upper limits.

Group texts don't use MUC. Rather, they use a special syntax in the JID, something like "+1XXX,+1YYY,...,+1ZZZ@cheogram.com", where the + and , are required, the XXX, YYY, through ZZZ are the phone numbers (no dashes or other special chars just digits), and the @cheogram.com at the end is required.

I recommend the cheogram app if you're on android. It has a lot of nice features on top of the Conversations base. I use gajim on my (linux) computer and it works well with jmp.chat.

I'm happy to answer other questions if you have them!

In reply to: #bf5yqda 2 years ago
@abucci@anthony.buc.ci

@New_scientist No, Google does not predict this. "Google AI" has been self-promoting like this for decades. Remember when they used to brag that they could predict the onset of flu season weeks before it started? That silently went away because they got it badly wrong many times and people caught on to how bad their "predictions" actually were.

They can't stop themselves. Anything about AI coming out of big tech companies these days is marketing, not real, and certainly not science.

In reply to: #yrdafza 2 years ago
@abucci@anthony.buc.ci

@New_scientist because of course they have.

Emily Bender, a computational linguistic and excellent critic of this generative AI nonsense, uses an analogy of an oil spill to characterize what is happening as a result of generative AI. It's polluting the world with false information, false images, false "academic" articles, false books. The companies that create this stuff are not cleaning up their misinformation spill; they're letting the mess spread all over. It's being used to commit crimes, and that'll only get worse. Just like an out of control oil spill will destroy entire ecosystems.

In reply to: #addgj3q 2 years ago
@abucci@anthony.buc.ci

here's my old web page at Brandeis University

Coevolutionary algorithms typically explore domains in which no single evaluation function is present or known. For the purpose of selecting which individuals to maintain and vary, they instead rely on the outcomes of interactions between evolving entities.

I've been using variations of that same phrasing for a very long time--I wrote that web page circa 2005 maybe?

In reply to: #zi4535q 2 years ago
@abucci@anthony.buc.ci

@prologic what do you mean when you say "Docker API"? There are multiple possible meanings for that. podman conforms to some of Docker's APIs and it's unclear to me which one you say it's not conforming to.

You just have to Google "podman Docker API" and you find stuff like this: https://www.redhat.com/sysadmin/podman-rest-api

What is Podman's REST API?

Podman's REST API consists of two components:

  • A Docker-compatible portion called Compat API
  • A native portion called Libpod API that provides access to additional features not available in Docker, including pods

Or this: https://docs.podman.io/en/latest/markdown/podman-system-service.1.html

The REST API provided by podman system service is split into two parts: a compatibility layer offering support for the Docker v1.40 API, and a Podman-native Libpod layer.

In reply to: #42qgz2q 2 years ago
@abucci@anthony.buc.ci

@prologic I don't get your objection. dockerd is 96M and has to run all the time. You can't use docker without it running, so you have to count both. docker + dockerd is 131M, which is over 3x the size of podman. Plus you have this daemon running all the time, which eats system resources podman doesn't use, and docker fucks with your network configuration right on install, which podman doesn't do unless you tell it to.

That's way fat as far as I'm concerned.

As far as corporate goes, podman is free and open source software, the end. docker is a company with a pricing model. It was founded as a startup, which suggests to me that, like almost all startups, they are seeking an exit and if they ever face troubles in generating that exit they'll throw out all niceties and abuse their users (see Reddit, the drama with spyware in Audacity, 10,000 other examples). Sure you can use it free for many purposes, and the container bits are open source, but that doesn't change that it's always been a corporate entity, that they can change their policies at any time, that they can spy on you if they want, etc etc etc.

That's way too corporate as far as I'm concerned.

I mean, all of this might not matter to you, and that's fine! Nothing wrong with that. But you can't have an alternate reality--these things I said are just facts. You can find them on Wikipedia or docker.com for that matter.

In reply to: #axkd3eq 2 years ago
@abucci@anthony.buc.ci

@prologic I had a feeling my container was not running remotely. It was too crisp.

podman is definitely capable of it. I've never used those features though so I'd have to play around with it awhile to understand how it works and then maybe I'd have a better idea of whether it's possible to get it to work with cas.run.

There's a podman-specific way of allowing remote container execution that wouldn't be too hard to support alongside docker if you wanted to go that route. Personally I don't use docker--too fat, too corporate. podman is lightweight and does virtually everything I'd want to use docker to do.

In reply to: #axkd3eq 2 years ago
@abucci@anthony.buc.ci

@prologic @jmjl It looks like there's a podman issue for adding the context subcommand that docker has. Currently podman does not have this subcommand, although this comment has a translation to podman commands that are similar-ish.

It looks like that's all you need to do to support podman right now! Though I'm not 100% sure the containers I tried really are running remotely. Details below.

I manually edited the shell script that cas.run add returns, changing all the docker commands to podman commands. Specifically, I put alias docker=podman at the top so the check for docker would pass, and then I replaced the last two lines of the script with these:

podman system connection add cas  "host=tcp://cas.run..."
podman system connection default cas

(that ... after cas.run is a bunch of connection-specific stuff)

I ran the script and it exited with no output. It did create a connection named "cas", and made that the default. I'm not super steeped in how podman works but I believe that's what you need to do to get podman to run containers remotely.

I ran some containers using podman and I think they are running remotely but I don't know the right juju to verify. It looks right though!

This means you could probably make minor modifications to the generated shell script to support podman. Maybe when the check for docker fails, check for podman, and then later in the script use the podman equivalents to the docker context commands.

In reply to: #axkd3eq 2 years ago
@abucci@anthony.buc.ci

@prologic aha, thank you, that got me unjammed.

Turns out I thought I had an SSH key set up in github, but github didn't agree with me. So, I re-added the key.

I also had to modify the command slightly to:

ssh -p 2222 -i PRIVATE_GITHUB_KEY GITHUB_USERNAME@cas.run help

since I generate app-specific keypairs and need to specify that for ssh and I haven't configured it to magically choose the key so I have to specify it in the command line.

Anyhow, that did it. Thanks!

In reply to: #axkd3eq 2 years ago
@abucci@anthony.buc.ci

hello @coreybag please post something that demonstrates you're a human being and not a bot; otherwise I'm afraid I'll have to delete your account!

In reply to: #fndjfpa 2 years ago
@abucci@anthony.buc.ci

@Planet_Jabber_XMPP

The benefits of blockchain implementation across multiple sectors are well-documented

WTF are you talking about? The only thing well-documented about "the blockchain" is that it sucks and its primary use case is creating Ponzi schemes.

In reply to: #tdpzuha 2 years ago
@abucci@anthony.buc.ci

@movq @mckinley I believe the resurgence in availability of municipal WiFi is largely driven by the surveillance capabilities it offers. Every person who has WiFi enabled on their phone can be tracked throughout the city as their phones ping various base stations; a lot of folks aren't aware of just how much information can be slurped out of a phone that isn't locked down just from its WiFi pings. I know this happens in Toronto, and I was familiar with a startup in Massachusetts that based its business model on this very concept. I can only assume it's widespread in the US if not throughout the Western world.

In reply to: #ivhcphq 2 years ago
@abucci@anthony.buc.ci

@prologic Well, you can mute or block individual users, and you can mute conversations too. I think the tools for controlling your interactions aren't so bad (they could definitely be improved ofc). And in my case, I was replying to something this person said, so it wasn't outrageous for his reply to be pushed to me. Mostly, I was sad to see how quickly the conversation went bad. I thought I was offering something relatively uncontroversial, and actually I was just agreeing with and amplifying something another person had already said.

In reply to: #kzsbkna 2 years ago
@abucci@anthony.buc.ci

@prologic attacking the person, not the idea. It'd be like if you said "yarn is better than mastodon because it isn't push based" and someone who disagreed with you said "well you think that because you're an idiot" or something like that.

In reply to: #kzsbkna 2 years ago
@abucci@anthony.buc.ci

@prologic It was super useful if you needed to do the sorts of things it did. I'm pretty sad.

At its core was Sage, a computational mathematics system, and their own version of Jupyter notebooks. So, you could do all kinds of different math stuff in a notebook environment and share that with people. But on top of that, there was a chat system, a collaborative editing system, a course management system (so if you were teaching a class using it you could keep track of students, assignments, grades, that sort of thing), and a bunch of other stuff I never used. It all ran in a linux container with python/conda as a base, so you could also drop to a terminal, install stuff in the container, and run X11 applications in the same environment. I never taught a class with it but I used to use it semi-regularly to experiment with ideas.

In reply to: #fxbcufa 2 years ago
@abucci@anthony.buc.ci

@prologic I run fail2ban on very aggressive settings to avoid these headaches. That plus manually banning IP ranges that register bots on my pod (šŸ™„) works pretty well for me.

In reply to: #khu32eq 2 years ago
@abucci@anthony.buc.ci

@prologic hmm, I'd be up for thinking about that. At least at the protocol and design level--I'm afraid I can't help much with Go programming.

In reply to: #mbo4kaa 2 years ago
@abucci@anthony.buc.ci

@prologic It's true. I think the key point is to make it 100% clear what your intentions are, so that if there ever is a legal case against Google, they cannot credibly pretend not to have known.

In reply to: #abupyoa 2 years ago
@abucci@anthony.buc.ci

@marado It's very different. Language models are part if traditional search engines and translation engines. The new policy mentions Cloud AI abd Bard specifically. This is a weird change and probably a good preemptive move as I said previously. I'm not sure why you're downplaying it

In reply to: #y7ldi4q 2 years ago
@abucci@anthony.buc.ci

@marado It can't possibly be defensible, which to me always signals an attempt at a power grab. They never explicitly said "we will use anything we scrape from the web to train our AI" before--that's new. There is growing pushback against that practice, with numerous legal cases winding through the legal system right now. Some day those cases will be heard and decided on by judges. So they're trying to get out ahead of that, in my opinion, and cement their claims to this data before there's a precedent set.

In reply to: #y7ldi4q 2 years ago
@abucci@anthony.buc.ci

@prologic They were almost certainly doing this already, but now they're codifying it in their policies, essentially claiming ownership over everyone's web pages.

In reply to: #y7ldi4q 2 years ago
@abucci@anthony.buc.ci

With Youtube testing a "three strikes and you're out" policy against people who use ad blockers, I'm also wondering whether Web 2.0 is effectively walled off and I should just give up on it entirely and look elsewhere for information and entertainment.

In reply to: #fob5w6q 2 years ago
@abucci@anthony.buc.ci

@shreyan I noticed that too: #nlmebga

In reply to: #wymrika 2 years ago
@abucci@anthony.buc.ci

@movq If I understand it correctly, gtk4 renders using OpenGL. That means some of that RAM that appears to be allocated is actually some trick of the OpenGL driver so that it can map address in RAM space to the GPU's VRAM (depends a lot on your setup though).

What happens if you run it with GSK_RENDERER=cairo set?

In reply to: #owvsdgq 2 years ago
@abucci@anthony.buc.ci

@movq Doesn't even compile on my system, which is apparently broken:

> cc -Wall -Wextra -o win win.c $(pkg-config --cflags --libs gtk4)                                                                                                        
cc: error: unrecognized argument in option ā€˜-mfpmath=sse -msse -msse2 -pthread -I/usr/include/gtk-4.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/x86_64-linux-gnu -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/graphene-1.0 -I/usr/lib/x86_64-linux-gnu/graphene-1.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgtk-4 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgraphene-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0’
cc: note: valid arguments to ā€˜-mfpmath=’ are: 387 387+sse 387,sse both sse sse+387 sse,387
In reply to: #owvsdgq 2 years ago
@abucci@anthony.buc.ci

I found this to be a good thread on the subject of how the media is covering the dam explosion. The author, Timothy Snyder, is a history professor at Yale and has consistently good commentary on the war in Ukraine.

In reply to: #k5eii3q 2 years ago
@abucci@anthony.buc.ci

@prologic I don't agree. I think he's a thug who benefits a lot if everybody thinks he's a madman.

All through this war, there has been a repeated cycle:

  • We can't give Ukraine weapon X; that will provoke Putin and he'll drop a nuke!
  • Russian propagandists threaten they're about to drop nukes
  • After lots of hand wringing, some country gives weapon X to Ukraine
  • No nukes are dropped

We're on like the 5th iteration of this. Now it's about F-16 fighter jets. In the meantime, a lot of Ukrainians AND Russians are dying en masse.

In reply to: #k5eii3q 2 years ago
@abucci@anthony.buc.ci

@prologic I said nothing about an international violent response. You added that šŸ¤”

If someone punches you in the face over and over again, you don't stand there and take it to avoid "begetting violence". You stop them from punching you, and do your best to ensure they never punch you again. That's not "violence begets violence". That's rationality.

In reply to: #k5eii3q 2 years ago
@abucci@anthony.buc.ci

This demands a response from Europe, the world, not just Ukraine.

In reply to: #k5eii3q 2 years ago
@abucci@anthony.buc.ci

Seems to me you could write a script that:

  • Parses a StackOverflow question
  • Runs it through an AI text generator
  • Posts the output as a post on StackOverflow

and basically pollute the entire information ecosystem there in a matter of a few months? How long before some malicious actor does this? Maybe it's being done already 🤷

What an asinine, short-sighted decision. An astonishing number of companies are actively reducing headcount because their executives believe they can use this newfangled AI stuff to replace people. But, like the dot com boom and subsequent bust, many of the companies going this direction are going to face serious problems when the hypefest dies down and the reality of what this tech can and can't do sinks in.

We really, really need to stop trusting important stuff to corporations. They are not tooled to last.

In reply to: #65j7vzq 2 years ago
@abucci@anthony.buc.ci

@lyse @movq I've always liked the sound of crows, and I really really hate the sound of motorized vehicles, so I also find it absurd. I've come to think that some people are at some level afraid of nature, and nature sounds remind them of it.

In reply to: #2qky3jq 2 years ago
@abucci@anthony.buc.ci

@movq wow. I'd trade crow sounds for car sounds, or jet sounds, or leaf blower sounds, or lawn mower sounds, or.....100% of the time.

As far as fighting the birds goes, maybe they're right, but probably it'd be better to re-balance the ecosystem so that crows aren't so dominant? At least there are things to try. When it comes to reducing how much air travel people use, it takes a terrorist attack or a pandemic to affect it.

In reply to: #2qky3jq 2 years ago
@abucci@anthony.buc.ci

@prologic You more or less need a data center to run one of these adequately (well, train...you can run a trained one with a little less hardware). I think that's the idea--no one can run them locally, they have to rent them (and we know how much SaaS companies and VCs love the rental model of computing).

There's a lot of promising research-grade work being done right now to produce models that can be run on a human-scale (not data-center-scale) computing setup. I suspect those will become more commonly deployed in the next few years.

In reply to: #hx33uaa 2 years ago
@abucci@anthony.buc.ci

@movq I was visiting Germany once, and saw a guy try to load his bicycle onto the bike racks they have on the front of city buses. There were rules about when you could do that, which were posted on the bus stop sign, and I guess the guy thought this was a time when he could do that. But no, the bus driver disagreed. The bus driver got off the bus with a rule book, flipped it open to what I guess were the rules about bikes on the bus, and showed him the rules. The guy pointed at the sign, the bus driver said no and pointed at the book, and they went back and forth for I don't know how long. It felt a lot like these videos lol

In reply to: #o3jldpq 2 years ago
@abucci@anthony.buc.ci

@obsidian-roundup how many damn AI plugins does obsidian need? This shit is so annoying; it's sucking the oxygen out of every other development effort.

In reply to: #bivezxa 2 years ago
@abucci@anthony.buc.ci

@prologic I think those headsets were not particularly usable for things like web browsing because the resolution was too low, something like 1080p if I recall correctly. A very small screen at that resolution close to your eye is going to look grainy. You'd need 4k at least, I think, before you could realistically have text and stuff like that be zoomable and readable for low vision people. The hardware isn't quite there yet, and the headsets that can do that kind of resolution are extremely expensive.

But yeah, even so I can imagine the metaverse wouldn't be very helpful for low vision people as things stand today, even with higher resolution. I've played VR games and that was fine, but I've never tried to do work of any kind.

I guess where I'm coming from is that even though I'm low vision, I can work effectively on a modern OS because of the accessibility features. I also do a lot of crap like take pictures of things with my smartphone then zoom into the picture to see detail (like words on street signs) that my eyes can't see normally. That feels very much like rudimentary augmented reality that an appropriately-designed headset could mostly automate. VR/AR/metaverse isn't there yet, but it seems at least possible for the hardware and software to develop accessibility features that would make it workable for low vision people.

In reply to: #5bl6sta 2 years ago
@abucci@anthony.buc.ci

@eldersnake interesting, because some people are writing articles declaring the metaverse dead: https://www.businessinsider.com/metaverse-dead-obituary-facebook-mark-zuckerberg-tech-fad-ai-chatgpt-2023-5

In reply to: #5bl6sta 2 years ago
@abucci@anthony.buc.ci

@prologic It's a fun challenge to see how many words you can say without expressing any ideas at all. Maybe this GPT stuff should be trained to do that!

In reply to: #rt3ekma 2 years ago
@abucci@anthony.buc.ci

@prologic

Let’s assume for a moment that an answer to a question would be met with so many words you don’t know what the answer was at all. Why? Why do this? Is this a stereotype of academics and philosophers? If so, it’s not a very straight-forward way of thinking, let alone answering a simple question.

Well, I can't know what's in these peoples' minds and hearts. Personally I think it's a way of dissembling, of sowing doubt, and of maintaining plausible deniability. The strategy is to persuade as many people as possible to change their minds, and then force the remaining people to accept the idea because they think too many other people believe it.

Let's say you want, for whatever reason, to get a lot of people to accept an idea that you know most people find horrible. The last thing you should do is express the idea clearly and concisely and repeat it over and over again. All you'd accomplish is to cement people's resistance to you, and label yourself as a person who harbors horrible ideas that they don't like. So you can't do that.

What do you do instead? The entire field of "rhetoric", dating back at least to Plato and Aristotle (400 years BC), is all about this. How to persuade people to accept your idea, even when they resist it. There are way too many techniques to summarize in a twt, but it seems almost obvious that you have to use more words and to use misleading or at least embellished or warped descriptions of things, because that's the opposite of clearly and concisely expressing yourself, which would directly lead to people rejecting your idea.

That's how I think of it anyway.

In reply to: #rt3ekma 2 years ago
@abucci@anthony.buc.ci

@prologic hmm, dunno about the recency of that line of thought. I suspect though that given his (recent or not) history, if someone directly asked him "do you support rape" he would not say "no", he'd go on one of these rambling answers about property crime like he did in the video. Maybe I'm mind poisoned by being around academics my whole career, but that way of talking is how an academic gives you an answer they know will be unpopular. PhD = Piled Higher And Deeper, after all right? In other words, if he doesn't say "no" right away, he's saying "yes", except with so many words there's some uncertainty about whether he actually meant yes. And he damn well knows that, and that's why I give him no slack.

There are people in academia who believe adult men should be able to have sex with children, legally, too. They use the same manner of talking about it that Peterson uses. We need to stop tolerating this, and draw hard red lines. No, that's bad, no matter how many words you use to say it. No, don't express doubts about it, because that provides justification and talking points to the people who actually carry out the acts.

In reply to: #h7gltfa 2 years ago
@abucci@anthony.buc.ci

I may have misspoken in my haste/anguish. I don't know of any examples of Ben Shapiro advocating rape. I do know them of Jordan Peterson. He's known for that, but I've seen it myself. So, to be clear, I don't know if Ben Shapiro is a rape apologist and have no evidence of that. Wouldn't surprise me frankly because the set of ideas he does talk about tends to include being A-OK with crimes against women, but anyway.

In reply to: #h7gltfa 2 years ago
@abucci@anthony.buc.ci

@prologic

Taking Jordan Peterson asn an example, the only thing he ā€œpreachesā€ (if you want to call it that) is to be honest with yourself and to take responsibility.

This is simply untrue. Read the articles I posted, seriously.

In a tweet in one of the articles I posted, Peterson states there is no white supremacy in Canada. This is blatantly false. It is disinformation. Peterson has made statements that rape is OK (he uses "fancy" language like "women should be naturally converted into mothers" but unpack that a bit--what he means is legalized rape followed by forced conception). He is openly anti-LGBTQ and refuses to use peoples' preferred pronouns. He seems to believe that women who wear makeup at work are asking to be sexually harassed.

He's using his platform in academia to pretend that straight, white men are somehow the most aggrieved group in the world and everyone else is just whining and can get fucked. The patron saint of Men's Rights Activists and incels. I find him odious.

In reply to: #h7gltfa 2 years ago
@abucci@anthony.buc.ci

@prologic omg yes! They are both ultra-right-wing assholes! The worst of the worst! Please tell me you don't listen to these guys' brain poison?

In reply to: #l4nwadq 2 years ago
@abucci@anthony.buc.ci In reply to: #l4nwadq 2 years ago
@abucci@anthony.buc.ci

I have no interest in doing anything about it, even if I had the time (which I don't), but these kind of thing happen all day every day to countless people. My silly blog post isn't worth getting up in arms about, but there are artists and other creators who pour countless hours, heart and soul into their work, only to have it taken in exactly this way. That's one of the reasons I'm so extremely negative about the spate of "AI" tools that have popped up recently. They are powered by theft.

In reply to: #eaewypq 2 years ago
@abucci@anthony.buc.ci

There's a link to the blog post, but they extracted a summary in hopes of keeping people in Google properties (something they've been called out on many times).

I was never contacted to ask if I was OK with Google extracting a summary of my blog post and sticking it on the web site. There is a very clear copyright designation at the bottom of each page, including that one. So, by putting their own brand over my text, they violated my copyright. Straightforward theft right there.

In reply to: #eaewypq 2 years ago
@abucci@anthony.buc.ci

@darch So a fiction novel, which is labelled "fiction", is a lie? I still don't understand. The word "lie" entails an intention to deceive, but fiction writing does not intend to deceive.

In reply to: #zyhzp7q 2 years ago
@abucci@anthony.buc.ci

@carsten You are conflating "aiming your eyes at" with "viewing art". These are fundamentally different activities.

In reply to: #zyhzp7q 2 years ago
@abucci@anthony.buc.ci

@prologic @carsten

There is (I assure you there will be, don’t know what it is yet…) a price to be paid for this convenience.

Exactly prologic, and that's why I'm negative about these sorts of things. I'm almost 50, I've been around this tech hype cycle a bunch of times. Look at what happened with Facebook. When it first appeared, people loved it and signed up and shared incredibly detailed information about themselves on it. Facebook made it very easy and convenient for almost anyone, even people who had limited understanding of the internet or computers, to get connected with their friends and family. And now here we are today, where 80% of people in surveys say they don't trust Facebook with their private data, where they think Facebook commits crimes and should be broken up or at least taken to task in a big way, etc etc etc. Facebook has been fined many billions of dollars and faces endless federal lawsuits in the US alone for its horrible practices. Yet Facebook is still exploitative. It's a societal cancer.

All signs suggest this generative AI stuff is going to go exactly the same way. That is the inevitable course of these things in the present climate, because the tech sector is largely run by sociopathic billionaires, because the tech sector is not regulated in any meaningful way, and because the tech press / tech media has no scruples. Some new tech thing generates hype, people get excited and sign up to use it, then when the people who own the tech think they have a critical mass of users, they clamp everything down and start doing whatever it is they wanted to do from the start. They'll break laws, steal your shit, cause mass suffering, who knows what. They won't stop until they are stopped by mass protest from us, and the government action that follows.

That's a huge price to pay for a little bit of convenience, a price we pay and continue to pay for decades. We all know better by now. Why do we keep doing this to ourselves? It doesn't make sense. It's insane.

In reply to: #5lowz6q 2 years ago
@abucci@anthony.buc.ci

@carsten

I have to write so many emails to so many idiots who have no idea what they are doing

So it sounds to me like the pressure is to reduce how much time you waste on idiots, which to my mind is a very good reason to use a text generator! I guess in that case you don't mind too much whether the company making the AI owns your prompt text?

I'd really like to see tools like this that you can run on your desktop or phone, so they don't send your hard work off to someone else and give a company a chance to take it from you.

In reply to: #5lowz6q 2 years ago
@abucci@anthony.buc.ci

@prologic @carsten

(1) You go to the store and buy a microwave pizza. You go home, put it in the microwave, heat it up. Maybe it's not quite the way you like it, so you put some red pepper on it, maybe some oregano.

Are you a pizza chef? No. Do we know what your cooking is like? Also no.

(2) You create a prompt for StableDiffusion to make a picture of an elephant. What pops out isn't quite to your liking. You adjust the prompt, tweak it a bunch, till the elephant looks pretty cool.

Are you an artist? No. Do we know what your art is like? Also no.

The elephant is "fake art" in a similar sense to how a microwave pizza is "fake pizza". That's what I meant by that word. The microwave pizza is a sort of "simulation of pizza", in this sense. The generated elephant picture is a simulation of art, in a similar sense, though it's even worse than that and is probably more of a simulacrum of art since you can't "consume" an AI-generated image the way you "consume" art.

In reply to: #zyhzp7q 2 years ago
@abucci@anthony.buc.ci

@carsten @lyse I also think it is best called fake. Art is created by human beings, for human beings. It mediates a relationship between two people, and is a means of expression.

A computer has no inner life, no feelings, no experience of the world. It is not sentient. It has no life. There's nothing "in" there for it to express. It's just generating pixels in patterns we've learned to recognize. These AI technologies are carefully crafted to fool people into experiencing the things they experience when they look at human-made art, but it is an empty experience.

In reply to: #zyhzp7q 2 years ago
@abucci@anthony.buc.ci

@carsten yeesh, it's a for-pay company I wouldn't give them the output of your mind for free and train their AI for them.

In reply to: #5lowz6q 2 years ago
@abucci@anthony.buc.ci

@prologic I would politely suggest again that we not react to people with bad attitudes who talk shit about yarn. If twt is forked, it should be forked to add features that are otherwise not possible. Not to appease people who will probably never be appeased.

In reply to: #54piw5q 2 years ago
Comment via email