Joey short
untitled

HTTP API server proxying to other P2P remotes is now mostly working.

Putting this together was like if you spent one month making one jigsaw puzzle and another month making a second one, and then you needed to somehow seamlessly connect the two. Not that it wasn't in mind from the beginning, but how does all this match up?

It makes my head hurt and I've spent several hours struggling with fitting the pieces together so it was a surprise when it just started working.

Posted
Joey short
untitled

oh sweet, they transferred ACH details over to this very competant company that will certianly never suffer a data breach

Posted
Joey short
untitled

entirely unsusprising that their (mandatory) SMS verification fails to work

Posted
Joey short
untitled

dear chatgpt, does this password contain 3 of the 4: An uppercase letter, a lowercase letter, a number, and a special character?

Posted
Joey short
untitled

Actually, a password that meets those reqirements was still rejected as not. Not even gonna speculate, I used a cat to generate a password they happen to accept.

Posted
Joey short
untitled

looks like if your password doesn't meet their arbitrary and capricious requirements, they silently lock the account, rather than rejecting the form submission

perfect. no notes.

Posted
Joey short
untitled

the unasked-for transfer of my account from to Some Company, which I never wanted, is off to a great start with 3 emails purporting to be from Some Company, whose headers suggest 2 other companies sent them, and the one with the login link not even using Some Company's domain.

And then after setting a password, login fails.

Good this this is not important...

Posted
Joey short
untitled

testremote 100% pass on a remote using the new HTTP API!

(There is the small matter of a build warning about "Defined but not used: ‘proof’" so it's not actually done, but it's very close now.)

Posted
Joey short
untitled

unexpected development: is much faster at downloading files using the new HTTP API than using ssh. Like 231 mb/s vs 48 mb/s.

Wow, I didn't realize ssh was still so slow. I know, encryption (and I'm comparing it with HTTP, not HTTPS), but...

Posted
Joey short
untitled

Finally gotten using the HTTP API that I've been developing. A few API endpoints still to wire up, but the end is in sight.

Posted
Joey short
untitled

having performed BASIC INTERPERSONAL COMMUNICATION and ROUTINE CLERICAL CHORES, am warming up the TYPE INFERENCE ENGINE of my UNIVERSAL TURNING MACHINE for the descent to the SHEER ROCK FACE where I shall spend my day chipping out BEAUTIFUL IDEAS.

Posted
Joey short
untitled

programmed for 15 hours today. eep

Posted
Joey short
untitled

omg I have forgotten how to type on my laptop

successful vacation

Posted
Joey short
untitled

A week is forever / a week is not enough

Posted
Joey short
untitled

Stuck on an island because the ferry BSOD. Sweet

Posted
Joey short
untitled

Debian needs to package a privacy respecting Mozilla fork already.

Posted
Joey short
untitled

Put my GPS in nautical mode

Posted
Joey short
untitled

uspol


Joe Biden on stage with a giant 75 in front of him

Posted
Joey short
untitled

type checker just informed me I'd forgotten to include a header in my http response

Posted
Joey short
untitled

is there anything more fun than helping rigid, skolem types escape their scope?

Posted
Joey short
untitled

after all that, I now have half a dozen pairs of functions like

serveFoo :: [params] -> Handler foo

clientFoo :: [params] -> ClientM foo

Also I've learned that servant-client does not support websockets, which puts a bit of a spanner in the works for one of my API endpoints.

Posted
Joey short
untitled

banged out 588 lines of code today which feels like a *lot*

also the code does nothing, it's all just HTTP serialization fluff

Posted
Joey short
untitled

111 lines in all to define the data type, not bad

Posted
Joey short
untitled

Had almost escaped playing any more Utopia Must Fall, but then i discovered the commando strategy, so it's shieldless runs from day 1-10, going deeper into this thing.

Posted
Joey short
untitled

Best kind of being surprised by the behavior of my own software: Went out to the solar powered fridge freezer conversion and found it still had a bag of ice in it from 2 weeks ago.

