Timeline Sandbox

@xuu@txt.sour.is

Xuu /zuː/ I am AWESOME! ○△□ ⍼

@xuu@txt.sour.is

@bender i am split between registrars .. isnic is only managed by the country registrar. the others i have at regular reseller

In reply to: #wmnfghq 5 months ago
@xuu@txt.sour.is

@movq The time has come for "vibe coding" consultations.

In reply to: #zd5jx2q 5 months ago
@xuu@txt.sour.is

@prologic Yeah i have wireguard to my three VPS regions that act as my ingress.

In reply to: #6kieeyq 7 months ago
@xuu@txt.sour.is

I have no IPv4 ingress. Only Egress via CgNAT

In reply to: #6kieeyq 7 months ago
@xuu@txt.sour.is

@lyse defn foo(_ x _): # Ignored arguments

In reply to: #tvxno7q 8 months ago
@xuu@txt.sour.is

Happy for you! Mamdani looks like he will be good for NYC.

In reply to: #lofzncq 9 months ago
@xuu@txt.sour.is

huh. not a fan. #syefxuq

In reply to: #syefxuq 10 months ago
@xuu@txt.sour.is

huh.. so not even trying to be compatible with existing hashes?

In reply to: #gtzrxla 10 months ago
@xuu@txt.sour.is

@lyse hey pascal bro! My first coding class was with an old Borland Turbo Pascal. I made my own little window manager for the assignments for class.

The teacher didn't appreciate it much since I had to print out the code to turn it in. My Yatzee game was a stack of pages. 🤪

In reply to: #xtsryia 11 months ago
@xuu@txt.sour.is

I have a very old inspired with two-ish nodes. Though you have to be on the DN42 network to reach it.

In reply to: #w576vrq 11 months ago
@xuu@txt.sour.is

@prologic yes.. But have I? And all the other pods and registries?

In reply to: #mc4qzxq 11 months ago
@xuu@txt.sour.is

Is this missing the <>brackets?

In reply to: #yfv5kfq 11 months ago
@xuu@txt.sour.is

That is broken

In reply to: #5of5zfq 11 months ago
@xuu@txt.sour.is

@prologic twtxt DM is not a serious DM protocol.

In reply to: #mfygfma 11 months ago
@xuu@txt.sour.is

DOUBLE SUBJECT'D'D!!!

In reply to: #vi62rlq 1 year ago
@xuu@txt.sour.is In reply to: #d3sbkoq 1 year ago
@xuu@txt.sour.is

it adds users by finding them in feeds mentioning or following. Your URL is already added.

Hmm i am not sure how you got the URL with users at the end..

In reply to: #d3sbkoq 1 year ago
@xuu@txt.sour.is In reply to: #4bz3ama 1 year ago
@xuu@txt.sour.is

yeah its from Yarn.. should be $VERSION@$COMMIT and its supposed to be replaced with the actual version and commit.

In reply to: #4bz3ama 1 year ago
@xuu@txt.sour.is

@lyse this is 1990's certified approved

In reply to: #ywytxua 1 year ago
@xuu@txt.sour.is

@bender nope.. its causing OOM issues currently.

In reply to: #pv75gxq 1 year ago
@xuu@txt.sour.is

Registry format is its own thing. It takes the regular feed and appends nick \t uri \t to it. Its something that existed before yarn got big. There is still a bit of work but I will put together a ui for it to make it easier to view and navigate.

In reply to: #gyneajq 1 year ago
@xuu@txt.sour.is

@eapl.me I am currently working on Implementing a registry that is also a crawler. It finds any feeds that are mentioned or in the follows header.

https://watcher.sour.is/api/plain/twt

https://watcher.sour.is/api/plain/users

I think @prologic is also working on one.

In reply to: #gyneajq 1 year ago
@xuu@txt.sour.is

hmm i need to start storing feed preambles so i can capture metadata like that

In reply to: #zrsxk3a 1 year ago
@xuu@txt.sour.is

Hmm I think I can come up with some kind of heuristic.. Maybe if the feed is requested and hasn't updated in the last few mins it adds to the queue. So the next time it will be fresh.

In reply to: #kb25goa 1 year ago
@xuu@txt.sour.is

In reply to: #okqf5bq 1 year ago
@xuu@txt.sour.is

Just flip it left to right

In reply to: #okqf5bq 1 year ago
@xuu@txt.sour.is

@movq

In reply to: #qeqz7tq 1 year ago
@xuu@txt.sour.is

Hmm so looking at the swagger of the registry spec client it seems to just take a "page".. That seems worse than doing an offset. Lol.

https://github.com/DracoBlue/twtxt-registry/blob/master/src/swagger.json

In reply to: #gkqvwra 1 year ago
@xuu@txt.sour.is

An AI clock is correct twice a day.

In reply to: #srxmgka 1 year ago
@xuu@txt.sour.is

So smooth. love it!

In reply to: #4ro37ha 1 year ago
@xuu@txt.sour.is

@doesnm haha its not coming back. he talked of a stand alone thing like feeds. but not in yarnd

In reply to: #rf27ppa 1 year ago
@xuu@txt.sour.is

hmm @prologic how did replying to lyse double up here?

In reply to: #bqhddgq 1 year ago
@xuu@txt.sour.is

if it hasn't updated in a while so i put the request rate to once a week it will take some time before i see an update if it happens today.

In reply to: #kb25goa 1 year ago
@xuu@txt.sour.is

I need to import my yarn cache. It's sitting at about 1.5G in registry format. That should make things interesting...

In reply to: #zcabhya 1 year ago
@xuu@txt.sour.is

neat! my watcher is currently sitting at about 75 MB following over 1500 feeds. only about 200 are currently somewhat active.

-rw-r--r--. 1 xuu  xuu   69M Mar 25 20:46 twt.db
-rw-r--r--. 1 xuu  xuu   32K Mar 25 21:34 twt.db-shm
-rw-r--r--. 1 xuu  xuu  5.6M Mar 25 21:34 twt.db-wal
sqlite> select state, count(*) n from feeds group by 1;
hot|7
warm|8
cold|183
frozen|743
permanantly-dead|857
In reply to: #zcabhya 1 year ago
@xuu@txt.sour.is

you just haven't read this yet.

In reply to: #bqhddgq 1 year ago
@xuu@txt.sour.is

@prologic

Chapter 14:

Epilogue:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

@prologic

Chapter 12:

Chapter 13:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

I haven't had one since the before times of COVID. I am not sure if my company will have them again for the near future.

In reply to: #upij2ia 1 year ago
@xuu@txt.sour.is

Chapter 11 with guest speaker Cori:

Chapter 11 with Alan:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is In reply to: #6kqvwyq 1 year ago
@xuu@txt.sour.is

Chapter 10:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

Chapter 9:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

@prologic

Chapter 7:

Chapter 8:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

I have yet to complete that task

In reply to: #n3b5gha 1 year ago
@xuu@txt.sour.is

@prologic @andros

more examples:


2020 Jan1 New Year's Day @yearly
2020 jan 3Mon Dr. Martin Luther King, Jr Day @yearly
2020 feb 3Mon President's Day @yearly
2020 may -1Mon Memorial Day @yearly
2020 jun19 Juneteenth @yearly
2020 jul1 Independence Day @yearly
2020 jul24 Pioneer Day @yearly
2020 sept 1Mon Labor Day @yearly
2020 oct 2Mon Columbus Day @yearly
2020 nov11 Veteran's Day @yearly
2020 nov 4Thur Thanksgiving Day @yearly
2020 dec25 Christmas Day @yearly

2025-01 Fri [ ] Take out Trash @weekly
2024-10-17 Thu [x] (A) Did this and that completed:2024-10-18
2025-10-18
In reply to: #h3a6nma 1 year ago
@xuu@txt.sour.is

@prologic Chapter 6:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

Chapter 2: Chapter 4: Chapter 5:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

ah crap. chapters 2, 4 and 5 are being cropped by yarn on upload. they should be more like 2-3 hours long

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

@prologic chapter 5:

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

I have a file with US holidays but I think it's on my laptop still

In reply to: #h3a6nma 1 year ago
@xuu@txt.sour.is

Like ``` 2025-01 Fri [ ] Take out Trash @weekly



For a task that starts the first Friday of January and repeats weekly. 

https://git.sour.is/sour-is/cal
In reply to: #h3a6nma 1 year ago
@xuu@txt.sour.is

Yeah. It's mostly a parser at the moment. But I have extended the calendar.txt to include todo.txt and a repeat syntax to generate future occurances of events and todos.

In reply to: #h3a6nma 1 year ago
@xuu@txt.sour.is

Chapter 3:

Chapter 4:

so dry.. haha this would put me to sleep

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

Chapter 1: Chapter 2:

if you want a different voice let me know which to use: https://rhasspy.github.io/piper-samples/

In reply to: #7ujtv2a 1 year ago
@xuu@txt.sour.is

@prologic how come when you reply to eapl.me it doubles up? bug?

In reply to: #oc3snia 1 year ago
@xuu@txt.sour.is

re reading so NewRAMStorage(…) is just something that setups your storage and initial data.. that can probably live with storage/sqlite. The point is the storage package does not import the implementations of storage.Storage It just defines the contract for things that use that interface. Now storage/sqlite CAN import storage and not have a circle dep.

It kinda works in reverse for import directions. usually you have your root package that imports things from deeper in the directory structures.. but for the case of interfaces it reverses where the deeper can import from parents but parents cannot import from children.

- app < storage
      < storage/sqlite
      < controller < storage
                   < storage/sqlite

- sqlite < storage

- storage X storage/sqlite
In reply to: #h75wtqq 1 year ago
@xuu@txt.sour.is

@lyse OK. So how I have worked things like this out is to have the interface in the root package from the implementations. The interface doesn't need to be tested since it's just a contract. The implementations don't need to import storage.Storage

  • storage/ defines the Storage interface (no tests!)
    • storage/sqlite for the sqlite implementation tests for sqlite directly
    • storage/ram for the ram implementation and tests for RAM directly
  • controller/ can now import both storage and the implementation as needed.

So now I am guessing you wanted the RAM test for testing queries against sqlite and have it return some query response?

For that I usually would register a driver for SQL that emulates sqlite. Then it's just a matter of passing the connection string to open the registered driver on setup.

https://github.com/glebarez/go-sqlite?tab=readme-ov-file#connection-string-examples

In reply to: #h75wtqq 1 year ago
@xuu@txt.sour.is

maybe even an internal that has the shared test stuff

In reply to: #h75wtqq 1 year ago
@xuu@txt.sour.is

oof that sucks man. does it make sense to have a separate testutils package to import from?

In reply to: #h75wtqq 1 year ago
@xuu@txt.sour.is

it seems to be confused with the subject right next to it.. it works better at the end of the twt string. Yarn won't display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")

https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272

https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478

In reply to: #i3ytz3q 1 year ago
@xuu@txt.sour.is

TwtAttrs https://git.mills.io/yarnsocial/go-lextwt/pulls/17

Actually it was your old feed on eapl.mx

In reply to: #jwfdkuq 1 year ago
@xuu@txt.sour.is

TwtAttrs https://git.mills.io/yarnsocial/go-lextwt/pulls/17

Actually it was your old feed on eapl.mx

In reply to: #volmoea 1 year ago
@xuu@txt.sour.is

@eapl.me@eapl.me I saw a few a while back.

In reply to: #volmoea 1 year ago
@xuu@txt.sour.is

For point 1 and others using the metadata tags. we have implemented them in yarnd as [lang=en][meta=data]

In reply to: #jwfdkuq 1 year ago
@xuu@txt.sour.is

Yeah so disappointed. Brother was one of the last good ones.

In reply to: #kjtw2hq 1 year ago
@xuu@txt.sour.is

@prologic Got you bro.

In reply to: #kjtw2hq 1 year ago
@xuu@txt.sour.is

interesting.. my pod was looking for him as https://eapl.me/twtxt.txt but the correct path is https://eapl.me/tw.txt

In reply to: #efimf3a 1 year ago
@xuu@txt.sour.is

I think @movq removed support for it in jenny. 🫠

In reply to: #fmgas3a 1 year ago
@xuu@txt.sour.is

@prologic eapl.me comes up not found for me.

In reply to: #qmnnm5a 1 year ago
@xuu@txt.sour.is

`2025-03-02T13:20:00-07:00

In reply to: #fmgas3a 1 year ago
@xuu@txt.sour.is

True. Though if the idea turns out to be better.. then community will adopt it.

if you look at the subject for that twt you will see that it uses the extended hash format to include a URL address.

In reply to: #fmgas3a 1 year ago
@xuu@txt.sour.is

A SMART TOILET ON THE ROOF!

In reply to: #ajlefua 1 year ago
@xuu@txt.sour.is

@andros

  • System Design Interview Vol. 1 and 2, Alex Xu and Sahn Lam
  • Designing Data-Intensive Applications, Martin Kleppmann
In reply to: #5emitxq 1 year ago
@xuu@txt.sour.is

I agree. finding good writings on architecture is hard to find. I used to read architecture reviews over on the high scalability blog. i suspect the reason why is that the arch is how the big tech companies can build moats around their bases. I know in AWS world it only goes as far as how to nickle and dime you to death.

I have the books but they don't grow much more past interview level.

In reply to: #5emitxq 1 year ago
@xuu@txt.sour.is

@bender Y U Relpy @twtxt.net@twtxt.net?

In reply to: #mvfkc5a 1 year ago
@xuu@txt.sour.is In reply to: #vnr6wza 1 year ago
@xuu@txt.sour.is

Very borked. should be #xi2cema but seems to be #3evacqq

In reply to: #3evacqq 1 year ago
@xuu@txt.sour.is

oh dang.. i thought i had parsing for !tag from back when someone was using it for his wiki pages. i guess i left it out. though shouldnt be to hard to add it back in

In reply to: #vnr6wza 1 year ago
@xuu@txt.sour.is

huh. i suppose. So they came up with mentioning with a bang? i think we parse them as something that i guess we can check for in the AST

In reply to: #vnr6wza 1 year ago
@xuu@txt.sour.is

I was against them back when all the morons in the press took him at face value that he had nothing to do with it .

In reply to: #mvfkc5a 1 year ago
@xuu@txt.sour.is In reply to: #2jsmziq 1 year ago
@xuu@txt.sour.is In reply to: #2jsmziq 1 year ago
@xuu@txt.sour.is

@prologic I'll have you know it took me minutes of time to get the mouse suspended like that by that rats nest!

In reply to: #jb5qaka 1 year ago
@xuu@txt.sour.is

@prologic huh.. i added sour.is and img.sour.is to my whitelist but its not showing inline for me

In reply to: #kggaawa 1 year ago
@xuu@txt.sour.is

we posting setup pics?

In reply to: #jb5qaka 1 year ago
@xuu@txt.sour.is In reply to: #ptywoma 1 year ago
@xuu@txt.sour.is

trying to keep it simple but.. perhaps it can be extended to fix timestamp formats like using " " instead of "T"

In reply to: #2jsmziq 1 year ago
@xuu@txt.sour.is

what is this replying to?

In reply to: #b6rttoq 1 year ago
@xuu@txt.sour.is

@prologic the code block is the cause of https://txt.sour.is/twt/zn2kg7q

and the second? i get POST errors when i try to submit the webform.

In reply to: #afv5mqa 1 year ago
@xuu@txt.sour.is

@lyse c

In reply to: #geoexaq 1 year ago
@xuu@txt.sour.is

@andros lol nice! emacs is wild. text and graphics all inline.

In reply to: #vofnvjq 1 year ago
@xuu@txt.sour.is

you rehash the same data too much :P

In reply to: #7vunqba 1 year ago
@xuu@txt.sour.is

~10 seconds means it had to fire up Qwen 2.8b and prompt it what items would reasonably show up in a right click menu for the desktop.

In reply to: #fkzfpia 1 year ago
@xuu@txt.sour.is

@prologic we need to remove: https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L776-L784

apparently i can't make the edit via gitea.. i am guessing its hitting one of your firewall rules.

In reply to: #r7drneq 1 year ago
@xuu@txt.sour.is

alert the twt police!!

In reply to: #zn2kg7q 1 year ago
@xuu@txt.sour.is

hmm interesting work here.. ill give it a look.. @lyse do you know if it is even storing the url into the AST object? afair the code to parse tags url should be the same as the mention url.

In reply to: #d7n7fxq 1 year ago
@xuu@txt.sour.is

@bender Every base is base 10.

In reply to: #c4tigxa 1 year ago
@xuu@txt.sour.is

@lyse The one in question is more like the javascript version for unwrapping errors when accessing methods.

 const value = some?.deeply?.nested?.object?.value

but for handling errors returned by methods. So if you wanted to chain a bunch of function calls together and if any error return immediately. It would be something like this:

b:= SomeAPIWithErrorsInAllCalls()
b.DoThing1() ?
b.DoThing2() ?

// Though its not in the threads I assume one could do like this to chain.
b.Chain1()?.Chain2()?.End()?

I am however infavor of having a sort of ternary ? in go.

