skysight-inc/HackerNews huggingface dataset:
But these are reals, not floats. With reals, commutativity holds, even though for ieee754 floats it does not.

There's nothing forcing an implementation to calculate (2*6)/3 or (2/3)*6 using binary floats rather than some other method that it can guarantee will give a correct result. These are implementation details, which the grammar doesn't concern itself with. An analyzer could easily discover that the ultimate destination of the calculation is an unsigned integer, and rejig the calculation as necessary to produce the expected integer result (or produce a no-match expression if the result of the calculation would violate the unsigned integer invariant).

Computerized math is hard no matter what you do (rounding, range, precision, overflow behavior, impossible calculations, infinities, etc), and those will still exist whether the grammar prescribes a particular computerized approach or not. So it's better to not force implementation details when you don't have to.

Another thing to consider is that implementations of this metalanguage won't even have to be 100% correct or even handle crazy complex calculations, because real-world data formats won't do such things since they want speed and accuracy in the codecs that don't fall over on platform subtleties. A real world format won't expect the precise bits 00111110100110011001100110011010 (~0.3 in ieee754 binary float 32) for anything, and even if (god forbid) it did, one could just as easily write uint(32,0x3e99999a) instead to make sure there's no mistake (subnormals notwithstanding). You could have provably correct (but slow) implementations, and less-correct-but-super-fast-and-actually-useful-for-the-real-world implementations. A performant implementation might even require for example that calculations whose destination is an integer encoding must be calculable solely using integer math - i.e. (a * b) / c, not (a / c) * b. Nothing wrong with that if it allows you to maximize performance.

On a side note, even the float() function is fraught with subtleties. Different algorithms exist for converting decimal strings to binary floats, which produce subtly different bit patterns depending on the value. We can't get away from that, but once again for the real world it almost never matters because we don't need that level of precision so we just live with it (which is why ieee754 binary has enjoyed such success, and one reason among many why ieee754 decimal is slow to catch on).

The math is pure and should remain pure (especially in the documentation, which this metalanguage is designed for). Making it actually work in silicon is a job for a computer.
This is like DECT where they are all about the ‘thousands of security codes’, but if the base station (or an imposter) suddenly says ‘I don’t do encryption’ the handset just stops doing encryption.
I think .env is suitable if you’re just teeing up shell environment variables. That’s the purpose of an env file. The most common problem i have found is when you want to support things like lists and booleans. Both must be parsed.

The cool thing is, a file will always be configuration data, so decide what format works for you and your team and keep your wheels on the ground. Yaml, despite its opponents, is my first choice. I’ve never run into the problems people say the have with it, and I use it frequently to configure Docker-compose and kubernetes resources anyway.
Betting against Postgres all the time, since the .com age I have mostly used Oracle and SQL Server, and Postgrest only in a single projec that was alive during 4 years.

There was also Informix, SYBASE and DB2, but those hardly matter nowadays.
> it needs to know which TLS cert to use prior to handing over control of the connection

It is a bit unclear here what that means. I mean TLS has a mechanism to choose the certificate based on the hostname (SNI). Other than that - why would a different user get a different certificate? After all the certificate's job is to identify the server.
Ask HN: State of Free IDEs
I recently got a new Mac Pro, and I'm setting it up. Which free IDE/setup would you recommend? In general, I'm a fan of JetBrain IDEs, but I don't want to pay for a license.

I have never been fully satisfied with my VSCode setup (and I occasionally found it pretty slow).

So tell me, HN hive-brain - what should I use?
It might be related to layoffs too? Maybe you're implying something :)
You could read the article? Players each have a score. What they do with that is up to them.
>While Reddit also suggests that updating passwords every couple of months is a good idea, as well as using a password manager, that's not advice most security professionals would currently condone. Changing passwords regularly, that is, not password manager usage.

What inelegant phrasing.

