# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 2032
# self = https://watcher.sour.is?uri=https://anthony.buc.ci/user/abucci/twtxt.txt&offset=1432
# next = https://watcher.sour.is?uri=https://anthony.buc.ci/user/abucci/twtxt.txt&offset=1532
# prev = https://watcher.sour.is?uri=https://anthony.buc.ci/user/abucci/twtxt.txt&offset=1332
@prologic Seems that way, yes.
@bender did you really expect anything else from it? Jack Dorsey threw a bunch of money at it and from the beginning it had the stink of web3 on it.
goodbye again michaelpindy πŸ‘‹
The Dermatologist has spoken.

@support ah, a repeat customer. Hello again michaelpindy.
unfortunately, this functions to meta-train the crappy users of AI to become better at faking--they get an improvement signal.
On Detecting Whether Text was Generated by a Human or an AI Language Model

The arms race is well underway!
@prologic listen to this: https://www.techwontsave.us/episode/146_tech_billionaires_are_coming_for_workers_w_wendy_liu

I really like this podcast. Even though I dont always agree with the host, they bring on knowledgeable people.The technical press is so bad, just a bunch of fawning sycophants who regurgitate press releases and hype, so listening to critical voices is crucial to forming a more balanced opinion.

Also, I think generally speaking the wealthy class is "cashing out" so to speak. They're pulling in record profits but laying people off and raising interest rates? Economically that doesn't make sense. There must be sone other reason they're doing all this, and one of the more plausible explanations is the wealthy class is trying to "put down" efforts by the working class to gain power. COVID, the tight labor market, and the successful unionization efforts lately are scaring the shit out of them.
@support welcome back amyzit the dermatologist will be with you shortly.
@prologic the billionaire class is letting software developers know that they are no longer a privileged hire. soon they will hire back a bunch of software developers but at lower pay and with much reduced benefits. The ongoing class war has finally reached devs.

That's my read anyway.
β€œThe computer has long been a solution looking for problemsβ€”the ultimate technological fix which insulates us from having to look at problems.” – Joseph Weizenbaum (1983)
@prologic it's because you're wholesale rejecting SQL databases, which is absurd. Maybe they don't make sense for yarn, but they're obviously not always bad so by hating on them you're inviting push back. πŸ€·β€β™‚οΈ
@prologic you're just reinventing relational databases with a lot of that stuff though. Row stores are pretty bad but column stores have a huge number of advantages and are superior to keys value stores in certain cases, like when you do have a fairly strictly tabular dataset with multiple distinct concepts and want to flexibly query it without the rigmarole of reindexing every possible combination of fields you may want to query like you'd do in a key value store. Choose the right tool for the job etc.
@prologic well, I lied a bit. You can with small js glue fragments in "onclick' events on buttons (for instance). You don't need libraries or frameworks, just a short fragment that's easy to understand and debug, functioning as an event handler.

However, you can fake it with the checkbox trick, where you send the client much more data than you reveal at first and use CSS/HTML to incrementally reveal it. You can also do the meta-refresh thing combined with server-side page rendering to pull in new content periodically.
@prologic you can do a reasoanable lazy loading type thing without JavaScript
@prologic lol, as you can see I'm paying very close attention.
@prologic nope, never received that email. Is that new?

I *think* I set up SMTP but I'll have to double check that.
@prologic I don't know what you mean by "anything above 2000".

I'm not sure I'm comfortable with automatically nuking accounts. I think I'd rather look over the list myself and have the opportunity to modify which accounts are deleted. It seems like good practice to me to not automate administrator decisions that affect people. Yes, the vast majority of these accounts are probably not backed by real people who want to participate in a non-spammy way, but I don't like the notion of accidentally catching a person up in an algorithmic purging.
@prologic That's what I mean. Just to put an obstacle/slow down in between signing up and actually having an account.
@jlj only twt is "NFT Development Services", a link. The Spam is strong with this one.
if 100 people register for a pod that's 100x work for the administrator compared to having each user pass a non-user-hostile captcha and verify their email address. I'd advocate for filtering on the user side and equipping admins to mass delete spam and inactive accounts.
@prologic oh yes, lots of those. I guess last Thursday was the last one, and I have at least one meeting today.

