skysight-inc/HackerNews huggingface dataset:
Synchronized requesting in Communicating Sequential Processes (CSP) [Hoare 1978] proceeds as follows: “Such communication occurs when one process names another as destination [to receive a request] and the second process names the first as source for [the request] ... [in order that providing the request] is delayed until the other process is ready [to receive the request].”

Synchronized requesting x with request r (i.e. x!r) can be implemented as follows using a 2-phase commit protocol: x.synchronize[Implements Provider ⟦provide ↦ r⟧] so that after x has received a synchronize message with parameter Implements Provider ⟦provide ↦ r⟧, x can get r from the parameter using a provide message (cf. [Knabe 1992]). Synchronized sending x a request r (i.e. x!r) can be algebraically reduced (which is a primary requirement of communication in the π-calculus [Milner 1993]) because x is provided with r without arbitration by Implements Provider ⟦provide ↦ r⟧.

Synchronized requesting (i.e. x!r) has the following significant costs in time, communication bandwidth, and robustness by comparison with unsynchronized Actor requesting (i.e. x.r):

1. The requester must wait for the receiver’s provide message in order to provide request r.

2. After receiving a synchronize message, the receiver must wait for the request r to be provided (meanwhile holding up processing of other requests).

3. Both the requester and receiver must be online concurrently for communication to take place.

Unsynchronized requesting (i.e. x.r) cannot in general be reduced using an algebraic equation as in [Milner 1993] because in general, the request must go through arbitration in order to be received. Although algebraic reductions may be elegant mathematics, synchronized requesting is not widely used in large software systems because it is slower, uses more communication bandwidth, and is less robust than asynchronous requesting (especially for IoT).

According to [Milner 1993]:
“An important task is to compare it {π-calculus based on algebraic reduction using synchronized requesting} with Hewitt's Actors; there are definite points of agreement where we have followed the intuition of Actors and also some subtle differences, such as the treatment of names {i.e., request providers}. More generally, the π-calculus is a formal calculus, while the Actors model, in spirit closer to the approach of physics, sets out to identify the laws {i.e. [Hewitt and Baker 1977] expanded into the uniquely categorical axiomatization in this article} which govern the primitive concepts of interaction.”
Thing is that simple != easy

But oh man it's the same discussion every time when Go comes up here
Server side Blazor is pretty interesting, renders everything in type safe .Net on the server then uses websockets to update dom and bridge javascript. Supports client side webassembly execution model too but not stable.

Not exactly lightweight and I guess still a SPA approach but pretty state of the art in server side rendering I would say:

https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor
If only three plastics were used in packaging -- say, polyethylene, polyethylene terephthalate and polycarbonate -- recycling would be much easier. If they're clean and well separated, they can just be reused. Iffy polyethylene makes great "lumber" for decks, or roofing tiles. Iffy polyethylene terephthalate is great for fleece. Iffy polycarbonate plus carbon black is great for structural applications.
I dislike JS, but love TS. But really, who cares about me anyway?

The big picture is that JS is the English of software languages. It’s not beautiful, it steals from everyone else, and it’s never the best tool, but it’s becoming - more and more - rarely the wrong tool.

I expect this trend to continue. Some genius will get JS to compile to native bytecode (WASM is the intermediate step). And, it too will be neither the best language for the job, nor the wrong tool for the job.

The proof is in the pudding, nothing so wrong (JS) can be so right - and yet it survives, nay thrives.
The "pythonic" way was a mantra that has been obsolete for a long time. With Python, there are many (unsatisfying) ways to declare dependencies, many ways to format code (I hope "black" will prevail), many ways to format a string, many ways to create a struct/record...

The lack of quality batteries included also leads to "there is more than one way to do it" through the choice of unofficial libraries. My experience is that the extensive standard library of Go brings more normalisation.
You get a consistent experience with a consistent user agent. Anything else is best effort, trusting developers to successfully implement standards correctly, and hoping they all made similar decisions in places the standard is open.
For larger stuff, yes. For small stuff, no. If you just need to get something small done quick and dirty, python will be easier and faster.
They don’t have to be glorified for loops, even if they usually are. Map and Filter should be capable of running in parallel or asynchronously, and some languages provide this.
This doesn't follow: for loops are there specifically for cases of the complexity that can't be handled by other constructs (like comprehensions). Anonymous functions are not, for the complex cases you give the construct a name.

It's a very intentional language limitation, much as semantic whitespace is an intentional limitation.

And there is actually a language difference. A for loop is a statement. A lambda is an expression. Python doesn't let you put statements into expressions.
One should checkout LeafData for a lesson in hostile API
Hydraulic Elevators

Looks like archive.org has a copy:
https://archive.org/details/hydraulicelevato00baxtrich