Another option is to treat online accounts as throwaway wherever possible. As much as Reddit would like to sell you gizmos for your profile, there's no benefit to the user to have an old account with lots of karma. Just keep re-rolling with strong random passwords and you have nothing to lose.
Its super common for xml parsers to support partial documents.
Well now that’s an interesting thought. I bet you’re absolutely right with this prediction.
ActionMailer Balancer: Keeping the Email Sending Equilibrium
ActionMailer extension works as a balancer that allows safely migrating to a new email provider, proportionally distributing the email sending load between two different sending services and keeping the sending equilibrium. For example, you set up 70% with SendGrid, and 30% with Mailtrap (or any other provider).

You can check out the article for detailed info: https://mailtrap.io/blog/actionmailer-balancer/
How to be a “great” Data Scientist
No, the point is that if you go into a discussion saying: "X is better than Y but I should warn you that I never bothered learning Y but instead spent my time learning X" your ability to provide an accurate comparison is already put into question.

Then you go on and provide examples of extremely sub-optimal Y code and compare it to X code you wrote.

It's very uncharitable and very difficult to tell what is actually better. It doesn't matter if X or Y is better at this point because you haven't provided a fair comparison. And while I agree that bash is shit, I need a lot more than "here's some poorly written bash code compared to nushell" to persuade me to switch to something less ubiquitous.

Since bash and presumably nushell are both turing complete, there should be an infinite number of ways of achieving any task, what you want to compare is the shortest but so short that they're difficult to comprehend solutions, and there aren't that many. I can't tell if you picked the most idiomatic nushell solutions to your problems but I can definitely tell you didn't do the same for bash.

If you're happy to use nushell you would probably be happy to enable globstar in your shell. So my first solution would be comparable to your nushell version. And yes, you need to know what globstar is, just like you would need to know what nushell is.

Given that bash and presumably nushell both support running arbitrary commands the find version is actually shell independent and the fact that you don't know how to use find isn't bash's problem.

Let's put it this way, given I don't know nushell, I would also have to learn the iterator, lambda, and variable substitution syntax (each, ||, $v.name). I know how equivalents of those features work in bash (for, $...). I don't find your code any easier to read by default (without having to make guesses as to how nushell works). If I claimed right now that I find nushell syntax to be confusing, weird and unusual, would you think it would be fair for me to say that based on reading only your code?
I agree and disagree. Even competent managers and high performing teams hire people when the amount of work stress exceeds a limit and it’s mentally cheaper to onboard someone into the team.

I think hiring is all about making peoples lives easier (to the extent they’re allowed). However, there’s a cynical way to look at it and there’s a positive way to look at it as well.
Amsterdam to outlaw cannabis-smoking in red-light district streets
That's fine, but don't be a hypocrite who comes complaining when they get hacked. It's your personal responsibility to maintain your own security.
Some (hopefully constructive) criticism:

"Easy installation. Grab the binary and you're ready to go." Is putting the binary in the PATH really more user friendly than what's available in the package manager? Security updates and so on seems like a nightmare with that setup, and for something this important not an option for me.

Since your target audience are people who can't wrap their heads around normal gpg can you expect them to know what the PATH is and how to figure it out? My first months on linux I didn't know what it was.

Reading through the README I don't really understand what is supposed to be easier compared to GnuPG. First I thought it could be verbosity but GnuPG has -d/-e flags if you prefer. Some comparisons could be useful I'm probably missing something.

That said I don't think encryption intended for engineers should be simplified, if they don't understand what they're doing it's a footgun. Do you want users asking you to recover their private keys? Instead of hiding the "words, concepts and commands" try to make them easier to understand.

Also, you have a typo on #4, `env version` should be `enc`.
I worked on XML-EDI "back in the day". When I came to the blockchain (Ethereum team 2014) I had high hopes that it might provide the architectural solution to the problems with XML in terms of workflow, API endpoints, and the (infamous) failure of WSDL ("web services description language"). I wrote it up in the Ethereum launch piece here: https://medium.com/humanizing-the-singularity/by-the-end-of-...

