HNHacker News
TopNewBestAskShowJobs

h0p3

181 karma · joined June 28, 2016

submissionscomments
h0p3··on Xonsh: Python-powered, cross-platform, Unix-gazing shell
Yeah, that would be dope. You're also right that nothing is ready for writing Nix well, though ChatGPT-4 can do some work in basic configuration (3.5 really can't). It may also be worth considering how a surprising amount of NixOS content and infrastructure is really bash-driven. Perhaps nixlang is a metalanguage computing over quite a bit of bash object-language tooling. I think ChatGPT does have something to collaboratively contribute to many aspects of using nix, but I do think most of the assistance is limitingly generic. I still think the pairing is valuable even if ChatGPT doesn't work on any of the nix portions of it, though I'm not convinced it couldn't be prompted not to construct or at least assist in constructing with supervision many worthy Xonsh-related nix environments.
h0p3··on Xonsh: Python-powered, cross-platform, Unix-gazing shell
I hate to say it, but I've completely stopped using Xonsh (which I adore) since ChatGPT-4 (whom I also adore) came out. Xonsh lowered the friction and cognitive load to get some jobs done in an elegant or at least sufficiently rapid way for me, and I am grateful. I can still see LLMs, many of which are benefactors of significant RLHF of the two parent languages, making great use of such a tool - especially paired with a nix-style approach to handling dependencies and environments.
h0p3··on Not all TLDs are Created Equal
Unironically, I agree to the first claim, and I think i2p merits even higher consideration.

Worthy attempts to resolve Zooko's triangle are going to require us to have trust in some stack, and it's hard to decentralize that appropriately. Namecoin may be one of the few examples of a b-word worth considering here. Ultimately, however, if the workers are to own the means of productions, there is no substitute for using and owning keys (and if that means people have to rely upon those they know and trust to assist them in this, then so be it). I don't predict that convention will arise in general, but I do prescribe it.