It's from 1910, so almost 110 years ago.
You joke, but source code generation is the standard way to generics in go. They even have some standard hooks for it in the build system.
> Regular functions definitions can't be used as expressions

I’m having a difficult time understanding what you mean here. Can you offer an example?

I have never felt compelled to write a multi line lambda.
Agree... Was hoping for something novel ... I sent this to my newer coworkers, but this is mostly obvious for people with 1+ years of experience making policies

In short: don't give passrole permission, or any IAM policy modification policy to people. If you do, yes, privilege escalation is possible
Bad Habits: Putting Nolock Everywhere (2014)
and rewriting it in another language will magically fix this and not introduce new bugs? besides, in my experience Python 3's clear separation between bytes and str makes these breakages much less subtle than it silently going wrong in Python 2.

i wish them all the best, but would've been much more impressed if they'd done it, not simply announced to do it.
That indeed is one way to go!
But the "they" in this story is hostile third-parties trying to steal users' Google password.
One of the biggest complaints that I've had about Scala is it's community. They've made huge strides to make political statements and gatekeep who contributes. (The core team makes it worse for John De Goes (He's the guy that was either the creator or a big contributer with scalaz and zio) at every turn and it's really annoying)
Sadly it's not a feature of Boeing, but a feature of unchecked capitalism.
Just as a counterpoint, I'd say that using Python can IMHO be similarly productive than Go.

Regarding the dependencies, you have tools on top of virtualenv, such as pipenv/poentry, which handle dependencies, and are easy to use. Biggest issue that I've encountered would probably be when two or more dependencies require the same package, with no intersect between supported versions. I don't think Go handle this any better, thought.

Type hints (and mypy for static type checking) are a must, and coupled with a good IDE, they really improve the productivity. I'd say that mypy's type system is more advanced than Go's, but it strongly lacks in type safety (due to the fact that majority of the libraries are not taking advantage of it yet, and that Python is still a dynamic language by its nature, and there is no runtime type checking).
> Technique #4: Hide the API docs from Search Engines

I utterly despise Atlassian for this shit. If their support forums detect that you're logged in with them or otherwise have an account, they will automatically redirect you to a login and support page.

Luckily they engineered it so fucking badly that you can hit ESC/the X button in your browser and stop the execution, because it takes about 10 seconds for that logic to load and execute. But if you don't, because you clicked a link and wanted to visit it later, you won't see the support page, you'll see a login screen.

Mind, this is Atlassian. It takes over 30 seconds to get a fully functional page, if you're lucky.

At the end of it, googling for issues or help about jira, or the quirks of JQL, means you have to be constantly ready to deal with their anti-user, growth-hacking bullshit. And you're already a paying user, it just so happened your session expired.

But honestly, above it all, fuck this whole desire to always need more, to trick and abuse and manipulate to get more.

hen will it ever be enough? Can't we have more of enough? And a bit more of less?
You might want to try Ocaml.
Very nicely done. Congratulations
The House Intel Committee report cited above is quite specific on evidence. Well worth the read.
Google maps has masterfully implemented #3

“Older readers may long for the good old days when companies that were actual monopolies would pretend to love their customers. Now we all work for companies that don't admit to being monopolies and actually hate their customers. Boy, how times have changed!”

Yep definitely Google
Imagine what happens if you bring the baby to the bakery and have him or her grow up there. Everything would become overly obvious. Lets also imagine how answering questions improves your skill further. The baby will have you rethink everything, your very essence, to eventually rebel against your methods, your very being :)
> That said, yeah it's difficult to understand how KA's web server costs aren't already basically zero, and how their endpoints aren't already basically instantaneous.

I find that this is the outsider's view of a great many products. Things always seem a lot simpler on the outside.

In Khan Academy's case, I think a lot of folks just think of our site as being a collection of more-or-less static pages with videos on them. There's a lot more going on than that, though. We've got a CMS that supports articles with math and interactive elements, in addition to the videos... and many, many exercises with hints. All translated into dozens of languages.

We have to remember every exercise people have done so that we know which ones to present to them next, and we need to display that progress when they look at topic pages. Oh yeah, and if they're in a classroom, we need to present that progress to teachers (or coaches/parents, outside of the classroom). Teachers can also assign content.

Now, we're also offering features for school districts: https://www.khanacademy.org/district

Plus, there's the official SAT prep, which connects to the College Board directly to provide personalized guidance about what to work on... and that's only one of the test preparation areas of our site.

And, as you can imagine, there are a bunch of other features and aspects of the features above that I'm not mentioning. It adds up.
If the browsers in question don't correctly implement all necessary standards to guard against XSS, frame-busting, and MITM attacks, Google will do what it can to protect its users against foot-shooting.

Changing the UA is equivalent to "voiding the warranty," so I'm not surprised Google isn't taking extraordinary measures. At some point, if your users really want to shoot their feet, there's only but so much you can do to stop them.
I actually really like POST format. Very easy, very standard, very readily available.