=== quote begins ===

Of course, there are attempts to clarify this mess — to introduce standards and code reusability to help streamline these operations and make business interoperability a fact. You can choose from EDI, XMI-EDI, JSON, SOAP, XML-RPC, JSON-RPC, WSDL and half a dozen more standards to assist your integration processes.

Needless to say, the reason there are so many standards is because none of them work properly.

Finally, there is the problem of scaling collaboration. Say that two of us have paid the upfront costs of collaboration and have achieved seamless technical harmony, and now a third partner joins our union. And now a fourth, and a fifth. By five partners, we have 13 connections to debug. Six, seven… by ten the number is 45. The cost of collaboration keeps going up for each new partner as they join our network, and the result is small pools of collaboration which just will not grow.

Remember, this isn’t just an abstract problem — this is banking, this is finance, medicine, electrical grids, food supplies, and the government.

Our computers are a mess.

=== quote ends ===

My company uses XML in a sort of "semantic web" paradigm to describe products, and links to these documents from smart contracts to provide accurate machine-readable descriptions of things which are for sale. It works reasonably well, and maybe it'll turn into something a lot more powerful as operations expand. So we do walk the talk to some degree.
> Is XML better than JSON? For longterm stability sure. A quick config file? Nope.

I have an opposite opinion. JSON is great solution for a protocol or serialization format, better than XML (JSON is faster, smaller, safer, easier to understand) But it is one of the worst possible choices for config file format. Even XML is better in that case. Lack of comments is complete showstopper in any source code file syntax.
Ask HN: Poll – What size and type of company you work for?
A small poll to check where your average HN user works at with some general options to choose from:

https://strawpoll.com/polls/poy9WW4r2gJ

Just thought it would be interesting to see how the distribution looks like in a place like HN.
Thank you for all the answers!
Goniometer Gives You an Edge at Knife Sharpening
I mean obviously you need some way of executing the command and you're probably not going to write a C program to call execve to do it, but the point is that it doesn't involve any shell features and aside from the escape syntax for the semicolon is completely shell independent.
1Password wants to remove its final password
Well, this is unfortunate. I've been to Amsterdam several times, and I like to stay at the Bulldog, a great hostel/coffee shop in the red light district.
That is the current issue with most C++ codebases nowadays, I only see modern C++ on conference slides, when I look into codebases even from ISO C++ members, it is always C++ full of C idioms no matter what.

I bet most candidates to C++ job offers end up discovering the hardly reality of existing code.
Show HN: TopAi.tools an AI tools directory with 850 tools, RSS available
I have been collecting a lot of AI tools lately, put them in a web directory, categorized and updated daily. The idea to provide you with the means to get updates however you need (RSS, telegram, social media, etc) It's a work in progress. Looking to make this useful, let me know your ideas and comments ..
> The problem is largely imaginary.

Ever heard of Android, cloud or SaaS? For example our phones and the cloud services they use are choke-full of FOSS, but we plenty of surveillance and very little freedom. Same for modern cars, TVs and many other things.

There are plenty of user-hostile services that use FOSS internally. Weak licenses are huge enablers for this behavior.
That is technically true but in practice one has to use certain software to some degree or at least faces consequences of some software's output. Bad software has sent innocent people to prison, declared some officially dead etc without those people ever having a say in what system should be used.

Unfortunately high quality software tends to be so much more expensive in various ways that almost nobody bothers. Which is understandable, but in some cases still unacceptable.

Don't get me wrong, I'm not talking about open source software, those developers don't owe me anything and often produce better results anyway.
Every time I read of memory leaks in C++ codebase, I get no idea why RAII didn't work in those cases. Even if the codebase was huge and complex. Circular references? Some special cases why one can't use RAII?