h0p3··on First-gen social media users have nowhere to go
In my experience, Tox qua qTox and Toxic has been the most stable of the options you've listed. Retroshare is another fine (though perhaps fiddly) example, and it has the longest standing communities of any of these (I see about ~2.3k people right now), with plenty of non-voice/vidya features; it also works with i2p, not just tor.
h0p3··on What Makes for 'Good' Mathematics?
I was sad to see how little discussion there was of goodness itself. Seems like a key problem to address for any instrument.
h0p3··on Nightshade: An offensive tool for artists against AI art generators
Sir /u/b3nsn0w is courteous, `/nod`.
h0p3··on Free techical magazine about programming, hacking, security, electronics, retro
This is excellent. Thank you.
h0p3··on Ask HN: How do you review your Zettelkasten notes?
I tend to [[review]] mine over the course of the week after their initial creation. After that, sometimes specific [[search]]es, [[conversations]] or [[link]] [[rabbithole]]s will bring them to my attention again. Finally, when I can afford it, my [[Yearly Cross-section]] is an opportunity to drill deep across the accumulated layers.
h0p3··on The Concept of the Ruliad (2021)
This was a curious (and I'd argue unobvious) response to my request. I think it's fair to say I'm a free speech advocate, and I do want to hear more. I appreciate that you are tired, and I'm grateful that you've offered me more of your perspective. Thank you. If you change your mind, I'll be listening. `/salute`.
h0p3··on The Concept of the Ruliad (2021)
Thank you, nomad. Do you have anything else to say about The Good?
h0p3··on The Web Is for User Agency
I wish you the best of luck, `/salute`.
h0p3··on The cult of the Obsidian note-taking app
- [Tiddlywiki](https://tiddlywiki.com/)
h0p3··on Anti-Piracy Group Takes AI Training Dataset 'Books3′ Offline
Okay, comrade. `/salute`. It is discoverable over filesharing networks designed for the job.
h0p3··on Show HN: My Single-File Python Script I Used to Replace Splunk in My Startup
Yes, sir. I appreciate that. I think you made that very clear in the book as well. I'll agree that having OP's tooling back then would likely have been quite useful to you and others. I'm often terrible with words. What I meant to say was: thank you for writing the book. Your story has been an important part of my family's lives for three generations (your work is also mentioned 3 times in my ℍ𝕪𝕡𝕖𝕣𝔱𝔢𝔵𝔱, and, prominently in my record of reaching out to others out of the blue [I've a habit of knocking on doors with low success rates]). Never thought I'd have the chance to say that to you. =D. `/salute`. Thank you, sir.
h0p3··on Signal: The Pqxdh Key Agreement Protocol
Do you have any other criticisms of the design of Signal?
h0p3··on Show HN: My Single-File Python Script I Used to Replace Splunk in My Startup
I'm kinda glad you didn't; it might have made the book I read as a kid (and again as an adult, and again with my offspring) less interesting somehow.
h0p3··on Examples of TiddlyWiki being used in the wild
Thank you. This is super clean.
h0p3··on Quiet – Encrypted P2P team chat with no servers, just Tor
Thank you. Habibi will begin her schoolwork soon. When it's time to grind together at 2pm EST, she'll be thinking about this with me as well.
h0p3··on Examples of TiddlyWiki being used in the wild
No doubt, I can empathize with your position (there are many risks). Some of my current interlocutors who write partially in public, [[sideria]] and [[Feel Good Lost]], have also explained a similar view. Keeping two sets of books, exporting what you've tagged "Public", can work. [[Anonymizing]] helps considerably, and keeping a low-profile is doable (especially because TW itself is never effectively indexed on any major search engine from what I can see, and I don't mind that one bit). Even password access may assist you in some cases (there are several ways to do this with TW, imho). Do you think others have more to gain from your keeping it even semi-public? How do you square that with what you have to gain? I think there's something to be said for having access even to the half-baked thoughts and processes of [[others]].
h0p3··on Quiet – Encrypted P2P team chat with no servers, just Tor
> Right now user keys are stored on their machines and nowhere else, but you have to just copy a directory to move them or back them up.

I hope you'll consider adding more control over the keys within the application itself. Ideally, I should be able to generate my own private key from scratch, paste it in, and recover at least a bare identity (this can be bootstrapped further). I should be able to hand someone just a public key for any of the functions we may need; these keys should be easy to copy and paste into and out of the application. Key control pedagogy is not fun, but it's ultimately required for us to own the means of production; I think you've a difficult usability fence to straddle here, and perhaps a ladder to construct.

> Soon we'll let people recover accounts from their linked devices (e.g. from your computer if your phone is lost) and we may have some social recovery solution within communities for DMs, though that might not be feasible.

What feasibility concerns do you have?

> Phones will need to be given some more limited view of the network for large communities to remain performant, and we will need to add retention limits for messages and images otherwise drive space will be the bottleneck, but there is no reason why we cannot handle very large communities.

Lawd, I'm a preachy sumbitch here. I have yet to find a tool that I think does this really well. It's probably going to be crucial to have not only sane default but strong controls available to users. I am pretty worried you won't escape some elements of federation or at least asking users to rely upon friends or additional devices. Can kids across the planet safely pirate arbitrary files on their phones together? That's the bar, homie. You know whom we serve, and I think you're doing it. I [[hope]] we don't fail.

Do not make the mistake that [[Aether]] did on retention, please. Users must have the opportunity to pin/seed with complete persistence. Any tool (e.g. [[Session|2021.09.25 - Computer Musings: Session Fucked]]) that has forced me to lose my identity or my messages is not a tool I'm going to recommend to anyone again. I understand you may wish to minimize the prices the average person must pay to manage their data, but at some level, there is so substitute for having the user be responsible for it. Joining a room without having to traverse and download an entire graph of content will be important.

Low-end phone performance (not the mobile devices you and I can afford) is such a hard and important problem that I wouldn't be surprised to find that what you're making at the moment is ultimately a prototype. I obviously [[hope]] I'm wildly wrong about that.

> We would love to pursue this if our users ask for it. So far there isn't a strong signal that users need it.

Then please ignore my desire. Your task is already absurdly difficult as it is.

> It's like, docs are an organization's mouth and messaging is an organization's brain. You care more about the privacy of your brain. But technically this would be a fun challenge and I'm sure we could build something great.

It's so interestingly phrased, I feel uniquely qualified to speak on this matter. I probably hold a contrarian position. This is obviously an imperfect way to do it, but I'll leave the tool up for a while; you'll find the link in this room (channel is your handle): ukkmcdhhymxki3plly2w7mkweafijihwhldwnmt6yzwan6rmtuin7zid.

> But technically this would be a fun challenge and I'm sure we could build something great. There are other CRDTs we could use.

Speaking of a narrow challenge, E2EE P2P Tiddlywiki isn't that far off. You might consider hitting [[Sir Jeremy Ruston|2023.08.08 - TW-Community: Hello]] up (TW5-Bob is also dope; and Jed would understand what you're doing well, imho).

> This would probably be straightforward. What's your use case?

I provide access to my constantly updating site (almost exclusively consisting of a single ~60MB html file growing at ~8MB of pure text a year on average) over multiple networks, and few are designed for such a thing (you're already got a foundation for something better than Zeronet and Beaker [both venerable projects, obviously]). I [[share]] mutable directories with many folk, some of whom I cannot [[trust]] (I often have to use Whonix). I need a turnkey multi-platform open-source replacement to Resilio Sync that people are comfortable using. I understand you will be limited by IPFS here as well; I can share 6TB of an evolving curated library using just a couple gigs of RAM on Resilio Sync (with selective syncing on mobile), and I can speedily and efficiently share my `/home/h0p3` (millions of files) across my devices with it as well. I hope to be able to recover identities, contents and all, seeded on these networks. Writing a Discord-killer is already a [[monster]] of a task (bless you), but mutable torrents with a solid chat-based community is where you can walk on water where no one else has.

h0p3··on Quiet – Encrypted P2P team chat with no servers, just Tor
> Know anyone?

My family tests this type of software often enough. I know my daughter, [[j3d1h]], desperately hopes for a secure replacement to Discord for her [[friend]] groups. She's sitting on the couch with me right now writing up what she's missing most in your software. Here is what she said:

```

  just my opinion, man

  -how are profiles going to work? do you have an individual username for each community, or will your profile eventually be the same across all the communities you're in?
    -profiles you can customize to servers *can be* useful, so long as you can still trace them back to the user's actual profile. otherwise that might enable masquerading as other users
    -users able to mark as invisible (appearing offline without actually being so)? good to have in many situations imo, obscuring information from people who may be a danger to you
  -how is name collision handled? in a large community, you're bound to have a few people who want the same name (and i get it, your screen name can be very personal)
    -discord's old solution, a username and 4 digit id (e.g. felix#1234), seemed convenient and effective to me, but there must be tons of solutions; i like having a way to easily distinguish two users with the same screen name
  -personally blocking users you are uncomfortable interacting with, kicking users from communities vs. banning repeat offenders in a more permanent way, temporarily muting a spamming user?
    -kicking vs. banning can be an important distinction; i'd rather kick you if you're just inactive all the time, you're free to rejoin whenever you like
      -i like keeping it very, very clear what does (or does not) happen when you block, kick, ban, etc; a user shouldn't have to "test" features like these
    -important to keep in mind that you rarely (or never) want a user to completely disappear; i always want to leave the option to get  back in touch, unban, unmute, etc.
    -a friends system is useful for this; maybe i don't want anyone i haven't marked as a friend to DM me
  -selectively muting different portions of the app (e.g. i *only* want to be notified of a DM or @ mention, or *only* notifications from *this* community, or no notifications from this channel except @ mentions)
    -what if i want to be notified whenever this phrase pops up in a community? might be a question of how easily you can build your own scripts *on top of* Quiet (which i would quite like to do)
  -are voice and/or video planned, both in communities as well as dms?
    -muting + deafening + turning off camera, nothing in a voice/video chat should be mandatory (owners shouldn't be able to *un*mute someone, but owners muting others can be useful)
      -maybe i want to mute that user, but allow everyone else to hear them? turn this one up and that one down on my end?
    -audio controls that make sense. if there's a layer of noise cancellation, leave the option to turn it off in case it messes with your audio, etc.
      -taking microphone input as it is works just fine, though i can see some users disliking that (mostly people who don't know how/can't modify their settings *outside* of Quiet)
  -i've seen many communities in other applications where multiple "owners" existed, as it can make a more safe/welcoming community
    -if one owner in any way becomes untrustworthy, having someone with equal permissions in place to get rid of them and undo damage can help; whether they can remove each other or not seems like an important decision
  -question about the threat model; members are not capable of sending messages that appear to be from another member, which implies that owners *are* capable of this? that could become a serious issue if true
  -user discovery outside of communities, preferably just typing in a username they send you elsewhere?
  -will it be possible to delete an entire community? can an owner do this in situations where members don't agree?
  -searching channels (and more advanced searches; sent by this user, with an image attached, in this channel; hopefully accessible to users even if they can't do regex on the fly, lol)
    -i've found it frustrating not to be able to search every community i'm in at once for something i said; is that feasible?
  -any distinction between a community and a DM with 3+ users in it?
    -i don't personally see the point, but some apps have this

  nitpicky, visual polish, further off details
  -dark mode, and in my opinion, ideally a way to customize everything more thoroughly
    -if thorough customization, maybe a way to save/export those settings to share?
  -maybe the ability to see separate messages sent in a row - is that a message in 3 lines, or 3 messages? just hovering and seeing one line highlighted (and the timestamp for just that line)? 
  -embedding video and audio files in a convenient manner?
  -replying to messages, pinning them to channels (so they can be easily found again) seem very useful
  -channel organization and categories; i don't always want the art channels open, i want #announcements at the top, etc.
  -messages marked as read/unread can be useful, something to carefully think about
    -sometimes i like knowing that someone has read my message; sometimes i like the safety that comes with people *not* being able to know. if i had to pick, it'd be the latter, users can always prove they have read something by responding to it
    -client side unread; i'd like to pick up from the last message i read in this channel
      -having channels visually marked that there are unread messages is nice
  -keyboard navigation beyond pressing tab is super useful; a screen you can reach to describe these shortcuts is equally so
```
h0p3··on Quiet – Encrypted P2P team chat with no servers, just Tor
> we have so many bigger fish to fry!

I can see that. Your roadmap makes sense to me. My [[wife|k0sh3k]] (without having seen your roadmap) picked out many of the same points as reasons she must wait to use it for her library staff. I appreciate how you must triage with the resources you have. Most of what I have to say isn't going to be as important to the non-poweruserbase you are trying to capture (and rightfully so!), so please take what I have to say with a grain of salt. You obviously know what you are doing. Reading through your account, I think you already know what I have to say here.

> Would desktop-only i2p support be useful to you?

Yes, and not just because I think it's important to contribute back to the network as a regular user. It would be especially nice with command-line tooling, and you can pickup UDP support. I've encountered plenty of failures on Tor (and you have too), and there are many I've encountered who I believe are rational in their desire not to be so reliant upon that network. I'd also be happy to use i2p on a mobile device just in case I had somewhat convenient control over when that occurred. If you provide logical accounts (where my decentralized identity can be wielded by multiple cooperating devices), then i2p becomes even better. Retroshare's use of both Tor and i2p have demonstrated the value of diversity here to my eyes as well. I'll add that something like multiplexing over multiple Tor or i2p tunnels could significantly improve throughput performance (a difficult place where you might be able deliver in some cases where no one has).

However, I think your focus on mobile is more important (and I say that with a deep-seated grudge against phones). You serve the poorest on the planet by targeting mobile first. That isn't to say that you don't have any use for desktop users to assist on this network, but I can see why i2p, among many of my suggestions, should take a backseat. `/nod`.

> It would be awesome to have a p2p github alternative that could ship builds over BitTorrent or IPFS

I understand you've been around the block, so please ignore my gibberish. To my eyes, you're also building a serious competitor to [[P2P Matrix|2021.11.17 - HN Log: Arathorn & P2P Matrix]], which is still under development. I'll mention that Radicle may be worth your consideration. The functionality of [[DarkMX]] is worth your time as well (it is closed source, but its creator is one of the few with the right to ask us to trust him [even if I stand in disagreement]). I know some, like [[Ian Clarke]], will claim it is better not to "focus too much on competitors, better to focus on the needs of users," however, given the specialization of this tool, I think there's something to be said for having tasted the alternatives. [[Aether]] may be a direction you could eventually go, but I understand that isn't your immediate target; I don't know if protocol design decisions now might affect the future of such a thing.

> Beyond participating in Tor, Quiet does not allow you to help any network you're not a member of

`/nod`. I wonder if it is feasible for Quiet to have something like the Encrypted Key option in Resilio Sync, enabling one to seed in swarms without knowing the contents. There are some cases where it's useful, though there are tradeoffs.

There may come a time where you've decentralized to the point where it hurts too much, and you'll have to centralize until it works. I wonder if there are cases in which randos must hold at least metadata for others or act as proxies (I understand that Tor solves many problems for you). [[Tox|Toxcore]] is an exemplary tool in part of this space you're solving, and even they haven't solved some of these problems. Seamless multidevice and offline messaging are dealbreakers for many people.

> If you have access to a large number of machines, rigorous performance testing with hundreds of nodes could possibly be helpful?... manual and automated testing on many diverse Android devices; that would be helpful!

I'll be thinking about that then. NixOS with solid orchestration on a beefy machine (I'm not sure if zswap would assist here, but memory seems a serious bottleneck) may be able to push hard. There's probably no way around using a lot of machines unless a much thinner client were feasible. The nice part is that donations might allow you to control the machines remotely while dogfooding.

h0p3··on Quiet – Encrypted P2P team chat with no servers, just Tor
Thank you for this gift to humanity.

* I'm glad to see you are thoughtful about many protocols here. Will you be adding i2pd support?

* Could you make explicit for us what parts of this tool are the least decentralized?

* Do you need computational donations to the network? How can I assist?

* Do you intend to provide users complete control over private/public keys within the interface?

* Will you be providing significant command-line access to the tooling?

* How far have you attempted to scale this up?

* Will you be working toward collaborative text environments like Etherpad? Latency seems too high for that, right?

* Do you intend to enable the synchronization of larger sets of files, something like mutable torrents?

h0p3··on Examples of TiddlyWiki being used in the wild
It can be surprisingly difficult to find Tiddlywikis in the wild. I'm hoping more people will come out of the woodwork to reveal theirs.
h0p3··on Show HN: Pgs.sh – A zero-dependency static site hosting service for hackers
Some folks cannot afford hosting, including the time to set it up. Until recently*, it was pretty difficult to find providers who would take monero, as well. User-anonymizing, free hosting of static content has some moral value to it.
h0p3··on USENET rises again?
Toxic (of Toxcore) conferences seem like a great start, in some cases.
h0p3··on Every phone should be able to run personal websites
That seems exceptionally reasonable, nomad. That would be pretty easy to anonymize as well. It's a pleasure to meet you.

I'll add that Resilio Sync + singlefile Tiddlywiki (I think most people would be surprised what TW can accomplish) from a phone is quite workable (a filewatcher with ratox or may toxic, or IPFS, would do as well, but they aren't as performant or turnkey). You can automatically push with custom conditions (or manually do so) to those listening (the burden has to be shifted away from the phone to some degree). If you have persistent seeders in the mutable torrent swarm, it's even better. That would serve a very large number of people on the planet pretty well, imho. This is harder to anonymize on a phone, but also doable.

It's reasonable to do both, too.

Add a proper USB to boot with, and it would sometimes be easy enough to walk up to a random machine when you need more than a phone to work on your Tiddlywiki or other infrastructure. I admire trying to find ways to make sure almost anyone can participate in The Great Conversation with minimal material; it's an important problem.

h0p3··on Russia Starts Blocking VPN Protocols
> If you are using a JS based browser, you don't deserve security in first place.

In some cases, that is true, but not all, and I suggest not even most. In many cases, I think people are just as culpable for being unwilling to use Whonix.

> If I had time I could set up a tutorial not to use SSH as a proxy, but as a client to a remote VPS/tilde to use the offpunk client there to browse web/gemini and gopher sites anonymously.

https://github.com/browsh-org/browsh can be pretty decent, too.

Aside, it's a shame that it's not common practice to provide resource gleanings in the form of such access to random others from one's VPS. An easily reproduced NixOS environment in VM with locked down containers proxying through a local tor instance(s) would scale up alright and significantly limit risks for the donor. I find very few people take up the offer to even use another's VPS though.

h0p3··on Polynom – Self-Hostable Quantum Resistant Collaboration Suite
Brought to us by that Demonsaw feller, Eijah.
h0p3··on TiddlyPWA: putting TiddlyWiki on modern web app steroids
Noice. Good job. I'm glad to see people still developing for TW. argon2ian is a neat surprise for me as well, assuming I understand it correctly. There's something to be said for keeping tools slim when you want to pack so much into a TW.
← PreviousPage 2 of 9Next →