HNHacker News
TopNewBestAskShowJobs

cphoover

1,488 karma · joined October 25, 2012

submissionscomments
cphoover··on Breaking up with JavaScript front ends
This is not true. Applications only require network connectivity for the initial resources to be downloaded. After that they can be cached, service workers can also be used to provide for offline support. Plenty of applications can run only in the browser and don't need to have a constant connection to a back-end. I can think of a calculator app, where all of the application logic exists on the client in JavaScript, in this case a network connection is an unneeded dependency. But once you build it with a framework like liveview it cannot work without a constant connection.
cphoover··on Breaking up with JavaScript front ends
My problem with liveview IMHO is that it requires an active internet connection and doesn't have offline support, which is a step in the wrong direction in terms of UI performance to me.

It makes sense for a subset of applications that require connectivity but many apps or tools should be able to work offline or without a constant connection.

cphoover··on Devenv.sh: Fast and reproducible developer environments using Nix
Can someone explain to me the advantage of using Nix over containers? What do they offer that are not provided with using docker or other container platform.
cphoover··on Ask HN: How would you design an alternative Twitter
Seems like you are looking for an intelligent filtering tool-set.
cphoover··on Tell HN: YouTube's web UI just got even worse
Youtube has become almost unusable. recommendations are so bad. Because I'm politically independent I've been put into some kind of right-wing recommendation track... Now I'm getting recommended ignorant pwnd the lib shorts. I've pressed not interested and don't recommend this channel but it does nothing.

I really hate the endless short videos of youtube, instagram, and tiktok. I have no tiktok but they've essentially recreated the same crap on youtube.

The experience of YouTube has been pretty much completely ruined for me. The content of videos seems to have gone way down too. I think this may have coincided with the change in monetization strategy. Seems like the quality of recommendations has gone WAYYY down since then.

cphoover··on uWebSockets
Could be anything (redis pub/sub with a channel for each shard, sqs with separate queues for each shard, separate partitions in kafka, etc)...

haven't committed to using one particular technology. queues that support retries could be useful in the event that a disconnect happens messages wouldn't be necessarily lost. Something custom built on top of Redis could accomplish the same perhaps.

cphoover··on uWebSockets
Yea something like this makes sense...

race conditions during migrations are the biggest concern.... You do not want a client with a connection to server they will never receive a message on.

cphoover··on uWebSockets
Yes... but this seems to be then a timing issue to me... what happens if the replication factor changes again while they are reconnecting to the wrong server... then they will miss the second 'reconnect' message... and will stay connected to this server where it will never receive messages... perhaps an edge-case scenario.
cphoover··on Show HN: The Typing of the RegEX
needs more clear instructions... Am I using capture groups? what is the goal?
cphoover··on uWebSockets
This is perhaps only tangentially related... but I'm trying to do something to support sharding of websocket connections based on a user_id....

I want the connections to be distributed to separate instances of a WS server based on modulo-based or consistent hashing algorithm... above that in the stack we have a message broker or queue partitioned using the same sharding algorithm for the number of websocket servers running. This queue/message broker sends publishes messages to each web socket service which in-turn pushes the message to the client. This is how I want to handle horizontally scalable web socket connections...

The question I have is the best way to do this and the best way to migrate connections. From one service to another when/if the replication factor of web socket servers changes (we add/remove servers)...

One way I would think would be to send a disconnect message to the websocket service when this event happens and it would disconnect it's clients and then have a random delay for when re-connection happens... so as to avoid trying to reinitialize all of those connections at once. This seems sub-optimal as with consistent-hashing many of the connections will stay on the same server, and terminating those connections would be unnecessary.

What is the best way to migrate an open TCP from one server to another? Or if the connection must be closed... how can we minimize the number of connections that are to be closed.

BTW: I know I can broadcasts to all instances of the websocket server, and then unless that server holds the connection it is no-op... if the server does have a connection then send the message back... This also seems it would have a limit to how far this scaling-strategy would grow before running into limitations.