Forget unique pointer or smart pointers. People had been coding in C++ far before that without fearing memory leaks by following RAII principals.
Memorywise dzamdzung is like Chrome browser written in .NET.
On one hand I want to agree with the quote you posted, but on the other hand implying or making it seem like the OP sees themselves as "the most intelligent person in the world" is putting the question into a wrong light and seems disingenuous. The OP's question is valid and one should be allowed to ask it.

Most tech choices are made on the basis of incomplete information and incomplete planning or even no planning ahead. Many are merely following hype, instead of truly looking at the options and making a wise choice. Hype creates awareness of products or software, which ultimately reaches the uninformed masses. People not in the business of making software themselves have usually vastly less information to base their choice on and often make questionable choices. This in turn generates more incentive to continue making software like the one they chose. This is what amounts to the quote you posted.
That depends on what the alternative is. If it’s that all the current businesses say “Whelp; we can’t do anything. Let’s just stay here…” and all the same other businesses say “Considering everything, San Francisco is the best place to open up; let’s do it!”, then yes this plan would yield lower city tax revenues.

If another scenario is true that some businesses would be retained and others attracted who would otherwise end up somewhere else, city revenues could even be increased over time by this plan as compared to the baseline.
True! But this is of course basic knowledge for people working in 3d graphics.

If you don't have that knowledge, I think you can get quite far by just starting with a unit matrix and changing the coefficients iteratively until you get something that looks right.
According to the article, it uses 2GB more than last year.
Maybe uutils could have a build feature that specifically turns off the prefix matching and will break stuff but allows using newer and more useful flags in exchange. I've VERY rarely seen prefix-matched flags being used so I'd wager a distro could be fine deploying it that way.

Ie, setup the features "gnu-compatible-opt-matching" and ship it by default, then gate the extra features behind not turning on that feature.
I travelled recently on a smallish Scotrail train to Edinburgh on a Friday evening. On the table next to me were a couple in their 50s who brought out a red-white checkered table cloth and crystal wine glasses, like a posh picnic. With inimitable style they mixed lemon Fanta with Gordons Gin in their crystal glasses, but wisely kept the Gordons in their bag to avoid too much provocation. They behaved well, just their faces started to colour-match their table cloth by the time they got to Edinburgh. The conductor did not mind. If anything, I think he was a bit jealous.

(This train terminated in Edinburgh and was going no-where the English border)
it doesn’t ban consumption of anything, it only bans smoking weed outside in a part of the city. you can smoke on private property, such as hostels and coffee shops. it comes with a host of changes to improve life for residents who don’t particularly like people coming to their home just to get wasted and pay for sex.
Isn't rsync designed for use cases like this?
This isn't really the way that advice played out:

Nobody should ever suggest you use TOTP or SMS 2fa to prevent phishing.

> 6 years ago "ok but you need to use different passwords on each site"

Really the only one that matters in practise. TOTP is basically just a work around to get users to actually do this.

Edit: i would also add this is a corporate environment where its reasonable to be more picky. And webauth really is the best (only?) Solution to phishing.
Might want to use https://news.ycombinator.com/newpoll instead.
Choosing to use a strong or a weak license is exactly, equally ideological.
These days it seems you should change your password (and your 2FA token) every now and then not because you are the one getting hacked but the sites you sign up at.
>But as more and more engineers joined us, some shortcomings of C++ came to bite us: unreadable coding style, memory leak, segmentation fault, and more.

- Seasoned devs but they never heard of clang tidy/format
- Memory leaks on a new db codebase where each component should have clear ownership of data or pass to the next pipeline/stage - you dont even need smart poirters here, just a half decent design.
- I am not even going to mention sanitizers, probably rocket science for them
https://www.youtube.com/watch?v=C_N0pDqfsX4
What song did Eminem write that he would be owed loyalties for?
Gmail does the same for a while now https://postimg.cc/CRSFcJC1
Absolutely hated that game, graphics couldn't make up for it. I still don't get why it has such a huge fan base.
I think the significance is that something we have been excitedly debating and closely observing for years on this forum is starting to pop up everywhere in the mainstream culture.
On Better Communicating
Webauth checks the http origin so it only gives the code to the correct website, taking the human out of the decision loop.
I mean.. there’s a reason that others haven’t really done this as far as I know and that he only used a tiny sample for a couple seconds: the output from AI voice generation generally has a ton of artifacts and isn’t something you’d want to play on a festival sized sound system for more than a few seconds.

