frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Subth.ink – write something and see how many others wrote the same

https://subth.ink/
19•sonnig•2h ago
Hey HN, this is a small Haskell learning project that I wanted to share. It's just a website where you can see how many people write the exact same text as you (thought it was a fun idea).

It's built using Scotty, SQLite, Redis and Caddy. Currently it's running in a small DigitalOcean droplet (1 Gb RAM).

Using Haskell for web development (specifically with Scotty) was slightly easier than I thought, but still a relatively hard task compared to other languages. One of my main friction points was Haskell's multiple string-like types: String, Text (& lazy), ByteString (& lazy), and each library choosing to consume a different one amongst these. There is also a soft requirement to learn monad transformers (e.g. to understand what liftIO is doing) which made the initial development more difficult.

Comments

Apreche•49m ago
This would be more interesting if it was generalized. Using a hash, even one character difference will result in a miss.

If I could have it analyze my blog and then find people who have similar ideas that would be incredibly useful.

nathan_compton•46m ago
Natural to use LM embeddings for this.
stogot•42m ago
That is a problem Also a long paragraph would likely never be hashed the same because of a comma or capital letter and so the builder of this would need to cap the length of the thought and make all thoughts lower case without punctuation
sonnig•20m ago
i agree removing punctuation wouldve been a good idea alas it may be a bit too late since that would modify the hash of previous inputs in the future hmm but i will think about it
sonnig•30m ago
True! That would be a more powerful approach. Here I kept it quite basic since I was not very familiar with the tooling. I do apply lowercasing of text + some whitespace stripping in order to increase the number of collisions a bit.

Edit: any other "quick hacks" to increase the number of collisions are welcome :)

Imustaskforhelp•12m ago
To be really honest, they can take a look at bao. (I used it for an eerily similar project like this one though its great that this is receiving traction! I Do feel like scuttlebutt protocol might be good implementation for most use cases as well)

Bao allows us to have a common hash for the first n contents of the term and then they can still have common hash so you can just loop it over each continuous word to see how much commonly (long?) their hash is and the length becomes the amount similar