cphoover··on Ray Tracing in Notepad.exe at 30 FPS (2020)
Only a matter of time before doom
cphoover··on Show HN: Sandworm.js – Easy auditing and sandboxing for JavaScript dependencies
This is cool though
cphoover··on Show HN: Sandworm.js – Easy auditing and sandboxing for JavaScript dependencies
Hmmm wouldn't you want to intercept syscalls at the kernel level like AppArmor instead of at the application level?
cphoover··on U.S. residents fight for the right to hang laundry (2009)
Why is this article from *2009* being posted some 13 years later? I would want to know how things have changed (or haven't) since that time.
cphoover··on Show HN: RankedVote – SurveyMonkey but focused on ranked-choice voting
I feel like drag and drop sorting would be more user-friendly
cphoover··on Show HN: Price Tracker for Rei.com
I like this idea. Was thinking about doing something like this for wood prices. You could expand this to multiple businesses.
cphoover··on The TC39 Process
Anyone know the state of the Record+Tuple proposal? I really would like to see the introduction of truly immutable data structures
cphoover··on The TC39 Process
I just want record+tuples to land.
cphoover··on Ask HN: Internship for a Java Role
I'm not sure what software dev internships generally pay... But that seems incredibly low even for europe. Maybe other interns can weigh in.
cphoover··on ZincSearch – lightweight alternative to Elasticsearch written in Go
perhaps a lisp DSL?
cphoover··on American Data Privacy and Protection Act
I wonder if a browser plugin that utilizes AI would work as a sidestep to a standardized cookie dialog. Granted someone would have to build such a tool and standardization seems inevitable at some point. Shouldn't be too difficult to build something like that.
cphoover··on ZincSearch – lightweight alternative to Elasticsearch written in Go
Interesting. I'm not sure why I would chose this over Elasticsearch though? How does performance stack up against ElasticSearch? If the API is compatible with ES does that mean I can use the ELK stack including logstash for ingestion, and kibana for analysis?

Also... One of the things I didn't like about ES was the JSON DSL. It would be nice to create a friendlier query language, maybe something like SQL to query data. I find ES queries written to be ugly to look at, and not intuitive.

cphoover··on Die Antwoord’S New Video, Age of Illusion, Created by AI
Isn't Die Antwoord in the middle of a scandal right now?

Their adopted child has claimed child abuse. And the lead singer has been accused by multiple women of abuse. Of course they are innocent of a crime until proven guilty of these charges. But it seems to be odd timing to release a new music video.

cphoover··on GPU mining no longer profitable after Ethereum merge
good
cphoover··on The Ethereum merge is done
Lol hillarious
cphoover··on The collapse of cryptokitties, the first big blockchain game
see Beeple's 60M NFT sale as a great example
cphoover··on Show HN: StackAid – Fund all your open-source dependencies
Seems interesting... But I wouldn't want to waste my donation to a multi-billion dollar company like stripe who should be paying for their own client library development, which is part of the value-proposition of their service.
cphoover··on What Gödel Discovered (2020)
I think I was confused about the when function... I was at first thinking of when as when in clojure which is essentially just a macro for

(if .. do ..)

(macroexpand '(when 1 2 3 4)) (if 1 (do 2 3 4))

but that is not what it seems to do in PM-Lisp take the example of `=` definition:

(def = (and (when A B) (when B A)))

If this were the same functionality clojure it would be testing the truthyness of the evaluation of each when expression

so If I had (and (when 3 5) (when 5 3)) it would evaluate to (and 5 3) which would evaluate to 3 which is truthy.

So that got me stuck in the article. But it seems that when is more like a test/assertion... (when x z) saying for all values of x ... z is implied (i.e. the same way one mathematical rule implies another).

I'm going to reread this article and try to understand better.

cphoover··on FB feed is 98% suggested pages and barely any friends' posts
how did you disable recommendations based off watch history?
cphoover··on FB feed is 98% suggested pages and barely any friends' posts
They can be both addictive and bad.... I find myself clicking clickbait nonsense all the time. With annoying titles like "Funniest NFL celebration fails" or "Best cheeseburger in NYC" It's inane worthless content, that my brain is addicted to. I feel utterly unsatisfied after watching this terrible content, yet I still click more often than I would like.
← PreviousPage 3 of 21Next →