skysight-inc/HackerNews huggingface dataset:
I consider it likely that the entire system is compromised. I saw with early Tor that if a network is both truly anonymous and advertises itself as truly anonymous, deviant material is accessible everywhere. Tor didn't stop advertising itself as anonymous yet defiant material is a lot rarer, which tells me that it may not be as anonymous nowadays as they say.
Both are valid. It depends on the footprint, type of SaaS (e.g. running complex offline-processing vs running heavily customized web-shops), your PII regulations and your ideal customer type and size.

It can be easier to have custom subdomains running separate instances, since this will limit how outages/upgrades/security affect customers. You also can intentionally keep a customer on an old version, which can be a bug or a feature.

But it can also be easier to have tenants, since you can update all users at the same time and you will pay less overall for infrastructure.

Having done both, I personally prefer tenants since it's easier to write, support and scale. But if you're B2B, you should carefully investigate the other option.
The reason it's not a fair comparison is because go is a barely typed language that requires casting to interface non stop
> They hypothesized that Covid-19 inflammation causes muscles across these systems to become overly coupled, resulting in a less complex movement.

Is this due to the muscles being inflamed, or your brain not sending the correct message? The very first symptom I had of covid was having difficulty talking; I was struggling to come up with the words to say (I'm not the most articulate person at the best of times.) That progressed to my brain not working.
Vault looks cool, but looking at the reference architecture [1] my guts tell me it's much easier to fuck up setting up a Vault cluster than environment variables.

[1] https://learn.hashicorp.com/vault/operations/ops-reference-a...
There are actually key/value stores that solve this securely, such as Hashicorp Vault.

The issue isn’t that it can’t be done but more that most people either don’t already know it can be done or don’t want to invest in the infrastructure to do it.

Regarding the latter point, for self hosted solutions I can sympathise a little and it’s really a question of risk analysis. But most cloud computing services do offer their own secrets management service.

(not affiliated with Hashicorp and other services exist).
Are secrets specific to docker-swarm? If you're using plain docker, I imagine this wouldn't work?

k8s has its own secrets system built into deployments. I haven't used it though. I've been at shops that use k8s+vault, and other places that uses marathon/DCOS+consoul.

If you're on AWS you can use pod2iam in a k8s cluster and then use the SSM parameter store to encrypt/decrypt secrets based on pod roles. I'm sure Google Cloud must have similar services.

The most agnostic way would be to mount in a file or volume at runtime. It's still accessible to the process, but just via the filesystem and not via environment variables. You still need to program with security in mind, but it's less likely for inadvertent leaks; basic layers of security. From there you could use something that encrypts that mount at rest and decrypt it when you start the container.

> Environment variables are passed down to child processes, which allows for unintended access.

Doesn't this depend on how you create the new process? fork() would keep a copy of the env in both parent/child processes and exec would keep the env because it replaces the current process. But if you start a process using something like the subprocessing module in Python, it would give you a fresh shell for that process, right?
So if you focus on my first sentence maybe you can understand what do I mean.

> There's no such a tax avoidance rule that is allowed and tax evasion is not.

As I've said in many European countries both avoidance and evasion are illegal and my reply was about that since the OP implied that avoidance is a good thing while evasion is not. I let you read the other replies in this thread for the link that prove the charges to Google in Europe as I'm tired to post it.

P.S. Europe is not one country as is US and we don't have a federal state. Again, as I've stated many times, many European countries had this rules way before they were standardized at European level as testified by the fines that Google, Apple, Microsoft, Facebook had got in some European countries for tax avoidance.

Hope this clarifies and thanks for your link I gonna study that.
That's the goal :) But without artificially limiting features.
SWR – Data Fetching for React
It is a fixed-sum game for Google's search product. There's only so many searches that people can/will do in a day - we're probably nearing that limit - and Google already has >70% marketshare in search. The only way to increase revenue is to get more money per-search. Hence the increased number of sponsored placements and other revenue generators on the first page of results.
Their response to my post certainly makes it seem so.
You should feel privileged to consider investing $10k and a month's worth of time "accessible".
This has been on my to watch list for a while! Saw the first couple of episodes. Wholly different pace to documentaries today!
The plain config file must live in memory (tmpfs). The encrypted config file on a hard drive that is accessed only to decrypt the file to memory.
I'm in the OMSCS program. It sounds like you might want to be involved in an Educational Technology project. David Joyner [1] is a professor in the OMSCS program and does a lot of research into MOOCs. You might want to look at some of the research groups / projects his lab is involved with as a starting point.

[1] https://www.cc.gatech.edu/people/david-joyner
Just make it so word documents don't look like garbage.
I bore/regale/tell/tormwnt everyone I talk with about anything math related, that mathematics and calculation (with numbers) is entirely different abilities. I do this because I've heard so many stories similar to your about people thinking they are bad at math where the only issue turns out to be the digits, numbers, and holding them in you head. Which, quite frankly is not something very relevant to most of mathematics, and as you relate, when you get at ease with the actual math, dealing with numbers usually gets a bit easier.

If not, there exists specific training that helps a significant fraction of people to get better at handling the actual numbers, training which also is completely unrelated to maths.
I came across a blogpost describing this workflow recently and I'm curious to hear HN opinions about it. Any pitfalls?

https://matthewdowney.github.io/encrypting-keys-in-clojure-a...

1. Generate a new set of API keys.

2. Read my encrypted map of keys from disk, decrypt it with a passphrase, assoc in the new key & secret, encrypt it again, and write it to disk.

3. At the entry point for my application, use (.readPassword (System/console)) to securely read in the passphrase, and then use it to decrypt the key file and read it into a Clojure map.

4. Instead of passing the key map around (allowing it to potentially escape into a debug log, or be printed at the REPL if I do something dumb), the top level code of my application passes the credentials into a signer-factory for each api that closes over the credentials.

;; The factory is shaped something like this
(defn request-signer-factory
[{:keys [key secret]]
(fn [request-to-sign]
(sign-request request-to-sign key secret)))

;; Then an API endpoint looks like this
(defn place-order!
[signer {:keys [price qty side market post-only?]}]
(let [request (comment "Format the order data for the exchange")
signed (singer request)]
(do-http-request! signed)))

I like this workflow more than others which are centered around only encrypting credentials inside of your Git repository, and decrypting them when you clone / pull, because it means that not even on my development machine are keys just sitting around in plaintext.
Thanks for the post. If (as I assume) China is not the primary market for your product, how much of the final price is determined by shipping from China to intermediate warehousing locations or to customers? i.e. if you were to manufacture in the market you're selling and save the bunker fuel costs (again - assumptions) of transporting in containers from China, how much does that offset increased labor cost?
It's not wrong. I didn't mean to imply that. I just mean that saying non-GC languages are about performance overhead of the garbage collector is missing the point.

Sometimes, it's convenient and easier to reason about stuff when you can predict when something is actually dropped from memory.

And in Rust, you wouldn't create those memory bugs you're worried about. (Well, you can, but you have to go out of your way to take the safety off :)) That's kind of Rust's whole "shtick"
Of course, but they still make an effort (and a policy that will be applied to you if found out). They have to, it's their responsibility. If suddenly half the network is saturated by people using browsers to torrent the latest movies, you can bet that the answer won't be "we need a bigger pipe"...
How to Simplify a Conceptual Model by Uniting Diverse Mental Models
I think what the author means is environment variables are particularly vulnerable to being logged by accident, because:

1. They're stored right next to variables like PATH, JAVA_HOME, LC_ALL and PYTHONPATH which people might plausibly decide to log out every time

2. They'll get printed any time someone writes a shell script with set -x then uses the environment variable.

3. They'll probably end up in your developers' ~/.profile or ~/.bashrc, meaning any program logging the environment will log it, not just your program

4. Because they'll be in ~/.profile or similar, the secret will be in a file on disk anyway and a secret that's in one place is always better than a secret that's in two places.

With that said, a lot of CI servers that support "secure variables" offer those as environment variables and nothing else. So I can understand why people might end up stuck with environment variables despite their downsides.
> At a previous job I helped solve this problem with a really elegant solution

That distinction might go to something packaged in a single .h and .c file, if it passes additional smell tests.
Show HN: 3D Character Damage with WebGL
I really don't know how Windows' automatic upgrades work, but I would be baffled if an UART driver was updated on-the-fly while it's being used.

If I receive constant 1Mbps stream, the PLL doesn't even have time to stop/start? Or drivers are supposed to handle upgrade hand-off? Sounds crazy complicated, and I don't see the point of such a feature
I envy your confidence.
Performance Improvements in .NET 5
Google to pour $10b into India's digital future
Ah yes. Which is only sometimes responded to, and if so, with a "Check your SPAM folder" email.

If you respond to that without technical data, then you're basically saying "No, I did not receive it", and their response is "Your gmail lost it" (because mail = gmail).

The problem is that emails sent with "I didn't get the confirm email" are immediately thought to be "user error". And you know what?

99.9999% of the time, they surely are. Bad email providers, lost in SPAM folders, even missed in INBOX.

So if you don't include tech info, you're stuck in this category, else many exchanges back and forth.

Because once I then respond with technical info?

You get the same glassy-eyed type of incomprehension, with often zero response. Or a response that invites another 5 back and forths, with the other side upset, because now they feel ignorant.

I feel there really is no proper answer here... except, I still have to try. :P
This depends on monetization.

If you're selling copies of newspapers, 2 purchases by 1 customer = 2 purchases. The number of customers is irrelevant.

If you're monetizing via on-page ads or affiliate links (as the author is), revenue is much more likely to correlate to unique visitors than to page views.
Again, can't speak for haskell.

In agda you usually have 2 goals creating a function

* Proving a property of some other object. In this case you have to write the type first since type is the theorem you want to prove, and implementation is the proof.

* Implement a transformation. In this case, as you described you might get away first writing the impl, and then the type, but I personally never even attempt to do that since writing out the type gives me a lot to think about the implementation of the transformation. Once types are explicit, implementation usually ends up being a lot more obvious.
It’s also part of why so many things that’d be better on TCP sockets end up being implemented on top of HTTP... and then actually see adoption in that form. A combo of JS limitations and firewalls aggressively blocking everything that’s not HTTP.
> China will never develop a consumption based economy with its aging population

Why is that the case? I assume older people consume more than younger ones, esp healthcare
Obviously there are tools, books, houses and buildings. A civilisation doesn't just vanish, it leaves a mark on the world.
> If an application spawns a sub-process, that sub-process will inherit all environment variables. Which might be fine or might not be, e.g. if the spawned application is user controlled.

Right. But isn't that well known?

Of course you have to explicitly define which environment variables are passed through to the process you are going to spawn, just as you would have to drop permissions to (configuration) files and possible limit capabilities if you start spawning untrusted processes.

IDK... For me it make sense that you should not give secrets over the command line, because they will appear in the program listings, but environment variable is pretty much ok in many cases.
I mean, if the argument against it is: what happens if I run arbitrary code in your server? The lease of your problems is having secrets in your env...
Also this pattern makes path traversal vulnerabilities (a thing not uncommon in web frameworks) have the potential to allow for privilege escalation on Linux via the /proc/self/environ file.

I've been on a pentest where a recently disclosed path traversal bug in Rails was not patched in the environment I was testing and I thought I would get at least some credentials from at least one service, but every host used a dedicated API for secret retrieval and there was nothing sensitive exposed via any system.

Maybe your threat model doesn't care, just adding a data point.
If the Indian government is not afraid of contravening Indian laws, it can grab Chinese shares anyway.

If it wants to maintain the appearance of being lawful and fair, there is already an Enemy Property Act, 1968 to more or less support grabbing Chinese investments (perhaps with an amendment or two). Under what pretence would they grab Ambani's property? There is Eminent Domain in India, but only AFAIK for land ownership, and even that requires fair compensation at market prices.
If you want a modern BASIC experience, Risc OS Pico on a RasPi Zero is a very good one.

1GB flat memory space, a blindingly-fast 32-bit structured BASIC with local variables, named procedures, IF...THEN...ELSE and DO loops and so on, and it supports inline ARM assembly. You can enter ARM assembly language directly into your BASIC listing in the same editor, and it will be assembled and run when you type RUN.

On a $5 computer.
Tried it and created a site but when I click on the site it sends me back to the homepage. Not sure if I'm doing something incorrectly.

This looks really cool!
It reminds me a lot of .Net Core's newish "Secret Manager."

They created a user profile storage vault that's outside the deployment/source code path (like ENV variables), and then for some inexplicable reason tell you not to use it in production without good justification anywhere and to use their paid service instead ("Azure Key Vault" $3/100K requests) which is multiple extra points of failure (even ignoring Azure's reliability problems).