Some issue might come where if the word changes in the start and the rest is similar but I feel like bao could/does support that as well. My information on bao is pretty rusty (get the pun? It's written in rust) but I am sure that this idea is technically possible & I hope someone experienced in the field could tell more about it

https://github.com/oconnor663/bao, Oconnor's bao's video or documentaries on youtube are so good, worth a watch & worth a star (though they do mention that its a little less formally cryptographically solved iirc but its still pretty robust imo)

lumirth•41m ago
I said "I love my wife". Apparently, I was the first. Then I said "penis". I was the fifth.

Neat!

away0g•26m ago
i said penis
sonnig•25m ago
Me too, and other 16 users
nullchan•39m ago
"helloworld"

Your thought's hash is: 06ad246627b5f973559a1dbcf2a6b96791d9b15ed2d8cb45c344f98b14d10f76 Including you, 1 person had that thought already! First time was less than a minute ago, last time was less than a minute ago.

haha, cool.

Imustaskforhelp•18m ago
Hey, looks like I have written something like this too! But mine actually worked via a cryptocurrency for zero fees (that's the main part!)

You might be wondering how and I am always more than happy to tell more about it.

I want to tell something which I haven't shared anywhere else till now about why I made nanotimestamps.

I made it because I was thinking of walloftext.com, I wanted a way where people can create any /<something> and then since WOT doesn't contain timestamp capabilities that made me wonder if timestamps can be embedded in just text itself.

I wanted to create a link shortener service on top of walloftext.com itself which could be written anonymously on. I wanted to create a simple link shortener anonymously as I saw dub.sh made it require a sign up for one of my projects or similar (I was thinking of anonymous ways to create content and post them, like after anonfiles had shut down basically I wanted to create a more resilient form, I only used anonfiles rarely when sending files and I really loved its unlimited egress/ingress and It made me feel like a lot of the services we use are kind of centralized so is there a more decentralized way)

I always thought about cryptocurrency being able to do this and looked out for an idea to find out that there was this one called bitcointimestamps

Being the frugal and being on a good chunk of curiosity imparted partially by hackernews spirit, I decided to look for alternative ideas and found that in nano you can send transactions for 0 gas fees.

Now the question becomes on how to embed hash or just simply data in nano chain and that data would have a timestamp effectively timestamping that a particular person created something text (the WOT accomplished)

I thought of lots of ideas but in the end I found some nano vanity generator and ended up splitting a text into bunch of small texts (4-5 chars) and then create nano-vanity with that and then loop the transaction around it for completely zero fees (except some work function which nano requires but I do feel like it was a worthwhile tradeoff for an idea like this)

The idea is to create completely permanent and decentralized permanent storage for essentially free other than some compute of work function yourself.

I vibe coded a basic idea hooking all of this idea into something to create a prototype (without using any agents, I just copy paste the code and still do just from browsers, they are pretty good honestly and completely free)

I was being stuck on the primitive part on creating the establishment of the transaction loop so I contacted some person on nano's discord and they gave me domain and some help in it too!

I do believe that my idea has potential and I had built this almost an year ago. The idea has been in the back burner for so long & at this point, what I had built was a good prototype which I am proud of. But I don't know how to add effective value of it or (should I?) because I am the type of person who doesn't know how to monetize such a project or if its even possible and I don't want to take this idea which has great potential and make it muddle up with VC money or similar.

I want the community to build ideas on top of it and I can integrate more of my thinking or help other companies if they are interested in thinking something like this comes to my mind which seems to be the most sustainable way to manage things (I don't want to ruin a project with VC money and be like rest of crypto industry, sorry I didn't want to create a crypto project I just ended up building one after my WOT idea)

Honestly my initial idea had nothing to do with this. I just went one stack down the layer down the layer, my initial idea was pretty simple but I ended up trying the most complex solution just because I was curious and that did end up to something which then fascinated me for atleast a month just on its own.

I really like your post and I think you might like nanotimestamps as well

https://github.com/SerJaimeLannister/nanotimestamp/blob/main...

There is both video and gif format available. (I am gonna create a wiki right now to upload a video) Remind me if I forget to do so because honestly I am just happy that I am able to make this. I don't want more except the community to hack things with this idea.

Sorry if it sounds like a promotion but I earn nothing except some pride and smile while I am writing this!! Knowing that because I remember when I was thinking about this, I couldn't even comprehend telling it to my school friends or even one of my more coding focused group friend. I was alone lol with just internet. I hate AI but prototyping it was a good use of it imo! But it also gave me imposter syndrome as if it was AI which developed it and not me and that's partially true so I just take credit of an idea perhaps not the implementation so much.

pvdebbe•14m ago
I love this. Shouting into the void with the distinct feel, hope that if the idea was popular enough, it'd be brute forced back to existing.

I noticed that the input is not being treated any way before hashing. I'd remove all non-letter characters, and then lowercase everything before hashing to help with some unnecessary misses.

susam•13m ago
Some of the top items:

  hello world
  4ef69019c65909ffbb470597e3c5afe05ea8a866a0d3b9f950f0bcf057924b52

  hello
  4358f43b660389eecd435dc2a5f5cee29786245cd2cff27bd4de0b3e8fd53b79

  4ef69019c65909ffbb470597e3c5afe05ea8a866a0d3b9f950f0bcf057924b52
  406cc6dbc566bf6c672a2167868341e9853f7fbbd2a21eb1caa4d08006abae41
  (Thanks @Y_Y)

  a
  beef7c4d3141c30ab4f6ebf1f724936c50f609ee1915951d802046ba1d9fa23d
Y_Y•10m ago
Currently number three is:

  4ef69019c65909ffbb470597e3c5afe05ea8a866a0d3b9f950f0bcf057924b52
with hash:

  406cc6dbc566bf6c672a2167868341e9853f7fbbd2a21eb1caa4d08006abae41
i.e. the hash of "hello world"