I also like that it encourages flatter data models.
Your answer seems confused as anything. The problem domain is ethical action.

Getting into heaven or hell are why the problem domain is salient, but not the problem domain.

I didn’t say Christianity is applied to previous christianities. I said it was applied to the belief systems that existed before - I.e. the various paganisms.

This is well researched historical fact. You are the one making an error here because you are getting confused about the naming.

I’m not talking about sects. I’m talking about Christianity being applied to the belief systems that existed before in the various places where it spread.

You then go on to simply state that Christianity is not a framework.

Affirming the consequent isn’t an argument. We already know that you think this.

The rest of your statements just rely on made up stuff.

There is no such thing as ‘an implementation of Buddhism’. There is no such concept in comparative studies of religion.

You are just using that terminology to make it sound like it can be compared to the programming concept of a framework.

It’s pretty absurd to suggest Buddhism works like Ruby on Rails. Rails doesn’t incorporate beliefs and customs. Nobody believes in rails.

It’s a completely different class of entity, so at best it is a vague analog.

As such Christianity is just as much a framework as Buddhism is.
That's not true. For example, search results for businesses is still different, and many things, like reviews, are missing in Firefox.
China has a massive pollution problem.

If China were to burn all recyclables in a manner consistent with the rest of their industrialization, the process probably wasn’t very clean.

China could invest in cleaner recycling processes, but a quick way to reduce a problem is to reduce its scope, and banning imports of recyclable material is certainly a quick way to do that, everyone else be damned.

(I don’t really think China burnt all of it, but if they did and stopped this would be why.)
Not on my spacetime.
NoRootFirewall is much the same. If you can install LineageOS it lets you revoke fine grained permissions without the app knowing.
Obviously very much just pretty :p if this neuroscience stuff were as easy as a cool browser toy we would have digital immortality by now.
Or an increase in carbon soot in the stars atmosphere. Or unstable core configurations that shortly precludes going supernova.
pedantic but noteworthy: amateur radio licensees are not allowed to broadcast, that is transmit with no intention to communicate two way
The problem is that language is polymorphic.
It's reasonable to suspect that the party in charge of handling the audio wouldn't have considered that latency to the end user between the two streams would make their release not synchronous.

They may even have thought that a few seconds could still be called synchronous, unaware of the advantage this presented in this particular case.
> rather than going through tainted clergy as gatekeepers.

“trained” rather than “tainted” was the intent here.
Deep Learning Software vs. Hardware
I think there could be multiple different things that could be a trigger, or just a good milestone to use. But in general I wouldn't consider it until I had reliable, consistent revenue coming in (or had significant investment dollars) and had established all my basic business practices and that they are working pretty much on auto pilot. There is just so much to do in the beginning that you want to minimize any unnecessary tasks.

There are really talented and qualified people all over the globe, keeping it closer to your timezone in the early days just reduces cognitive load on unnecessary struggles. While I only mentioned the costs and extra work in setting this up, there are other costs which are more hidden. For example, communication delays on a project that isn't well defined (every startup ever) which requires above average feedback and iteration (totally normal) means added delays. Usually I assume with a newer remote team that is 6+ hrs ahead/behind me it will add one extra week per month of schedule to account for the delays etc. So if it would take normally 4 weeks, I'd estimate it to be 5 weeks. Sometimes of course, low coordination or well defined projects means that is only 1 day, but other times it means it is 3 weeks. This is hard to predict and is highly dependent on your experience setting up and working with remote workers, and their experience working remote. I am highly in favor of remote work, and I both employ people remotely and work remotely myself and have done so for many years. A team that is setup and has worked remote before won't consistently have these types of delays, but it is very common with newer remote teams.

Good luck!
I've always had JS off by default but one day, many years ago, fell for one of the "you have JavaScript disabled, please enable it for a better experience" banners (on a site that did not need it at all) that you'll see everywhere you go without JS, and tried it on for a moment. The page that was perfectly usable without JS became filled with mounds of ads (with sound!) and all kinds of other distracting moving blinking shit. Selecting text caused more bullshit to appear. Nope. Not falling for that again... Since that time, I've become even more suspicious of sites that ask you to do something and promise a "better experience", and have developed better intuition for when a site actually requires JS (honest-to-God interactive web applications, good ones exist but not many) or just wants to use it to shove more crap down your throat.
Do you have an example where that's the case?
Is it your "thinking" Plato's ? Or Socartes? It's probably is better to QUESTION rather than form your own INTERPRETATION. At least a dialog is formed. Maybe the acients were more informed then we are.
I had sore wrists from overuse for about 3 years. It cleared up when I started cross country skiing and jogging. It took about a year to clear up. This was 20 years ago and it hasn't bothered me since. I do make a point to take breaks, exercise including weightlifting. I also eat more protein now relative to when I had the issue.
Yes. My current estimate of the cutover, for myself, is about three weeks of solid, 40hour/week development. After that, my Python (or other dynamic language) starts the process of seizing up, where instead of rewriting some module I just put a little hack in there to make it backwards compatible with other code, since I haven't got a great way of being quite sure what's calling this code, so I use a __setitem__ or have a function that takes "a thing or an array of that thing", and I find myself increasingly reluctant to refactor the Python.

