frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Crypto firm accidentally sends $40B in Bitcoin to users

https://finance.yahoo.com/news/crypto-firm-accidentally-sends-40-055054321.html
1•CommonGuy•34s ago•0 comments

Magnetic fields can change carbon diffusion in steel

https://www.sciencedaily.com/releases/2026/01/260125083427.htm
1•fanf2•1m ago•0 comments

Fantasy football that celebrates great games

https://www.silvestar.codes/articles/ultigamemate/
1•blenderob•1m ago•0 comments

Show HN: Animalese

https://animalese.barcoloudly.com/
1•noreplica•1m ago•0 comments

StrongDM's AI team build serious software without even looking at the code

https://simonwillison.net/2026/Feb/7/software-factory/
1•simonw•2m ago•0 comments

John Haugeland on the failure of micro-worlds

https://blog.plover.com/tech/gpt/micro-worlds.html
1•blenderob•2m ago•0 comments

Velocity

https://velocity.quest
1•kevinelliott•3m ago•1 comments

Corning Invented a New Fiber-Optic Cable for AI and Landed a $6B Meta Deal [video]

https://www.youtube.com/watch?v=Y3KLbc5DlRs
1•ksec•4m ago•0 comments

Show HN: XAPIs.dev – Twitter API Alternative at 90% Lower Cost

https://xapis.dev
1•nmfccodes•5m ago•0 comments

Near-Instantly Aborting the Worst Pain Imaginable with Psychedelics

https://psychotechnology.substack.com/p/near-instantly-aborting-the-worst
1•eatitraw•11m ago•0 comments

Show HN: Nginx-defender – realtime abuse blocking for Nginx

https://github.com/Anipaleja/nginx-defender
2•anipaleja•11m ago•0 comments

The Super Sharp Blade

https://netzhansa.com/the-super-sharp-blade/
1•robin_reala•13m ago•0 comments

Smart Homes Are Terrible

https://www.theatlantic.com/ideas/2026/02/smart-homes-technology/685867/
1•tusslewake•14m ago•0 comments

What I haven't figured out

https://macwright.com/2026/01/29/what-i-havent-figured-out
1•stevekrouse•15m ago•0 comments

KPMG pressed its auditor to pass on AI cost savings

https://www.irishtimes.com/business/2026/02/06/kpmg-pressed-its-auditor-to-pass-on-ai-cost-savings/
1•cainxinth•15m ago•0 comments

Open-source Claude skill that optimizes Hinge profiles. Pretty well.

https://twitter.com/b1rdmania/status/2020155122181869666
2•birdmania•15m ago•1 comments

First Proof

https://arxiv.org/abs/2602.05192
2•samasblack•17m ago•1 comments

I squeezed a BERT sentiment analyzer into 1GB RAM on a $5 VPS

https://mohammedeabdelaziz.github.io/articles/trendscope-market-scanner
1•mohammede•18m ago•0 comments

Kagi Translate

https://translate.kagi.com
2•microflash•19m ago•0 comments

Building Interactive C/C++ workflows in Jupyter through Clang-REPL [video]

https://fosdem.org/2026/schedule/event/QX3RPH-building_interactive_cc_workflows_in_jupyter_throug...
1•stabbles•20m ago•0 comments

Tactical tornado is the new default

https://olano.dev/blog/tactical-tornado/
2•facundo_olano•22m ago•0 comments

Full-Circle Test-Driven Firmware Development with OpenClaw

https://blog.adafruit.com/2026/02/07/full-circle-test-driven-firmware-development-with-openclaw/
1•ptorrone•22m ago•0 comments

Automating Myself Out of My Job – Part 2

https://blog.dsa.club/automation-series/automating-myself-out-of-my-job-part-2/
1•funnyfoobar•22m ago•1 comments

Dependency Resolution Methods

https://nesbitt.io/2026/02/06/dependency-resolution-methods.html
1•zdw•23m ago•0 comments

Crypto firm apologises for sending Bitcoin users $40B by mistake

https://www.msn.com/en-ie/money/other/crypto-firm-apologises-for-sending-bitcoin-users-40-billion...
1•Someone•24m ago•0 comments

Show HN: iPlotCSV: CSV Data, Visualized Beautifully for Free

https://www.iplotcsv.com/demo
2•maxmoq•25m ago•0 comments

There's no such thing as "tech" (Ten years later)

