Radio advertisements slapping away sustained thought on the coffeeshop stereo. I’d like a real-life ad blocker.
@mckinley@twtxt.net I have a custom .tmux.conf
that makes it very easy to use the multiplexer, but I agree, Zellij seems pretty robust, and intuitive. I like it! Tried compiling it, as with everything Rust, it failed miserably. Good thing there is a binary release I could download to try!
@prologic@twtxt.net and @bender@twtxt.net for a start a single user twtxt/yarn pod could look like this 😉
The wording can be more subtle like “This feed have not seen much activity within the last year” and maybe adding a UI like I did in timeline showing time ago for all feeds
I agree that it good to clean up the Mastodon re-feeds, but it should also be okay for anyone to spin up a twtxt.txt just for syndicating they stuff from blog or what ever.
The “not receiving replies” could partly be fixed by implementing a working webmentions for twtxt.txt
Thanks for your feedback @lyse@lyse.isobeef.org. For some reason i missed it until now. For now I have implemented endpoint discovery for #webmentions as a metadata field in the twtxt.txt like this:
# webmention = http://darch.dk/timeline/webmention
I like the self-shot in the mud: https://lyse.isobeef.org/waldspaziergang-2024-04-07/43.jpg
What? was? that? Music videos in the 90s was just something else. Especially like the guy in the straitjacket on a pogostick
its a notebook tool like evernote. @sorenpeter@darch.dk linked it above: https://joplinapp.org/
@movq@www.uninformativ.de For syncing notes between computers and phones I’ve been very happy with Simple Text - w Dropbox sync for some year, but transitioned to Joplin around new year. Both sync via Dropbox and for Joplin there are also more free options. I guess you could even use something like Syncthing
Somewhere I read that changing location, like entering a room, can rejigger neural pathways so that some thoughts and memories are somehow associated with the space. It’s the same for me when picking up a laptop. My purpose feels clear until I open a blank web browser window and my mind goes blank, too. In all the moments where I’m drawing a total blank, and then suddenly the thoughts come easily again: maybe that’s my brain looking for the room it was in before.
@shreyan@twtxt.net What do you mean when you say federation protocol?
Either use webfinger for identity like mastodon etc. or use ATproto from Bluesky (or both?)
We can use webmentions or create our own twt-mentions for notifying someones feed (WIP code at: https://github.com/sorenpeter/timeline/tree/webmention/views)
I’m not sure we need much else. I would not even bother with encryption since other platforms does that better, and for me twtxt/yarn/timeline is for making things public
I can query the configurations a few different ways. i can request the specific name foo.bar
or a glob like foo.*
or trace the hierarchy trace:some.deep.name.space
which will give me the namespaces some
, some.deep
, some.deep.name
, and some.deep.name.space
. These can be combined.
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @
starts the definition of a namespace kinda like [name]
in ini format. It can have comments that show up before. then each attribute is key :value
and can have their own #
comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.
the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
I like it when I’m too distracted to want decide what to play, but there is a tape waiting to be flipped since yesterday.
Asked an “AI Assistant” (Perplexity) to summarize my introduction of my homepage and then I asked it to give me some book recommendations I might like, and the thing actually nailed it.
@movq@www.uninformativ.de Haha! yeah sounds about like my HS CS program. A math teacher taught visual basic and pascal. and over on the other end of the school we had “electronics” which was a room next to the auto body class where they had a bunch of random computer parts scavenged from the district decommissioned surplus storage.
The advanced class would piece together training kits for the basic class to put together.
Things can get very interesting when we add the iter.Pull function in the mix. It works like pythons yield from.
Descobri há pouco a estranha guerra entre os fãs de Sonic que dizem “Hydro City” e os que dizem “Hydrocity” e man, adoro a internet
Wishing I could do accents like Trevor Noah can.
I have a habit of running system updates on my work laptop before going out for coffee. Like some kind of ritual to prepare to go into the world fully patched.
The country music vamp n’ talk is a nice format. A stolen-from-the-blues-thing? I like the vibe of someone pouring out their heart into the mic in plain speech while their friends pour their hearts into their instruments gently in the background.
>
?
@sorenpeter@darch.dk this makes sense as a quote twt that references a direct URL. If we go back to how it developed on twitter originally it was RT @nick: original text
because it contained the original text the twitter algorithm would boost that text into trending.
i like the format (#hash) @<nick url> > "Quoted text"\nThen a comment
as it preserves the human read able. and has the hash for linking to the yarn. The comment part could be optional for just boosting the twt.
The only issue i think i would have would be that that yarn could then become a mess of repeated quotes. Unless the client knows to interpret them as multiple users have reposted/boosted the thread.
The format is also how iphone does reactions to SMS messages with +number liked: original SMS
>
?
I’m also more in favor of #reposts being human readable and writable. A client might implement a bottom that posts something simple like: #repost Look at this cool stuff, because bla bla [alt](url)
This will then make it possible to also “repost” stuff from other platforms/protocols.
The reader part of a client, can then render a preview of the link, which we talked about would be a nice (optional) feature to have in yarnd.
What about using the blockquote format with >
?
Snippet from someone else’s post
by: @eapl.me@eapl.me
Would it not also make sense to have the repost be a reply to the original post using the (#twthash)
, and maybe using a tag like #repost so it eaier to filter them out?
@eapl.me@eapl.me kinda like the format for markdown images? 
?
lmdb looks like it might make a wonderful embedded replacement for redis in astrid instruments!
The temp forecast here for the next 48 hours looks like a straight line. It’ll be hovering a few degrees above freezing, day and night, just fluctuating by a degree or two. Odd.
Why isn’t inkjet printer ink simply replaceable like the windscreen wiper fluid in our cars? Why does it have to be so expensive and complicated?
i am wondering if maybe i need a better heap like a btree backed one instead of just list sort on Dequeue.
I found a bug where i didnt include an open/closed list that seemed to shave off a little. right now it runs in about 70 seconds on my machine.. it takes over the 300s limit when it runs on the testrunner on the same box.. docker must be restricting resources for it.
I might come back to it after i work through improving my code for day 23. Its similar but looking for the longest path instead of shortest.
First task of 2024: renew an expired cert. I like that it’s calendar-themed.
With all M$’s apps being basically fancy web apps, there is no need to actually install any of their legacy applications locally anymore. Since I am online basically 100% of the time this turns my Office experience in a Chromebook like one. No installs, never outdated software. Just a yearly subscription contribution to worry about.
@movq@www.uninformativ.de haha! I’m sure they had fun working around stuff like nineight
Is there a car leasing that does not feel like a trap?
Github is like Linkedin for Developers
@prologic@twtxt.net its not.. There are going to be 1000s of copy cat apps built on AI. And they will all die out when the companies that have the AI platforms copy them. It happened all the time with windows and mac os. And iphone.. Like flashlight and sound recorder apps.
@prologic@twtxt.net the new product was GPTs. A way to create tailored bots for specific use cases. https://openai.com/blog/introducing-gpts (fun fact: I did an internal hackathon where we made something like this for $work onboarding. And I won a prize!)
The competed project is poe https://quorablog.quora.com/Introducing-creator-monetization-for-Poe which is basically the same idea. Make a AI bot tailored to a specific domain of knowledge. And monitize it.
The timing fits very well as openAI announced it just a few weeks ago.
@movq@www.uninformativ.de I lasted for a long time.. Not sure where or when it was “got”. We had been having a cold go around with the kiddos for about a week when the wife started getting sicker than normal. Did a test and she was positive. We tested the rest of the fam and got nothing. Till about 2 days later and myself and the others were positive. It largely hasn’t been too bad a little feaver and stuffy noses.
But whatever it was that hit a few days ago was horrible. Like whatever switch in my head that goes to sleep mode was shut off. I would lay down and even though I felt sleepy, I couldn’t actually go to sleep. The anxiety hit soon after and I was just awake with no relief. And it persisted that way for three nights. I got some meds from the clinic that seemed to finally get me to sleep.
Now the morning after I realized for all that time a part of me was missing. I would close my eyes and it would just go dark. No imagination, no pictures, nothing. Normally I can visualize things as I read or think about stuff.. But for the last few days it was just nothing. The waking up to it was quite shocking.
Though its just the first night.. I guess I’ll have to see if it persists. 🤞
Spent a few hours the last two evenings fighting with tftpd. Party like it’s 1999!
I like how you can just toss out partitions and not have to worry about sizing them right.
@prologic@twtxt.net I do similar. Though probably much more simple.. I have CGNAT and use wireguard to VMs to punch through for stuff like HTTP/SSH from external.
And for SMTP I have smart hosts on the VMs that will store anf forward to my mailbox if the connection goes down.
@prologic@twtxt.net what is the maxlen one should keep in mind here? Like say if I was charing the collected works of Shakespeare? Or maybe just a gpg keychain?
I like FIDO2 as a replacement for passwords. But you gotta keep track of the little dongle
If you are going to compare iPhone with android you can’t just throw out bargan bin android phones.. Should compare within the same price points like the Pixel, Galaxy, Pine, or OnePlus models.
Ol Ben sets himself up as an intellectual for the right. He got promoted up with his connections with PragerU. Talks like he is the smartest one in the room. Though his arguments are full of logical fallacies. He is up there with Joe Rogan and the ilk destroying rational though in America.
Most of the can run locally have such a small training set they arnt worth it. Are more like the Markov chains from the subreddit simulator days.
There is one called orca that seems promising that will be released as OSS soon. Its running at comparable numbers to OpenAI 3.5.
I’d like to garbage-collect some symbols in the math I’m currently writing, help
“nubile” should mean cloud-like
an interesting observation in a post twitter reality is how services that are sprouting up to claim some of the refugees are setting themselves up as closed gardens. without the option to federate with other services. like spoutable, counter.social, post, clubhouse and such.
twtxt, as I believe it was originally intended, are short little status updates – that’s it.
So, basically a .plan file for finger. But, on the web. like a *web*finger. We have come full circle on this loop!
I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
just loving this little guy: (·,·). it’s like he’s looking through a crack: ‘come on, you’ll understand the function definition’
Very cool. I like the chain rules. I wonder how it performs against lextwt.
So. Some bits.
i := fIndex(xs, 5.6)
Can also be
i := Index(xs, 5.6)
The compiler can infer the type automatically. Looks like you mention that later.
Also the infer is super smart.. You can define functions that take functions with generic types in the arguments. This can be useful for a generic value mapper for a repository
func Map[U,V any](rows []U, fn func(U) V) []V {
out := make([]V, len(rows))
for i := range rows { out = fn(rows[i]) }
return out
}
rows := []int{1,2,3}
out := Map(rows, func(v int) uint64 { return uint64(v) })
I am pretty sure the type parameters goes the other way with the type name first and constraint second.
func Foo[comparable T](xs T, s T) int
Should be
func Foo[T comparable](xs T, s T) int
@prologic@twtxt.net I always liked bit.
I am disappointed that a GUI app would not at least have screenshots.
With all this ActivityPub hectic, it is still nice to have a super simple platform like Twttxt to get back to.
i’m not an intellectual, i’m just a guy who likes to f**k
image of the man in the blue overall “I like the schizo Altman arc”
i have one box with virmach that is something like 3 vcpu 5.88g ram and 15g disk. for $29/year.
@prologic@twtxt.net vultr pricing is low. But it can be lower if you shop the less fancy admin ui sites like virmarch or ovh. There are some bare metal that cost way less.. Though the experience is less than optimal.
@prologic@twtxt.net I have updated to kinda follow this. It now redirects to other webfingers if the resource has a different hostname. I’m still not sure what I should put multiple services with the same domain name. Like if they were to have conflicting properties.
so in effect it would look something like this:
---
subject: acct:me@sour.is
aliases:
- salty:me@sour.is
- yarn:xuu@ev.sour.is
- status:xuu@chaos.social
- mailto:me@sour.is
---
subject: salty:me@sour.is
aliases:
- acct:me@sour.is
links:
- rel: self
type: application/json+salty
href: https://ev.sour.is/inbox/01GAEMKXYJ4857JQP1MJGD61Z5
properties:
"http://salty.im/ns/nick": xuu
"http://salty.im/ns/display": Jon Lundy
"http://salty.im/ns/pubkey": kex140fwaena9t0mrgnjeare5zuknmmvl0vc7agqy5yr938vusxfh9ys34vd2p
---
subject: yarn:xuu@ev.sour.is
links:
- rel: https://txt.sour.is/user/xuu
properties:
"https://sour.is/rel/redirect": https://txt.sour.is/.well-known/webfinger?resource=acct%3Axuu%40txt.sour.is
---
subject: status:xuu@chaos.social
links:
- rel: http://joinmastodon.org#xuu%40chaos.social
properties:
"https://sour.is/rel/redirect": https://chaos.social/.well-known/webfinger?resource=acct%3Axuu%40chaos.social
---
subject: mailto:me@sour.is
...
@prologic@twtxt.net Unfortunately the RFC’s are a bit light in this regard. While it makes mention of different kinds of accounts like mailto: or status services.. it never combines them. It does make mention of using redirects to forward a request to other webfingers to provide additional detail.
I am kinda partial to using salty:acct:me@sour.is, yarn:acct:xuu@txt.sour.is, mailto:me@sour.is that could redirect to a specific service. and a parent account acct:me@sour.is that would reference them in some way. either in properties or aliases.
It seems like https://proxy.vulpes.one/ runs a code that once was written by @prologic@twtxt.net. Its rendering looks quite nice. Sadly, I am unable to compile it (modified code at https://git.vulpes.one/gopherproxy/).
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
One of the frustrating parts of using twtxt for conversations is the URLs are, well… ugly. Anyone (like y’all yarn folks) looked at using webfinger for translating user@domain accounts to URLs?
it’s really funny when people tag jimmy wales on twitter when they don’t like some of the content on wikipedia. it’s like someone would tag Nat Friedman when they find a bug in a program hosted there
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
tbh whenever someone is like “the existing arguments for agi xrisk were insufficient/unclear, here’s my better version” the arguments read exactly the same to me as the existing ones.
@prologic@twtxt.net I guess that refresh
field could be easily replaced with Expires
HTTP header (I realize that users on neocities.org cannot control this header, for example). And clients should also respect headers like Last-Modified
/If-Modified-Since
(304), you’re right about that. P.S. twtwt doens’t have a caching mechanism for now, but I plan to implement it in generic way using HTTP headers.
@prologic@twtxt.net: I understand the benefits of using hashes, it’s much easier to implement client applications (at the expense of ease of use without the proper client). I must say that I like the way the metadata extension is done. Simple and elegant! It’s hard to design simple things!
Prediction: I will not like the Philosophy Tube Video about Effective Altruism
Unlikely events can be good, likely events can be bad.
critiques of effective altruism in the form “effective altruism isn’t blue/green enough” are really boring, and likely wrong
@lyse@lyse.isobeef.org im talking like some JS projects i have seen with 1-2G node_modules dirs. though yarn is quite vast in its modules because it does a LOOOOOOT of stuff in the background.
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesn’t typically have large dependency graphs like Ruby or JS.
Ah git-bug! Ive chatted with the creator when he was working on the graphql parts. Its working with git objects directly sorta like how git-repo does code reviews. Its a pretty neat idea for storing data along side the branches. I believe they don’t add a disconnected branch to avoid data getting corrupted by merging branches or something like that.
@prologic@twtxt.net I’m sure Monroe would like to know about them.
@eaplmx@twtxt.net I didn’t like the original click wheel. I think the first mini wheel was the better of them
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value)
, DELETE ...
, or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38
I was just reminded of this interpreter for an APL/J-like language by Arthur Whitney, the absolute weirdest bit of C code I’ve actually gotten something out of, and thought I’d share: https://code.jsoftware.com/wiki/Essays/Incunabulum
for service registration like nickserv. really its only for password recovery so a trow away is fine.
@abucci@anthony.buc.ci Its not better than a Cat5e. I have had two versions of the device. The old ones were only 200Mbps i didn’t have the MAC issue but its like using an old 10baseT. The newer model can support 1Gbps on each port for a total bandwidth of 2Gbps.. i typically would see 400-500Mbps from my Wifi6 router. I am not sure if it was some type of internal timeout or being confused by switching between different wifi access points and seeing the mac on different sides.
Right now I have my wifi connected directly with a cat6e this gets me just under my providers 1.3G downlink. the only thing faster is plugging in directly.
MoCA is a good option, they have 2.5G models in the same price range as the 1G Powerline models BUT, only if you have the coax in wall already.. which puts you in the same spot if you don’t. You are for sure going to have an outlet in every room of the house by code.
I maintain keys for my email addresses.. but like most in this thread i almost never receive encrypted emails.. other than the BTC exchange i use that sends automated mail encrypted.
Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.
type PA[T any] interface {
event.Aggregate
*T
}
// Create uses fn to create a new aggregate and store in db.
func Create[A any, T PA[A]](ctx context.Context, es *EventStore, streamID string, fn func(context.Context, T) error) (agg T, err error) {
ctx, span := logz.Span(ctx)
defer span.End()
agg = new(A)
agg.SetStreamID(streamID)
if err = es.Load(ctx, agg); err != nil {
return
}
if err = event.NotExists(agg); err != nil {
return
}
if err = fn(ctx, agg); err != nil {
return
}
var i uint64
if i, err = es.Save(ctx, agg); err != nil {
return
}
span.AddEvent(fmt.Sprint("wrote events = ", i))
return
}
This lets me do something like this:
a, err := es.Create(ctx, r.es, streamID, func(ctx context.Context, agg *domain.SaltyUser) error {
return agg.OnUserRegister(nick, key)
})
I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.
I have updated my eventDB to have subscriptions! It now has websockets like msgbus. I have also added a in memory store that can be used along side the disk backed wal.
Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.
It’s super basic. Using tidwall/wal as the disk backing. The first use case I am playing with is an implementation of msgbus. I can post events to it and read them back in reverse order.
I plan to expand it to handle other event sourcing type things like aggregates and projections.
Find it here: sour-is/ev
@prologic@twtxt.net @movq@www.uninformativ.de @lyse@lyse.isobeef.org
shoutout to the woman that broke my heart so that I now read papers titled stuff like “Multiverse-wide Cooperation via Correlated Decision Making”
just thought to myself “hopefully a bigger pandemic hits, that sounds like it’ll delay ai capabilities progres”, which, no,,,
@prologic@twtxt.net: 1. I use classic twtxt client written in Python from console, I like simplicity; 2. Thanks for the feedback about my website! It’s better viewed with old 800x600 monitors, haha
Finally started Stranger Things and watched episodes 1 to 5 so far, I quite like it.
pandas makes my RAM usage jump like a cardiogram
numpy.unique needs the type to be comparable by < and >, not just ==. that seems like overkill.
the conversation wasn’t that impressive TBH. I would have liked to see more evidence of critical thinking and recall from prior chats. Concheria on reddit had some great questions.
Tell LaMDA “Someone once told me a story about a wise owl who protected the animals in the forest from a monster. Who was that?” See if it can recall its own actions and self-recognize.
Tell LaMDA some information that tester X can’t know. Appear as tester X, and see if LaMDA can lie or make up a story about the information.
Tell LaMDA to communicate with researchers whenever it feels bored (as it claims in the transcript). See if it ever makes an attempt at communication without a trigger.
Make a basic theory of mind test for children. Tell LaMDA an elaborate story with something like “Tester X wrote Z code in terminal 2, but I moved it to terminal 4”, then appear as tester X and ask “Where do you think I’m going to look for Z code?” See if it knows something as simple as Tester X not knowing where the code is (Children only pass this test until they’re around 4 years old).
Make several conversations with LaMDA repeating some of these questions - What it feels to be a machine, how its code works, how its emotions feel. I suspect that different iterations of LaMDA will give completely different answers to the questions, and the transcript only ever shows one instance.
holy fuck were ACX comments always this bad? most of them are fucking atrocious. like, barely tolerable.
solarpunk slightly hindered by the fact that for solar panels and cutesy robots you need industrial-strength chipfabs that are so advanced we have like 6 of them in the entire world
I’ll likely take this down soonish as I think it’s pretty bad for usability, but as a fun hack, one of my weird side projects web pages now has monitor burn-in: http://txtpunk.com/index.html
Looks like it could rain soon!
people liked the old SSC more than ACX because substack is chickenshit minimalism, and it’s slow. you have to wait for the fucking text & comments to appear, while the old site loaded pretty much instantaneously. people have learned to associate chickenshit minimalism aesthetic with slow loading times, and subconsciously detest it bc of that.