Naturally people will repeat Microsoft's advice verbatim without justifying it themselves like this SO answer[0]:

> Don't use app secrets in production. Ever. As the article says DURING DEVELOPMENT.

But WHY?! And the article they linked doesn't tell you WHY either, just points to a paid service. And when these people get poked for an explanation, they just wrap the same secrets in another layer of abstraction, but really haven't changed the security of the operations they're performing.

For example if a server node gets compromised and that node is authorized to make requests to "Azure Key Vault," it too can request the keys. The abstraction may make sense for public-private key scenarios where the actual private certificate is never returned, but a lot of what the "Secret Manager" returns are raw database credentials and encryption keys, making this paid abstraction more beneficial for centralized management than actual security.

If people want to argue for more abstraction: Fine. But they have to explain the logic behind the security.

[0] https://stackoverflow.com/questions/39668456/how-to-deploy-a...
New Transformer Container and Notebooks by Hugging Face
There is a bug in 2.2 which prevents websockets (and other tunneling protocols?) from working[0]. Maybe what the OP is running into.

[0] https://github.com/haproxy/haproxy/issues/737
I do this too and it's so easy to manage all your local and remote environments from one place, I go one step further and push them to my environment variables too rather than use a dotfile
> You have dismissed it as "emotional ramblings" because you are ignorant and you are prejudiced.