https://www.anildash.com/2026/02/06/no-such-thing-as-tech/
2•headalgorithm•25m ago•0 comments

List of unproven and disproven cancer treatments

https://en.wikipedia.org/wiki/List_of_unproven_and_disproven_cancer_treatments
1•brightbeige•26m ago•0 comments

Me/CFS: The blind spot in proactive medicine (Open Letter)

https://github.com/debugmeplease/debug-ME
1•debugmeplease•26m ago•1 comments

Ask HN: What are the word games do you play everyday?

1•gogo61•29m ago•1 comments
Open in hackernews

Show HN: Minimalist editor that lives in browser, stores everything in the URL

https://github.com/antonmedv/textarea
468•medv•1mo ago
I wanted to see how far I could go building a notes app using only what modern browsers already provide – no frameworks, no storage APIs, no build step.

What it does:

Single HTML file, no deps, 111 loc

Notes live in the URL hash (shareable links!)

Auto-compressed with CompressionStream

Plain-text editor (contenteditable)

History support

Page title from first # heading

Respects light/dark mode

No storage, cookies, or tracking

The entire app is the page source.

https://textarea.my/

Comments

nvahalik•1mo ago
Love your other tools, btw!
medv•1mo ago
Thanks!
deafpolygon•1mo ago
Can you save anything?
thomascgalvin•1mo ago
Not OP: sure, just bookmark it
tony_cannistra•1mo ago
kinda -- but then you have to re-bookmark it every time you update it...
medv•1mo ago
It also saves to localStorage
rorylawless•1mo ago
https://textarea.my/#i0wtBgA=
sltkr•1mo ago
No that should be: https://textarea.my/#c8yrLMnIzEsHAA==
RonanSoleste•1mo ago
More like: https://textarea.my/#c8yrLMnIzEu3BwA=
samcollins•1mo ago
Nice! I made a similar thing but the html for the text editor fits in a data uri, so it can be a bookmark or new tab page for taking quick notes

https://gist.github.com/smcllns/8b727361ce4cf55cbc017faaefbb...

qbane•1mo ago
Just started making my own recently with CodeMirror 6 during holidays. No saving function for now: https://qbane.github.io/cgm
wwarren•1mo ago
Amazing. The crime and punishment example crashed my iPhone’s Google Chrome when I tap the URL haha
mzelling•1mo ago
Love it!
maxloh•1mo ago
Per the spec [0], a URL can hold at least 8,000 characters.

> It is RECOMMENDED that all senders and recipients support, at a minimum, URIs with lengths of 8000 octets in protocol elements. Note that this implies some structures and on-wire representations (for example, the request line in HTTP/1.1) will necessarily be larger in some cases.

Mainstream browsers support at least 64,000 characters [1], and Chrome supports up to 2MB [2].

[0]: https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5

[1]: https://stackoverflow.com/a/417184/

[2]: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/s...

medv•1mo ago
Chrome limit is 2MB, Firefox is 1MB, WebKit is no limit.

Here is the Crime and Punishment by Fyodor Dostoevsky:

- https://medv.io/goto/crime-and-punishment-by-fyodor-dostoevs...

hallole•1mo ago
LOL Tapping the address bar crashed my Chrome on mobile.
lurking_swe•1mo ago
loaded OK for me on mobile safari.
kylecazar•1mo ago
Loaded fine for me too -- but like parent, tapping the address bar to share afterwards crashed it on Android here :)
nosrepa•1mo ago
My Firefox on mobile seemingly handled it fine.
maxloh•1mo ago
For what it's worth, there might be a 2GB limit on the iOS side.

https://github.com/swiftlang/swift-corelibs-foundation/blob/...

scotty79•1mo ago
Works fine on Win11 Edge
gchamonlive•1mo ago
Interesting, in Firefox mobile (actually fennec) if I tap the address bar, I get an empty text box.

EDIT: actually I can edit the URL, but it takes a while to load.

oneseven•1mo ago
hmmm makes me wonder if you could train llms on gzipped text. would save a lot of tokens that way.
spicyusername•1mo ago
Incredible.

My absolute favorite thing about modernity is how enabled we are to riff on a riff of a riff.

In 1346, if a blacksmith came up with something cool, its quite possible that it died with them.