YMMV on the exact number, but that's been my experience several times now.

I know it can be done; I've seen it done, I've done it myself. But refactoring without even the rudimentary static type system Go has just becomes an increasing nightmare at scale.

And I use unit testing in Python, etc.

But, flipside, yes, Go isn't a great language for just bashing a script together in. Maybe not the worst, with a bit of library work, but not a great language.
Rich Dad vs. Poor Dad
The neural network counterpoint feels odd, but with respect to summations and integrals as leaky abstractions I think the author's point is that deploying them effectively as tools typically depends on a mountain of hierarchical knowledge on top of which elementary calculus is built. I don't know that this is necessarily a requirement -- one could conceive of a world where integrals are taught purely in terms of methods for moving in and out of that concept domain (analogous to the train/predict interface common in ML), and where people are simply taught algebraic rules for manipulating integrals entirely in the realm of integrals without relying on their pedagogical grounding in limits (sort of like how we have high-level descriptions of layers, drop-out, and other concepts that are at the same level of abstraction as neural networks themselves). I think the author claims that this latter approach is rare in mathematics, and it seems they make the stronger claim that mathematical concepts aren't generally amenable to that kind of strategy with integrals and summations as specific examples of where it's impossible. FWIW, I disagree with that assertion, but nevertheless it seems to be what the author is trying to say.
I _like_ Python. Even released a Python web framework. I think there are many projects it's a good fit for, which is why it's continuing to be quite successful, despite the pain of Python 3.

But that doesn't mean it's a great fit for all projects. Personally, I've come to find that code in statically typed languages is easier to maintain over time, especially from a big team. I guess a lot of Python folks agree, which is why Python 3 allows static typing as well.

At a certain point, server costs _do_ add up to real money and some applications are not purely database-bound. Go's tooling makes it almost as fast to work with as a scripting language, but with much better performance. The language itself is certainly not as succinct as Python, but I think it has made reasonable tradeoffs.

Also: there's already a lot of JVM on the web.

Finally, I'll just note that _not all_ Python 3 migrations are that hard. It depends on a lot on the libraries used.
Some changes are slow-rolled so if they cause an unexpected regression, impacted users are minimized.

It's possible a change is causing an unexpected side-effect with blocking these browsers (maybe they have a specific known browser config that has a problem and they botched the UA identifier to be too broad?)
I looked at the BBC reports. There's no hard evidence, just innuendo and hearsay. You're making things up.
I think all of us here remember the setup for the Wall Street crash in 1929. That was influenced heavily by unchecked capitalism, along with the pressure of WW1 going on in Europe and other world events.

One of the responses was to restrict capitalism (it became fettered vs. unfettered at the point). And it was a good one, one that has seemingly been forgotten or ignored.

Unfettered capitalism, through history, is a net loss for society. But the more we deregulate and seek profit at any cost, the more we re-align with that old view.

In this instance, Boeing seems to be ok with the death of ~350 people.
Even "hackers" are willing to give away control of their devices for so called security so no wonder things like that are happening and are the norm. Most of the people argue here that Apple selling totally locked devices that you can't open with even 100 security alerts and total wipeout is totally good because of security. And mind you this is hacker news where people ought to be curious, tinker and improve.

Of course ironic changes come from Google in the name of security who doesn't care about my data security or privacy and keeps following me around the internet like a pervert. I guess you can be a peeping Tom in real life too if you claim to keep your collected photos secure from other perverts and only sell the ones with blurred out faces. What's the harm if you can't see the face?
Do you have any metrics to back up that belief?
> Front-loading explicit study of grammar is a total waste of time.

I completely disagree, partly because studying grammar is an effective shortcut to making input more comprehensible. If I memorise the verb conjugations for Spanish verbs, for example, I now understand more information about every sentence (e.g. omitted verb subjects and tense/mood information). It will still be necessary to listen and read extensively in order to internalise the formation and meaning of the verb forms, but it skips a lengthy process of reverse engineering. Ditto for producing your own sentences, which I think is also fundamentally important for learning a language.

> Memorizing atomized vocabulary words is also relatively ineffective.

This is absolutely true; when using flashcards or spaced repetition, it is vastly better to have a full sentence with the target word blanked out compared to only having the definition.