markwylde

twtxt.net

No description provided.

Recent twts from markwylde
In-reply-to » @adi @prologic It's worth bearing in mind that

I’ve really hated the entire idea of app stores. I have been on Google Pixels since the 4, and use Calyxos, so can’t use PlayStore. Aurora comes preinstalled, but it’s kinda flakey.

F-Droid is ideal, all reproducible builds, opensource. It’s totally doable, but thinks like banking apps and utility apps, aren’t on there, as probably never will be as they all do dodgy stuff they don’t want you knowing about.

The reason I hate app stores, is because we already have a (somewhat decentralised) trusted transport in TLS/HTTPS. Like, I know if I’m on the hsbc.co.uk website, I’m 99.999999% sure I’m actually speaking to hsbc. So, then provide me the APK and let me down it. Or, make a decent PWA/WebApp so I don’t need your app.

Thing is. I don’t trust Google or Apple even a fraction as much as I would trust the TLS of the companies domain.

⤋ Read More
In-reply-to » @prologic See https://www.sogo.nu/, it looks it has an web app.

Interesting, it looks a little better for me, but it’s a bit slow and laggy.

I’ve tried to stay away from hosting email servers myself. It’s really hard. But I’ve thought about a project which uses something like mailgun or SES, but then I create a ui and restful server over the top of it. But, priorities….

screenshot of sogo
Download

screenshot of sogo

⤋ Read More
In-reply-to » Oh farrrrk me! 🤦‍♂️ React Apps, NodeJS c'mon! 🤦‍♂️ How does anyone do this shit?! 🤯

The problem isn’t with NodeJS or NPM, it’s developers that are so willing to use horrible frameworks/libraries/tooling that is just simply not needed. NodeJS gives you so much out of the box, and NPM is simply a place to store your packages. With Deno, you won’t even need a package manager as it takes a step closer to go modules approach.

If you’re going to use React, TypeScript, NextJs, Webpack, Styled Components, Material UI, Jest, and the 10k dependencies that comes with it, then yeah, your dev environment is going to be slow, bloated, and incredibly frustrating to work with. Not to mention have security issues. I’ve literally just done a fresh create-react-app installation (latest version 5.0.1 as I write this), and boom, 6 high severity vulnerabilities.

Download

But it doesn’t have to be this way. Choose lightweight libraries that do one thing really well, and build your project from the ground up yourself.

⤋ Read More
In-reply-to » Oh farrrrk me! 🤦‍♂️ React Apps, NodeJS c'mon! 🤦‍♂️ How does anyone do this shit?! 🤯

The problem isn’t with NodeJS or NPM, it’s the developers that are so willing to use horrible frameworks/libraries/tooling that is just simply not needed. NodeJS gives you so much out of the box, and NPM is simply a place to store your packages. With Deno, you won’t even need a package manager as it takes a step closer to go modules approach.

If you’re going to use React, TypeScript, NextJs, Webpack, Styled Components, Material UI, Jest, and the 10k dependencies that comes with it, then yeah, your dev environment is going to be slow, bloated, and incredibly frustrating to work with. Not to mention have security issues. I’ve literally just done a fresh create-react-app installation (latest version 5.0.1 as I write this), and boom, 6 high severity vulnerabilities.

Download

But it doesn’t have to be this way. Choose lightweight libraries that do one thing really well, and build your project from the ground up yourself.

⤋ Read More
In-reply-to » I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is: - lightweight - clustered - sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it). - easy to join nodes: as in kv-server --join somehost:1111

Did a quick benchmark:
https://git.mills.io/prologic/bitraft/issues/58

Seems the summary benchmark of a 5node cluster on my laptop is:

GET: 1165.64 requests per second
SET: 1061.80 requests per second

⤋ Read More
In-reply-to » I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is: - lightweight - clustered - sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it). - easy to join nodes: as in kv-server --join somehost:1111