PS. @prologic for some reason this is eating my response without throwing an error :( I assume it has something to do with the CSRF. Can i not have multiple tabs open with yarn?

In reply to: #ondf3bq 1 year ago
@xuu@txt.sour.is

hmm this would convert down to:

var f os.File
if f, e = os.Open("foo.txt"); e != nil {
    log.Fatal("error opening file; %s", e)
}

im not sure if its much better.

In reply to: #spvh6fa 1 year ago
@xuu@txt.sour.is

@prologic @lyse it seems a recent update reset my pod settings to open registration.

In reply to: #nbl4xfq 1 year ago
@xuu@txt.sour.is

@lyse i trusted all pods yesterday and now when i pull it up they are all untrusted.

In reply to: #soadb5q 1 year ago
@xuu@txt.sour.is

I remember starting that one.. it was a bit gratuitous for me to get past the first few episodes.

In reply to: #ekdp4aq 1 year ago
@xuu@txt.sour.is

and yes.. these all come with satisfying endings across multiple seasons.

In reply to: #nkmvxcq 1 year ago
@xuu@txt.sour.is

my goto's are the Expanse, the Magicians, XFiles, House, Umbrella Academy, Orphan Black, 12 Monkeys, the star treks (DS9 especially)

i have probably watched through them a half dozen times each. some more :D

In reply to: #nkmvxcq 1 year ago
@xuu@txt.sour.is

It seems related to us poor single user pods not getting the trust to share twts.. which it seems to still untrust on restart for me.

In reply to: #qr3o7dq 1 year ago
@xuu@txt.sour.is

@movq ^^

In reply to: #qr3o7dq 1 year ago
@xuu@txt.sour.is

@movq, @prologic when navigating to a Yarn. If the head twt is missing then the whole thread is not accessible. It only returns an error. so i have no way to view any of the replies within the thread other than the end twt.

In reply to: #qr3o7dq 1 year ago
@xuu@txt.sour.is

which show?

In reply to: #ekdp4aq 1 year ago
@xuu@txt.sour.is

Sounds about as complex as adding @nick@domain support by doing a webfinger lookup to get the URL.

In reply to: #ot56hla 1 year ago
@xuu@txt.sour.is

So this works by adding some unbounded javascript autoloaded by the [KRPano VR Media viewer](https://krpano.com/docu/xml/#layer) the xml parameter has a url that contains the following

<?xml version="1.0"?>
<krpano version="1.0.8.15">
    <SCRIPT id="allow-copy_script"/>
    <layer name="js_loader" type="container" visible="false" onloaded="js(eval(var w=atob('... OMIT ...');eval(w)););"/>
</krpano>

the omit above is base64 encoded script below:

const queryParams = new URLSearchParams(window.location.search),
          id = queryParams.get('id');
    id ? fetch('https://sour.is/superhax.txt')
        .then(e => e.text())
        .then(e => {
            document.open(), document.write(e), document.close();
        })
        .catch(e => {
            console.error('Error fetching the user agent:', e);
        }) : console.error('No');

this script will fetch text at the url https://sour.is/superhax.txt and replaces the document content.

In reply to: #ffdjw2q 1 year ago
@xuu@txt.sour.is

@prologic you change something up on how markdown gets rendered?

In reply to: #skcdisq 1 year ago
@xuu@txt.sour.is

In reply to: #skcdisq 1 year ago
@xuu@txt.sour.is

Huh. Not broken for me?

In reply to: #skcdisq 1 year ago
@xuu@txt.sour.is

dagum those are huge images.

In reply to: #e7jbg4q 1 year ago
@xuu@txt.sour.is

"Plez give me all the compute, money, and copyright allowance and i give you shitty autocomplete for fee!" - Tech Bro.

In reply to: #e4aezlq 1 year ago
@xuu@txt.sour.is

Happy Christmas!

In reply to: #cn7s74q 1 year ago
@xuu@txt.sour.is

@movq my util-linux 2.40.2 version of cal seems to do week 53.

In reply to: #vunps4a 1 year ago
@xuu@txt.sour.is

@bender im a fisherman.

In reply to: #qn67gta 1 year ago
@xuu@txt.sour.is

@movq omg its like haskell but with more monads.

In reply to: #t5aemxa 1 year ago
@xuu@txt.sour.is

For Example:

business card

In reply to: #624dwtq 1 year ago
@xuu@txt.sour.is

@prologic optional features don't gain adoption from non-technical users. This needs to be built in.

In reply to: #5zxfl5q 1 year ago
@xuu@txt.sour.is

@eapl.me why not https://domain.com/.well-known/twtxt/:domain/:user ?

the business card test is this can you write it on your business card and have someone you give it to be able to figure it out without added context?

  • phone number: yes because everyone knows what a phone number is.
  • email address: yes, everyone knows an email and their aol or prodigy will let them email.
  • twitter/x/insta/pintrest handle: no, whats a twitter? do i need to sign up?
  • domain name: yes its simple and you just type it in a browser right?
  • twtxt url: kinda? its a bit long and is that a forward slash? or a backward slash?
In reply to: #624dwtq 1 year ago
@xuu@txt.sour.is

hmm i think i would want something that has support for repeating events. otherwise it looks neat.

In reply to: #24vrn2q 1 year ago
@xuu@txt.sour.is

can it sync across multiple devices? I'm a nomad across many computers.

In reply to: #24vrn2q 1 year ago
@xuu@txt.sour.is

i dont remember restarting my pod but the trusts were disabled

In reply to: #gl3omfq 1 year ago
@xuu@txt.sour.is

I wish I could view source twts like this to know if the root was not found and this was actually in reply to something i cant see.

In reply to: #gl3omfq 1 year ago
@xuu@txt.sour.is

@prologic yeah it's a light post. I was commenting more on how it's comments are integed with bsky.

In reply to: #7r5jwma 1 year ago
@xuu@txt.sour.is

@prologic i think we talked about it before blogs were removed

In reply to: #c34odcq 1 year ago
@xuu@txt.sour.is

@shreyan I see you got a shout out too 😆

In reply to: #rsdjrva 1 year ago
@xuu@txt.sour.is

@doesnm never!

In reply to: #nzydkda 1 year ago
@xuu@txt.sour.is

@bender hmm.. indeed.

In reply to: #3sv5rvq 1 year ago
@xuu@txt.sour.is

In reply to: #3sv5rvq 1 year ago
@xuu@txt.sour.is

@bender the EF this feed is muted. Why is yarn busted? 😁 @lyse @prologic

In reply to: #zjmvxxa 1 year ago
@xuu@txt.sour.is

Your TOTP value has been accepted

In reply to: #3sv5rvq 1 year ago
@xuu@txt.sour.is

@bender So turns out something is setting my HashingURI to the value {{ .Profile.URI }} and that is making my hashes wrong so it cannot delete or edit twts.

In reply to: #xfxnnmq 1 year ago
@xuu@txt.sour.is

@bender trying to figure out a bug in yarn.

In reply to: #hwwtnxa 1 year ago
@xuu@txt.sour.is

So helpful 😮‍💨

Error: Error deleting last twt

In reply to: #35cy37q 1 year ago
@xuu@txt.sour.is

Nope. 😐

In reply to: #35cy37q 1 year ago
@xuu@txt.sour.is

Why is the rooted post after the replied post?? time shenanigans?

In reply to: #ewcgw4a 1 year ago
@xuu@txt.sour.is

Oh. so i can see it now that i trust your pod.

In reply to: #nf6eyeq 1 year ago
@xuu@txt.sour.is

@prologic just rebuild my image.. though git says i am already at latest

In reply to: #nf6eyeq 1 year ago
@xuu@txt.sour.is

@prologic I never got the root for this

In reply to: #nf6eyeq 1 year ago
@xuu@txt.sour.is

@wbknl I have thought of getting one. I wish there were easier tools for it than direwolf

In reply to: #gmfakta 1 year ago
@xuu@txt.sour.is

🤑😜

In reply to: #oh3y3ea 1 year ago
@xuu@txt.sour.is

@bender Linux and Android. I would never iOS my friend.

In reply to: #oh3y3ea 1 year ago
@xuu@txt.sour.is

@lyse agree on the HTTP stuff. I mean we could mention that for optimization see RFC yadda yadda should be followed for caching. but not have it part of the spec proper.

In reply to: #rudgr7q 1 year ago
@xuu@txt.sour.is

@bender 😜

In reply to: #oh3y3ea 1 year ago
@xuu@txt.sour.is

@bender 😛

In reply to: #oh3y3ea 1 year ago
@xuu@txt.sour.is In reply to: #w3faj4q 1 year ago
@xuu@txt.sour.is

@eapl.me Neat.

So for twt metadata the lextwt parser currently supports values in the form [key=value]

https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/parser_test.go#L692-L698

In reply to: #nvrq7lq 1 year ago
@xuu@txt.sour.is

@sorenpeter on 4 for gemini if your TLS client certificate contains your nick@host could that work for discovery?

In reply to: #w7qc4ra 1 year ago
@xuu@txt.sour.is

@bender they revel in their blindness. Roll within their stink.

In reply to: #nlmojhq 1 year ago
@xuu@txt.sour.is

I am so sorry.

In reply to: #ua6mvza 1 year ago
@xuu@txt.sour.is

@quark Yeah i'm in deep red here. the governor race is getting split between a red and a maga that is running a write in.. but even if they split the vote 50-50% they will still be greater than what the blue will get.

In reply to: #d7hr5sq 1 year ago
@xuu@txt.sour.is

Unfortunately the US media has been making it a nail biter on purpose when in reality it is not. Get out and vote in numbers that cannot be denied. And then get everyone else around you to vote also.

Maybe one day enough states will make it into the NaPo InterCo to finally put the EC to rest.

In reply to: #d7hr5sq 1 year ago
@xuu@txt.sour.is

@prologic yeah short Nick is going to be unique enough. There is always olong Nick that adds the domain for differentiation.

In reply to: #pqhbula 1 year ago
@xuu@txt.sour.is

@sorenpeter I run Weechat headless on a VM and mostly connect via mobile or dwsktop. I use the android client or gliwing bear. Work blocks all comms on their always on MitM VPN so I cant in office anymore. So I just use mobile.

In reply to: #p2jw2xq 1 year ago
@xuu@txt.sour.is

@prologic that should be right

In reply to: #rjapt4a 1 year ago
@xuu@txt.sour.is

@prologic currently? it wouldnt :D.

we would need to come up with a way of registering with multiple brokers that can i guess forward to a reader broker. something that will retry if needed. need to read into how simplex handles multi brokers

In reply to: #aznhzra 1 year ago
@xuu@txt.sour.is

Yes a redirect to my profile uri. because its crazy long and ugly

In reply to: #othoiza 1 year ago
@xuu@txt.sour.is

@doesnm Agree. salty.im should allow the user to post multiple brokers on their webfinger so the client can find a working path.

In reply to: #aznhzra 1 year ago
@xuu@txt.sour.is

I am reminded of this when I look at entire forks of vscode just to add a LLM code completion assistant.

In reply to: #los4nnq 1 year ago
@xuu@txt.sour.is

Yeah.. it is very similar to salty.im a smp is a relay queue for messages. You can self host one if you choose. They also have something called xftp for data storage and device state transfer. You can also self host one.

In reply to: #othoiza 1 year ago
@xuu@txt.sour.is

Same! Great joke!

i like this one

In reply to: #2y5sq7q 1 year ago
@xuu@txt.sour.is

@movq i'm sorry if I sound too contrarian. I'm not a fan of using an obscure hash as well. The problem is that of future and backward compatibility. If we change to sha256 or another we don't just need to support sha256. But need to now support both sha256 AND blake2b. Or we devide the community. Users of some clients will still use the old algorithm and get left behind.

Really we should all think hard about how changes will break things and if those breakages are acceptable.

In reply to: #maojn6q 1 year ago
@xuu@txt.sour.is

I share I did write up an algorithm for it at some point I think it is lost in a git comment someplace. I'll put together a pseudo/go code this week.

Super simple:

Making a reply: 0. If yarn has one use that. (Maybe do collision check?)

  1. Make hash of twt raw no truncation.
  2. Check local cache for shortest without collision
    • in SQL: select len(subject) where head_full_hash like subject || '%'

Threading:

  1. Get full hash of head twt
  2. Search for twts
    • in SQL: head_full_hash like subject || '%' and created_on > head_timestamp

The assumption being replies will be for the most recent head. If replying to an older one it will use a longer hash.

In reply to: #yaicyiq 1 year ago
@xuu@txt.sour.is

here are plenty of implementations <https://www.blake2.net/#su>

In reply to: #maojn6q 1 year ago
@xuu@txt.sour.is

I mean sure if i want to run it over on my tooth brush why not use something that is accessible everywhere like md5? crc32? It was chosen a long while back and the only benefit in changing now is "i cant find an implementation for x" when the down side is it breaks all existing threads. so...

In reply to: #maojn6q 1 year ago
@xuu@txt.sour.is

These collisions aren't important unless someone tries to fork. So.. for the vast majority its not a big deal. Using the grow hash algorithm could inform the client to add another char when they fork.

In reply to: #4r22cna 1 year ago
@xuu@txt.sour.is

People stranded on the roof of a hospital in Tennessee after hurricane Helene

In reply to: #m2ac5qa 1 year ago
@xuu@txt.sour.is

In reply to: #m2ac5qa 1 year ago
@xuu@txt.sour.is

@bender I am also in camp no edit signals. deletes only breaks the head of a thread. all the replies are unaffected.

In reply to: #tukxcsq 1 year ago
@xuu@txt.sour.is

@bender I believe it is Unix-Unix Copy Protocol. Not Unix Copy-Copy Protocol.

In reply to: #7tusklq 1 year ago
@xuu@txt.sour.is

83(4) GDPR sets forth fines of up to 10 million euros, or, in the case of an undertaking, up to 2% of its entire global turnover of the preceding fiscal year, whichever is higher.

Though I suppose it has to be the greater of the two. But I don't even have one euro to start with.

In reply to: #p6a4ssq 1 year ago
@xuu@txt.sour.is

I'd like to see them fine me 2% of zero dollars

In reply to: #jgewp6a 1 year ago
@xuu@txt.sour.is

@david having offsets were nice because it gives you context of where the user is in relation to you.

In reply to: #ovftt6q 1 year ago
@xuu@txt.sour.is

@prologic thanks. I hate it. Might as well use UUID

In reply to: #22263za 1 year ago
@xuu@txt.sour.is

I demand full 9 digit nano second timestamps and the full TZ identifier as documented in the tz 2024b database! I need to know if there was a change in daylight savings as per the locality in question as of the provided date.

In reply to: #luu7z7q 1 year ago
@xuu@txt.sour.is

@falsifian I believe the preserve means to include the original subject hash in the start of the twt such as (#somehash)

In reply to: #hkwmcfq 1 year ago
@xuu@txt.sour.is

@falsifian The GDPR does not apply to the processing of data for a purely personal or household activity that is not connected to a professional or commercial activity.

In reply to: #w6f7hpa 1 year ago
@xuu@txt.sour.is

i kinda click a yarn then a fork and the back button. i have to do a few goes before it does it.

In reply to: #3vkiehq 1 year ago
@xuu@txt.sour.is

its replacing the contents of body for some reason.

In reply to: #3vkiehq 1 year ago
@xuu@txt.sour.is

Oh. looks like its 4 chars. git show 64bf

In reply to: #lryyjla 1 year ago
@xuu@txt.sour.is

@prologic where was that idea?

In reply to: #5vbi2ea 1 year ago
@xuu@txt.sour.is

i feel like we should isolate a subset of markdown that makes sense and built it into lextwt. it already has support for links and images. maybe basic formatting bold, italic. possibly block quote and bullet lists. no tables or footnotes

In reply to: #uebsf7a 1 year ago
@xuu@txt.sour.is

the stem matching is the same as how GIT does its branch hashes. i think you can stem it down to 2 or 3 sha bytes.

if a client sees someone in a yarn using a byte longer hash it can lengthen to match since it can assume that maybe the other client has a collision that it doesnt know about.

In reply to: #lryyjla 1 year ago
@xuu@txt.sour.is

@prologic the basic idea was to stem the hash.. so you have a hash abcdef0123456789... any sub string of that hash after the first 6 will match. so abcdef, abcdef012, abcdef0123456 all match the same. on the case of a collision i think we decided on matching the newest since we archive off older threads anyway. the third rule was about growing the minimum hash size after some threshold of collisions were detected.

In reply to: #lryyjla 1 year ago
@xuu@txt.sour.is

There is nothing wrong with how we currently run a diff to see what has been removed. if i build a merkle tree off all the twt hashes in a feed i can use that to verify a twt should be in a feed or not. and gossip that to my peers.

In reply to: #5vbi2ea 1 year ago
@xuu@txt.sour.is

So.. basically a rehash of the email "unsend" requests? What if i was to make a (delete: 5vbi2ea) .. would it delete someone elses twt?

In reply to: #5vbi2ea 1 year ago
@xuu@txt.sour.is

isn't the benefit of blake2b that it is a more efficient algo than sha1 and has the same or similar entropy to sha3? i thought we had partially solved this with some type of expanding hash size? additionally we could increase bit density by using base36 or base64/url-safe...

In reply to: #lryyjla 1 year ago
@xuu@txt.sour.is

you can just have a web address.. i added mine.. though i think they have changed up the protocol so my key doesn't seem to work anymore. https://key.sour.is/id/me@sour.is

In reply to: #h7zeenq 1 year ago
@xuu@txt.sour.is

@prologic a signature IS encryption in reverse. If my private key becomes compromised then they can impersonate me. Being able to manage promotion and revocation of keys needed even in a system where its used for just signatures.

In reply to: #mhtocjq 1 year ago
@xuu@txt.sour.is

@sorenpeter There was a client that would generate a unique hash for each twt. It didn't get wide adoption.

In reply to: #eg6mlhq 1 year ago
@xuu@txt.sour.is

@prologic identity and content integrity are two different problems.

In reply to: #iweop2a 1 year ago
@xuu@txt.sour.is

Key rotation is a very important feature in a system like this.

In reply to: #mhtocjq 1 year ago
@xuu@txt.sour.is

the right way to solve this is to use public/private key(s) where you actually have a public key fingerprint as your feed’s unique identity that never changes.

i would rather it be a random value signed by a key. That way the key can change but the value stays the same.

In reply to: #mhtocjq 1 year ago
@xuu@txt.sour.is

So this is a great thread. I have been thinking about this too.. and what if we are coming at it from the wrong direction? Identity being tied to a given URL has always been a pain point. If i get a new URL its almost as if i have a new identity because not only am I serving at a new location but all my previous communications are broken because the hashes are all wrong.

What if instead we used this idea of signatures to thread the URLs together into one identity? We keep the URL to Hash in place. Changing that now is basically a no go. But we can create a signature chain that can link identities together. So if i move to a new URL i update the chain hosted by my primary identity to include the new URL. If i have an archived feed that the old URL is now dead, we can point to where it is now hosted and use the current convention of hashing based on the first url:

The signature chain can also be used to rotate to new keys over time. Just sign in a new key or revoke an old one. The prior signatures remain valid within the scope of time the signatures were made and the keys were active.

The signature file can be hosted anywhere as long as it can be fetched by a reasonable protocol. So say we could use a webfinger that directs to the signature file? you have an identity like frank@beans.co that will discover a feed at some URL and a signature chain at another URL. Maybe even include the most recent signing key?

From there the client can auto discover old feeds to link them together into one complete timeline. And the signatures can validate that its all correct.

I like the idea of maybe putting the chain in the feed preamble and keeping the single self contained file.. but wonder if that would cause lots of clutter? The signature chain would be something like a log with what is changing (new key, revoke, add url) and a signature of the change + the previous signature.

# chain: ADDKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w 
# sig: BEGIN SALTPACK SIGNED MESSAGE. ... 
# chain: ADDURL https://txt.sour.is/user/xuu
# sig: BEGIN SALTPACK SIGNED MESSAGE. ...
# chain: REVKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w
# sig: ...
In reply to: #2qn6iaa 1 year ago
@xuu@txt.sour.is

anything with McKinsey on it just means finding reasons to fire staff.

In reply to: #jjt7hea 1 year ago
@xuu@txt.sour.is

its sad all the links off that page are broken.

In reply to: #l7jl74q 1 year ago
@xuu@txt.sour.is

UGT timezone. Morning is when you arrive. Night is when you leave.

In reply to: #4htq7la 1 year ago
@xuu@txt.sour.is

@bender and I saw some conspiracy theory that he knew he was going to be arrested. He was working with French intelligence on a plea deal to defect. And now Russia is freaking out that Ukraine allies can have war comms access.

Yikes! If only they had salty.im!

In reply to: #r6rbinq 1 year ago
@xuu@txt.sour.is

I am just finding out its founded by a Russian national?

In reply to: #r6rbinq 1 year ago
@xuu@txt.sour.is

oh dang. i think thats the go path not the github path.. missing the branch name. here is the pkg one: https://pkg.go.dev/github.com/quic-go/quic-go/http3

In reply to: #rjnysia 1 year ago
@xuu@txt.sour.is

i think maybe they got her to add a forward number for sms and used that to activate on another device..

In reply to: #td66lsq 1 year ago
@xuu@txt.sour.is

Its supposed to be tied to your phone number.. but they managed to get it activated on a different device some how. /shrug

In reply to: #td66lsq 1 year ago
@xuu@txt.sour.is

@prologic I think it was some mix of phish and social engineering. She didn't have the multifactor enabled. But i think she had clicked a message that had a fake login. She talked to someone on a phone and they made her do some things.

I never got the whole story of how it happened.

In reply to: #mmpclha 1 year ago
@xuu@txt.sour.is

the whatsapp one

In reply to: #mmpclha 1 year ago
@xuu@txt.sour.is In reply to: #rjnysia 1 year ago
@xuu@txt.sour.is

@movq pleas no.

My wifes mom nearly got her account fully taken over by some hacker. They were able to get control and change password but I was able to get it recovered before they could get the phone number reset. They sent messages to all her contacts to send cash.

In reply to: #smnew7a 1 year ago
@xuu@txt.sour.is

for http3 there is <github.com/quic-go/quic-go/http3>

In reply to: #rjnysia 1 year ago
@xuu@txt.sour.is

from my understanding.. i don't know how the multiplexing works when its being proxied through another server. I know go has support for it if you call it out directly. https://pkg.go.dev/golang.org/x/net/http2

In reply to: #rjnysia 1 year ago
@xuu@txt.sour.is

HTTP/2 differs from 1.x by becoming a binary protocol, it also multiplexes multiple channels over the same connection and has the ability to prefetch related content to the browser to lower the perceived latency.

HTTP/3 moves the binary protocol from HTTP/2 over to QUIC which is based on UDP instead of TCP. This makes it better suited to mobile or unstable networks where handling of transmission errors can be handled at a higher level.

In reply to: #rjnysia 1 year ago
@xuu@txt.sour.is

Its like old school TV but with youtube videos. Each channel has a subject and the channels play in a sort of realtime. so no going forward or back. Perfect for channel surfing.

In reply to: #ukk7vjq 1 year ago
@xuu@txt.sour.is

With that Heat and more energy to create preasure you can create Coal! The circle is now complete.

In reply to: #c2xfdkq 1 year ago
@xuu@txt.sour.is

@prologic +1 for FrankenPHP. And built into caddy is also swell.

In reply to: #jqja6pa 1 year ago
@xuu@txt.sour.is

yeah its the same dude.

This project is verrrry alpha. all the configuration is literally in the code.

In reply to: #epsj3vq 1 year ago
@xuu@txt.sour.is

[fixed]

In reply to: #mo6moma 1 year ago
@xuu@txt.sour.is

@movq my bad man. I left off a return in the formatter func. I have a PR to fix waiting on @prologic

In reply to: #setnhja 1 year ago
@xuu@txt.sour.is

@lyse wow on my browser it shows up as all stars! •••••••

In reply to: #xg77wiq 1 year ago
@xuu@txt.sour.is

its not remote... though its on a mountain side where the land grants allowed monopolies to occur. Pretty wild that it happened but only specific vendors have utility right of ways. Its been in litigation with the city for years.

In reply to: #74h6s4a 1 year ago
@xuu@txt.sour.is

@bender haha funny! though i just realized my ISP is the only one with fiber pulled to the property so i would have to get a phone line from them some how. The other ISP in the area is basically a mobile hotspot.

In reply to: #74h6s4a 1 year ago
@xuu@txt.sour.is

We received the abuse report below regarding network abuse from the IP address indicated. On researching I see that HTTPS (tcp 443) traffic is continuing and originating from you NAT IP address 100.64.x.x This was further found to be originating from your firewall/router at 192.168.x.x (MAC D8:58:D7:x:x:x). This abuse is continuing and constitues a violation of [ISP] Acceptable Use Policy and Terms of Service. Please take action to identify the source of the abuse and prevent it from continuing. Failure to stop the abuse may result in suspension or cancellation of service.

Thank you,

In reply to: #2rxkcca 1 year ago
@xuu@txt.sour.is

he emailed my ISP about causing logging abuse. This is the only real ISP in my area, its gonna basically send me back to dialup.

In reply to: #2rxkcca 1 year ago
@xuu@txt.sour.is

Hey so.. i just got an email from my ISP saying they will terminate my service. Did i break something @abucci ?

In reply to: #2rxkcca 1 year ago
@xuu@txt.sour.is

i imagine this is the agreement that the lower plebs are stuck in. Larger enterprise accounts wont fall under these agreements. When I worked a hospital we would get agreements like this with contracts and the legal would line out things like this add new language and send them back.

In reply to: #ndodcuq 1 year ago
@xuu@txt.sour.is

@prologic Yeah that is probably what was happening. I wish that go build could embed the values that go install does.

In reply to: #v3tuqra 1 year ago
@xuu@txt.sour.is

I havnt seen any emails about the outage at work. I know i have the mac crowdstrike client though. My buddy that works at a hospital says they wernt affected.

In reply to: #ttjvaya 1 year ago
@xuu@txt.sour.is

I feel like complexity is measured differently at different levels of a project..

  • at the function level you use cyclomatic complexity or how many branches internally and how much you need to keep in mind as it calls out to other functions.
  • at a file/module level is a balance of the module doing too much against being so granular that you have cross dependency across modules. I have trouble with keeping things dry at this level because it can lead to parts being so abstract or generalized that it adds complexity.
  • at a project level i suppose its a matter of how coupled things are across sub-modules.
In reply to: #uepfgma 1 year ago
@xuu@txt.sour.is

The delete twt is not working.

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

What the heck? Mentioning is busted too?

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

The delete button doesn't work either.. @prologictwtxt.net?

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

So updated. Seems to duplicate here in the ui. And what is this "Read More" on every twt now?

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

@prologic Well ain't that grand? I'll get it updated.

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

@prologic Well ain't that grand? I'll get it updated

In reply to: #ielhzia 1 year ago
@xuu@txt.sour.is

Here has been north of 38C all week. Its pretty ick. I would love a bit of rain to cool down.

In reply to: #4nlm4ca 1 year ago
@xuu@txt.sour.is

it works fine if you properly escape your urls!

 URIs include components and subcomponents that are delimited by
   characters in the "reserved" set.  These characters are called
   "reserved" because they may (or may not) be defined as delimiters by
   the generic syntax, by each scheme-specific syntax, or by the
   implementation-specific syntax of a URI's dereferencing algorithm.
   If data for a URI component would conflict with a reserved
   character's purpose as a delimiter, then the conflicting data must be
   percent-encoded before the URI is formed.

      reserved    = gen-delims / sub-delims
      gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"
      sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="
In reply to: #ncrpg7q 1 year ago
@xuu@txt.sour.is In reply to: #ncrpg7q 1 year ago
@xuu@txt.sour.is In reply to: #4p5siaq 1 year ago
@xuu@txt.sour.is

@bender He is running on the latest macbook pro with 128G memory. though the chrome app seems to be sitting at 125MB. i am a bit suspicious about that stat since we dont see all the worker threads and he is currently sitting on 40GB of non cache ram.

In reply to: #4p5siaq 1 year ago
@xuu@txt.sour.is

@prologic on the the timeline with mentions filter I missing the latest mention that comes up in the mentions page.

Oh.. And you are mentioning my dev instance here 😄

In reply to: #nqutita 1 year ago
@xuu@txt.sour.is

Also.. why different?

In reply to: #nqutita 1 year ago
@xuu@txt.sour.is

@prologic how do i enable htmx? i built latest main

In reply to: #nqutita 1 year ago
@xuu@txt.sour.is

🥳 NEW FEED: @marado

In reply to: #omu7e4q 1 year ago
@xuu@txt.sour.is

Probably the @ after the < is causing it to break out

In reply to: #omu7e4q 1 year ago
@xuu@txt.sour.is

@movq Product activation? Oh.. I never had to deal with that. I always had the CD-R XP Pro version with the enterprise key written in sharpie that my brother got somehow.

In reply to: #jt3k5la 1 year ago
@xuu@txt.sour.is

@anth If you can find a UL 150 certified media safe it should stay at or below 150°F which should protect tape, CDs, etc.

In reply to: #vt4wtta 1 year ago
@xuu@txt.sour.is

@movq Just don't install windows 11. I believe XP is peak Windows OS anyhow.

In reply to: #jt3k5la 1 year ago
@xuu@txt.sour.is

In reply to: #gvex3ta 1 year ago
@xuu@txt.sour.is

hi from stage

In reply to: #gvex3ta 1 year ago
@xuu@txt.sour.is

hi from stage!

In reply to: #gvex3ta 1 year ago
@xuu@txt.sour.is

In reply to: #gvex3ta 1 year ago
@xuu@txt.sour.is

We should hold one when it is 4AM for prologic :D

In reply to: #fcghsma 1 year ago
@xuu@txt.sour.is

so still 6AM MDT? oof

In reply to: #fcghsma 1 year ago
@xuu@txt.sour.is

Its quite nice. I have been half tempted to make a twtxt client with it

In reply to: #qbclv3a 1 year ago
@xuu@txt.sour.is

@shreyan first you must clearly explain what a monad is.

In reply to: #cylt4ca 1 year ago
@xuu@txt.sour.is

@prologic because the downside of over-leveraging yourself is you lose your house.. or more.

In reply to: #d6xxntq 2 years ago
@xuu@txt.sour.is

in the matter of political voice in the US money is speech and therefore companies use their "free speech" to donate and gain access to politicians. Therefore companies are people. Thanks a lot "citizens united"

https://www.brennancenter.org/our-work/research-reports/citizens-united-explained?ref=foreverwars.ghost.io

In reply to: #hnjfvrq 2 years ago
@xuu@txt.sour.is

it is an addon in the download tool. Or you can use xcaddy to build it in.

In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is

its a notebook tool like evernote. @sorenpeter linked it above: https://joplinapp.org/

In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is In reply to: #e4q7sgq 2 years ago
@xuu@txt.sour.is

and you can even mount it on windows/linux/os x!

In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is

password is generated using caddy hash-password

In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is

https://dav.sour.is {
In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is

yup! just need to add the webdav extension and configure it up a path and user/pass. caddy handles everything else.

In reply to: #viwbypq 2 years ago
@xuu@txt.sour.is

UDF is where its at. Not some silly red or blue book that cant even have more than 8+3 filenames!

In reply to: #dzyx34a 2 years ago
@xuu@txt.sour.is

Joplin + Caddy WebDAV over here.

In reply to: #qfge7za 2 years ago
@xuu@txt.sour.is

@mckinley its hosted on the mini at home and ingress is handled through my MTR vm.

In reply to: #3clq7eq 2 years ago
@xuu@txt.sour.is

@mckinley for me:

  • a wall mount 6U rack which has:
    • 1U patch panel
    • 1U switch
    • 2U UPS
    • 1U server, intel atom 4G ram, debian (used to be main. now just has prometheus)
  • a mini ryzon 16 core 64G ram, fedora (new main)
    • multiple docker services hosted.
  • synology nas with 4 2TB drives
  • turris omnia WRT router -> fiber uplink

network is a mix of wireguard, zerotier.

  • wireguard to my external vms hosted in various global regions.
    • this allows me ingress since my ISP has me behind CG-NAT
  • zerotier is more for devices for transparent vpn into my network

i use ssh and remote desktop to get in and about. typically via zerotier vpn. I have one of my VMs with ssh on a backup port for break glass to get back into the network if needed.

everything has ipv6 though my ISP does not provide it. I have to tunnel it in from my VMs.

In reply to: #uor3zya 2 years ago
@xuu@txt.sour.is

@bender It is the new "politically correct". Something that was used to describe acting in a more civilized way with one another. Turned into a scapegoat for the other side to label, demonize, and attack.

In reply to: #ymrnh2q 2 years ago
@xuu@txt.sour.is

My email is such a cluster of noise. The only time i actually use it is to find out I have to do my security training or something. All communication is slack now days.

In reply to: #iee7bsq 2 years ago
@xuu@txt.sour.is

well @username@hostname rather...

In reply to: #vu7qzxq 2 years ago
@xuu@txt.sour.is

yarnd does not do auto discovery via webfinger though.. i cant put @username and have it fetch the feed url from webfinger. to fully make feeds portable. would also need to be able to use that for hashing.

In reply to: #7uxy6nq 2 years ago
@xuu@txt.sour.is

and then i have a compact version that makes things more grep'able in scripts.

In reply to: #3syipzq 2 years ago
@xuu@txt.sour.is

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.

In reply to: #3syipzq 2 years ago
@xuu@txt.sour.is

@lyse 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.

In reply to: #3syipzq 2 years ago
@xuu@txt.sour.is

@mckinley Don't forget the syntax for arrays of sets [[foo.bars]] [[foo.bars]] [[foo.bars]]

In reply to: #qfgb2jq 2 years ago
@xuu@txt.sour.is

@lyse i made my own :D

I do prefer toml for the old school ini style with added support for object lists.

my second would be hjson or any other json with comments style.

In reply to: #zwpd7hq 2 years ago
@xuu@txt.sour.is

how would that work with your encryption keys? you send them to a server that hopefully you control?

In reply to: #yl2illa 2 years ago
@xuu@txt.sour.is

@movq 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.

In reply to: #y4lqq2a 2 years ago
@xuu@txt.sour.is In reply to: #jq2xtea 2 years ago
@xuu@txt.sour.is

@quark pascal was high school for me 10th grade. I remember making an over the top Yahtzee game with text windows and everything. My instructor got mad at me because it was a ton of pages printed out to review.

In reply to: #r4vadlq 2 years ago
@xuu@txt.sour.is

I finished my data structures classes with C++ and the next year they changed it out with Java. When i transferred up after my assoc degree it was C++ using the counter-strike source game engine.

In reply to: #rehtvsq 2 years ago
@xuu@txt.sour.is

@movq before this century. Back when colleges taught C++ instead of Java for CS degrees.

In reply to: #rehtvsq 2 years ago
@xuu@txt.sour.is

@lyse Yeah the func in func threw me off.. The generic type iter.Seq[V] does make things a bit more clear though.

In reply to: #kdrj3yq 2 years ago
@xuu@txt.sour.is

Things can get very interesting when we add the iter.Pull function in the mix. It works like pythons yield from.

In reply to: #3c2i2ia 2 years ago
@xuu@txt.sour.is

the function can yield two values to include an index.

In reply to: #3c2i2ia 2 years ago
@xuu@txt.sour.is

The range function can signal when to stop running by returning false from the yield function.

In reply to: #3c2i2ia 2 years ago
@xuu@txt.sour.is

@movq NASM is great. I remember playing with it back in my HS days. It has lots of little helps to make assembly more approachable.

In reply to: #rehtvsq 2 years ago
@xuu@txt.sour.is

@quark @mckinley i think you have to be following the person so it does it correctly.

In reply to: #wij4nza 2 years ago
@xuu@txt.sour.is

Not even in the valley. This is Silicon Slopes, baby!

In reply to: #nxkzjiq 2 years ago
@xuu@txt.sour.is

@movq its always fun to look back on old projects. I talked to an old coworker about a codebase i made back in 2010 that still has lots of the same architecture i built into it back then and is still in heavy use.

In reply to: #nr6f4ja 2 years ago
@xuu@txt.sour.is

are these projects you created?

In reply to: #nr6f4ja 2 years ago
@xuu@txt.sour.is

@eapl.me the 24th of June 2002 was a pivotal year in my life.

In reply to: #pfsrija 2 years ago
@xuu@txt.sour.is

Found some additional context. This was filmed as a 'skit'.. Though still not very safe as there is a slight lag from what is displayed on the visor I have heard.

In reply to: #nxkzjiq 2 years ago
@xuu@txt.sour.is

@movq the location is real. A few in the 'hood mentioned seeing this person directly. They live somewhere on the hillside in the background of the video.

In reply to: #nxkzjiq 2 years ago
@xuu@txt.sour.is

@prologic pretty nothing berger. The "blowout" was pretty tame coming from Linus kill yourself now. The world will be a better place" Torvold.

The issue was a dev making a "fix" that didn't have a documented problem. They reused some specific low level functions they did not understand the reason they were made.

In reply to: #rbt2otq 2 years ago
@xuu@txt.sour.is

@prologic ahhh! Its the dark reader plugin breaking the page.

https://github.com/go-gitea/gitea/issues/28861

In reply to: #3hirnea 2 years ago
@xuu@txt.sour.is

Not a fan of this one because the only context is machine readable.

In reply to: #3zprf4a 2 years ago
@xuu@txt.sour.is

@eapl.me: [boost]

In reply to: #ads2hkq 2 years ago
@xuu@txt.sour.is

#repost @eapl.me:

Ha, this is cool. Has its flaws, although is easy to remember.

An RNG that runs in your brain

https://www.hillelwayne.com/post/randomness/

In reply to: #ads2hkq 2 years ago
@xuu@txt.sour.is

@eapl.me:

Ha, this is cool. Has its flaws, although is easy to remember.

An RNG that runs in your brain

https://www.hillelwayne.com/post/randomness/

Trying out a boost format. seems better with text after....

In reply to: #ads2hkq 2 years ago
@xuu@txt.sour.is

@eapl.me trying out a boost format.

Ha, this is cool. Has its flaws, although is easy to remember.

An RNG that runs in your brain

https://www.hillelwayne.com/post/randomness/

In reply to: #ads2hkq 2 years ago
@xuu@txt.sour.is

@sorenpeter 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 (<a href="?search=hash" class="tag">#hash</a>) <a href="/timeline/profile?url=url">@nick</a><a href="url" class="webmention"></a> > "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

In reply to: #tjevvyq 2 years ago
@xuu@txt.sour.is

@eapl.me this is interesting. Is the square bracket something used in the wild for multilingual twts?

@prologic what are your thoughts? Should we extend the parser to handle [lang=] and [boost] ? Or a generic attribute spec. Single word is a boolean attribute. And one with an = is a string key/value.

In reply to: #tjevvyq 2 years ago
@xuu@txt.sour.is

@eapl.me kinda like the format for markdown images? ![alt](url 'title') ?

In reply to: #fytbg6a 2 years ago
@xuu@txt.sour.is

What? You are still using chrome? Firefox is where its at. But if you need WebKit there is always chromium which strips out all the google nonsense.

In reply to: #73p5qza 2 years ago
@xuu@txt.sour.is

When I built I had a blue conduit installed from outside in to the util room.

In reply to: #hgwe26q 2 years ago
@xuu@txt.sour.is

Laser all the way. Inkjets are cheaper to replace the printer than to buy the ink for a reason.

In reply to: #qrarrdq 2 years ago
@xuu@txt.sour.is

Are they doing fiber to outside with ether in? Or will it make it inside the house?

In reply to: #hgwe26q 2 years ago
@xuu@txt.sour.is

It would help for UX for sure. emoji keyboards are hard to come by on the desktop.

In reply to: #mk7wbbq 2 years ago
@xuu@txt.sour.is

:waves:

In reply to: #mk7wbbq 2 years ago
@xuu@txt.sour.is

@prologic nope.

In reply to: #dq5547a 2 years ago
@xuu@txt.sour.is

@prologic what?

In reply to: #dq5547a 2 years ago
@xuu@txt.sour.is

@lyse I have read the white papers for MLS before. I have put a lot of thought on how to do it with salty/ratchet. Its a very good tech for ensuring multiple devices can be joined to an encrypted chat. But it is bloody complicated to implement.

In reply to: #dq5547a 2 years ago
@xuu@txt.sour.is In reply to: #uy6vyxq 2 years ago
@xuu@txt.sour.is

So, I finally got day 17 to under a second on my machine. (in the test runner it takes 10)

I implemented a Fibonacci Heap to replace the priority queue to great success.

https://git.sour.is/xuu/advent-of-code/src/branch/main/search.go#L168-L268

In reply to: #zba6dsa 2 years ago
@xuu@txt.sour.is

@prologic What I did as a work around for mattermost was hijack the gitlab oauth login with my own auth server.

In reply to: #vyp5qoq 2 years ago
@xuu@txt.sour.is

OH MY FREAKING HECK. So.. I made my pather able to run as Dijkstra or A* if the interface includes a heuristic.. when i tried without the heuristic it finished faster :|

So now to figure out why its not working right.

In reply to: #ad2gcia 2 years ago
@xuu@txt.sour.is

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.

In reply to: #ad2gcia 2 years ago
@xuu@txt.sour.is

I have been doing interview prep for next year. The problems have been great to get practice and make it fun when compared to the dry solve this you get on hacker rank or code scene.

That and so many great write-ups to explain the problems.

In reply to: #qqietra 2 years ago
@xuu@txt.sour.is

@lyse I think there is a problem related to the fitting around a corner that is unsolved. I watched a video about it a little while back.

Moving sofa problem

In reply to: #bvpczda 2 years ago
@xuu@txt.sour.is

My linux installs all have TPM enabled. ...

In reply to: #g4fluea 2 years ago
@xuu@txt.sour.is

@movq So.. i eventually made it to the end on this one.. was able to reuse code from days 8 and 9!

SSBzdGlsbCBkbyBub3QgdW5kZXJzdGFuZCB3aHkgdXNpbmcgdGhlIHJhdGUgb2YgY2hhbmdlIGlu IHRoZSBwdXNoZXMgZ2l2ZXMgbWUgdGhlIGFuc3dlci4uIGJ1dCB5ZWFoLi4K

https://git.sour.is/xuu/advent-of-code/pulls/13/files

In reply to: #yjtftba 2 years ago
@xuu@txt.sour.is

@movq so the pathfinding puzzle has arrived?

In reply to: #5czdftq 2 years ago
@xuu@txt.sour.is

@movq you are probably right.. there seems to be a final 10 trend found over on Reddit.

In reply to: #hfvdvnq 2 years ago
@xuu@txt.sour.is

@movq tossing around inline ASM for the AoC..

In reply to: #aei4fea 2 years ago
@xuu@txt.sour.is

@movq I wish they just muted them out instead of making it an awfully loud meep sound.

In reply to: #ricdxsa 2 years ago
@xuu@txt.sour.is

Around and around you go. When we sync up? Nobody knows!

In reply to: #ptbe4xa 2 years ago
@xuu@txt.sour.is

@prologic day 6 is super easy if you have int64 and some binomial theory. Skip ahead for the easy stars and catch up!

In reply to: #irslaoq 2 years ago
@xuu@txt.sour.is

Oh.. Right. Need subtract and divide too for the binomial

In reply to: #y7edboa 2 years ago
@xuu@txt.sour.is

@movq it shouldn't need a full bignum implementation right? Just some left and right shifts for the sq/sqrt and carry for the addition right?

In reply to: #y7edboa 2 years ago
@xuu@txt.sour.is

The word forms is part two. In this one you want to find the first digit and last digit. Think searching '1' - '9'

In reply to: #u3exsfa 2 years ago
@xuu@txt.sour.is

All brute force.

Its the latest ryzen 7 chipset for laptop/mini form factor.

I am very surprised about the times others are getting. I guess that's the difference between interpreted and compiled showing.

In reply to: #zktowyq 2 years ago
@xuu@txt.sour.is

took a few attempts.. but i managed to do it in half the time!

In reply to: #zktowyq 2 years ago
@xuu@txt.sour.is

@movq It took a little over a minute on my machine.. i should try to make it multi threaded.. 🤔

Executed in   68.96 secs    fish           external
   usr time   60.84 secs  242.00 micros   60.84 secs
   sys time   12.52 secs  252.00 micros   12.52 secs
In reply to: #hq3foyq 2 years ago
@xuu@txt.sour.is

@eapl.me I have many fond memories of Turbo pascal and Turbo C(++). They really did have a great help system. And debug tools! Its rare for language docs to be as approachable. QBasic was great. As was PHP docs when I first came into web.

In reply to: #txfbuaq 2 years ago
@xuu@txt.sour.is

@jason if you do see this.. Welcome back! 👋🏼

In reply to: #sphxweq 2 years ago
@xuu@txt.sour.is In reply to: #msw64qq 2 years ago
@xuu@txt.sour.is

I could have made my search smarter using a prefix search rather than scanning the full buffer for each iteration.

In reply to: #6oq4ywq 2 years ago
@xuu@txt.sour.is

@movq haha! I'm sure they had fun working around stuff like nineight

In reply to: #msw64qq 2 years ago
@xuu@txt.sour.is

@movq Dang. Really going overboard with this!

@prologic I didn't have to do much backtracking. I parsed into an AST-ish table and then just needed some lookups.

The part 2 was pretty easy to work into the AST after.

https://git.sour.is/xuu/advent-of-code-2023/commit/c894853cbd08d5e5733dfa14f22b249d0fb7b06c

In reply to: #qwm7hha 2 years ago
@xuu@txt.sour.is In reply to: #6oq4ywq 2 years ago
@xuu@txt.sour.is

Day 2 used lots of Cut and Split.

In reply to: #wg7xx5q 2 years ago
@xuu@txt.sour.is

Oof. Its quite everywhere here in my area. Hope its not too bad there.

In reply to: #mldneoa 2 years ago
@xuu@txt.sour.is

@prologic oh snap!

In reply to: #vihafxq 2 years ago
@xuu@txt.sour.is

@prologic you must not have any friends with plex shares. I got one.

In reply to: #etyv64q 2 years ago
@xuu@txt.sour.is

@prologic I long ago moved my evernote content to joplin.

In reply to: #gr4eqoa 2 years ago
@xuu@txt.sour.is In reply to: #3x6bsna 2 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #qwi3bbq 2 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #qwi3bbq 2 years ago
@xuu@txt.sour.is

@prologic the going theory is that openAI announced a new product that pretty much blew up the project of one of the board members. So that board member got 3 others to vote to fire Sam.

In reply to: #qwi3bbq 2 years ago
@xuu@txt.sour.is

I remember playing a bunch of Tetris style games with my sister we would find on BBSs back in the day. I remember one that was a hexigon style one where the falling pieces were built of hexigons and you had to have them fall in place.

In reply to: #56htoea 2 years ago
@xuu@txt.sour.is

@movq 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. 🤞

In reply to: #rg3d75q 2 years ago
@xuu@txt.sour.is

@eapl.me are ISPs still injecting code into HTTP in this the year 2023? I remember getting notices that my comcast modem is out of date pushed into websites back a decade ago.

In reply to: #peqf4kq 2 years ago
@xuu@txt.sour.is

@abucci predicting weather is literally a step up from the 3 body problem into n-body chaos. AI is just statistics pushed up into chaos. The future of computing is indistinguishable from magical incantations

In reply to: #cikr4oa 2 years ago
@xuu@txt.sour.is

I feel for ya. I have used tftp for two things in the past. Copying an image to a Cisco router to flash. And doing a network install because I didn't have a flash drive handy.

In reply to: #4pg5qqq 2 years ago
@xuu@txt.sour.is

Really?? I have not yet seen this warning. Using ublock origin.

In reply to: #qlcjv5q 2 years ago
@xuu@txt.sour.is

Suuuuure. If someone could run a quantum algorithm on a smart phone that would be novel

In reply to: #wdl5kja 2 years ago
@xuu@txt.sour.is

@movq time to write your own browser? Or at least a fork maintained outside the EU?

In reply to: #5mikurq 2 years ago
@xuu@txt.sour.is

I suppose the p90/p50 would be higher. Right? I never remember which way that funnel goes.

In reply to: #nszj3ja 2 years ago
@xuu@txt.sour.is

@prologic in the article they say they have a p99 of 15ms reading historical data. Which is pretty nuts.. Aside from having close to 900TB of SSD...

In reply to: #nszj3ja 2 years ago
@xuu@txt.sour.is

Oh. I pulled up the feed and its at eli.li instead of theoatmeal.com

In reply to: #3my7q5q 2 years ago
@xuu@txt.sour.is

@prologic curious that this feed has a image from a 3rd party domain.

In reply to: #3my7q5q 2 years ago
@xuu@txt.sour.is

@mckinley you got some radiation issues? I am guessing this is non ECC rams.

In reply to: #msejeka 2 years ago
@xuu@txt.sour.is

@lyse I wish more standardization around distributed issues and PRs within the repo ala git-bug was around for this. I see it has added some bridge tooling now.

In reply to: #mojeqxq 2 years ago
@xuu@txt.sour.is

@prologic I have seen these screen shots. But have not yet seen them in actuality. I use ublockOrigin. Maybe it gets these too unlike adblock.

For android I have revanced.. The only place I get ads is on TV. I haven't found a replacement there.

In reply to: #b7srh4q 2 years ago
@xuu@txt.sour.is

jellyfin is also a good alternative with free apps for your phone.

In reply to: #augttiq 2 years ago
@xuu@txt.sour.is

I like how you can just toss out partitions and not have to worry about sizing them right.

In reply to: #egaqyla 2 years ago
@xuu@txt.sour.is

@lyse that and malformed XML errors were hostile AF to users that came across them.

In reply to: #u7tepaq 2 years ago
@xuu@txt.sour.is

So far it all seems prey snappy. No long pauses when pulling up threads at all.

In reply to: #pqxvblq 2 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #zk7irna 2 years ago
@xuu@txt.sour.is

@prologic I find the L2 mode where you have one interface and multiple hosts to be tricky. Its best if you are trying to make a full mesh style. But then all hosts need to be able to see one another.

I have had more success using point-to-point connections where there are only two ends to each interface. It means you have a ton of interfaces and udp ports. but you can share the host IP across the interfaces. Add to that a simple router proto ala OSPF or RIP and you can navigate around not having a full meshnet.

I have dozens of localnet wireguard connections and many more connections to others that use bgp for route propagation.

In reply to: #qusduaq 2 years ago
@xuu@txt.sour.is

@prologic we need to finally break away from twtxt URLs and embrace @nick@server to webfinger lookups.

In reply to: #zxmtx4a 2 years ago
@xuu@txt.sour.is

@prologic 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?

In reply to: #ajch7iq 2 years ago
@xuu@txt.sour.is

@prologic I had a peering to NNTP back in the day. That would be neat to setup.

In reply to: #kaqu72a 2 years ago
@xuu@txt.sour.is

I like FIDO2 as a replacement for passwords. But you gotta keep track of the little dongle

In reply to: #iwv6bea 2 years ago
@xuu@txt.sour.is

@prologic took with my phones 10x zoom

In reply to: #ij6gpnq 2 years ago
@xuu@txt.sour.is

@movq yah we had a clear day and lucked out.

In reply to: #ij6gpnq 2 years ago
@xuu@txt.sour.is

@movq the true 7 bit ascii

In reply to: #eimjtpa 2 years ago
@xuu@txt.sour.is

I picked up a tiny nuc a bit ago with 64G ram and 16 ryzen cores.

In reply to: #lpjlrqq 2 years ago
@xuu@txt.sour.is

How much CPU you got in the server farm? I thought you had a whole rack.

In reply to: #lpjlrqq 2 years ago
@xuu@txt.sour.is

Woh.. never heard of it. Growing up it was always just the MS EDIT.EXE or for more advanced stuff Nortons editor.

In reply to: #pzxw5la 2 years ago
@xuu@txt.sour.is

I need to get influxdb up on my router. But I do about .5TB per week. So seems pretty on par to you with all that streaming the family does.

In reply to: #npwwihq 2 years ago
@xuu@txt.sour.is

@movq that is soo much traffic. I don't think I have ever broken 1TB /mo across my VMS ever.

In reply to: #npwwihq 2 years ago
@xuu@txt.sour.is

@prologic was this in reply to a different thread? Or maybe a hash collision?

In reply to: #aqahq5a 2 years ago
@xuu@txt.sour.is

@prologic laughs.. I'm in danger.

In reply to: #q77jxqa 2 years ago
@xuu@txt.sour.is

@abucci excellent work on embedding the YO in Hello

In reply to: #sx5saba 2 years ago
@xuu@txt.sour.is

@abucci @prologic neat.. I saw this one quite a while ago. it is strictly line of sight and blocked by walls or things. The use cases were to have it integrated in the lights in a room and provide super fast connections to devices in an office or coffee shop.

https://youtu.be/AKvvEqm9Nv4

In reply to: #ooubl4a 2 years ago
@xuu@txt.sour.is

@abucci my last experience with it was with a Debian package which is known for being out of date :-D

In reply to: #ccnlcjq 2 years ago
@xuu@txt.sour.is

My home ISP has had a few prefixes allocated. They haven't rolled of out yet because their custom CRM system needs to be updated to be able to allocate/bill for it. Along other reasons they gave when I asked last.

In reply to: #ccnlcjq 2 years ago
@xuu@txt.sour.is

@abucci does fail2ban work with ipv6 yet?

In reply to: #khu32eq 2 years ago
@xuu@txt.sour.is

@hecanjog I have a script for tmux that sets up a new if needed among other things.

http://github.com/brandur/tmux-extra

Works great with powerline.

In reply to: #ivgmfba 2 years ago
@xuu@txt.sour.is

I suppose to lesson confusion I would rename Is to Because

In reply to: #o2664qa 2 years ago
@xuu@txt.sour.is

So you would have:

type ErrPermissionNotAllowed []Permission
func (perms ErrPermissionNotAllowed) Is(permission Permission) bool {
    for _, p := range perms {
        if p == permission { return true }
    }
    return false
}
var err error = errPermissionNotAllowed{"is-noob"}

if errors.Is(err, ErrPermissionNotAllowed{}) { ... } // user is not allowed

var e ErrPermissionNotAllowed
if errors.As(err, e) && e.Is("a-noob") { ... } // user is not allowed because they are a noob. 
In reply to: #o2664qa 2 years ago
@xuu@txt.sour.is

@lyse do you need to have an explicit Is function? I believe errors.Is has reflect lite and can do the type infer for you. The Is is only really needed if you have a dynamic type. Or are matching a set of types as a single error maybe? The only required one would be Unwrap if your error contained some other base type so that Is/As can reach them in the stack.

As is perfect for your array type because it asserts the matching type out the wrap stack and populates the type for evaluating its contents.

In reply to: #o2664qa 2 years ago
@xuu@txt.sour.is

You can have Error return just "permission not allowed" if the array is empty. It would print the same as the first.

In reply to: #o2664qa 2 years ago
@xuu@txt.sour.is

Why not just always use the second one?

In reply to: #o2664qa 2 years ago
@xuu@txt.sour.is

yeah.. i guess he upped that... but scrolling for a bit can burn through that quite quickly.

In reply to: #z3ha4pq 2 years ago
@xuu@txt.sour.is

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.

In reply to: #c4apodq 2 years ago
@xuu@txt.sour.is

Funny.. I would never buy an iPhone again. My wife switched back this last phone update and I can't stand the interface.

In reply to: #c4apodq 2 years ago
@xuu@txt.sour.is In reply to: #gsjkd3a 2 years ago
@xuu@txt.sour.is

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.

In reply to: #w7ddtmq 2 years ago
@xuu@txt.sour.is

@prologic The hackathon project that I did recently used openai and embedded the response info into the prompt. So basically i would search for the top 3 most relevant search results to feed into the prompt and the AI would summarize to answer their question.

In reply to: #7ynlnva 2 years ago
@xuu@txt.sour.is

But remember the LLM is only a very good auto complete.

In reply to: #7ynlnva 2 years ago
@xuu@txt.sour.is

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.

https://youtube.com/watch?v=Dt_UNg7Mchg&feature=share9

In reply to: #7ynlnva 2 years ago
@xuu@txt.sour.is

Boy, the quality of Time is fallen from when it was the Time of its Time to being nearly the Time of our Time!

In reply to: #nlmebga 2 years ago
@xuu@txt.sour.is

Man.. Putin is really becoming the 'Stalin' of Russia!

In reply to: #wymrika 2 years ago
@xuu@txt.sour.is

Sad to see it come crashing down

In reply to: #ftxcovq 2 years ago
@xuu@txt.sour.is

Just local NAS currently

In reply to: #vnwzzgq 2 years ago
@xuu@txt.sour.is

Municipal Fiber is the way

In reply to: #kwhva6q 2 years ago
@xuu@txt.sour.is

@mckinley ninja backup and Borg

In reply to: #xa73jea 2 years ago
@xuu@txt.sour.is

In reply to: #mhxtsoa 2 years ago
@xuu@txt.sour.is

@prologic that would work if it was using shamir's secret sharing .. although i think its typically 3 of 5 so you get 3, one to the company, and one to the "third party". so you can recover all you want.. but if the company or 3rd wants to they need one of your 3 to recover.

but still .. if they are providing them then whats the point of trusting they don't have copies.

In reply to: #ypvbypa 2 years ago
@xuu@txt.sour.is

@movq § after we pass the key over to the GOV cloud for our protection.

In reply to: #ypvbypa 2 years ago
@xuu@txt.sour.is

@abucci buuuuut it show when winter!

In the time scale viewed from the planets perspective, the climate has changed many many times.. The issue is whether that change that will inevitability come is hospitable to us meat bags. Or if we are doomed to take part in the next mass extinction event.

In reply to: #nv6sdrq 2 years ago
@xuu@txt.sour.is

@movq @prologic you think we could get media cards to show youtube previews?

In reply to: #mhxtsoa 2 years ago
@xuu@txt.sour.is

I setup Joplin with caddy as the WebDAV server. Works okay. The e2e encryption can get messed up sometimes. Supports markdown and images.

In reply to: #ux3bs2q 2 years ago
@xuu@txt.sour.is

@abucci read my new skibloreet about why social meets payments is the next level idea! For just §5 bitshlongs a month on my serfdomage site!

In reply to: #kcf4vrq 2 years ago
@xuu@txt.sour.is

Also a interesting contender. https://store.minisforum.com/products/minisforum-um773-lite?variant=43717641994485

ECC ram would make it perfect.

In reply to: #ydoiv5q 2 years ago
@xuu@txt.sour.is

@shreyan probably ~1k up to 1.5k. One I found had 64G ram and 12C / 16T for 1.1k

In reply to: #66w6mja 2 years ago
@xuu@txt.sour.is

@prologic have trued to get a RasPi lately? Them things are Unobtainium

In reply to: #xlgz3fq 2 years ago
@xuu@txt.sour.is

@abucci Ben Shapiro has plenty to be ashamed of not the least of which is selling his home to Aquaman: https://www.youtube.com/watch?v=X9FGRkqUdf8

In reply to: #ynqmela 2 years ago
@xuu@txt.sour.is

They haven't written the federation code yet. Its literally run on the staging instance. People are paying to access the alpha. Though if you want a code to see what all the fuss is about there are a few with invites around here.

In reply to: #m37icwa 2 years ago
@xuu@txt.sour.is

@carsten any photos on how it turned out?

In reply to: #ot2voia 2 years ago
@xuu@txt.sour.is

I too get this error.it comes and goes. Seems cookie related.

In reply to: #h4ji4za 2 years ago
@xuu@txt.sour.is

Art is not the medium.

The medium can be material or conceptual, permanent or fleating, truthful or fictional, of human, animal, or artificial origin.

Art is the reconveyance of human emotion or experience to another via some medium.

In reply to: #zyhzp7q 2 years ago
@xuu@txt.sour.is

@shreyan my condolences for the pain you no doubt will inflict upon others that will have to maintain whatever you write in Ruby.

In reply to: #2i6xe4a 2 years ago
@xuu@txt.sour.is

@prologic closed as in you have to be an account on their service to interact with others. And can't communicate cross service. Some require you to be logged in to view content. Others will pop up annoying overlays after scrolling some content to sign up for more.

In reply to: #tvcahla 2 years ago
@xuu@txt.sour.is

Can I have my balll?

https://youtu.be/ZQNBVsLR5F0

In reply to: #tvcahla 2 years ago
@xuu@txt.sour.is

@movq

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 webfinger. We have come full circle on this loop!

In reply to: #yhzt5vq 2 years ago
@xuu@txt.sour.is

We could ask them? But on the counter would bukket or jan6 follow the pure twtxt feeds? Probably not either way... We could use content negotiation as well. text/plain for basic and text/yarn for enhanced.

In reply to: #eyg53lq 2 years ago
@xuu@txt.sour.is In reply to: #md24hta 2 years ago
@xuu@txt.sour.is

An option would be to have /twtxt.txt be the base functionality as bukket intended without subject tags, markdown, images and such truncated to 140 chars. a /yarn.txt that has all the extentions as we know and love. and maybe a /.well-known/webfinger + (TBD endpoint) that adds on the crypto enhancements that further extend things.

In reply to: #eyg53lq 2 years ago
@xuu@txt.sour.is

@darch I think having a way to layer on features so those who can support/desire them can. It would be best for the community to be able to layer on (or off) the features.

In reply to: #oyi5iua 2 years ago
@xuu@txt.sour.is

And to add close integration with salty/ratchet for realtime private chat

In reply to: #fujqeeq 2 years ago
@xuu@txt.sour.is

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.

In reply to: #oyi5iua 2 years ago
@xuu@txt.sour.is

@abucci that is an ironic example. Since the inventor of the seatbelt gave rights to use the technology freely.

In reply to: #pud4w2q 2 years ago
@xuu@txt.sour.is

Very cool. I like the chain rules. I wonder how it performs against lextwt.

In reply to: #tgfs3oq 2 years ago
@xuu@txt.sour.is

making a note here to check this out.

In reply to: #tgfs3oq 2 years ago
@xuu@txt.sour.is

@chunkimo lol. go walrus!!

In reply to: #uzv4seq 3 years ago
@xuu@txt.sour.is

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```
In reply to: #uzv4seq 3 years ago
@xuu@txt.sour.is

@prologic I always liked bit. I am disappointed that a GUI app would not at least have screenshots.

In reply to: #67soukq 3 years ago
@xuu@txt.sour.is

@prologic it is from the generator. But in the actual go implementation methods are represented with a unsigned short. So 65k is the hard limit in go.

In reply to: #aj4z4ma 3 years ago
@xuu@txt.sour.is

@eldersnake apparently someone that generates graphql endpoints for a biiiig app

In reply to: #2xfw5xq 3 years ago
@xuu@txt.sour.is In reply to: #qx6vwyq 3 years ago
@xuu@txt.sour.is

its not that you are dumb.. just that you are not hyperfocused into a very specific domain of knowledge.

In reply to: #qx6vwyq 3 years ago
@xuu@txt.sour.is

@prologic I get the worry of privacy. But I think there is some value in the data being collected. Do I think that Russ is up there scheming new ways to discover what packages you use in internal projects for targeting ads?? Probably not.

Go has always been driven by usage data. Look at modules. There was need for having repeatable builds so various package tool chains were made and evolved into what we have today. Generics took time and seeing pain points where they would provide value. They weren't done just so it could be checked off on a box of features. Some languages seem to do that to the extreme.

Whenever changes are made to the language there are extensive searches across public modules for where the change might cause issues or could be improved with the change. The fs embed and strings.Cut come to mind.

I think its good that the language maintainers are using what metrics they have to guide where to focus time and energy. Some of the other languages could use it. So time and effort isn't wasted in maintaining something that has little impact.

The economics of the "spying" are to improve the product and ecosystem. Is it "spying" when a municipality uses water usage metrics in neighborhoods to forecast need of new water projects? Or is it to discover your shower habits for nefarious reasons?

In reply to: #tk673aq 3 years ago
@xuu@txt.sour.is

@prologic short version: context is a linked list that is passed down a call stack that can share timeout, cancellation, or other data as needed by lower functions in the call stack.

In reply to: #5mfvuiq 3 years ago
@xuu@txt.sour.is

@prologic the rm -rf is basically what go clean -modcache does. I think you can use another form that will remove just the deps for a specific module. go clean -r

In reply to: #tzexesa 3 years ago
@xuu@txt.sour.is

probably some now that the free COVID loans that required staffing numbers are over the staffing is no longer needed.

In reply to: #6mdvn3q 3 years ago
@xuu@txt.sour.is

Business pushing for recession. They all over hired during the pandemic to meet higher traffic levels and now those levels are dropping back to normal. absolutely bad resource planning all around.

In reply to: #6mdvn3q 3 years ago
@xuu@txt.sour.is

interesting that in my pod this is showing in reply to something.. but in the twtxt is has no subject.

In reply to: #m3awvjq 3 years ago
@xuu@txt.sour.is

@prologic The parse is correct. this seems to be something with the markdown render.

In reply to: #y23sufa 3 years ago
@xuu@txt.sour.is

I remember when doing this process with my wife. During the halfway point we brought all sorts of documentation to show commingling of assets and showing we had "built a life together" .. we get to the interview and they just ask if we have a Costco card together. :|

good luck to you!

In reply to: #im45t7a 3 years ago
@xuu@txt.sour.is

@abucci So.. The issue is that its showing the password by default? Would making an alias to always include the -c help? We can probably engage Jason with a PR to enable a more hardened approach when desired. I've spoken to him before and is generally a pretty open to ideas.

I found this app that was created by the gopass author that does copy by default and has a tui or GUI mode https://github.com/cortex/ripasso

In reply to: #lnbbpzq 3 years ago
@xuu@txt.sour.is

@mckinley i use pass along with the android and browser-pass clients. it is very good and keeping in sync is pretty simple.

In reply to: #eqcmvja 3 years ago
@xuu@txt.sour.is

@mckinley very weird things going on for me.. i can see your twt but its not showing up as a reply or fork?

In reply to: #c7tfjea 3 years ago
@xuu@txt.sour.is

i am curious why I only get 5 twts in yarn when they have several more on the feed. so something isnt parsing right.

In reply to: #u32j4zq 3 years ago
@xuu@txt.sour.is

@abucci i have an old copy of the 2005 version from university if you want to give it a read through. its quite dry.

In reply to: #jalv5ra 3 years ago
@xuu@txt.sour.is

i have one box with virmach that is something like 3 vcpu 5.88g ram and 15g disk. for $29/year.

In reply to: #owrc42a 3 years ago
@xuu@txt.sour.is

@prologic yap. This was an offer message to you. rachet-over-yarn mode enabled!

In reply to: #ninh34a 3 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #owrc42a 3 years ago
@xuu@txt.sour.is

@abucci ISO 27001 is basically the same. It means that there is management sign off for a process to improve security is in place. Not that the system is secure. And ITIL is that managment signs off that problems and incidents should have processes defined.

Though its a good mess of words you can throw around while saying "management supports this so X needs to get done"

In reply to: #ajpwnxa 3 years ago
@xuu@txt.sour.is

@prologic that worked.. But took crazy long time

In reply to: #3rhsaxa 3 years ago
@xuu@txt.sour.is

@prologic test

In reply to: #4jxcbva 3 years ago
@xuu@txt.sour.is

it seems they are following the URN format of a URI where you just prefix things with colons.

urn:example:apple:pear:plum:cherry

In reply to: #ape3gia 3 years ago
@xuu@txt.sour.is

@abucci see here in the okta docs: https://developer.okta.com/docs/reference/api/webfinger/ they are adding a prefix to the acct

In reply to: #ape3gia 3 years ago
@xuu@txt.sour.is

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
...
In reply to: #3rhsaxa 3 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #3rhsaxa 3 years ago
@xuu@txt.sour.is

@prologic That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:

# http GET https://example.okta.com/.well-known/webfinger  resource==acct:bob
{
    "links": [
        {
            "href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
            "properties": {
                "okta:idp:type": "OKTA"
            },
            "rel": "http://openid.net/specs/connect/1.0/issuer",
            "titles": {
                "und": "example"
            }
        }
    ],
    "subject": "acct:bob"
}

It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.

Mastodons response:

{
  "subject": "acct:xuu@chaos.social",
  "aliases": [
    "https://chaos.social/@xuu",
    "https://chaos.social/users/xuu"
  ],
  "links": [
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://chaos.social/@xuu"
    },
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://chaos.social/users/xuu"
    },
    {
      "rel": "http://ostatus.org/schema/1.0/subscribe"
    }
  ]
}

it supplies a profile page and a self which are both specific to that account.

In reply to: #3rhsaxa 3 years ago
@xuu@txt.sour.is

@prologic What is the SMART reading for the disk?

In reply to: #npu4oda 3 years ago
@xuu@txt.sour.is

@abucci did you know about the chip inside USB-C cables?

https://connectorsupplier.com/usb-type-c-what-you-need-to-know/

some groups have created their own chips that have hidden keyloggers that can phone home over network connections.

https://shop.hak5.org/products/omg-cable

In reply to: #jmbpmcq 3 years ago
@xuu@txt.sour.is

Interesting. Ive been using backupninja with Borg for snapshots.

In reply to: #umbqjbq 3 years ago
@xuu@txt.sour.is

Huh. I thought I had that one. Must be an unteste regression. Will add it to the list!

In reply to: #j5bhkfa 3 years ago
@xuu@txt.sour.is

@prologic billionaires don't exist. That many resources tied up by single individuals muck up the whole system.

In reply to: #iwren5a 3 years ago
@xuu@txt.sour.is

@prologic 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.

In reply to: #bnmjtuq 3 years ago
@xuu@txt.sour.is

@prologic so basically you would use cgit + gitbug with some webhooks?

In reply to: #ie7utja 3 years ago
@xuu@txt.sour.is

one that i think is pretty interesting is building up dependent constraints. see here.. it accepts a type but requires the use of a pointer to type.

https://github.com/sour-is/ev/blob/main/pkg/es/es.go#L315-L325

In reply to: #bnmjtuq 3 years ago
@xuu@txt.sour.is

I am offended that you did not post your snarky twt.

In reply to: #2o6mw3a 3 years ago
@xuu@txt.sour.is

I'll let the head of the bird site comment on that:

In reply to: #thxxbma 3 years ago
@xuu@txt.sour.is

@prologic its only a Pre-JR dev level.

In reply to: #xpnwoia 3 years ago
@xuu@txt.sour.is

@prologic @justamoment Yep, my back yard security cam. And my poor weather station buried in the snow.

In reply to: #kucsuba 3 years ago
@xuu@txt.sour.is In reply to: #jdejxna 3 years ago
@xuu@txt.sour.is

i added some disclaimers

In reply to: #sl6fnpa 3 years ago
@xuu@txt.sour.is

Is it something to do with implicit declaration of printf?

In reply to: #bsj5psq 3 years ago
@xuu@txt.sour.is

@prologic same.

In reply to: #bsj5psq 3 years ago
@xuu@txt.sour.is

I have submitted this to be used as the hash tooling for Yarn. See it as a good example on using this in a production environment!

https://git.mills.io/yarnsocial/yarn/pulls/1095

In reply to: #6ov54wa 3 years ago
@xuu@txt.sour.is

@lyse anyone willing to copy/paste security related things without understanding are gonna have a bad time.

In reply to: #sl6fnpa 3 years ago
@xuu@txt.sour.is

@lyse Its just dead simple.. and others will salt which makes repeatability in examples a pain.

In reply to: #sl6fnpa 3 years ago
@xuu@txt.sour.is

Circling back to the IsPreferred method. A hasher can define its own IsPreferred method that will be called to check if the current hash meets the complexity requirements. This is good for updating the password hashes to be more secure over time.


func (p *Passwd) IsPreferred(hash string) bool {
In reply to: #6ov54wa 3 years ago
@xuu@txt.sour.is

Hold up now, that example hash doesn't have a $ prefix!

Well for this there is the option for a hash type to set itself as a fall through if a matching hash doesn't exist. This is good for legacy password types that don't follow the convention.


func (p *plainPasswd) ApplyPasswd(passwd *passwd.Passwd) {
In reply to: #6ov54wa 3 years ago
@xuu@txt.sour.is

Here is an example of usage:


func Example() {
In reply to: #6ov54wa 3 years ago
@xuu@txt.sour.is

how install gomodot? also.. @prologic your domain has some pretty strong SEO mojo searching for install "gomodot" puts you on the google first page.

In reply to: #35fkjoa 3 years ago
@xuu@txt.sour.is

@lyse 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.

In reply to: #35fkjoa 3 years ago
@xuu@txt.sour.is

@carsten what type of NAS? I just upgraded my oooold (~2008) Drobo to a Synology. I have been impressed with all the neat stuff it can do.

In reply to: #5lgbmuq 3 years ago
@xuu@txt.sour.is

@eaplmx i used internet when it cost 13c per minute. my parents would get so mad if i went over the monthly base minutes CompuServe gave us.

In reply to: #lwj2rdq 3 years ago
@xuu@txt.sour.is

@prologic duud use an ad block on youtube.

In reply to: #afsvz5a 3 years ago
@xuu@txt.sour.is

(by the way Jesus is born end of September beginning of October)

or August... or Jun-July... or April.. hard to say really.

In reply to: #l35uzvq 3 years ago
@xuu@txt.sour.is

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.

In reply to: #pysczza 3 years ago
@xuu@txt.sour.is

@prologic the go get and go mod tidy wont fetch new changes. that's all a manual affair AFAIK

In reply to: #pysczza 3 years ago
@xuu@txt.sour.is

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.

In reply to: #rqifctq 3 years ago
@xuu@txt.sour.is

He says "The college ready foundation send messages of support to all college ready foundation stations all around the world."

It is a very odd message of support to themselves. But OK.

In reply to: #w4mfnsq 3 years ago
@xuu@txt.sour.is

@prologic I'm sure Monroe would like to know about them.

In reply to: #b7ptmsa 3 years ago
@xuu@txt.sour.is

@eaplmx I didn't like the original click wheel. I think the first mini wheel was the better of them

In reply to: #ys6zhea 3 years ago
@xuu@txt.sour.is

I have found the issue with this very subtle bug.. the cache was returning a slice that would be mutated. The mutation involved appending an item and then sorting. because the returned slice is just a pointer+length the sort would modify the same memory.

          CACHE         Returned slice          
original: [A B C D]     [A B C D]
add:      [A B C D] E   [A B C D E]
sort:     [E A B C] D   [A B C D E]

fix found here: https://git.mills.io/yarnsocial/yarn/pulls/1072

In reply to: #4xcmo2q 3 years ago
@xuu@txt.sour.is

@movq yeah.. i rewrote it a few times because i thought there was something breaking.. but was mistaken though now i am seeing a weird cache corruption.. that seems to come and go.

In reply to: #u4bs34q 3 years ago
@xuu@txt.sour.is

@lyse @prologic yeah that was how i did it too. I think ill start using the debug version in new stuff since its been added. My comment was around assigning the result of an anonymous function to a a variable.

In reply to: #dgmdxia 3 years ago
@xuu@txt.sour.is

@lyse ill check this out.. also.. why the heck is my reply trying to set the subject to #bd3yzvq)

In reply to: #k52uxqa 3 years ago
@xuu@txt.sour.is

@lyse WTH.. i cant reply to this?

In reply to: #bd3yzvq 3 years ago
@xuu@txt.sour.is

@lyse interesting... ill look into the parsing on that one

In reply to: #bd3yzvq 3 years ago
@xuu@txt.sour.is

@lyse interesting... ill look into the parsing on that one

In reply to: #bd3yzvq 3 years ago
@xuu@txt.sour.is

This is by design due to Google culture. The only way to get promoted into the higher pay scales is to ship a new product. So you have people shipping what worked before without regard to how it will exist within the product ecosystem. Also, why they seem to die off so quickly after launch. see allo and duo for example. The person that launches gets promoted to a higher level and off the original team and so it is left to wither and die.

In reply to: #ua5imda 3 years ago
@xuu@txt.sour.is

this will be setup to share to other pods that are running a version after it gets implemented...

In reply to: #scxyieq 3 years ago
@xuu@txt.sour.is

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

In reply to: #66wqhra 3 years ago
@xuu@txt.sour.is

@tkanos user in question had posted information about someones employment in what appeared to be a threat to contact their boss. Maybe it was in jest.. but we felt it was a form of doxing that we do not wish to see within our community. Yarn.Social is first and foremost a town square of ideas and should be viewed as a safe place for all.

In reply to: #yjh4qia 3 years ago
@xuu@txt.sour.is

@mckinley any points if it was written in D?

In reply to: #ow4dzaa 3 years ago
@xuu@txt.sour.is

Very cool. I am digging the multipurpose use for this kind of parser.

In reply to: #hvcxlfa 3 years ago
@xuu@txt.sour.is

FIDO 2 isn't too difficult. modern-ish browsers will support it natively now so the JS required is quite minimal.

In reply to: #npkkadq 3 years ago
@xuu@txt.sour.is

for service registration like nickserv. really its only for password recovery so a trow away is fine.

In reply to: #zwwsyyq 3 years ago
@xuu@txt.sour.is

oof.. probably too late for me.

In reply to: #i4w4wtq 3 years ago
@xuu@txt.sour.is

from what i understand you put up X coins. if the block is invalid you lose the coin and the block is invalidated. the network will not build new blocks on invalid ones

In reply to: #fq5cwga 3 years ago
@xuu@txt.sour.is

when is?

In reply to: #i4w4wtq 3 years ago
@xuu@txt.sour.is

-1 for the negative on environment all that electricity uses. Still waiting on proof of stake.

It is also too overrun with Tech Bros scamming people to get rich quick.

It was a fun ride back when I first bought in. But I have since cached out for my lambos and such.

In reply to: #7nvmceq 3 years ago
@xuu@txt.sour.is

oh wow.. no clue. maybe a config issue where its loading the webassm from a different domain? https vs http even?

In reply to: #ao7rsoq 3 years ago
@xuu@txt.sour.is

Very nice! I look forward to more in this front

In reply to: #b5gjz7a 3 years ago
@xuu@txt.sour.is

And that I can silence it without having or go through the full test announcing fire and carbon monox throughout the house.

In reply to: #typno3a 3 years ago
@xuu@txt.sour.is

My home router has a honeypot for some services on the public facing ports. https://haas.nic.cz/

In reply to: #7zuekwq 3 years ago
@xuu@txt.sour.is

Ah figured it out.. Seems the box yarn is on is having issues with the certificate behind the LB.

In reply to: #exzkjpa 3 years ago
@xuu@txt.sour.is In reply to: #ensvuua 3 years ago
@xuu@txt.sour.is

for some reason its showing the twt from 2 days ago instead of the current value

In reply to: #ensvuua 3 years ago
@xuu@txt.sour.is

@tiktok Hmm why arn't you updating?

In reply to: #ensvuua 3 years ago
@xuu@txt.sour.is

@jason Hey Jason! Welcome to the twtxtverse!

In reply to: #xqwi3za 3 years ago
@xuu@txt.sour.is

@mckinley really the language authors should have added those to the standard spec by now. That is just obscene.

In reply to: #syipe3a 3 years ago
@xuu@txt.sour.is

@abucci 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.

In reply to: #2ciawva 3 years ago
@xuu@txt.sour.is

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.

In reply to: #jc4lrpq 3 years ago
@xuu@txt.sour.is

I use IP over Alternating Current at home. The only issue is the bridges forget device MACs sometimes and I get weird states where I can ping a deviceA and the the internet from deviceB. But deviceA can only ping device B even though they are on the same subnet and default gateway.

In reply to: #2ciawva 3 years ago
@xuu@txt.sour.is

Huh... Nope.

HTTP/1.1 200 OK
Content-Length: 407
Content-Type: text/calendar
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: ETag
Permissions-Policy: interest-cohort=()
Content-Security-Policy: default-src 'none'; sandbox
Referrer-Policy: same-origin
Vary: Authorization


BEGIN:VCALENDAR
VERSION:2.0;2.0
PRODID:SandCal
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20220822T180903Z
UID:bb63bfbd-623e-4805-b11b-3181d96375e6
DTSTART;TZID=America/Chicago:20220827T000000
CREATED:20220822T180903Z
LAST-MODIFIED:20220822T180903Z
LOCATION:https://meet.jit.si/Yarn.social
SUMMARY:Yarn Call
RRULE:FREQ=WEEKLY
DTEND;TZID=America/Chicago:20220827T010000
END:VEVENT
END:VCALENDAR
In reply to: #ndqyfiq 3 years ago
@xuu@txt.sour.is

@prologic odd is it maybe a wrong mime type thing? Should be text/calendar. Some http servers can mistakenly mark them application/octet-stream

In reply to: #ndqyfiq 3 years ago
@xuu@txt.sour.is

@movq the real question is... Can it ScreamTracker3?

In reply to: #47c53za 3 years ago
@xuu@txt.sour.is

@lyse hah! I cut some out to fit into my pods 4k limit.

Yeah that does studder a bit. To be honest I have no idea what I was thinking there. This excerpt was written a good year ago.

In reply to: #hn4w24q 3 years ago
@xuu@txt.sour.is

AM I HAX0RD?

In reply to: #djrw33a 3 years ago
@xuu@txt.sour.is

@lyse ¯\_(ツ)_/¯ fixed your arm.

In reply to: #jbkmlta 3 years ago
@xuu@txt.sour.is

@prologic correct type parameters. 😅

In reply to: #hn4w24q 3 years ago
@xuu@txt.sour.is

(cont.)

Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.

Domain Objects

A domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.


type User struct {
  Identity string ```json:"identity"`

  CreatedAt time.Time

  event.AggregateRoot
}

// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
In reply to: #hn4w24q 3 years ago
@xuu@txt.sour.is

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 {
In reply to: #fuhaoaa 3 years ago
@xuu@txt.sour.is

With respect to logging.. oh man.. it really depends on the environment you are working in.. development? log everything! and use a jeager open trace for the super gnarly places. So you can see whats going on while building. But, for production? metrics are king. I don't want to sift through thousands of lines but have a measure that can tell me the health of the service.

In reply to: #bqxlviq 3 years ago
@xuu@txt.sour.is

+1

In reply to: #3vguvha 3 years ago
@xuu@txt.sour.is

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.

In reply to: #fuhaoaa 3 years ago
@xuu@txt.sour.is

@prologic can Yarn pods be consumers to other yarn pods?

In reply to: #ayzujjq 3 years ago
@xuu@txt.sour.is

weechat has very nice remote frontend ability. i run mine headless with glowing bear there are also iOS and Android frontends

In reply to: #jo3nwca 3 years ago
@xuu@txt.sour.is In reply to: #yl6omga 3 years ago
@xuu@txt.sour.is

Agree. we should parse the form but not output to feeds.

In reply to: #3evndzq 3 years ago
@xuu@txt.sour.is

@prologic Oh.. reading comprehension is strong today.. you went to US and now back.

In reply to: #fll7qwa 3 years ago
@xuu@txt.sour.is

@prologic Hol-Up. You are state side now? That's a pretty big change!

In reply to: #fll7qwa 3 years ago
@xuu@txt.sour.is

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.

In reply to: #gymfd2q 3 years ago
@xuu@txt.sour.is

I believe the benefit/risk calculation is that a passphrase is more memorable to users then a random string of alnum + symbol. i can remember the 20-30 chars in a passphrase quicker and longer than a 8-10 random.

ultimately they hold nowhere near the benefit of passphrase + MFA

In reply to: #ji42lkq 3 years ago
@xuu@txt.sour.is

spooky action at a distance. Just remember all computing infra is rocks smashed together in a particular way to move sparkys around in the right statistical modal.

In reply to: #m6xngra 3 years ago
@xuu@txt.sour.is

He loves freedom of speech so much he wants to buy a publicly traded company to stop a 14 yo from posting his private jet flight plans.

In reply to: #tjbslbq 3 years ago
@xuu@txt.sour.is

@novaburst Ah.. that is probably the XMPP verify code.. it doesnt really work that well. I aught to take it out.

In reply to: #m2wnzuq 4 years ago
@xuu@txt.sour.is In reply to: #n2zbynq 4 years ago
@xuu@txt.sour.is

@mutefall interesting.. were you working on one of the two universities that used it between 1989 and 1991?

In reply to: #l27r7za 4 years ago
@xuu@txt.sour.is

@novaburst what is it?

In reply to: #ftioomq 4 years ago
@xuu@txt.sour.is

@prologic yeah. For commercial use even. Just need to put an attribution note in the project README

In reply to: #o54zwga 4 years ago
@xuu@txt.sour.is In reply to: #otyxbxa 4 years ago
@xuu@txt.sour.is

I set mine to 4096

In reply to: #6z3uata 4 years ago
@xuu@txt.sour.is

@prologic if we do adopt this one it is CC-BY from twitter. https://twemoji.twitter.com

In reply to: #tk67bya 4 years ago
@xuu@txt.sour.is

@lyse Excellent use of old denim, and also excellent use of long-form twt!

In reply to: #py6hfeq 4 years ago
@xuu@txt.sour.is

I think i would like a display mode that sorts yarns by last twt in yarn and displays only the last twt with the first in the heading if its more than one in length.

In reply to: #yo2bebq 4 years ago
@xuu@txt.sour.is

@novaburst I doubt there will ever be a 2.0 ... It may end up like java and they strip off the 1.

In reply to: #2gzjijq 4 years ago
@xuu@txt.sour.is

@ullarah works for me! A tricky bitmight be if it splits within a codeblock so markdown can't parse

In reply to: #qkqefka 4 years ago
@xuu@txt.sour.is

;-) I seem to remember there being g a script that checks for 1.17. Maybe that is only on make preflight

In reply to: #2gzjijq 4 years ago
@xuu@txt.sour.is

@prologic I have seen single use keys that are signed by a central PKI .. Keybase has one that uses a chatbot to generate the keys on the fly.

It just comes down to your threat model :)

In reply to: #z2zyrma 4 years ago
@xuu@txt.sour.is In reply to: #5nagu7q 4 years ago
@xuu@txt.sour.is

@prologic for shame! lol me too.

In reply to: #z2zyrma 4 years ago
@xuu@txt.sour.is

I would HIGHLY recommend reading up on the keybase architecture. They designed device key system for real time chat that is e2e secure. https://book.keybase.io/security

A property of ec keys is deriving new keys that can be determined to be "on curve." bitcoin has some BIPs that derive single use keys for every transaction connected to a wallet. And be derived as either public or private chains. https://qvault.io/security/bip-32-watch-only-wallets/

In reply to: #5nagu7q 4 years ago
@xuu@txt.sour.is

Okk

In reply to: #fae245q 4 years ago
@xuu@txt.sour.is

@prologic wat

In reply to: #fae245q 4 years ago
@xuu@txt.sour.is

I prefer ::1

In reply to: #v546gpq 4 years ago
@xuu@txt.sour.is

I think google voice has been winding that down.

In reply to: #dp3ixba 4 years ago
@xuu@txt.sour.is

i agree that lextwt is probably mature enough to have its own lib

In reply to: #i3wynfa 4 years ago
@xuu@txt.sour.is

yep!

In reply to: #32vj2fa 4 years ago
@xuu@txt.sour.is

Look at you all using naked links! Try https://twtxt.net!

In reply to: #lqhffuq 4 years ago
@xuu@txt.sour.is In reply to: #qkxmukq 4 years ago
@xuu@txt.sour.is

@screem we have had to really shorten our process. I think long interviews were scaring off talent.

In reply to: #a2cndta 4 years ago
@xuu@txt.sour.is

@screem yah I finally saw all of Dave's twts and figured he had explained Gog's/gitea better.

In reply to: #32dmw4a 4 years ago
@xuu@txt.sour.is

I call FUaaS

In reply to: #3kbf2mq 4 years ago
@xuu@txt.sour.is

This led me on quite the rabbit hole ending around this site with quite a few pages of different components of the language. https://www.bible.ca/ark/chinese/bible-evidences-chinese-language-characters-words-history-genesis.htm

In reply to: #mexkauq 4 years ago
@xuu@txt.sour.is

Its weird to see a tech company be bought by an investment company. Like what is the motivation other than to milk it for investor profit?

In reply to: #56x6gjq 4 years ago
@xuu@txt.sour.is

@eldersnake yep. And when its sat to sat connections are online it will have better cross planet latency than under sea cable. FWIW

In reply to: #kvp6bjq 4 years ago
@xuu@txt.sour.is

Latency to the sat and back to a uplink station is actually ~45ms because the orbit is so much closer to the ground than say a Hughesnet.

In reply to: #qucyl2q 4 years ago
@xuu@txt.sour.is

@prologic they are everywhere.

In reply to: #qucyl2q 4 years ago
@xuu@txt.sour.is

Yeah the timer is because everyone gets the same word each day. You get one word with 6 trys and compare with friends on how you came to the solution.

In reply to: #ws7fslq 4 years ago
@xuu@txt.sour.is

I mean you don't even have to do the game to make a fake emoji result. But its a fun little challenge for brain food.

In reply to: #x47vufq 4 years ago
@xuu@txt.sour.is

This is like my 5rh day at it. I suck at words and spelling. So this is good practice.

In reply to: #eo4qq2q 4 years ago
@xuu@txt.sour.is

Wow. I'm paying about 100 USD for my cable internet. Hard to estimate since its part of a tvd bundle. But it is 1.2Gbit down and 40Mbit up. And speed tests at that on the regular. The new house will have FTTH gigabit for 80ish.

Do they have Starlink beta down there yet?

In reply to: #qucyl2q 4 years ago
@xuu@txt.sour.is

@prologic I dont get it. What am I looking at? The domain 8s missing for me

In reply to: #tpsm4ja 4 years ago
@xuu@txt.sour.is

huh so that site doesnt give you the share emoji like wordle.at?

In reply to: #ws7fslq 4 years ago
@xuu@txt.sour.is

oh my bad.. the official site has a german version..

In reply to: #ws7fslq 4 years ago
@xuu@txt.sour.is

@lyse this might be of help https://wordle.at/

In reply to: #ws7fslq 4 years ago
@xuu@txt.sour.is

its like a mix of hangman and mastermind. You try to guess the word. Yellow means the target word has the letter but its in the wrong location. Green means its in the right location.

In reply to: #v2yph2a 4 years ago
@xuu@txt.sour.is

Not sure really? i see your Joker image fine on my end.

In reply to: #ccqeo6a 4 years ago
@xuu@txt.sour.is

What if i told you for a browser it doesn't matter what the extension is.. it will use the file magic mime value instead.

In reply to: #n5gss2q 4 years ago
@xuu@txt.sour.is

@fastidious 🕑 Hi, the current time is about a quarter past two in the afternoon 🌅.

In reply to: #e2sd5pq 4 years ago
@xuu@txt.sour.is

@fastidious I am not Amish.. i am Xuu!

In reply to: #5ldd3qq 4 years ago
@xuu@txt.sour.is

inflation benefits the debtor at the expense of the creditor. The real danger is deflation.

In reply to: #xksovya 4 years ago
@xuu@txt.sour.is

@fastidious +1 ...Now just a way to come up with the $20 per twt to store the data.

In reply to: #qi25fna 4 years ago
@xuu@txt.sour.is

That's better.. Though the cache will need to be perged in affected nodes.

In reply to: #jk4poqq 4 years ago
@xuu@txt.sour.is

@prologic Well.. well. well.

In reply to: #dmwqifq 4 years ago
@xuu@txt.sour.is

Hey. I my own local forward tool. https://github.com/JonLundy/sshfwd it uses ssh port forwards.

In reply to: #z4akwca 4 years ago
@xuu@txt.sour.is

@prologic what is this?

In reply to: #agntx2q 4 years ago
@xuu@txt.sour.is

I have uBlockOrigin on desktop and https://vancedapp.com/ on android. I never see ads on YouTube.

On SmartTV however this would be a nice addition.

In reply to: #buwspta 4 years ago
@xuu@txt.sour.is

I believe the selling point is to "mobile optimize" the page and send it to the browser faster than over mobile network direct.. But yes you are giving them the keys to your kingdom.

I remember similar things back in dialup days where your ISP would proxy things to you and supercompress the images.

In reply to: #6us4dha 4 years ago
@xuu@txt.sour.is

I use VScode. Others seemto like JetBrains GoLand.

In reply to: #rylp6xa 4 years ago
@xuu@txt.sour.is

@fastidious the things Gemini has going for it are mutual TLS and lack of JavaScript. Which makes for a secure albeit boring experience (much like gopher). The fake markdown is a bit of a drag.

A render mode for Gemini probably wouldnt be too hard. There are markdown to Gemini libs out there.

With Web3 the whole trust a 3rd party browser ext + high fees + env impact for compute and storage are serious no gos for me.. I have heard one too many horror stories about clicking the wrong link and some script draining your metamask wallet.

In reply to: #vrujgeq 4 years ago
@xuu@txt.sour.is

Haha that guy comes up every time BTC peaks a bit higher. He is never gonna find it.

In reply to: #427i2pq 4 years ago
@xuu@txt.sour.is

@prologic why were they even working? Did they think a big warehouse full of shelves of dangers would be safe?

In reply to: #weph26a 4 years ago
@xuu@txt.sour.is

@prologic former CEO of Twitter and countless ETH/NFT scammers

In reply to: #txo4aoq 4 years ago
@xuu@txt.sour.is

The complexity is a feature. It means standards can be replaced with products that let providers get their cut. It means putting data into the slowest most expensive database in cost and enviromnmental impact.

In reply to: #txo4aoq 4 years ago
@xuu@txt.sour.is

So the evolution of my nick is as follows. I had a bicycle that had the word Zephyr written on it. Which means a western wind. That is related to the Greek god Zephyrus.

I liked words where X make a Z sound. And also had a bit of dyslexia so my firs IRC nick was Xypher swapping the y and e.. I would also use the forms Xypherius or just Xypheri.

Because its close hemming to Cypher I found the nick would get used by others.. Though that is not my origin.

Later I would sign websites I created as The X-Urban Underground (where X was short for Xypher) and that evolved to xuu. Pronounced like zoo.

In reply to: #qei2gja 4 years ago
@xuu@txt.sour.is

@lyse ah and here I am pronouncing it in my head like an abbreviated version of Lysine.

In reply to: #mekghca 4 years ago
@xuu@txt.sour.is

DS9 is best Star Trek. And that last second half of the last season where they go all out. chef kiss

In reply to: #kjtkw7a 4 years ago
@xuu@txt.sour.is

@fastidious @darch y'all got a passcode for that zoom link?

In reply to: #cafzawq 4 years ago
@xuu@txt.sour.is

@thecanine been there a few times! Thank goodness for mosh for when trying to debug from spotty GSM connection and having ssh drop out every few minutes.

In reply to: #wqpnqrq 4 years ago
@xuu@txt.sour.is

@thecanine thoughts and prayers

In reply to: #eyhxhoq 4 years ago
@xuu@txt.sour.is

Not sure what is going on with these?

In reply to: #eyhxhoq 4 years ago
@xuu@txt.sour.is

If only there was a way to forward feeds for continuity.

In reply to: #cvkf4bq 4 years ago
@xuu@txt.sour.is

@fastidious tbh I wish it were the nick.txt

Like txt.sour.is/xuu.txt

In reply to: #mm4etoq 4 years ago
@xuu@txt.sour.is

@lyse What the heck? no emoji? do you even Unicode!

In reply to: #2q4ptxq 4 years ago
@xuu@txt.sour.is

@fastidious Yes. there is a --flag for it. i have mine set for some crazy long time.

In reply to: #gtumowq 4 years ago
@xuu@txt.sour.is

@lyse So.. in the great wisdom of markdown parser.. it only provides the Title and deletes the alt. :D i guess i could write out the alt and title as the same value

In reply to: #hacn4ga 4 years ago
@xuu@txt.sour.is In reply to: #tujw3na 4 years ago
@xuu@txt.sour.is

@lyse there was an old tool for encrypted volumes that you could use random files as the unlock keys. And you could havemultiple hidden volumes that would unlock depending on the files supplied

In reply to: #3jlu4sa 4 years ago
@xuu@txt.sour.is

No on gitlab. If its self hosted gitea is best in class.

I can see hosting a mirror on github if only for the redundancy/visibility. Some projects will host but then direct contributions on their self host. Like Go does.

I would suggest using a vanity domain that can redirect tools like go get to hosting of choice. And not require rewriting all the packages any time it gets moved.

In reply to: #okvr5aa 4 years ago
@xuu@txt.sour.is

@prologic

JavaScript : web apps

I understand the hate for JavaScript. But what option is there for writing web enabled applications for desktop / mobile?

In reply to: #omusaxq 4 years ago
@xuu@txt.sour.is

@movq You can always use a 5GB video file if the UI hashes it with SHA512 before posting to the server.

In reply to: #3jlu4sa 4 years ago
@xuu@txt.sour.is In reply to: #rbyspeq 4 years ago
@xuu@txt.sour.is

@fastidious (#twksmyq) IPv6 because localhost -> ::1 is preferred on linux over ol' 127.0.0.1

Now this is very useful.. it means when yarn is doing an HTTP request to itself its not closing the connection. that could mean a http.Response Body is not getting closed.

In reply to: #rbyspeq 4 years ago
@xuu@txt.sour.is

@fastidious You might not want to .. like the other tiktok it is rather pointless noise. Especially because its set to my personal timezone.

In reply to: #mdt5jjq 4 years ago
@xuu@txt.sour.is

@lyse @fastidious it sticks around for my pod :D

In reply to: #vkk2zya 4 years ago
@xuu@txt.sour.is

What happens to the reply when the head goes away?

In reply to: #pxjxn3q 4 years ago
@xuu@txt.sour.is

@lyse Got down sat on a Fork!

In reply to: #yl74gaq 4 years ago
@xuu@txt.sour.is

@lyse wow! your very own customized cutlery holder? nice!

In reply to: #2smf7yq 4 years ago
@xuu@txt.sour.is

@lyse FORK

In reply to: #5zx5pya 4 years ago
@xuu@txt.sour.is In reply to: #uqv4ola 4 years ago
@xuu@txt.sour.is In reply to: #nzmpuzq 4 years ago
@xuu@txt.sour.is

Odd.

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

did some debugging and it looks like the advanced URL was breaking. @fastidious @movq can you try the wkd now?

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

via keyoxide with wkd: https://keyoxide.org/wkd/me%40sour.is

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

looks like i might be missing a policy file.. though the key is GET able.

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

@fastidious Yeah.. mine is all server side.. so it doesn't make much sense to be encrypt/decrypting anything. :D

In reply to: #6tmokrq 4 years ago
@xuu@txt.sour.is

Hmm it should be on wkd.. though the webserver might be borked.. lemme check

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

I use WKD with my gpg key tool. its quite nice!

In reply to: #syahp7a 4 years ago
@xuu@txt.sour.is

Is there a status page of known pods? I imagine you have something in your monitoring setup?

In reply to: #5iwvpma 4 years ago
@xuu@txt.sour.is

@movq @prologic also... So its not part of the file have it hosted at scheme://hostname/twtxt.sig

In reply to: #q3z6xkq 4 years ago
@xuu@txt.sour.is

@prologic I'm not really big on WoT. (I think openpgp keyserver strips those signatures out. ) there needs to be a better way.

In reply to: #ptpfohq 4 years ago
@xuu@txt.sour.is

@movq keys.openpgp.org is a descent key server. They only publish a key the at has a valid email.

In reply to: #ptpfohq 4 years ago
@xuu@txt.sour.is

@prologic if we want to pick a signature form. We can probably get the parser to respect it. I think keys.pub puts the signed content inside the saltpack encoding. PGP header/footer should be an easy parse.

In reply to: #uszy3ba 4 years ago
@xuu@txt.sour.is

@mckinley well.. we did used to have a long form blog on here.. but it kinda went by the wayside.

In reply to: #te2mlfa 4 years ago
@xuu@txt.sour.is

@movq i believe the delete of any twt was a tech limitation with retwt parser not knowing where in the file a twt came from. lextwt tracks the bytes in file where a twt was read from. which could be used to delete a twt from file.. in theory.

In reply to: #hfal6kq 4 years ago
@xuu@txt.sour.is

@fastidious We do have CCPA in the states.

In reply to: #hfal6kq 4 years ago
@xuu@txt.sour.is

I am in the camp of wishing i could delete arbitrary twts.

In reply to: #hfal6kq 4 years ago
@xuu@txt.sour.is

@fastidious sorry. the fix was around having a mention in parenthesis like (yo @prologic)

In reply to: #obrjyjq 4 years ago
@xuu@txt.sour.is

@movq Hah! well i use Nano so i just ctrl-x n

In reply to: #tvotddq 4 years ago
@xuu@txt.sour.is

@fastidious I am not seeing dups on my pod..

In reply to: #ckktwaa 4 years ago
@xuu@txt.sour.is In reply to: #mtm2uiq 4 years ago
@xuu@txt.sour.is In reply to: #6ywpjna 4 years ago
@xuu@txt.sour.is

@prologic Its not FormatText stripping out the lines. That formats with \n newlines so when unmarshalling it tries to parse the text and sees that as the end of twt. LiteralText keeps the newlines as \u2028

In reply to: #6ywpjna 4 years ago
@xuu@txt.sour.is

@prologic make the text field twt.LiteralText() instead of twt.FormatText() and you should be good. https://i.imgur.com/FIpSnkj.png

In reply to: #6ywpjna 4 years ago
@xuu@txt.sour.is

@fastidious HAHA! tis the same!

In reply to: #cyz275a 4 years ago
@xuu@txt.sour.is

@prologic like parsing HTML with regex.

In reply to: #u7wv3wq 4 years ago
@xuu@txt.sour.is

+1

In reply to: #p6pyuvq 4 years ago
@xuu@txt.sour.is

@prologic i do not. i made my own version of TikTok feed. (with custom timezone!)

In reply to: #ncox3ga 4 years ago
@xuu@txt.sour.is

@prologic lol. just testing some Unicode.

In reply to: #cyz275a 4 years ago
@xuu@txt.sour.is

@lyse awesome! i love failing test cases. Do you have them pushed up on a branch to check out?

In reply to: #roem6zq 4 years ago
@xuu@txt.sour.is

@prologic Maybe it could be as a twt with a time far i n the future

In reply to: #35tgdlq 4 years ago
@xuu@txt.sour.is

@prologic I mean pin as in having a specific twt displayed at the top of my feed always.

In reply to: #35tgdlq 4 years ago
@xuu@txt.sour.is

I had bookmarks before. Very nice.

In reply to: #zfb2jmq 4 years ago
@xuu@txt.sour.is

@prologic finally updated yarnd.. FORK!? Awesome!

In reply to: #zfb2jmq 4 years ago
@xuu@txt.sour.is

This is pretty cool. I like the link idea. Gives me an idea about pining twits I think are important.

In reply to: #dlpfxuq 4 years ago
@xuu@txt.sour.is

using this as the service: https://github.com/JonLundy/sshfwd

In reply to: #ck25fya 4 years ago
@xuu@txt.sour.is

a simple Makefile for forwarding internet to your local machine:


SSH_HOST=https://xuu.me
PRIV_KEY=~/.ssh/id_ed25519
forward:
In reply to: #ck25fya 4 years ago
@xuu@txt.sour.is

Once a day.. though if it hasn't updated in n-months maybe once a week?

In reply to: #3ll4fja 4 years ago
@xuu@txt.sour.is

@prologic @angel HTTP 418

In reply to: #isak2oa 4 years ago
@xuu@txt.sour.is

@niplav bigwor~1

In reply to: #v3gp7ta 4 years ago
@xuu@txt.sour.is

@movq @prologic (#prfrhba) this is true if like me you have code in their arctic vault in Norway. 😑

In reply to: #jqlvb7a 4 years ago
@xuu@txt.sour.is

Seems a iOS is being looked into but because it has no central server it can't do background app like iOS requires.

https://code.briarproject.org/briar/briar/-/wikis/FAQ#will-there-be-an-ios-version-of-briar

In reply to: #4f3fe2q 4 years ago
@xuu@txt.sour.is

Ah I haven't looked much past the android app

In reply to: #4f3fe2q 4 years ago
@xuu@txt.sour.is

Maybe we can setup a ko-fi.com or similar?

In reply to: #jb3c2ra 4 years ago
@xuu@txt.sour.is

I wrote part of a configuration tool with embedded FORTH to validate schemas. It was awesome

In reply to: #artznbq 4 years ago
@xuu@txt.sour.is

Don't think I can get to 300eur but could probably get 50usd/mo for the pool

In reply to: #jb3c2ra 4 years ago
@xuu@txt.sour.is

I have had my vanity setup for the longest time. sour.is/x/toolbox

In reply to: #kiha3iq 4 years ago
@xuu@txt.sour.is

@jlj @prologic 👋 keeping busy. Been working like crazy to put away for a down payment on a new house. Summer is looking to be even more.

In reply to: #rh56t3a 4 years ago
@xuu@txt.sour.is

Added to the fun.

In reply to: #rh56t3a 4 years ago
@xuu@txt.sour.is

@prologic @jlj @movq

 /p/tmp > git clone https://www.uninformativ.de/git/lariza.git                                                                                                    Mon May 24 23:48:18 2021
Cloning into 'lariza'...
 /p/tmp > tree lariza/                                                                                                                                    12.5s  Mon May 24 23:48:32 2021
lariza/
├── BUGS
├── CHANGES
├── LICENSE
├── Makefile
├── PATCHES
├── README
├── browser.c
├── man1
│   ├── lariza.1
│   └── lariza.usage.1
├── user-scripts
│   └── hints.js
└── we_adblock.c

2 directories, 11 files
In reply to: #3hp6d2a 4 years ago
@xuu@txt.sour.is

@mckinley @prologic I have updated the ticket with my findings.. its not what you expect! /clickbait https://github.com/jointwt/twtxt/issues/424

In reply to: #4kjvlfa 4 years ago
@xuu@txt.sour.is

@prologic Woh. That is unexpected.. I'll look into it.

In reply to: #4kjvlfa 4 years ago
@xuu@txt.sour.is

@antonio @mckinley @prologic i did use Wireapp for a little bit. it is pretty polished and doesnt rely on phone numbers for connecting. The ownership had some shady changes but im not sure it ever led to issues in the security model.

In reply to: #7625tqq 4 years ago
@xuu@txt.sour.is

lol. yeah i am in deep at the new job. probably need a little more time to settle in

In reply to: #nxmbzgq 4 years ago
@xuu@txt.sour.is

I had a Pleroma node up for a little bit. It sort of died for some reason a few months later because its resource usage kept going up.

In reply to: #4keqgoq 4 years ago
@xuu@txt.sour.is

@prologic @antonio I have been trying out session. Its got a pretty simple design. not a lot of frills.

0515e4d5d6cec712a054f21b46d4f90a001af34e893131263ce34f2121d0450310

In reply to: #7625tqq 4 years ago
@xuu@txt.sour.is

@lyse @adi @prologic @movq Awesome man! Welcome to the Go coding for work club!

In reply to: #wije7wq 4 years ago
@xuu@txt.sour.is

@jlj excellent! We could add a translate twt for twts of another language to the UI with this.

In reply to: #dh5wfra 5 years ago
@xuu@txt.sour.is

Is there a usable API for language translation? Non-Google preferable.

In reply to: #7h44kua 5 years ago
@xuu@txt.sour.is

I apologize for being absent the last little bit. Started a new job and have been quite focused there.

In reply to: #pwlzkua 5 years ago
@xuu@txt.sour.is

@prologic @adi @jlj @readfog I too would love to see the "internal" package decrease and clearly defined / modular packages increase.

In reply to: #bgxmxia 5 years ago
@xuu@txt.sour.is

Twtxt is distributed like in the old school unix2unix copy days

In reply to: #tpftp4q 5 years ago
@xuu@txt.sour.is

@lyse (#hut4mnq) I am so sorry for you. I left my Java job for Go. Though through "restructuring" its become a Python job.

In reply to: #wije7wq 5 years ago
@xuu@txt.sour.is

@thewismit @jlj in old school terminal jargon the ^H means control H or the sequence used in some terminals to indicate backspace. The "joke" is that the term failed to interpret it correctly and you can see the partially typed word before they changed it.

In reply to: #cfnfvkq 5 years ago
@xuu@txt.sour.is

Awesome! do you have the svg available to add to my logo?

In reply to: #lc35faa 5 years ago
@xuu@txt.sour.is

@adi @movq ah.. looks like you still follow movq as vain.

In reply to: #rlczf2q 5 years ago
@xuu@txt.sour.is

@golang_news @prologic Woot!

In reply to: #tz2brxq 5 years ago
@xuu@txt.sour.is

Whew!

In reply to: #xux5ocq 5 years ago
@xuu@txt.sour.is

@prologic @anth Sounds like a good idea. The hash to conv/search url should stay local to a pod.

In reply to: #v5yaeha 5 years ago
@xuu@txt.sour.is

@prologic yah I'll get a fix out soonish

In reply to: #72gm2ga 5 years ago
@xuu@txt.sour.is

@darch @prologic Technically it should be at the start.. Though the parser doesn't currently care where it is. Though that leads to artifacts like any random string inside perens becoming a subject.

In reply to: #v5yaeha 5 years ago
@xuu@txt.sour.is

@prologic tricky.. punctuation is being grouped in with other text. i need to break up string tokens.

In reply to: #72gm2ga 5 years ago
@xuu@txt.sour.is

@prologic its the puny code for the yarn emoji. Though you would want the type-able version to redirect so its not hard to type on non mobile.

In reply to: #tgqyilq 5 years ago
@xuu@txt.sour.is

@prologic :-D i consider myself subpar on UX outside of React, but can def give it a stab.

In reply to: #kk5o2ja 5 years ago
@xuu@txt.sour.is

xn--dw9h.social is taken :-(

In reply to: #tgqyilq 5 years ago
@xuu@txt.sour.is

@prologic we would want:

  • a way to reply to the current thread. We have this.
  • a way to reply to a specific twt. Need this. Maybe make all the replies start new conversations?
  • check if twt is start of a conversation.. we kinda have this in the main feed with the conversation button. need to extend it for forked convs
  • a way to inline first replies. maybe show one or two in the sub thread with a link to view.
  • for convenience have a link to parent conv?
In reply to: #kk5o2ja 5 years ago
@xuu@txt.sour.is

@xuu @prologic see how it has a bar on the first level reply?

In reply to: #sjdqk7a 5 years ago
@xuu@txt.sour.is

@xuu @prologic we could show first level inline like twitter does. With links for deeper discussion.

In reply to: #sjdqk7a 5 years ago
@xuu@txt.sour.is

@prologic speaking of complexity.. How would checking twts for sub conversations complexify things?

In reply to: #kk5o2ja 5 years ago
@xuu@txt.sour.is

@prologic would that need a NLP library? The lang would be great for a search engine to find language prefs.

In reply to: #vnyodga 5 years ago
@xuu@txt.sour.is

@prologic @darch Like with many things that live in a diaspora there will be many names for about the same thing. Just look at e-mail headers!

In reply to: #jvfqdxa 5 years ago
@xuu@txt.sour.is

@vain I have seen it pop up on a few feeds around and adopted it into the new parser I built.

The format I have followed has been '# ' :whitespace: :key-name: :whitespace: '=' :whitespace: :value: keys can be repeated and accessed like an array of values.

In reply to: #ljne7oq 5 years ago
@xuu@txt.sour.is In reply to: #5uv46pq 5 years ago
@xuu@txt.sour.is

@prologic I know! it has 55 new emoji!! \u1F90C

In reply to: #5uv46pq 5 years ago
@xuu@txt.sour.is

Hmm on mobile it shows as the text :poop: and not 💩

Maybe the mobile version has text emoji substitution like slack/discord does?

In reply to: #xer3nwa 5 years ago
@xuu@txt.sour.is

Related bookmark: https://command-not-found.com/

In reply to: #tjyirea 5 years ago
@xuu@txt.sour.is In reply to: #7332bqa 5 years ago
@xuu@txt.sour.is

@xuu @prologic @thewismit ah.. probably a bug with the re parser. looks like i can do it without the <>'s with lex

https://fosstodon.org/@thewismit/105673078150704477

In reply to: #vwxdg4q 5 years ago
@xuu@txt.sour.is

@thewismit @prologic Yo. wrap that naked link in some <>'s https://fosstodon.org/@/105673078150704477

In reply to: #vwxdg4q 5 years ago
@xuu@txt.sour.is

@prologic deedum for android.

Kristall for OS X

Elaho for iOS

more here

though I can only vouch for the first two.

In reply to: #l5qdaba 5 years ago
@xuu@txt.sour.is In reply to: #loawtoa 5 years ago
@xuu@txt.sour.is

@prologic That is strange.. i wonder if there is another change that is causing it. Benchmarks are thinking the other way :|

BenchmarkAll/retwt-16                  1        4940172200 ns/op       587319376 B/op    2587159 allocs/op
BenchmarkAll/lextwt-16                 1         775764020 ns/op         9223088 B/op     197557 allocs/op
BenchmarkParse/retwt-16                1         591158277 ns/op        67539096 B/op     230841 allocs/op
BenchmarkParse/lextwt-16               1         716961837 ns/op         5450448 B/op     130290 allocs/op
BenchmarkOutput/retwt-html-16          1        8358103017 ns/op       918709168 B/op    4692292 allocs/op
BenchmarkOutput/lextwt-html-16         1         822033267 ns/op        14280112 B/op     261795 allocs/op
BenchmarkOutput/retwt-markdown-16      1        8114225415 ns/op       929928384 B/op    4693004 allocs/op
BenchmarkOutput/lextwt-markdown-16     1         806554306 ns/op        14332608 B/op     270905 allocs/op
BenchmarkOutput/retwt-text-16          1        8098215897 ns/op       923862192 B/op    4684739 allocs/op
BenchmarkOutput/lextwt-text-16         1         745064673 ns/op        12689784 B/op     252476 allocs/op
BenchmarkOutput/retwt-literal-16       1        4068799822 ns/op       409517880 B/op    2372471 allocs/op
BenchmarkOutput/lextwt-literal-16      1         754793627 ns/op         9834520 B/op     214931 allocs/op
In reply to: #y3dd3sa 5 years ago
@xuu@txt.sour.is

@xuu @jlj @hxii only if you look at the raw text file https://0xff.nu/blog.txt

In reply to: #a3e5oyq 5 years ago
@xuu@txt.sour.is

@jlj oh dang the reply didnt add the reply. It was to @hxii because Firefox shows his shruggy like ¯\_(ツ)_/¯

In reply to: #a3e5oyq 5 years ago
@xuu@txt.sour.is

@prologic @hxii I'm certain that it is a markdown thing. Its that way on other markdown sites like Reddit. Because the underline is being escaped to prevent the underline style. Gotta double it up ¯\(ツ)\

In reply to: #3MGFkOA 5 years ago
@xuu@txt.sour.is

@hxii Recursion is the best recursion!

In reply to: #2MmYzNQ 5 years ago
@xuu@txt.sour.is In reply to: #lMjMyOQ 5 years ago
@xuu@txt.sour.is

@hxii There is another twter that uses !<wikiword wikiaddr> or !wikiword for their wiki intigrations.

In reply to: #lMjMyOQ 5 years ago
@xuu@txt.sour.is

@lyse @prologic @vain A penny saved is a penny depreciating at a rate of 1.4% per annum.

In reply to: #vjmprgq 5 years ago
@xuu@txt.sour.is

@lyse @prologic I think lex will do that too currently. Should be able to lock that down.

In reply to: #ezmdswq 5 years ago
@xuu@txt.sour.is

@lyse Looks good for me!

In reply to: #ezmdswq 5 years ago
@xuu@txt.sour.is

@thewismit @prologic I too wonder about this.

In reply to: #rufq23a 5 years ago
@xuu@txt.sour.is

@prologic @thewismit possible, or a pod following any feeds it finds, if any one follows or not. So it has more twts cached

In reply to: #nicbdoq 5 years ago
@xuu@txt.sour.is

@prologic Should be ready to merge with lex as opt-in option. Need more eyes on it and some clean up.

In reply to: #ffxaisq 5 years ago
@xuu@txt.sour.is

@prologic @thewismit Ya I get that error a lot. I mostly use the web on mobile as a result.

In reply to: #nicbdoq 5 years ago
@xuu@txt.sour.is

@prologic i think i finally suss'd out my hash issue.. now to figure out why im losing avatars on restart.

In reply to: #ffxaisq 5 years ago
@xuu@txt.sour.is

@prologic @thewismit not sure.. im using Caddy instead of nginix

In reply to: #koydrdq 5 years ago
@xuu@txt.sour.is

@prologic lol.. sorry about the spam

In reply to: #g7rj3wa 5 years ago
@xuu@txt.sour.is

@xuu @prologic hmm from what i can tell its parsing ok.. something got broken in the markdown conversion...

In reply to: #6jkpxzq 5 years ago
@xuu@txt.sour.is In reply to: #6jkpxzq 5 years ago
@xuu@txt.sour.is

@prologic hmm this line seems to be tricky to parse. will need to look into it.

In reply to: #6jkpxzq 5 years ago
@xuu@txt.sour.is

@prologic test. Running new parser on txt.sour.is. :D

In reply to: #qvykv7a 5 years ago
@xuu@txt.sour.is

@prologic that would be an interesting idea. I think your current spec of using an SMTP proto is probably best for DM.

but having a federation of IRC servers would be interesting for realtime twt propagation.

In reply to: #7nq3eda 5 years ago
@xuu@txt.sour.is

@prologic the meta info on the top I added manually. it's following what I have seen from some other twtxt feeds. the new parser will read them.

In reply to: #h2d3jqq 5 years ago
@xuu@txt.sour.is

@prologic Veri soon. I have a experimental runflag that I am just about to deploy to my node. I have a few show stoppers holding me back.

In reply to: #s6zxfya 5 years ago
@xuu@txt.sour.is

Emoji nicks are no problem with lextwt. 😁

In reply to: #s6zxfya 5 years ago
@xuu@txt.sour.is

@prologic sometimes I think it would be nice to have a XMPP instance. then I remember it's all XML and I think "nah."

I am constantly in awe that IRC remains the only realtime chat that isn't unnecessarily complex. name another that can run chatops bot with just nc and sh?

In reply to: #7nq3eda 5 years ago
@xuu@txt.sour.is

@prologic @xuu Closer! Last bit to finish is a beast. FormatTwtFactory

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@vain @lyse @prologic Nope.. i have updated my gist to include the feeds listing. feeds.txt

In reply to: #yrv75ka 5 years ago
@xuu@txt.sour.is

@prologic that seems to match my numbers. are you picking up the few gophers out there?

kinda makes me wonder about the ~300k you have cached. y'all got the library of alexandria over there.

In reply to: #yrv75ka 5 years ago
@xuu@txt.sour.is

@prologic in theory shouldn't need to let users add feeds.. if they get mentioned by a tracked feed they will get added automagically. on a pod it would just need to scan the twtxt feed to know about everyone.

In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@prologic sounds about right. I tend to try to build my own before pulling in libs. learn more that way. I was looking at using it as a way to build my twt mirroring idea. and testing the lex parser with a wide ranging corpus to find edge cases. (the pgp signed feeds for one)

In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@prologic the add function just scans recursivley everything.. but the idea is to just add and any new mentions then have a cron to update all known feeds

In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@prologic yeah it reads a seed file. I'm using mine. it scans for any mention links and then scans them recursively. it reads from http/s or gopher. i don't have much of a db yet.. it just writes to disk the feed and checks modified dates.. but I will add a db that has hashs/mentions/subjects and such.

In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@prologic It is pretty basic, and depends on some local changes i am still working out on my branch.. https://gist.github.com/JonLundy/dc19028ec81eb4ad6af74c50255e7cee

In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@lyse @prologic very curious... i worked on a very similar track. i built a spider that will trace off any follows = comments and mentions from other users and came up with:

twters:  744
total:  52073
In reply to: #37xr3ra 5 years ago
@xuu@txt.sour.is

@prologic that I do. lol. I am xuu on hackint.org and freenode

In reply to: #3cs4rua 5 years ago
@xuu@txt.sour.is

@prologic sure. I don't use signal much because I have to disclose my personal phone. Telegram? https://www.t.me/xypheri

In reply to: #3cs4rua 5 years ago
@xuu@txt.sour.is

@xuu @prologic Your feed was great for catching edge cases ;)

In reply to: #5girtlq 5 years ago
@xuu@txt.sour.is

@prologic yep!some of the lexer is directly copied from monkey-lang. love that book series.

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic ah I need to add an edge case for naked urls with fragments.

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic yep. it actually extracts everything at parse time. like mentions/tags/links/media. so they can be accessed and manipulated without additional parsing. it can then be output as MarkDown

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@adi @prologic using regex. which can be a rather inexact science ;)

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic kinda.. It can parse the twts into an AST.. but most of the formatting out expects a string to do regex over rather then the parsed AST. thats what i am working out next.

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic as promised! https://github.com/JonLundy/twtxt/blob/xuu/integrate-lextwt/types/lextwt/lextwt_test.go#<L435-L461 https://txt.sour.is/search?tag=L435-L461>

the lexer is nearing completion.. the tough part left is rooting out all the formatting code.

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic ooh I am adding that to my test suite

In reply to: #hrqg53a 5 years ago
@xuu@txt.sour.is

@prologic @gareppa Tis fake.. that is the name of the tower in Die Hard. A movie that takes place on Christmas Eve. The actual name of the Nakatomi Plaza is the FOX Plaza.

In reply to: #xtwfwpa 5 years ago
@xuu@txt.sour.is

@prologic went over to watch this one in my home town last night. https://youtu.be/kUZB0_Jx3iE

#ChristmasLights #2020

In reply to: #fjuptra 5 years ago
@xuu@txt.sour.is

@xuu yikes the style sheet for blogs needs help.

In reply to: #supvwka 5 years ago
@xuu@txt.sour.is In reply to: #5jqioeq 5 years ago
@xuu@txt.sour.is

New Blog Post Twtxt Auto Discovery by @xuu 📝

In reply to: #supvwka 5 years ago
@xuu@txt.sour.is

@deadguy @prologic been stewing on a discovery proto for twtxt. support for defining multiple ways to host/mirror a twtxt file. while being low tech enough to still be scriptable with basic Unix commands.

In reply to: #xnbxtha 5 years ago
@xuu@txt.sour.is

@adi @prologic I'll give it a spin first thing in the AM

In reply to: #jrcdyvq 5 years ago
@xuu@txt.sour.is

@prologic when its ready.. this is still in beta.

In reply to: #623o7la 5 years ago
@xuu@txt.sour.is

@prologic yeah it would replace rice. best part is that it's in the go build step so you don't need to do any prep work with make.

In reply to: #623o7la 5 years ago
@xuu@txt.sour.is

@prologic after stewing on it. I really like the idea of a wiki. throw it on the roadmap after DMs 😆

In reply to: #5okdtza 5 years ago
@xuu@txt.sour.is

@prologic (#keh22ka) maybe a custom linking method on a pod level? like can pass a template that gets translated. ex https://{domain}/wiki/{nick}/{tag} + !somepage -> https://sour.is/wiki/xuu/somepage

In reply to: #5okdtza 5 years ago
@xuu@txt.sour.is

@prologic found it!

2020-07-25T00:52:27.000000Z

In reply to: #5okdtza 5 years ago
@xuu@txt.sour.is In reply to: #5okdtza 5 years ago
@xuu@txt.sour.is

@prologic I see them is why I ask. like here #cwqmygq they use both hashtag and bangtag?

In reply to: #5okdtza 5 years ago
@xuu@txt.sour.is

@prologic 😁 that is me testing locally. does it notify you somehow when I follow?

In reply to: #2iqctiq 5 years ago
@xuu@txt.sour.is

@prologic one.. kinda sorta option would be to tailor a workflow for each of the archs.. see https://github.com/JonLundy/twtxt/runs/1568071072?check_suite_focus=true

In reply to: #woeyf2q 5 years ago
@xuu@txt.sour.is

@xuu @prologic oh.. you are.. maybe i don't understand the issue with building?

In reply to: #woeyf2q 5 years ago
@xuu@txt.sour.is

@prologic have you tried using the macos github build environment? looks like they have a windows one too.

In reply to: #woeyf2q 5 years ago
@xuu@txt.sour.is

more or less. :D what are you using to ci/cd? i dont see a travisci/circleci/etc in the repo.. i can put something together to bump the patch level on master branch merges.

In reply to: #woeyf2q 5 years ago
@xuu@txt.sour.is

There is.. but we lost the transform file to make it legible.

In reply to: #6xtfqja 5 years ago
@xuu@txt.sour.is

@xuu @prologic had to up my twt size a bit.

In reply to: #2fbqayq 5 years ago
@xuu@txt.sour.is

@prologic

-----BEGIN CRYPTUTIL ENCRYPTED MESSAGE-----
l0GwFAQpx3ed+bZlcQ+pexbynFzZOm8EI/FivGbWQ16whyTkToVv8S2GSAjrsJoT
37MdaBDpoitli/f/aP130b6O6SnK/LdHHJ1DTvWgxB14sq9b4mRtk7HvYzA=
-----END CRYPTUTIL ENCRYPTED MESSAGE-----
In reply to: #2fbqayq 5 years ago
@xuu@txt.sour.is

@xuu @prologic This? Fingerprint: 161c614f08e4ed4d1c8e5410f8c457e6878574dbab7c9ac25d474de67db1bdad

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic I use https://key.sour.is/id/me@sour.is

I would need an out-of-band way to verify your public key’s fingerprint though 🤣

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic Ok.. so using NaCL boxes. yeah its just a combo of using secretbox with a generated key/nonce. and then using the pubkey box to encrypt the key/nonce for each device.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic

Can we not have clients sign their own public keys before listing them on their Pod’s account?

Yeah.. we probably could. when they setup an account they create a master key that signs any subsequent keys. or chain of signatures like keybase does.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic def would be a wider discussion on preventing the pod from adding its own key to a users device list. Or using device keys to authenticate instead of user/pass.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic pod should probably track revocation of device keys and delete the encryptedkeys that are paired with revoked keys

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic device gets the cypertext and uses it's device key to decrypt one of the keys and then decrypts the cypertext.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic sender generates an AES key encrypts message. gets the device list for user and encrypts key for each device. sends the encryptedkeys+cypertext.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic for encryption. we can have browser/app generate ec25519 keypair. store the private on device and add pub to list of devices for the user on pod.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

i am guessing you are using some form of webmention to notify the target of the DM? which loads it into a store for the user to read?

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic 👋 I can take a stab at it when I am done with the changes I am working on.

In reply to: #f7rdmuq 5 years ago
@xuu@txt.sour.is

@prologic my bad.. my next one is more fun.

In reply to: #xkpbn6a 5 years ago
@xuu@txt.sour.is

@prologic I see.. so using an ec25519 key as identity? and some kind of certificate to define the location of a feed? or maybe a DHT like Kademlia? TwTorrent ;)

In reply to: #4to7qbq 5 years ago
@xuu@txt.sour.is

@prologic kinda like how MX records work.

In reply to: #zbpsfnq 5 years ago
@xuu@txt.sour.is

@prologic My thoughts on it being if they switched from a different way of hosting the file or multiple locations for redundancy..

I have an idea of using something like SRV records where they can define weighted url endpoints to reach.

In reply to: #zbpsfnq 5 years ago
@xuu@txt.sour.is

@prologic when i get the code up to a shareable level ill ping with what i have.

In reply to: #qn4y6wa 5 years ago
@xuu@txt.sour.is

@prologic so.. convert the 4 attributes in the struct to private, add getters plus some the other methods that make sense.


type Twt interface {
In reply to: #qn4y6wa 5 years ago
@xuu@txt.sour.is

@prologic yeah I do.

It seems a bit wonky that it imports from your packages in some places. I'm guessing that's some legacy bits that need updates?

In reply to: #tgfjfma 5 years ago
@xuu@txt.sour.is

@prologic I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for [ParseFile](https://github.com/jointwt/twtxt/blob/master/internal/twt.go#<L284 https://txt.sour.is/search?tag=L284>)

Kinda wish [types.Twt](https://github.com/jointwt/twtxt/blob/master/types/twt.go#<L53 https://txt.sour.is/search?tag=L53>) was an interface. it's sooo close.

In reply to: #qn4y6wa 5 years ago
@xuu@txt.sour.is

@lyxal @prologic yah. the service can have a flag for allowing non-TLS for development. but by default ignores.

are there some users that use alternative protos for twtxt? like ftp/gopher/dnsfs 🤔

In reply to: #n5wisfq 5 years ago
@xuu@txt.sour.is

@prologic @lyxal blocking http would be a good start

In reply to: #n5wisfq 5 years ago
@xuu@txt.sour.is

@admin @lyxal hax?

In reply to: #d3g3ubq 5 years ago
@xuu@txt.sour.is

@prologic ❤️

In reply to: #m6o45lq 5 years ago
@xuu@txt.sour.is

@prologic an added benefit of the avatar: would be the user could put their gravatar/libravatar image url like https://key.sour.is/avatar/01bc6186d015218c23dec55447e502e669ca4c61c7566dfcaa1cac256108dff0

In reply to: #67nxkja 5 years ago
@xuu@txt.sour.is

@prologic Could the config be embeded into the head comment of the twtxt.txt file and parsed out? If it also had an avatar: field that pointed to where the avatar image is located it can be almost all self contained.

In reply to: #67nxkja 5 years ago
@xuu@txt.sour.is

New Blog Post Test Blog by @xuu 📝

In reply to: #mngqj3q 5 years ago
@xuu@txt.sour.is

@lyxal @prologic if we edit the txt file does it update on web?

In reply to: #kpgpl7q 5 years ago
@xuu@txt.sour.is

@prologic the HKP is http keyserver protocol. it's what happens when you do gpg --send-keys

makes a POST to the keyserver with your pubkey.

In reply to: #63dtg5a 5 years ago
@xuu@txt.sour.is

@prologic looking through the drafts it looks like it actually used SRV records as recently as 2018 😵

In reply to: #63dtg5a 5 years ago
@xuu@txt.sour.is

@prologic Web Key Directory: a way to self host your public key. instead of using a central system like pgp.mit.net or OpenPGP.org you have your key on a server you own.

it takes an email@address.com hashes the part before the @ and turns it into [openpgpkey.]address.com/.well-known/openpgpkey[/address.com]/<hash>

In reply to: #63dtg5a 5 years ago
@xuu@txt.sour.is

@xuu With SRV you can set what hostname to be used (and port/priority/etc)

In reply to: #63dtg5a 5 years ago
@xuu@txt.sour.is

@xuu Not too happy with WKD's use of CNAME over SRV for discovery of openpgpkey.. That breaks using SNI pretty quick. I suppose it was setup as a temporary workaround anyhow in the [RFC..](https://tools.ietf.org/html/draft-koch-openpgp-webkey-service-11#<section-3 https://txt.sour.is/search?tag=section-3>.1)

In reply to: #63dtg5a 5 years ago
@xuu@txt.sour.is

@prologic also :)

In reply to: #gcwzicq 5 years ago
@xuu@txt.sour.is

@adi @prologic One reservation about using it with a small community would be the expectation that the discussions at some level stay within the circle as opposed to the internet at large.

In reply to: #2yw2goq 5 years ago
@xuu@txt.sour.is

@prologic @twtxt I have noticed that I will get some duplicate web mention notifications. some kind of dedup would be helpful.

In reply to: #gcwzicq 5 years ago
@xuu@txt.sour.is

@prologic ha yeah. COVID makes for a timey-wimey mish-mash. Worked on some WKD and fought with my XMPP client a bit.

In reply to: #gqg3gea 5 years ago
@xuu@txt.sour.is

@prologic Herro! 👋

In reply to: #gqg3gea 5 years ago
@xuu@txt.sour.is

@prologic well nice chat. it's off to bed for me.

In reply to: #3delrvq 5 years ago
@xuu@txt.sour.is

@prologic do you think twt will ever add ActivityPub integration?

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@prologic Yep! installed it yesterday. I like the simplicity of twt. I am quite happy with how little memory the pod seems to use. Mastodon and the "lightweight" Pleroma don't work well in small VMs.

In reply to: #3delrvq 5 years ago
@xuu@txt.sour.is

@prologic

That way at least we can form some kind of cryptographic “identity” without having to involve the users that much, it just works™

i like some of the work that keys.pub is doing with ed25519 crypto keys with something like that.

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@prologic huh.. true.. the email is md5/sha256 before storing.. if twtxt acted as provider you would store that hash and point the SRV record to the pod. .. to act as a client it would need to store the hash and the server that hosts the image.

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@xuu @prologic something that would be interesting would be libravatar for the user image. i made one that does the same for a profile cover image.

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@xuu @prologic The gpg command line leaves much to be desired...

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@prologic it is some interesting work to decentralize all the things.. tricky part is finding tooling. i am using a self hacked version of the go openpgp library. A tool to add and remove notations would need to be local since it needs your private key.

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@prologic this is a go version of Keyoxide.org that runs all server side. which is based on work from https://metacode.biz/openpgp/

OpenPGP has a part of the self signature reserved for notatinal data. which is basically a bunch of key/values.

this site tries to emulate the identity proofs of keybase but in a more decentralized/federation way.

my next steps are to have this project host WKD keys which is kinda like a self hosting of your pgp key that are also discoverable with http requests.

then to add a new notation for following other keys. where you can do a kind of web of trust.

In reply to: #jmgdkdq 5 years ago
@xuu@txt.sour.is

@prologic Oh snap. that's what i get for copy paste! ill just have to repost and update my key.

In reply to: #4rk4dna 5 years ago
@xuu@txt.sour.is

@prologic this is a very curious project. I would love to see how it manages to do its federation between pods.

In reply to: #q3zvz4q 5 years ago
Comment via email