Kye•1mo ago
One thing I've learned from checking up on assumptions I've had about history is that it's easy to underestimate people in past times. They were probably better at communicating this stuff than you think.
caminanteblanco•1mo ago
This unfortunately immediately crashed my android firefox nightly browser. Amusingly it loaded the page, but one click on the address bar sent me straight to the home screen
Departed7405•1mo ago
For me on IronFox it showed an empty URL bar but loaded after what felt like 5 seconds.
buddhistdude•1mo ago
I find it interesting that when you read this comment, the whole book is already on your computer. And it gets rendered when your press the link.

Edit: actually not true since you use a url shortener

idle_zealot•1mo ago
I can open the page with the book text on mobile Safari, but iOS seems to cut off content when trying to copy/share the page URL. I can't get it to survive a round-trip to Notes. Might be a good thing to note for mobile users that if they write too much attempting to save their link will corrupt it.
ron-ulitsky•1mo ago
First time I tried to open that link on my Pixel, it crashed Chrome, lol. Worked the second time though
dspillett•1mo ago
> Per the spec [0], a URL can hold at least 8,000 characters.

> It is RECOMMENDED that all senders and recipients support, at a minimum, URIs with lengths of 8000 octets in protocol elements.

It is always worth remembering that, unless you have already ensured that the content has been rendered into a URI-safe subset of ASCII, a character and an octet are not the same thing.

ghurtado•1mo ago
Very good point indeed. In the worst case scenario, you would only have 1/5th of that capacity
berkes•1mo ago
I guess the surveillance industry has enough incentives to make this ever larger, so they can fit more utm-trackers, campaign-ids, referal trackers and whatnot in URLs.

It's truly insane how large typical share-URLS for content on instagram, youtube or any other large platforms are. URLs that could've been example.com/t/some-large-enough-id?time=13337 are stuffed with hundreds of characters, just to gather more data on people using these links.

mrweasel•1mo ago
What could the reasoning behind allowing anything beyond 64.000 characters possibly been? Even 64k seems unnecessarily large.
marcuskaz•1mo ago
I have a similar one using localStorage https://github.com/mkaz/browser-pad
ctenb•1mo ago
I made something similar once, specifically targetted for guitar tablature https://tabviewer.app/ To make links shorter for sharing with others, I use a shortlink service. Pasting URLs of thousands of characters long can be problematic
planb•1mo ago
Wow funny I‘m just seeing this after posting my tab editor in another comment. I have the same use case as you :)

https://github.com/planbnet/guitartabs

xeonmc•1mo ago
Can you make it monospace by default, so that this can be used as a code snippet bin?
adamschwartz•1mo ago
Try https://a10z.co/note
medv•1mo ago
Sure! textarea.my support custom style attr: https://textarea.my/#Ky4tSlVUyCotLlEoLUhJLElVKC6pzElVSCwpKWJ...
throwaway150•1mo ago
How do you share after that? I can open devtools and change the attribute but the URL doesn't update after that.
medv•1mo ago
Update the text a bit to trigger save event.
koolala•1mo ago
This is a code editor with the same url idea:

https://flems.io/

edgars_xx•1mo ago
love it, funny enough, I had similar idea pop into my head some weeks ago, just to be able to store quick notes and favorite them in my browser for later
medv•1mo ago
In case you missed it: it is possible to style textarea via CSS and share it.

- https://textarea.my/#TYuxDcIwEEWpmeKUCiSIJQoKU0KFRBUWOGwnWDi...

growt•1mo ago
I recently build a small framework to create JavaScript apps that use this kind of URL sharing and therefore don’t require a backend: https://github.com/grothkopp/lost.js
ThrowawayTestr•1mo ago
https://textarea.my/#Cy4tsAcA
teach•1mo ago
https://textarea.my/#Cy4tsOfi8ssvUcgtTc7QU_DIz0stLsmpVPBUSK0...
medv•1mo ago
https://textarea.my/#ZY_NTgMhFIVd9ylYNZpMuQwDmZ9m4qM0SG9ncCg...
RonanSoleste•1mo ago
https://textarea.my/#ZY87b8MgFIU7-1fQJWqlBDDG8iOyOnfvHlF8Y6g...
sublinear•1mo ago
I like these kinds of projects, but adding a file export/import is inevitable. It's less about the limits of a URL and more about practicality.

I also have no way to confirm that URLs aren't logged server side, so I'd never trust the claim about "no tracking". That's why these projects also end up self-hosted.