I was thinking that I rarely use the actual telephone network anymore. It's almost all digital/internet.
@prologic for my pod it'd be simpler: don't allow anyone to register with a username that ends in -zit. Problem solved!
@prologic yeah, I came to a similar place in my own work. SQL databases have their place, but a good key-value store is often the best choice.

I do love SQL as a language concept though. For a grad school project the group I was in wrote an interpreter for a SQL-like language that queried email, and it's so elegant.
I haven't talked on the phone since January 17th.
@prologic πŸ€·β€β™‚οΈ
@support oh hey one of the zits is back hey zit!
@bender the cache can't be that hard if you busted it again! 😏
@prologic They don't have an Android version so I haven't been able to try it.

The notion as I understand it is that they tell companies, on your behalf, to stop collecting data about you and to delete what data they have about you. Consumer Reports doesn't know this information; they act as an intermediary. They're and old and trusted non-profit in the US so it makes sense: consumers can trust them to act on their behalf, and companies tend to not want to piss off Consumer Reports.
@prologic They don't have an Android version so I haven't been able to try it.

The notion as I understand it is that they tell companies, on your behalf, to stop collecting data about you and to delete what data they have about you. Consumer Reports doesn't know this information; they act as an intermediary. They're and old and trusted non-profit in the US so it makes sense: consumers can trust them to act on their behalf, and companies tend to not want to piss off Consumer Reports.''

Edit: oops I got sidetracked and didn't answer your question lol. Truth is, I don't know what they need to know from you. I imagine if you have IOS and install the app you'd figure that out pretty quickly. I signed up to get an email when their Android version comes out so I can try it.
Permission Slip by CR

Interesting on a lot of levels. Consumer Reports is well respected and has been around since at least when I was a kid. If they're actively calling out large companies for stealing and selling people's data the tide has surely turned on this practice.
Still getting email. πŸ™‡β€β™‚οΈ
@prologic that's a dangerpus road to go down; historically when a lot of people lose faith in the government's ability to do things, authoritarians and fascists find fertile recruiting ground. It's safer to agitate for government to do better and not let up till they do.
@lyse so, you don't depend on libc, and you write device drivers from scratch for every project?
@nwu1dm email is imaginary!
@bender done!
Another email. Preposterous.
Three more emails. This is madness.
Come to think of it, Inbox Ξ” ≀ Zero is really what you want, right?
@prologic Yeah, it's one of these bizarro world pure functional languages so if you're not used to reading those it'll look weird as hell.
@prologic It definitely takes some getting used to. Try expanding the folded code (click the little arrow thingers)
@prologic Inbox Nonzero is clearly superior because it is invariant with respect to receiving an email, which Inbox Zero is not. πŸ€“
@prologic my link *is* a sample.
@prologic my link *is* a sample. You're looking at source code. In this particular case it even executes and shows you the result, a text string.
I pushed some "code" to Unison Share!
Free yourselves from the oppression of inbox zero!
@prologic It literally never happens. I got it down to zero, and now it's at 3 again. This is bullshit!
@prologic thank you!
I have two emails left in my inbox. Should I push for inbox zero?
@prologic I mean I guess that would be nice but don't go out of your way to add one
@awesome-scala-weekly scala will never die 🀘
GoTo security breach update confirms hackers stole customer backups - The Verge

Wowowowowow, an *encryption key* for *user data* was stolen, too. What the hell kind of clown show is LastPass running over there? If you use that thing get out now!
William Lawvere, a mathematician who I've always been inspired by, passed away on January 23rd. RIP.
One approach to this problem that does work is to have a large stable of maintainers, which reduces the probability that *all* maintainers go absent simultaneously. Most projects don't have that, though.

So it would seem that having a way of transferring control of a project from absent maintainers to aspiring active maintainers would be very nice to have. You don't want that control to pass into the hands of some arbitrary person. But, let's say there are people who are not currently maintainers issuing pull requests; and there are users submitting issues. You could imagine a mechanism whereby the pull request issuers can be "promoted" by community consent, where the community is the people submitting issues and other pull requests, plus anyone else who wants to be involved perhaps.