You're damn right I was ignorant. Luckily you decided to respond and now I'm a little less so :-)

I however, still think however, being unnessicarily melodramatic. This isnt some war against your religion. They aren't targeting your specific religion, quite the opposite in fact, they're giving them no special treatment. You may indeed, have a different argument, perhaps that the government should have less or no involvement in healthcare, or that the requirements for coverage should be less rigid.
As a spec user in production, I must say it's very nice usability-wise and can help alleviate most of the issues coming from a lack of a type system.

But god it's slow... Some static analysis support would also be hugely appreciated. Not being able to check everything doesn't meen you shouldn't attempt to check something! Many specs are type predicates anyway.
Primo: top quality

AF: as fuck
Seems like I can't load search results beyond two pages. I searched for a term and after the first page, clicked the "show more results" button and got a 2nd page, and then no more. The button didn't appear again. I know for a fact that it was a common search term with dozens/hundreds of pages worth of results on other search engines.
>I have medical problems that fall through the cracks because of it. I have suffered immensely because of it.

Not surprising at all, this is generally the time when people see the incompetence, arrogance and lack of integrity of the 'experts'. From then on all expert opinion is suspect.
US dollar is a prefix currency sign. All your dollar sums should look like $<sum> (Euro is also prefix, BTW). Compare [1] and [2].