denisinvader•1mo ago
hash part of url only available in the browser, as far as I know, server doesn’t have access to # value
sublinear•1mo ago
Typos and URL mangles are common though, and I'd still have no way to confirm if it got logged in that case. It's out of scope for anything in the github source, and instead depends on the server hosting the page. I know this isn't meant to be super secure, but it's still worth a mention.
throwaway150•1mo ago
Typos aren't making the hash part turn into something else. Like your parent comment explained to you, the hash part is not sent to the server. If you go out of your way to mangle the URL then of course a mangled URL without hash will likely get logged to the server. But I'm not sure how one would manage to go so much out of the way that they mangle the URL in a way that removes the hash.
sublinear•1mo ago
You don't have a choice pasting links into some apps. They may strip out query and hash components, percent encode, force URL shortener services, etc.

Percent encoding is particularly bad since it may also bloat the length causing truncation and the decompress to fail. There's endless footguns with URLs.

throwaway150•1mo ago
> You don't have a choice pasting links into some apps. They may strip out query and hash components, percent encode, force URL shortener services, etc.

If an app is mangling the URL by stripping the query and hash components, then it is breaking URLs and you have a bigger problem than worrying about URLs being logged. Stop using such apps immediately and report the bugs to the app developers.

sublinear•1mo ago
To my original point, if those changes to the URL cause the browser to not parse the hash component then it will be sent to the server and get logged.

The idea is nice, but unreliable. The original intent was simply to link a section of a page and it should fail gracefully (and it does when used as intended).

jamesdwilson•1mo ago
very easy for the server to intentionally (or by compromise) add a one liner to send the hash text up.
billforsternz•1mo ago
This is very interesting, very refreshing, very simple and clever, very well done, very everything good. Bravo and thank you.
desireco42•1mo ago
The only thing missing is markdown and few themes. I think this is awesome idea for sharing. Love what you did with it.
jaysonelliot•1mo ago
546,229 character-length URL for the Crime and Punishment example.

Half a megabyte for a URL. That certainly is a thing.

ljlolel•1mo ago
I love this.

Now if you bootstrap the app code into the url too then you can have a minimal kernel to run any machine in url.

Then you can also make a Quine somehow.

nickweb•1mo ago
Think you've inadvertently found a way to provide extra tests for mobile devices.

The Crime and Punishment one consistently crashes Brave mobile for me. I assume it's the length of the URL - and seen another commentator say the same for chrome mobile (sure they both use the same codebase so likely an upstream issue).

codazoda•1mo ago
Nice! I love this.

I built Ponder in the same vein. It, however, has 10 files. I did not use the URL, did not have double the fun, and now I’m sad.

https://github.com/codazoda/ponder