There are obviously dangers, but I don't think they are meaningfully different from the dangers that already exist in the github model of software development. Maybe I've overlooked something important though.
I was musing today about how to solve the problem of projects going stale on github. It really is an annoying problem if you depend on a project where the main maintainers go absent without passing the project on to someone else. The project becomes trapped and dead. Usually (and rightfully), only the maintainers can push releases that can be used by a wider community. But that means if you're depending on a ruby gem or an npm package of a java jar or....then the release package is no longer updated once the maintainers go absent. People can submit pull requests, but with no maintainers to accept them, the source code goes stale too. Though you can grab the pull release(s), the merge process often requires project-specific knowledge that has gone absent with the maintainers.
I was musing today about how to solve the problem of projects going stale on github. It really is an annoying problem if you depend on a project where the main maintainers go absent without passing the project on to someone else. The project becomes trapped and dead. Usually (and rightfully), only the maintainers can push releases that can be used by a wider community. But that means if you're depending on a ruby gem or an npm package or a java jar or any other build artifact on an official channel, you're out luck because the release artifacts are no longer updated once the maintainers go absent. People can submit pull requests, but with no maintainers to accept them, the source code goes stale too. Though you can grab the pull release(s), the merge process often requires project-specific knowledge that has gone absent with the maintainers.
@prologic I don't know...... by crawling? πŸ€”
@prologic oh, that's how it works? Interesting.
I ordered some Euroscrubbies awhile back and they finally showed up yesterday. I don't usually get excited about cleaning products but damn, these things are great.
@bender
Currently
Not
Exactly
Truthful
CNET's AI Journalist Appears to Have Committed Extensive Plagiarism

> First, the site was caught quietly publishing the machine learning-generated stories in the first place. Then the AI-generated content was found to be riddled with factual errors. Now, CNET's AI also appears to have been a serial plagiarist β€” of actual humans' work

Is it just me or is this stuff getting worse at an accelerating pace?
come on guys someone has to acknowledge my stupid joke!! https://www.youtube.com/watch?v=v2AC41dglnM
@Yarns but you already existed!
@prologic no way!!! I'm Thunderstruck by this news @mckinley
UnifiedPush

I think UnifiedPush is coming along nicely, but I wonder why they don't talk about IOS. The Conversations XMPP app for Android can now function as a UnifiedPush distributor, which is very cool--that means that any app that supports UnifiedPush can send notifications to you via XMPP instead of using Google's proprietary spyware crap.
@obsidian-roundup Come on.
Thanks @bender, the README describes how to use the systemd service file, @eldersnake
@eldersnake I put an example yarnd.service unit
on the yarn git awhile back if you use systemd. It could use some work but a variation of that one is controlling my own pod well enough.
@prologic πŸ€·β€β™‚οΈ
@prologic nothing wrong with that, but to believe it should be a coauthor of a science paper? What are people smoking?! 🚬
@prx I was curious about this too, and here's what I found for Linux. I'd suppose there are equivalents in OpenBSD?

1. run sudo tune2fs -l BLOCK_DEVICE | grep 'Filesystem created:' on a BLOCK_DEVICE whose filesystem was created at 1st machine use
2. run smartctl -a BLOCK_DEVICE | grep Power_On_Hours to check the total power-on hours of some BLOCK_DEVICE that's been up since the machine's 1st use

Obviously these both depend on having a block device (disk drive usu) whose life span is close to the machine's total uptime. There are utilities like tuptime in Linux, which I think are also compileable on OpenBSD, that you can install when you first start up a machine to keep this cumulative uptime but that doesn't help after the fact unless you solve time travel!
@bender You're probably right about that.
@bender I write too much here 🫠
@eaplmx I can appreciate that you might not mean it this way, but this post sounds condescending and arrogant. Just so you know. If a native English speaker said something like this to me, my response would be "fuck you."
@eaplmx Your comment betrays a whole universe of assumptions about me, including that I do not regularly leave my comfort zone. I find this objectionable, and I am going to ask you to stop doing that because it bothers me. If you continue to say things like this to me I'll have to block you.
@eaplmx I did try. I believe you are being unclear and I don't understand why. I have to tell you, just to be fully honest, that I think you are accusing me of things unfairly, and I object to that. I also think you have done this before on this site. It's fine if you don't like what I think, or how I think about things, or how I express myself. I'm happy to experiment with communication styles that work better. But it sure sounds to me as though you are suggesting, vaguely and without admitting to it, that I am not empathetic, not gentle, and not helping people. If that is not what you've been saying, then I'm sorry I misread but you really ought to clarify because it's what I'm coming to believe.