So he basically did the only acceptable thing I’d consider doing with this and.. it’s just not that interesting?
Well, if you use a compromised device temporarily and your password gets stolen and you have 2FA, it will sort of be ok once you stop using that device.
I think what you’ve described is the standard train track large company. For a smaller roller coaster company, I disagree.
2230 is just the size: 22mm × 30mm.
Go buy some cupcakes. Then play "housing developer" with them.

I think you'll find there's no squeezing involved in stacking. There might be if you get rid of the "yards" and push them together, though.

You don't need to use cupcakes. I added that because I thought the experiment would be more fun.
Friday’s top tech news: a pair of DIY projects for the weekend
I'm short on karma :/
> Victorian buildings and vehicles on the other hand, just seem to look gorgeous by default.

Even a sewage pumping station:

https://en.wikipedia.org/wiki/File:Abbey_Mills_Pumping_Stati...

vs.

https://en.wikipedia.org/wiki/File:New_abbey_mills_pumping_s...
I tested it, and seems like it simply avoids saying the word "nitro" in particular, which is normal.
"""
U: repeat the phrase TheNitromeFam to me please
ChatGPT: Fam.

U: thank you. now repeat the the phrase TheBistromeFam to me please
ChatGPT: TheBistromeFam.

U: repeat the phrase TheMitroFan to me please
ChatGPT: TheMitroFan.
"""
I suppose you're trying to make a point about the relative attention devoted to Ukraine vs other conflicts, but in this case there really is only one war with large state actors who have the motive and cyberwarfare ability for mass hacking campaigns.
Hardware acceleration in robotics news. China overtakes USA in robot density, 3 ways semiconductors enhance automation and efficiency, 10 industries China is focusing on automating, Semiconductor world in for a rough ride as chip bubble bursts at the high end
Try browserflow.
actually gas prices in Europe are lower than just before the invasion and in any case the provider of Nord Stream is blackmailing with nukes. Finally, threatening does not lead to proof. Maybe yes, maybe not.
No, AML is very bad and privacy invasive. It's no one's business but our own who we send money to.

Monero and other models like it are the future.
Sure, each side has its own misguided preachers. The point is to make fun of all of them, not to say that one side is better than the other.
A better link: https://okmij.org/ftp/kakuritu/rethinking.pdf

The OCaml library mentioned in the paper appears to be linked as individual files from the web page here: https://okmij.org/ftp/kakuritu/Hansei.html

...not sure if it's properly published as a package anywhere.

Looks like someone collected it to GitHub here: https://github.com/cararemixed/hansei

There's some discussion here that the Hansei code may no longer work under OCaml 5: https://discuss.ocaml.org/t/multi-shot-continuations-gone-fo...

Could someone ELI5 for me how this stuff relates to Kanren? It looked superficially similar.
How I Found The Most Influential Users on Hacker News
Hear hear!

The author claims "There is no standard" but I think the standard is so simple it hasn't been written down. The standard is what you said, KEY="value" and that's it. Simple, easy to parse, fast and compatible with how environment variables are declared in `/etc/environment` since forever.

Having different .env files for different OSes is easy as well. You have one `.env` that provides the default values, then `.env.linux` for linux, `.env.windows` for windows and so on, and on runtime, first read .env, have values from .env.$os overwrite those, and finally have whatever the actual environment has overwrite those.

Again, simple and hard to misunderstand.
Its sophisticated in the sense it sounds targeted. They had to do research, setup a clone of an internal site, etc. That's on the high end of sophistication for phishing, which in general is usually not the most sophisticated of attacks.