pglevy•1mo ago
Thanks for sharing! I tried a similar content-in-url approach for a family grocery list app but I couldn't get the url that short. (It worked but it was a bit cumbersome sharing over Whatsapp.) Will see what I can learn from this!
gisho•1mo ago
I created a similar app just 2 days ago targeting Whatsapp (https://linqshare.com) . Context: In my locality, EA, we normally have Whatsapp groups raising funds for whatever reason; for every content edit, the admin has to copy-edit-paste updated content(which contains name and amount) to the group. This small app intends to provide a table that's easy to convey this info. App stores content in the url but a preview image (needed for Whatsapp share) is stored at R2. Let me know if you want the source code running at Cloudflare.

--edit-- test link: https://linqshare.com/#eJxtkM9KxDAQxl-lzLmHrv8Ova3IHlz04BY8F...

planb•1mo ago
A few weeks ago I vibe coded a guitar tab editor just because I wanted to share a quick tab in a chat group with my band. When the first prototype already worked great, I just couldn’t stop to add features so that it now even has mouseover chord diagrams and copy and paste.

The sharing works just like here, by encoding the tab itself in the url.

https://github.com/planbnet/guitartabs

LordDragonfang•1mo ago
It would be neat if ctrl+s offered to download the textarea to a .txt file.
roxolotl•1mo ago
Was just working on something similar this morning. As an fyi you can avoid the string replacing in the base64 string by using `.toBase64({ alphabet: "base64url" })` and `fromBase64({ alphabet: "base64url"})`.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

huhtenberg•1mo ago
In Firefox, https://textarea.my shows up as as a completely static non-actionable white page. Just white, with default cursor. No errors on the console.
levmiseri•1mo ago
I really like this from a privacy point of view. So much so that I'm thinking about adding a purely URL-storage solution as an option in my https://kraa.io editor.
WD-42•1mo ago
From a privacy point of view how is it any better than just using a local, native text editor?
levmiseri•1mo ago
From purely privacy point of view it’s not. But if you also want markdown features, custom typography and easy sharing, this starts to make more sense.
omoikane•1mo ago
From a privacy point of view, you might not want to use textarea.my since it includes some tracking bits at the end:

    <script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"6a22b097a2b44fa4af0a95817ce96ab5","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
brightbeige•1mo ago
The tracking isn’t in the html, and as it’s static, you can host it any other way you like

https://htmlpreview.github.io/?https://raw.githubusercontent...

wingtw•1mo ago
Start writing / Leaf list Settings Press on "add tag to filter by" Type any character

Aand im dropped back to empty editor with just that one character visible

(Firefox 146.0.1 (Build #2016132551), 86bb7f6af6312ba3c0161085f854bcdff68f1a91 GV: 146.0.1-20251217121356 AS: 146.0.2 OS: Android 14)

gnyman•1mo ago
Funny how I made almost exactly the same but for maps.

I needed a way to share a link to a map, with drawings and the ability for the receiver to see their own location on the map.

Annotated screenshots solves the first but not the second.

Vibe engineered this, with many of the same ideas as OP.

Took an evening. Just in time apps for one specific use case is a thing.

And because it's so cheap to make and can be hosted cheaply with no backend, it can be given away for free.

https://nyman.re/mapdraw/#l=60.172108%2C24.941458&z=16&d=LU8...

mathgeek•1mo ago
> Vibe engineered

While I'm all for vibe coding as appropriate, there's a lot of humor to be found it calling it engineering. :D

block_dagger•1mo ago
Fair. Though it seems that half of engineering is just giving a respectable name to whatever actually works.
mathgeek•1mo ago
For software, but that's a well trodden path at this point. I've seen a few projects that are actually "vibe engineering" outside of software on the 3d modeling side so the terms are confusing.
InsideOutSanta•1mo ago
I just hope actual engineers don't start vibe engineering bridges and buildings.
gnyman•1mo ago
this is not something I came up with, Simon wrote it and I liked the differentiation between "vibe coding" where there is less effort

for this case project I think I would actually go back and say it's vibe coded, but I didn't want to just call it vibe coding because I did spend time going back and forth and directing the agent

https://simonwillison.net/2025/Oct/7/vibe-engineering/

mathgeek•1mo ago
Interesting distinction. I've previously heard vibe coding described as "vibe prompting, but you actually do some work." That aside though, I just call what you're describing as coding with AI.
bdangubic•1mo ago
coding with AI is coding just as much as coding with VSCode is coding. you decide which parts you get help from a given tool and which you don’t. end of the day, it is all coding and “coding with AI” sounds as silly as “coding with keyboard / microphone”
mathgeek•1mo ago
The first part is exactly my point, but the latter is nonsense in my book. You cannot ask VSCode (pre-AI) to write a program for you. It's akin to doing math with AI vs. an Nspire CAS. There's no reason to think you need to respond to those who shame vibe coding with claims that we shouldn't differentiate our tools, but we also shouldn't just say it's all the same. We wouldn't claim that about farming with a laser-powered weed killer compared to farming with a horse-drawn plow.
stogot•1mo ago
I suspected it needed to be directed with a specification to call it vibe engineered
NuclearPM•1mo ago
What is funny about it?
jimmygrapes•1mo ago
I've been a fan of Design-Assisted Developer or DAD
RandomDistort•1mo ago
Is this open source?
gnyman•1mo ago
it's a static webpage, the source is available with right-click view source, I added a BSD2 licence header to it to make clear it's fine to take and do mostly whatever with
Gehinnn•1mo ago
This is very cool!
nextaccountic•1mo ago
This is pretty cool!

And if you are open to bug reports.. if I move around the drawings move smoothly with the map, but if I zoom in/out the drawings move only after the map zooming animation ends, rather than smoothly

blntechie•1mo ago
This is so cool!! The responsiveness of the page is so much better than any maps app I have used.
gnyman•1mo ago
yeah, isn't it impressive how fast modern computers can be if you make a bit of effort, in this case I think I told it to just use plain javascript and make sure it's fast :-)
antman•1mo ago
That is absolutely great! Using it now to plan a trip.

Could we also add text annotations? Also the delete button could delete just the last shape or a selected shape so as not to start over?

zenmac•1mo ago
Great tool! There is a little issue with the +/- zoom buttons not working something cause it is over layed by other div blocks. On mac firefox.

Is the code open source online somewhere?

gnyman•1mo ago
thanks for the info, I'll see if I can get a agent to fix it

it's a static webpage, the source is available with right-click view source, I added a BSD2 licence header to it to make clear it's fine to take and do mostly whatever with

zenmac•1mo ago
Yeah just would be good on a codeberg or gitlab or maybe even github repo. So we can do PR.

Here is the fix:

.leaflet-top, .leaflet-left{ z-index: 100000; /* some high number */ }

gnyman•1mo ago
hmm, I tried it on firefox and it works for me, and for me .leaflet-top already has a high z-index: 1000;

although I run 140.6.0esr so maybe newer ones need a even higher one?

the code is on GH now https://github.com/gnyman/mapdraw , codeberg is on my todo

Kailhus•1mo ago
Could try the hacky 2147483647 max z-index. No issue on android firefox
gnyman•1mo ago
I put a copy of the source on GH in case in case someone wants to improve things https://github.com/gnyman/mapdraw
getupyang•1mo ago
Really cool—this is the fastest-loading map I’ve ever used.
piffey•1mo ago
Love this. Can't tell you how many times I've screenshotted maps then drawn on directions for family/friends. Great idea.
nolito•1mo ago
But not well tested. Try to create a map and copy the url to another map. Now change the first map with more anotations or move the map center and copy the generated url and paste it into the other map on the other browser. That does not work (at least for me on different browsers).
gnyman•1mo ago
I think I know what you mean, thanks for the report, if you modify the # part on a webpage it's not the same as reloading it, and I doubt I watch for that part changing
ninalanyon•1mo ago
Looks useful but doesn't work quite as expected for me.

In Vivaldi location tracking doesn't work. Version 7.7.3851.66 (Official Build) (64-bit) Chromium Version 142.0.7444.245 Extended Stable channel (may also include additional security patches) Channel Official Build Platform / OS Linux - linuxmint 21.3

And in Firefox 146.0.1 on the same machine the URL doesn't get updated.

ronancremin•1mo ago
I did the same thing for running routes e.g. https://routespinner.com/@52.516247,13.379374,15z#route=cbp_...
surrTurr•1mo ago
shameless plug: i built something very similar but nobody cared: https://github.com/AlexW00/Buffertab
antman•1mo ago
Voice typing is a cool feature, have you considered whisper wasm instead of OpenAI api?
zahlman•1mo ago
I've seen a few others on HN this year, I'm pretty sure.
WhyIsItAlwaysHN•1mo ago
My own plug, translate between SQL dialects, state stored in URL so you can share it:

https://sqlscope.netlify.app/

reconnecting•1mo ago
Are <head>, <body>, and </html> missing intentionally?

Safari 15.6.1: Unhandled Promise Rejection: ReferenceError: Can't find variable: CompressionStream

wdporter•1mo ago
I probably shouldn’t presume to speak for the OP, but given that they’re optional, I would think so, yes.
rane•1mo ago
Now what if it didn't pollute browser history
mixedmath•1mo ago
I wrote a similar app when mathbin was shutting down. It allows about 1500 characters of mathjax-displayed notes. [1]

[1]: https://davidlowryduda.com/mathshare/

sltkr•1mo ago
Something similar by Eric Wastl (of Advent of Code fame): https://topaz.github.io/paste/
nemtsv•1mo ago
I think a couple of days ago I stumbled upon your editor in corp Google intranets when I was looking for internal tool to pretty print some json, small world :)
medv•1mo ago
The http://go/fmt-err? =) Yes, it is mine.
greggman65•1mo ago
I have something tangentially similar here: https://jsgist.org

If you click save you get the option to use a URL.

The problem with a URL every edit is a new URL. So you send the URL to a friend, then fix a typo, they need a new URL.

The other problem is of course the space limit.

theoa•1mo ago
This hack has completely disrupted my afternoon! Perhaps even forever after.
zX41ZdbW•1mo ago
I've implemented the same idea a few years ago: https://pastila.nl/
medv•1mo ago
It uses DB at the backend.
urbandw311er•1mo ago
Neat. But why would you auto-set the title from markdown heading syntax when it doesn’t support markdown? (Or any rich text in fact)
medv•1mo ago
You can still write markdown. Nobody prevents you.
spacedoutman•1mo ago
Seems like we have all built something similar.

hopefully mine can stand out with all the extra features i have managed to cram in

valgaze•1mo ago
Brings this to mind: https://hashify.me/IyBUaXRsZQ==
gabrielsroka•1mo ago
I did something similar with a spreadsheet years ago. It's lkudgy, but it works. You have to tab away from the input box and refresh the page, iirc.

https://gabrielsroka.github.io/webpages/calc.htm#a1:=Rate=3....

  https://gabrielsroka.github.io/webpages/calc.htm#a1:=Rate=3.875;a2:=Years=30;a3:=NPer=Years*12;a4:=PV=644000;a5:=Pmt=Math.round(Math.pmt(Rate/12/100,NPer,PV)*100+1)/100;rows:5;cols:1
More examples https://gabrielsroka.github.io/webpages/

It's about 130 js loc

frizlab•1mo ago
> Respects light/dark mode

Not really… using js to change the CSS on the go is not a good practice. Why does it matter? Because of the “dark mode” browser extensions. They often use the presence of @media query (or other standard CSS means of setting dark mode colors), and if it’s the JS that changes the colors we often get partial Dark Mode, which does not work at all.

medv•1mo ago
No js is used for colors.
frizlab•1mo ago
Oh. I retract my comment, I just read the code. My Dark Mode extension just sucks.
rfl890•1mo ago
You claim no tracking, and yet there's a Cloudflare Web Analytics beacon placed at the bottom of the page (thankfully filtered out by uBlock Origin)
gettingoverit•1mo ago
By the look on the issues there, it seems the rest of the post is not that true either

Edit. Call me a hater, but... I know the guy! That's the guy from Google whose code never works in the most hilarious ways! See issues on the rest of his pinned repos.

cantalopes•1mo ago
I feel this is more of a fun toy project because if i used it every day my browser history cache and browser performance would get annihilated
thelastgallon•1mo ago
I wonder if this can be paired with a local URL shortener? Chaining this with a local URL shortener can mean access to any doc with a single letter (or very letters).
bdcravens•1mo ago
I keep this in the bookmark bar for the times I need a place to paste a quick bit of text (but it doesn't persist):

data:text/html, <html contenteditable>

lifthrasiir•1mo ago
Use xem's version [1] if you need persistence:

    <body id=b contentEditable onload=b[i="innerHTML"]=[(l=localStorage).c] oninput=l.c=b[i]>
[1] https://xem.github.io/postit/
meander_water•1mo ago
Cool project, but loading "Crime and Punishment" crashed my mobile browser.

I don't think urls were built for that kind of punishment.

ooxoo•1mo ago
I think it was the text-wrap-style value. https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/P...
jerrygoyal•1mo ago
I too built a one (text is stored in localstorage)

https://gourav.io/devtools/notepad

Yash16•1mo ago
I like this because most of the time I need random stuff—numbers, quick searches, or ideas—and this helps instantly.
srexrg•1mo ago
this is indeed minimalistic :)
zkmon•1mo ago
Why store in the URL and make it bloated? Isn't storing in local storage enough?
Departed7405•1mo ago
The point is you can share it anywhere very easily.
ngc6677•1mo ago
also here https://space-element.pages.dev/#data=eyJ2YWx1ZSI6IvCTgoAg8J...
Sayyidalijufri•1mo ago
First I think it's still loading because it's only white

but when I hit the keyboard I can see my it's is already loaded

Good job!

dachris•1mo ago
The compression is nice, you can fit very long (low-entropy ;-) messages in there - this one is 9k characters:

https://textarea.my/#7cGBAAAAAMMgzfmTHORVAQAAAAAAAADAuwE=

AltruisticGapHN•1mo ago
I love this. Great little html page to refresh on Javascript.

For fun I put it in chatgpt and asked if there are bugs.

It warned about fromBase64() and toBase64() not existing in main browsers. It is supported but is indeed a new "baseline 2025"feature. It suggested more compatible code using two small functions to convert characters manually.

"deflate-raw is not consistently supported." It suggested using 'deflate' instead.

okaleniuk•1mo ago
I exploit the similar idea for teaching: https://lnkd.in/gsySKda4

Students are lazy, in a good way, so they are more likely to run things on their own and play with interactive bits if the whole lecture is just one link.

nchmy•1mo ago
Crashes my mobile chromium browsers when I try to open crime and punishment.

Firefox seems to work.

coder543•1mo ago
I remember another one that was popular years ago: https://news.ycombinator.com/item?id=17459204
101008•1mo ago
I am thinking from a piracy perspective. If I share a link that contains a book, what can be done from DCMA or legal regulators? They can't ask the server (textarea.my) to remove the link because it doesn't exist.

They can't track every website with the link and ask to be removed, either.

Could they ask textarea.my to not parse the link and thus, not display the content? Could textarea.my refuse?

singiamtel•1mo ago
I would hope not. The copyrighted content seems to be the link rather than anything in the app.

Your example sounds like stopping notepad from rendering copyrighted content

wavemode•1mo ago
From a technical perspective, you're absolutely correct.

From a regulatory perspective, it seems unlikely that most courts would appreciate the difference. In their mind - you run a website, and that website contains copyrighted content. Take it down.

You'd probably have to just blacklist the link in question to avoid a legal headache.

fsmv•1mo ago
A book won't fit in the URL anyway even with compression
badsectoracula•1mo ago
Someone in another comment posted Crime and Punishment by Fyodor Dostoevsky, so a book fits in the URL. It is just that the URL is ~500000 characters :-P (the book itself is ~1.2M characters)
tnecio•1mo ago
In this case I'd say the link is the content. So it would be the place where you share the link, rather than the "rendering page", which should be more worried
chuckadams•1mo ago
TypeScript playground does effectively the same thing for shared links, though it doesn't live-update as you type.
mishrapravin441•1mo ago
Very nice exploration of URL-as-state. The approach is elegant, but the mobile crashes highlight how hostile real-world URL handling still is once links leave the browser.
ooxoo•1mo ago
The performance issues may be due to using `text-wrap-style: pretty`. Try switching the value to `stable`. https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/P...
ciccionamente•1mo ago
I used the same principle to let people write their own emergency notes in a secure way: https://weexpire.org
nake13•1mo ago
I built a very similar experiment about 10 days ago and shared it here (the post is in Chinese):https://x.com/nake13/status/2000401664923324439

My focus was on finding a good text→URL-slug compression strategy. I used ChatGPT-5.2-Pro mainly to explore and compare different compression approaches and trade-offs.

qingcharles•1mo ago
Here's one I took from somewhere and optimized that is just a bookmarklet, so there's nothing remote:

data:text/html,<title>Notepad</title><textarea autofocus spellcheck=0 style="position:fixed;inset:0;padding:1em;border:0;font:monospace">

Your text actually survives a reboot in Chrome.

Can anyone think of a way to store the textarea value in the URL? I tried using JS to set a # but it's nonsensical in this context.

Edit: here's the best I could do:

data:text/html,<title>Notepad</title><textarea id=t autofocus spellcheck=0 style=position:fixed;inset:0;padding:2em;border:0;font:monospace></textarea><a id=s style=position:fixed;top:10px;right:10px>Right-click Open to save...</a><script>[,P,S]=location.href.slice(15).match(/(.<textarea[^>]>)[^]?(<\/textarea>.)/),t.oninput=U=_=>s.href='data:text/html,'+P+encodeURIComponent(t.value.replace(/&/g,'&amp;').replace(/<\/textarea/g,'&lt;/textarea'))+S,U()</script>

khalby786•1mo ago
let's not forget the og itty.bitty.site [0]

[0]: http://about.bitty.site/

blakewatson•1mo ago
Yes, this was the one I was thinking of!
danhite•1mo ago
caveat emptor re long hashtag techniques on (ipad) safari ...

you may think safari has no effective url limit (i.e. very high) but if you ever treat a url within the url bar as editable you are at risk to be silently truncated to 4096 bytes (eg select a character in the url bar and replace it)

also re-testing potential ~buffer limits in various ways on ipadOS 26.2 safari just now slowed my safari ui down to a crawl

eg after saving example.com with ~20k #hashtag to reading list -- each keystroke in this reply was taking several seconds, so I had to force quit safari and retype to post this warning

below43•1mo ago
Like many others in the replies, I too built something similar. I built a PWA that lets you share files via a URL. https://urlfile.app

It also has a note/plain text sharing option.

mesosan•1mo ago
Reminds me of https://itty.bitty.site
okibry•1mo ago
Does anyone make a plugin to make data live in URL? I think it will be very useful in this LLM era.