I hear what you're saying about scarcity. You don't know me, nor my background, so please be careful with your assumptions on that point. I did grow up in the US, and the US is extremely privileged in many ways, but those privileges are not universally distributed. I'd also point out that I am coming from the perspective of a credentialed computer scientist who feels a responsibility to his field, and I am operating in the context of using words and rhetoric, a tool available to everyone. I don't have degrees from fancy schools like Harvard or MIT that give my words extra weight; if I did I wouldn't be writing this on yarn.social, I'd be writing this in the New York Times.
@eaplmx I'm not sure I understand what you're saying, since I literally am trying to empathetic and work together (with my computer scientist colleagues) for a better world?
@eaplmx I'm don't understand what you're saying, since I literally am trying to empathetic and work together (with my computer scientist colleagues) for a better world?
@eaplmx I don't understand what you're disagreeing with.
@eaplmx I don't understand what you're trying to say here, but it seems to express a kind of passivity that I just cannot get behind. I will not accept the status quo, period. Please stop trying to convince me to, because that makes you, unbelievably, one of the reasons that the status quo resists change!

You seem to be ignoring that not so long ago, nobody knew the word "ChatGPT". Now they do. Somebody changed the world to introduce that word into more people's vocabulary. I wish to change the world to change how people conceive of what that world means. I'm not going to stop trying to do that just because there are 8 bullion people on Earth.
OK, I decided to take advantage of my blog to write up some thoughts about ChatGPT being listed as a coauthor on scientific papers. Have a look! Another AI Hype Cycle β€’ Anthony Bucci
I am so so so sick of rich people in Silicon Valley driving what people think "computer science" is. Which is exactly what's happening with ChatGPT, and is what happened with cryptocurrency, web3, "deep learning", ...........

But I don't know what, if anything, can be done about that. Many of my computer scientist colleagues contribute to this! Generally, we're not organized to counter the bizarre claims that are pushed into the media by SV snake oil salesmen.
I am so so so sick of rich people in Silicon Valley driving what people think "computer science" is. Which is exactly what's happening with ChatGPT, and is what happened with cryptocurrency, web3, "deep learning", ...........

But I don't know what, if anything can be done about that. Many of my computer scientists colleagues contribute to this! Many don't, but the SV-aligned voices seem to win out every time.
I am so so so sick of rich people in Silicon Valley driving what people think "computer science" is. Which is exactly what's happening with ChatGPT, and is what happened with cryptocurrency, web3, "deep learning", ...........

But I don't know what, if anything, can be done about that. Many of my computer scientists colleagues contribute to this! Many don't, but the SV-aligned voices seem to win out every time.
I couldn't help but add a second response after I saw someone throw up their hands and say this is the "state of the world" now:

The state of the world is what we make it. As computer scientists, we have a responsibility to hold the line against this maniacal hype. It's insane, in an almost literal sense, for us to follow the herd on this particular issue. We know better. We know all about just-so stories. We know about mechanical Turks. We've been through half a dozen or more AI hype cycles where the latest thing, whether it be expert systems or case-based reasoning or cybernetics or the subsumption architecture or neural networks or Bayesian inference or or or...., was going to replace the human mind. None of them have become that, to a one, and ChatGPT won't either.
I just posted this on LinkedIn in response to a survey from a colleague of mine asking whether ChatGPT should be credited as a co-author on papers:

1. ChatGPT does not have a conception of what is going on in the world. It is a word-emitter that tricks human minds into thinking it does. In other words, it's a kind of complex automaton, a marionette. The fact that the action of it is complex enough to fool us into thinking it "knows" something does not mean it does
2. ChatGPT is as likely to emit false information as true information (perhaps more so; has this been assessed?)
3. ChatGPT does not have deductive or inductive logical reasoning capabilities; nor does it have any "drive" to follow these principles
4. Human papers are for human writers to communicate to human readers. It seems to me that the only argument in favor of including ChatGPT in this process is a misguided drive to speed up the process even more than publish-or-perish has. In fact it should be *slowed down* and made *more careful*.
5. The present interest in ChatGPT is almost entirely driven by investor-fueled hype. It's where investors are running after the collapse of cryptocurrency/web3. There is a nice interview with Timnit Gebru on the Tech Won't Save Us podcast, titled "Don’t Fall for the AI Hype" that goes into this if you're curious. As computer scientists, we should not be chasing trends like this.
I just posted this on LinkedIn in response to a survey from a colleague of mine asking whether ChatGPT should be credited as a co-author on papers:

1. ChatGPT does not have a conception of what is going on in the world. It is a word-emitter that tricks human minds into thinking it does. In other words, it's a kind of complex automaton, a marionette. The fact that the action of it is complex enough to fool us into thinking it "knows" something does not mean it does
2. ChatGPT is as likely to emit false information as true information (perhaps more so; has this been assessed?)
3. ChatGPT does not have deductive or inductive logical reasoning capabilities; nor does it have any "drive" to follow these principles
4. Human papers are for human writers to communicate to human readers. It seems to me that the only argument in favor of including ChatGPT in this process is a misguided drive to speed up the process even more than publish-or-perish has. In fact it should be *slowed down* and made *more careful*.
5. The present interest in ChatGPT is almost entirely driven by investor-fueled hype. It's where investors are running after the collapse of crytocurrency/web3. There is a nice interview with Timnit Gebru on the Tech Won't Save Us podcast, titled "Don’t Fall for the AI Hype" that goes into this if you're curious. As computer scientists, we should not be chasing trends like this.
@prologic eh, that's OK. Lately I've been running non-release versions so why stop now πŸ˜†
@prologic that's too bad. It sounds like it fits well into the go ecosystem. Maybe it'll mature in time.
@bender I encountered so many strange cryptocurrency people there that I stopped using it, though I still have the account πŸ˜†
@bender but since you asked nicely I added another link to my profile 😜
@bender nah, the more links the better. That's how people authenticate these days.
@prologic I'm not sure what you're asking but it never registered with me before that salty uses saltpack. I guess thsrs why it's called salty huh? πŸ€¦β€β™‚οΈ
I tried it on Windows 10 but it failed with a weird error. Rymdport 3.2.0 seems to work fine on Windows 10 (it does for me anyway).
@bender @darch I need this fix on Buccipod! Hopefully @prologic will cut a new yarn release soon so all this good stuff can be available in a versioned version. πŸ™
Release v3.3.0 - New theme and improved usability Β· Jacalz/rymdport

I've been playing around with this version of Rymdport, which is a cross-platform GUI for magic-wormhole, and it seems pretty nice. I've been able to send files between several different Linux computers as well as between a computer and my phone with it.

One really nice feature is the direct support for sending text snippets. This is a good way to "securely" send something like a password from one computer to another. I say "securely" because you still have to communicate the wormhole code to the recipient, which of course could be intercepted and abused. The upshot though is that (a) you will know if someone connected to and downloaded whatever it was you sent, which allows for some amount of tamper detection; (b) the connection, once established, transmits data and closes without you having to do anything special, so there's no chance that data is accidentally left available to the world.

The wormhole cli can receive text and sends it to stdout, so you'd probably want to do something more sensible with that if you send a password (like pipe it into a password manager or some other downstream receiver).
I wonder whether Gio UI would be a good way to build a cross-platform for yarn.

This talk, which is about wormhole-william generally, has a segment about why he chose to use Gio UI to build the smartphone versions of the app. The link should take you to that spot but if not it starts at the 10:22 minute mark.
I wonder whether Gio UI would be a good way to build a cross-platform for yarn.

This talk, which is about wormhole-william generally, has a segment about why he chose to use Gio UI to build the smartphone versions of the app. The link should take you to that spot but if not it starts at the 10:22 minute mark. "I was able to go from no experience to yes I can turn this into a working app in a very short period of time".
I wonder whether Gio UI would be a good way to build a cross-platform for yarn.
@prologic @xuu Have a look at this page for inspiration. Among the nice things he discusses:
- Box: "Package box authenticates and encrypts small messages using public-key cryptography"
- Secretbox: "Package secretbox encrypts and authenticates small messages"
- Saltpack: "Need to encode, transmit, or store encrypted or signed data? saltpack is a streamlined, modern solution, designed with simplicity in mind. It is easy to implement & integrate"
- Magic wormhole: "This package provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another".

The first two are Go libraries so may be of special interest. Saltpack was put forward by keybase, but it's also a format that can be implemented in any language. Magic wormhole is implemented in either python or rust; the protocol is described here.