[1] https://en.wikipedia.org/wiki/Romanian_leu#List_of_current_b...

[2] https://en.wikipedia.org/wiki/United_States_one-hundred-doll...

Sorry for nitpicking, it really bothers me when such small and easily correctable error continues.
> IIRC, it could manage list comprehension but not loops.

If it was like the predecessor system I worked with, it could handle either. But in a list comprehension, it could figure out the individual dependencies of the individual list items.

So, suppose you had a a function that took in a list, and returned a list with some computations performed on each element. If done with list comprehension, and one input element changed, only the corresponding output element would need to be recomputed, and only that would be recomputed.

If done with a loop, and one input element changed, the entire output array would be recomputed (even if all but one element remained unchanged - it would be hard to guarantee that property by code inspection at the time the dependency graph is built).
I don't understand why we have to put them into the environment in the first place (and then make sure we scrub it). Isn't it just as easy to read the secret from a file?
Writer Neal Stephenson Thinks We've Gotten Dystopia All Wrong
The 994A had amazing potential but TI crippled it too far.

What it should have been able to grow into was the Geneve 9640.
https://www.ninerpedia.org/wiki/Geneve_9640

I'd love to see an FPGA re-implementation of one of those.
I have the same impression. Not only the searches are more and more returning the most recent results, but often returns sets of result that aren't domain specific or plain ignoring keywords. The market seems to be primed to have a competitor with a better filtering algorithm to sort out the actual content from the hip and junk.
Walt Disney’s Empty Promise
It could become a success later.

