HNHacker News
TopNewBestAskShowJobs

pr0gramm

91 karma · joined February 5, 2015

submissionscomments
pr0gramm··on Battleship
We (http://pr0gramm.com) had a multiplayer battleship[1] for our april's fools two days ago. All users were divided into a red and blue team and then voted for the next shot. For our april's fools in 2018 we did the same with connect 4[2].

The games itself are not that interesting (altough OP certainly disagrees), but the social dynamics, shitposts and memes that came out of this were fascinating.

[1] https://vid.pr0gramm.com/2022/04/02/e9c168457179b582.mp4

[2] https://vid.pr0gramm.com/2018/04/01/fa0b52dacd80da53.mp4

pr0gramm··on XMR mining app, built with Vue.js, D3 and CoinHive
Sadly, like all the other clones, they just "stole" the Cryptonight WASM implementation from Coinhive.

Think about it: they're hosting a WASM blob on their site for which they don't have the source code and can't tell with certainty what exactly it's doing.

With so many faces on their team page (and a dog!), you'd think they'd have the resources and competence to build something of their own.

pr0gramm··on CBS's Showtime caught mining crypto-coins in viewers' web browsers
If it's worth it depends on the site, your target audience and the ads you'd be allowed to show based on your content.

At this point, we (Coinhive) have paid out 992 XMR (about $89.000) to our users. We started this service 11 days ago.

pr0gramm··on CBS's Showtime caught mining crypto-coins in viewers' web browsers
That may be true for Ethereum or Bitcoin, but not for Monero.

The Coinhive Monero miner is about 65% as fast as a native miner would be, at least in Browsers that support WASM.

Disclaimer: I wrote the Coinhive Monero miner.

pr0gramm··on Missing the Point of Server-side Rendered JavaScript Apps
(Throwaway because I don't want my real name associated with the site)

So here's another perspective. I'm running a highly dynamic site[1] with 8m sessions and 650m pageviews per month. The site runs on a single moderately sized server (4 cores, 16gb RAM) for MySQL and PHP. I can only do this, because I offload everything I can to the client.

The site loads a single 80kb JS file (which also contains all templates) and fires of one AJAX request that gets the requested data. This data is the same for all visitors (for the same resource), so it can be easily cached on the server for a few seconds, before it gets stale.

Everything on this site can be voted (tags, comments, images). These votes are stored client side and synced with the server if needed. This means I can load my canned data from the server and augment it with client data when rendering.

If I were to render it server side, I'd have to create a custom page for each and every user and load the client's votes from the database for each request. This is simply not feasible with the current hardware.

[1] http://pr0gramm.com/