Despite working on the temperature control and power allocation for years, and knowing that the thermal mass in the bottom is consistently below -2C overnight, even after a cloudy/rainy day, this is still somehow surprising.

Posted
Joey short
untitled

let's leave aside any reaction to djb and/or the part of the netstrings spec where he gives in an example /* >999999999 bytes is bad */

Like, gigabytes do exist, djb.

Posted
Joey short
untitled

if you encountered a HTTP API that used netstrings for bodies that contain binary data followed by some JSON, how would you react?

import netstrings library and no problem
implement netstrings in 10 minutes, no problem
ugh, this is not web native

Posted
Joey short
untitled

One of my favorite sentences from a rather good manual.

Posted
Joey short
untitled

happy 4th of july to everyone in the UK btw

Posted
Joey short
untitled

pondering installing a Schuko outlet in my house

yes, I'm in the US, lol

Posted
Joey short
untitled

Through an unfortunate sequence of events, which includes but is not limited to systemd reaping ssh session processes on connection loss, I am now gonna have to transparently roundtrip per-node monotonic clock values through clusters. This is gonna be interesting.

Posted
Joey short
untitled

"to talk with someone I want to get obscure settings just right in the mixer" said noone ever

Posted
Joey short
untitled

huh.. looks like haskell's http-client does support it. Dunno about server side

Posted
Joey short
untitled

I am needing the HTTP server to send the client an indication that it has started processing a request before it receives all of the client's response.

Wondering if HTTP 100 continue is something I should even ponder using, or should I go right to websockets?

What are the chances a given HTTP stack will allow using 100 continue?

Posted
Joey short
untitled

picked some blackberries today

Posted
Joey short
untitled

well that took 8 hours to finish writing itself.. but it does work!

Posted
Joey short
untitled

Time to make proxy (and cluster) support special remotes. I had not been looking forward to implementing this. And yet, the code... it is writing itself.

Posted
Joey short
untitled

never have two vacant podiums looked so appealing

Posted
Joey short
untitled

distributed clusters working!

That was a single upload into the cluster, which streamed it onto 3 local nodes, as well as across "the atlantic" to another cluster gateway, which streamed it out onto 2 more nodes.

Posted
Joey short
untitled

charming how can lose key release events when the system is fully loaded

Yeah, I'm fork bombing myself repeatedly today and my terminal contains stuff like this:

k gitttttttttttttttttttttttttttttttttttttttttt-annex-shell -9

(wayland on gnome if it matters)

Posted
Joey short
untitled

tried out mounting a solar panel on my powerracks to get a feel for it, and I'm impressed with this mount's design

Posted
Joey short
untitled

the self-inflicted fork bomb... it burns

Posted
Joey short
untitled

Still need to add cycle prevention though.. A minor extension to the P2P protocol.

Posted
Joey short
untitled

In 6 hours I've extended to support clusters that are distributed geographically, with gateways in different locations each serving their own set of nodes, and relaying requests between one-another.

it was easy! Helps to already have a fully distributed system when building this kind of thing I suppose.

Posted
Joey short
untitled

ordering a 5 tons of gravel and a like amount of firewood, and ... what about sheep?

Posted
Joey short
untitled

Finished up clusters last week, and it was very nice to run `git-annex testremote` against a cluster and have it succeed.

But what about clusters that are themselves geographically distributed? This will mean having multiple gateways that as well as storing data on their nodes, repeat messages to other gateways. It will need a way to prevent cycles, but otherwise I think it will Just Work! Especially nice that a single file upload to a cluster will stream through to all desired nodes.

Posted

List of feeds:

  • Anna and Mark: Waldeneffect: last checked (4610 posts)
  • Anna and Mark: Wetknee: last checked (43 posts)
  • Joey: last checked (224 posts)
  • Joey devblog: last checked (271 posts)
  • Joey short: last checked (1088 posts)
  • Jay: last checked (50 posts)
  • Errol: last checked (53 posts)
  • Maggie: last checked (8 posts)
  • Tomoko: last checked (77 posts)
  • Jerry: last checked (28 posts)
  • Dani: last checked (23 posts)