Two mistakes it made in hindsight.

Launched without allowing you to watch on your computer or TV which just severely dampens network effects from happening.

Launched only with celebrities, paid at high prices, which burned way more cash than they needed to, didn’t get lots of people’s best, because lots of times they were only their for a paycheck. Would have probably made better content if they scoured Instagram and YouTube and offered some talented creators a chance to make something special.

They’d save money and have more shots to have a hit.

Which would have had everyone needing to pay the monthly subscription fee to be part of the zeitgeist
Shipping small items in quantities surface is cheap.

The issue with China now is 25% Trump Tax, which is huge. For less sophisticated goods, Malaysia, Vietnam, etc. are becoming options.
DDG doesn't run its own crawlers- it has a contract with Bing for that. DDG is a privacy-protecting wrapper around core Bing search.
How to improve your website performance
How exactly do these things translate into profit if the goal is to acquire information for free? I get the model where I search something and click on an ad suggestions and that earns google some money. But I don't get the the model where I want to learn something and rather than clicking on an ad or a wikipedia link, google just tells me what I need with no click?
It's how one might say "premium as fuck" in a casual context.
The Floppy Disk of Floating Point
> I didn't really follow this part, since the operator should be running on the master nodes as a k8s extension, not in the pod which it manages

I agree it should be separate, but operators in no way need to run on k8s masters.
I don't get it.

There are dozens of amazing open source projects posted on HN every week, and on average, the ones out of these that are outstanding and could be turned into a business model are countless every month.

So I don't understand what makes this project stand out so much that it's like leaving money on the table. (this is the first time I'm seeing a comment where the money is apparently on the table because the project is so good).

Good software product/service is a tiny aspect of doing business and turning a profit. The money doesn't appear magically on the table!
If that's the case, then great - but to my ignorant eye the warning notice at the bottom seemed to imply there were some (or, at least - as a passerby - I am perhaps unsure what merits a 'strictly necessary technical tracker') and then there's no visible opt-out. Which makes sense if there's nothing to opt-out from!

I must admit, I assumed a dark pattern was at play.
I am from Honduras. I think you are crazy to drive a US car there.

Whenever anyone talks about how bad things are here, I invite them to Honduras, especially if they make claims like “nowhere is as bad as the US”.