Hacker Newsnew | past | comments | ask | show | jobs | submit | neftaly's commentslogin

Thomas Jefferson said that a bunch


You need to keep in mind context. He lived in a time when the overwhelming majority of society was self employed and there was no formalized, let alone compulsory, educational system whatsoever. Looking up the exact history there, the first compulsory education began in 1852 (Jefferson died in 1826 at the age of 83), where children 8 to 14 were required to spend at least 3 months a year in 'schooling', with at least 6 weeks of it being consecutive. [1]

And in the early 19th century near to 100% of Americans lived in rural areas where access to centralized information was minimal. There was no internet, radio, or other means of centralized communication. For that matter, there wasn't even electricity. The closest they'd have had would have been local newspapers. So people without any education would have had very little idea about the world around them.

And obviously I don't mean what's happening half-way around the world, but in their own country, their own rights, and so on. Among the political elite there was a raging battle over federalism vs confederalism, but that would have had very little meaning to the overwhelming majority of Americans. Jefferson won the presidency in 1800 with 45k votes against John Adams' 30k votes, when the country's population was 5,300,000!

[1] - https://www.ebsco.com/research-starters/history/history-publ...


Even into the 1950's and early 60's, my dad went to a one-room school, probably until he was around 14 years old. No running water or air conditioning, the job of the first student to arrive in colder months was to start a fire in the stove to heat up the room.

Had he been born a few years earlier, it would have been unlikely for him to even graduate. 1940 was the first year that the graduation rate hit 50%.


Absolutely, although by then electricity, radio, urbanization, and other such things had already radically reshaped the overall character of society to be something much closer to today than of Jefferson's time.

Jefferson, in modern parlance, would probably be a 'pragmatic libertarian.' He envisioned independent self-reliant people, and in fact (like many of the Founding Fathers) was somewhat opposed to 'economically dependent' people, including wage laborers, voting - for fear that their vote could be coerced too easily, and that they might otherwise be irresponsible. That's where things like property ownership came from as a voting requirement.

And a major part of self reliance is an education that is both broad and fundamental which is where the 'pragmatic' part comes in, as I think fundamental libertarianism would view education as exclusively a thing of the private market, whereas Jefferson supported broad and public education precisely as part of this formula to independence.


Thomas Jefferson was one person, and he died over 200 years ago.


This analogy fails to mention the axe-weilding megacorp working in the canopy overhead :P


1 in a million random chance is a simpler assumption, if there was some sort of coordinated 'working in the canopy overhead' to mess with the mapping of small rural roads and farmers... that would require a very elaborate set of circumstances.


If I wanted to support this in a user interface, what would the inputs look like?


The MouthPad^ connects via standard Bluetooth pairing and is compatible with most common operating systems, functioning like a Bluetooth mouse under standard Bluetooth HID protocols. In the future, we will introduce an SDK to enable direct mappings for more tailored applications.


For a modern fighter jet, it's a lot. It's planned to remain in service till 2070.

One of the most important strategic innovations of the F-35 has been economies of scale.


The cool part is that the way CloudFlare does it is really cheap


I evaluated using this in prod, but came to the conclusion that R2 was a bit shaky as a database. CF has since come out with D1 SQL, DO (beware vendor lock-in), queues, and my favorite, MQTT pub-sub, which would be better options. They've also been teasing some vastly improved options for STUN/TURN; I wouldn't be surprised if more turnkey signalling popped up.


I don’t know what the consistency requirements are but workers Kv or r2 + cache might be smarter choices in terms of improving resilience and also performance by a lot (same goes for suggestions of using DO - R2 is kind of a weird choice to manage stateful rendezvous). Queues and pubsub feel like incorrect choices unless I misunderstood what they’re using the storage for.


Author here. KV did not provide the consistency guarantees needed for this to work. If you were signaling across two edge nodes, you didn't see candidates until the data was replicated, which took a long time. R2 doesn't have this problem.


This is because R2 uses Durable Objects under the hood to achieve consistency. But you'd probably get better results using Durable Objects directly.


At the time I wrote this it was prohibitively expensive.


R2 was used because it was the only database-like service CF offered at the time.

IIRC the P2pcf client polls the worker for new peers. Pubsub would let you use an ongoing websockets connection, plus all the channel management logic is built-in. The game-changer is that they've said they'll charge per-message as opposed to per-connection-second, unlike everyone else!


That’s not true though. DO/D2 are database as well (DO precedes R2 and D2 overlapped). KV is an eventually consistent database.

DO/D2 will likely perform better than R2 unless you’re storing everything in the metadata. KV will perform better than all of them although if the storage is to keep a list of peers the API as exists today won’t work well for that - you’ll have to do 1 key per connection and retrieve via a paged list - otherwise you can lose clients since KV has no mechanism to do durable updates of values stored within keys*. You could also do DO with background refresh of cache to maintain good performance while maintaining better bounds on how long a value stays in the cache.

* actually it is possible if you mediate updates to KV through a DO (with storage as the ground truth or without it and risk occasional lost writes if the CF infrastructure decides to kill and reset/relocate your DO).


Fair enough, I didn't investigate them very far, as IMO only pubsub maps to the "webrtc signalling for misers" problem neatly enough to make it worth adopting (probably -- they haven't actually said how much it will cost).


At the time I wrote this library using websockets on Cloudflare would have been prohibitively expensive compared to this polling method. Has that changed?


From my understanding, yes. I asked about the billing model on the CF Discord 6-12? months ago. I don't know how much it costs per message, or if there is a catch wrt cheap wrtc signalling, however my understanding is that you won't be paying per user or per hour etc. To be clear this is through their MQTT 5.0 service only.


Yes, in the last year Durable Objects introduced "hibernation", in which the server object can shut down with WebSocket connections still active, to be started back up when a new message arrives. This largely solves cost issues with WebSockets on Workers / DO.


Yeah this might be a better solution now for sure.


I think it'll work pretty well! I might keep something cloud portable cooking away in the background.


D1 looks like it could replace R2. Most of the tricky business in p2pcf is dealing with all the ICE details - porting the persistence from R2 to D1 might not be too bad.


FWIW bull bars make trucks more dangerous for occupants too, by increasing likelihood of life-threatening injuries to leg arteries.

"Light Vehicles Safety Built in Not Bolted On" - https://autoexpert.com.au/s/Light-Vehicles-safety-built-in-n...


The reality is that if you drive in deer country you're much more likely to hit a deer than another vehicle.

And the bull bar will actually decrease the damage on your vehicle when hitting a deer.


The relevant test in this report simulated a single-vehicle impact. The best insurance policy against kangaroos/deer is a modern, safe vehicle with crumple zones (and, y'know, an actual insurance policy that you'll live to collect).


A problem with hitting a deer, especially in a car, is that the bulk of body mass is sitting just above hood level and will therefore impact directly on and then through the windshield at the driver. Crumple zones won't matter.


On sedans, sure. At least where I live, sedans are in the minority. You’d have to find a good sized buck to worry about that on the average suv.


Moose


Are you using Firefox ESR? It usually has worse support then the regular releases.


Nope - the regular version.


The issue was that a specific library would be pinned at a specific version for the rest of the history of the web. As good as SQLite is, I hope to hell we're not still stuck using it to handle mining operations in the oort cloud in 200 years.


This is why wasm is great. Webpages can just ship whatever version of SQLite they want. And/or eventually migrate to something better.


https://github.com/coconut-xr/apfel-kruemel works today, I only know about battery-optimized software in the context of games and IoT though.

https://felt.com/blog/svg-to-canvas-part-2-building-interact... and https://github.com/servo/pathfinder/ might be of interest.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: