frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Why Vikunja is moving from Gitea to GitHub

https://vikunja.io/changelog/moving-to-github/
1•edward•1m ago•0 comments

The Mechanical Transmission of Power: Endless Rope Drives

https://solar.lowtechmagazine.com/2013/03/the-mechanical-transmission-of-power-3-endless-rope-drives/
1•bschne•3m ago•0 comments

Show HN: I built an extension that let AI controls my web browser

https://browserfly.app/
1•djyde•4m ago•0 comments

Helsinki goes a full year without a traffic death

https://yle.fi/a/74-20174831
1•worik•7m ago•0 comments

Show HN: I built a structured directory to compare AI coding tools

https://aiforcode.io/
1•algo-artist07•8m ago•1 comments

Ask HN: Am I wasting my time applying for jobs in the US?

1•martiuk•8m ago•0 comments

The relentless race for AI capacity (ft.com)

https://ig.ft.com/ai-data-centres/
1•youngtaff•10m ago•0 comments

Precompiled React Native for iOS: Faster builds are coming in 0.81

https://expo.dev/blog/precompiled-react-native-for-ios
1•mariuz•12m ago•0 comments

The weight-loss drug that also shrinks breast tumors in mice

https://www.sciencedaily.com/releases/2025/07/250713031436.htm
1•I_Nidhi•13m ago•0 comments

1984 Hudson Valley UFO Sightings

https://en.wikipedia.org/wiki/1984_Hudson_Valley_UFO_sightings
1•handfuloflight•13m ago•0 comments

Why Elon launched app companions

https://twitter.com/cyanblot/status/1950202900736569807
1•srijanj•13m ago•0 comments

Manifesto: Rules for Standards-Makers (2017)

http://scripting.com/2017/05/09/rulesForStandardsmakers.html
1•antonalekseev•19m ago•0 comments

Did pihole mail donation list got leaked?

https://discourse.pi-hole.net/t/did-pihole-mail-donation-list-got-leaked/81441
2•taubek•20m ago•0 comments

Chesterton's Fence: A Lesson in Thinking (2022)

https://fs.blog/chestertons-fence/
1•mschuster91•23m ago•0 comments

Hard reality about AI mobile app developers

https://substack.com/home/post/p-169651454
1•ykhandelwaly•26m ago•0 comments

The Design and Implementation of Extensible Variants for Rust in CGP

https://contextgeneric.dev/blog/extensible-datatypes-part-4/
3•Bogdanp•28m ago•0 comments

Show HN: Open-source self-hosted LLM comparison tool for your own prompt

https://github.com/stashlabs/duelr
2•ycsuck•30m ago•0 comments

Show HN: When Intelligence Becomes a Trap: A Wake-Up Call for the AI Industry

https://everydayai.top/
1•fishfl•32m ago•0 comments

Load Balancing AI/ML API with Apache Apisix

https://apisix.apache.org/blog/2025/07/31/load-balancing-between-ai-ml-api-with-apisix/
2•Yilialinn•35m ago•0 comments

Public Perspectives on AI Governance: Survey of Adults in CA, Illinois, and NY

https://zenodo.org/records/16566059
1•sebg•36m ago•0 comments

Claude Code and Tinder = 10 Dates in a Week

https://www.reddit.com/r/ClaudeCode/s/4FNn4ftdLj
2•cft•37m ago•1 comments

I built a design studio for people who can't design (like me)

https://glowupshot.com
2•omarkhairy21•40m ago•1 comments

Supply-chain attacks on open source software are getting out of hand

https://arstechnica.com/security/2025/07/open-source-repositories-are-seeing-a-rash-of-supply-chain-attacks/
1•_tk_•40m ago•0 comments

Agentic Coding Things That Didn't Work

https://lucumr.pocoo.org/2025/7/30/things-that-didnt-work/
2•sebg•41m ago•0 comments

RIP Amazon QLDB

https://news.alvaroduran.com/p/if-amazon-cant-figure-out-how-to
2•ohduran•46m ago•0 comments

General availability of Amazon EC2 G6f instances with fractional GPUs

https://aws.amazon.com/about-aws/whats-new/2025/07/amazon-ec2-g6f-instances-fractional-gpus/
3•mariuz•47m ago•0 comments

Show HN: Add Travel Time – Auto Travel Time in Google Calendar

https://www.addtraveltime.com
2•benklinger•53m ago•0 comments

Show HN: Handelsregister.ai – Dev-friendly API for the German business registry

https://handelsregister.ai/de
1•padho•54m ago•0 comments

AI-Designed Enzymes Break Down Plastic in Hours