But in Bitraft every node contains every key + value, right? I probably wasn’t clear above, but in my idea REPLICA_COUNT would be 3 but the NODE_COUNT may be 10. So a put would go to 3 of 10 of the nodes.

⤋ Read More
In-reply-to » I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is: - lightweight - clustered - sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it). - easy to join nodes: as in kv-server --join somehost:1111

@prologic@twtxt.net I’m happy to do it. Might try now actually. It was just incase you knew. I’ll post in the README if I get it working. I’m hoping redis-benchmark will work since it’s got the same api as redis.

I wonder if sharding could be implemented by:

Presumptions:

  • redis can broadcast to all nodes in the cluster
  • REPLICA_COUNT is 3

PUT workflow:

  • a PUT get’s forwarded to REPLICA_COUNT random nodes in the cluster

GET workflow:

  • a broadcast is made to the cluster saying “I NEED A VALUE FOR KEY ‘TEST’”
  • all nodes that contain that value reply to the server
  • the first response get’s forwarded to the client
  • the other responses are discarded

I’m sure there would be some edges cases, like syncing.

  • What if 1 of the random node’s is full and therefore only REPLICA_COUNT-1 nodes received the document
  • This could me 2 nodes have the new value, but the 3rd has the old value

Maybe it could be solved by only committing once REPLICA_COUNT nodes successfully receive the message.

⤋ Read More
In-reply-to » I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is: - lightweight - clustered - sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it). - easy to join nodes: as in kv-server --join somehost:1111

@prologic@twtxt.net ever done any stress testing on bitraft? In a cluster, do you know that the throughput would be? Like, PUT’s per second and GET’s per second?

⤋ Read More
In-reply-to » I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is: - lightweight - clustered - sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it). - easy to join nodes: as in kv-server --join somehost:1111

Thanks guys. Bitraft is awesome @prologic@twtxt.net but yeah, not sharded :( I did try etcd before @abucci@anthony.buc.ci but I did find it tricker to setup than Bitraft. But again, it’s not sharded :(

⤋ Read More

I love simple, lightweight, small, minimal tools that just do the bare minimum. Based on that, does anyone have any good recommendations for a key value store that is:

  • lightweight
  • clustered
  • sharded (so if I have 5 instances and 100 keys, each node will roughly have 20 keys on it).
  • easy to join nodes: as in kv-server --join somehost:1111

For reference, I think Consul is too heavy (and not sharded I believe).

It would be great to have a small go executable, that I can run on 10 servers, all connected up, that exposes a redis like api. Simple GET, PUT and STREAM would be great.

@prologic@twtxt.net anyone else here I can ping?

⤋ Read More
In-reply-to » I'm looking into building a standalone app that can connect to any twtxt pod.

I think maybe an account swither in the nav would be a good balance to start with. If it turns out many people use multiple pods, we could improve the UI to make switching easier.

⤋ Read More
In-reply-to » I'm looking into building a standalone app that can connect to any twtxt pod.

@prologic@twtxt.net Yeah, this is what I’m thinking. How about, since the app would technically be able to connect to any pod, it could store a list of pods you’re a member of. For redundancy, for example.

So you would add an account (minimum of one), then you could also add additional. Then if you can’t connect to the first pod, you can connect to the second?

Still pointless? I mean. It’s easier to just have 1 account that’s stored and connected to every time. But I’m just wondering if anyone here does have multiple accounts.

⤋ Read More

I’m looking into building a standalone app that can connect to any twtxt pod.

I’m considering a slack like approach, where down the left hand side you can have multiple pod instances.

Do people have an account on multiple pods? Or is there not really any point since you can feed into any pod from any other pod?

⤋ Read More

Are there many JavaScript developers on here? I’ve built a super basic testing library, because pretty much every library out there does a bunch of magic like auto running the suite, auto loading files, hooks (beforeEach/beforeAll/etc) and all the nesting (describe/it).

I don’t think it’s needed and have pretty much exclusively been doing “no mocking”, “no hooks”, and it’s worked well for me.

https://github.com/markwylde/just-tap

⤋ Read More