https://earth.org/plastic-eating-enzyme/
1•karlperera•1h ago•2 comments

Sharding Postgres at Network Speed

https://pgdog.dev/blog/sharding-postgres-at-network-speed
2•GarethX•1h ago•0 comments
Open in hackernews

Making Libcurl Work in WebAssembly

https://jeroen.github.io/notes/webassembly-curl/
43•tambourine_man•20h ago

Comments

kamranjon•20h ago
Sorry if this is obvious, but I read the article and am still a bit unsure. If you use libcurl on the front end to download a file using this method - where does the file end up? Is it in the browsers memory? Is it piped through websockets to some backend service? Is it written to local disk using the newish file system API?
oso2k•19h ago
You might use a data URL to allow the file to be downloaded. Gemini gave me a recommendation on how to do this with this query.

https://www.google.com/search?q=use+data+url+to+download+fil...

therein•15h ago
> use data url to download file

It is kinda funny and kinda sad that you thought this was worth sharing.

Gemini says use google with this query. Really? Wow. Revolutionary. What did we do before LLMs?

NoThisIsMe•19h ago
From the article

> What this code does is read an index file that contains the list of R packages from CRAN, and subsequently download the description files of the first 200 packages to the user home directory (which is actually a virtual filesystem in WebR [1]). > [1] https://docs.r-wasm.org/webr/latest/mounting.html

So I think it's a virtual filesystem in browser memory.

immibis•17h ago
Why do you need libcurl to work in WebAssembly... when you're already running in a browser?

(The answer: to run third-party code that uses libcurl because it isn't designed to run in web browsers)

nticompass•16h ago
The "real" answer: because you can.
RandomRandy•15h ago
One advantage over using fetch is that the WebAssembly approach seems to bypass CORS

> If you inspect the devtools network tab of your browser, you see that everything happens over a single WebSocket to wss://ws.r-universe.dev. The browser is not making the HTTP requests, in fact this would not even be possible because we download the files from a host that does not enable CORS.

aaroninsf•15h ago
That's... interesting!
roywiggins•15h ago
You don't need websockets or wasm for that of course:

https://github.com/Shivam010/bypass-cors

As long as the browser is talking to a server that's setting the correct CORS headers, that server can of course forward those requests to whatever third party server it wants.

vk6•14h ago
Classic CORS proxies are bad for privacy though. They read the contents of the forwarded requests in plain text, which might include API keys or other secrets. This is problematic though, since the typical use case for CORS proxies is if you're unable to host your own backend.

With this kind of solution, the proxy only deals with the data in the underlying TCP socket. That data will be encrypted with TLS until it gets to the destination server. In this case, you don't need to fully trust the proxy sever to use it safely.

vk6•14h ago
I did a similar project recently, although it was more focused on getting a good Javascript API out of libcurl, rather than integrating with a different language like R: https://github.com/ading2210/libcurl.js

My first approach for networking was also to use SOCK5 through a Websocket. However, this turns out to be really slow. Each new connection created by emscripten requires waiting for: the TLS handshake from the browser to your proxy, the Websocket handshake which takes place over HTTP/1.1, the SOCK5 handshake on the Websocket, and the TLS handshake from libcurl to the destination server.

That's many many round trips required just for a single request! In practice, if the proxy server isn't physically close to you, the latency can be multiple seconds. This is partially mitigated by the fact that libcurl can use HTTP/2 to reuse that socket, but if you're placing requests to different hosts, or those that don't support HTTP/2, this is a huge problem.

The solution is to make it so that multiple TCP sockets can share the same Websocket, and then minimize round trips in the proxy protocol. I wrote a new protocol for this purpose here: https://github.com/MercuryWorkshop/wisp-protocol

It basically acts like multiplexed SOCKS5 over a Websocket. One trick that it uses to reduce latency further is for the client to simply assume creating a new socket succeeded, and to start immediately sending data, which eliminates another round trip. So apart from the very first connection which establishes the Websocket, there is zero added latency for new sockets.

Actually getting Emscripten to use this is slightly cursed and you need to patch the generated JavaScript using some Regex. I could probably get this upstreamed in emscripten someday through.

Also, it turns out that when writing this sort of network proxy, it doesn't really matter what language you use. The bottleneck ends up being the Linux TCP stack. You might think that a hyper optimized Rust or Go based Websocket proxy would be faster, but I found that the Wisp proxy server I wrote in Python was on par with the one written in Rust during synthetic tests. Even the slowest implementations get upwards of 2 gbit/s of throughput (on slow CPUs) which can saturate the NICs of almost all VPS providers.