skysight-inc/HackerNews huggingface dataset:
Very cool! A couple questions/suggestions off the top of my head:

1. Did you consider using a keyword like `let` for column declarations, e.g. `let gross_salary = salary + payroll_tax` instead of just `gross_salary = salary + payroll_tax`? It's nice to be able to scan for keywords along the left side of the window, even if it's a bit more verbose.

2. How does it handle the pattern where you create two moderately complex CTEs or subqueries (maybe aggregated to different levels of granularity) and then join them to each other? I always found that pattern awkward to deal with in dplyr - you have to either assign one of the "subquery" results to a separate dataframe or parenthesize that logic in the middle of a bigger pipeline. Maybe table-returning functions would be a clean way to handle this?
I don't see the user's address listed. I checked and the two addresses I do see are Whole Foods locations.

>Google provides the same amount of data (or more) if you ask :)

Facebook too. And Apple and so on. Doesn't make it a good thing.
Convenient (version-addressed!) FHSUserEnv is exactly what I want out of Nix. Land me in an environment that has a list of deps (at specific versions, not hashes!), let me go mess with it.
Use your browser's "Find on page" feature and search for the term "copy elision". There's an entire section on it.
I've been using NixOS for years and this article made me reflect on the nix language a bit. The nix language is weird looking, particularly if you don't have haskell/ml experience. It also has some unusual semantics that make for punctuation being necessary in places it otherwise might not.

However, I think what trips people up is how foreign the semantics for the nixpkgs standard are. If you are spending all of your time confused and there's this thing that looks weird and confusing, which one are you going to blame?

I will say that a dynamically typed lazy language is its own special hell for debugging though. The only sane way to find an error is to:

1. Start with something that is error-free

2. Make a single small change and see if it is still error free

3. repeat until you get an error; that last change is where the error was. Unless of course you just caused something else to be evaluated that wasn't before. Then that something else is where the error is.
If there's no expired support contract, that would be making a false statement of fact in order to get someone to sign a contract and pay me money. It's plausible that that would be fraud.

Of course it's also plausible that that's not fraud at all. But I have no way to know for sure unless I ask a lawyer, which needless to say I wouldn't do. And if it turns out that it is fraud, well, the legal department of Fortune 500 companies tends to be pretty humorless.
Ask HN: What Is Pay-for-Performance
I've worked at two different companies that have a compensation plan that is "Pay-For-Performance". The description provided is "We pay high performing employees more". This is really obvious. Why does this need to be said? Are there alternatives to "pay for performance"?
Thought about this a handful of times in the past couple of years. My family is composed of mostly materials engineers, fab engineers and mechanical engineers. I'm one of the few who _chose_ to work on computers from the start.

In the end, these people get funneled into cubicles to do CAD/CAM work and spend their day fussing over customer foibles.

The pay is basically half of what I do and each promotion is more of a life event than anything. I've earned more per year in 5y in cybersecurity than my brother has in 18y as a fab engineer.

He loves his work though. Certainly has more days where he's pulling out his hair because he has to work alongside blue-collar, disinterested young adults though.
No it really is not, but nice try and great meme!
If you are dealing with 1000s of cases, you can't apply nuances to every single of them.

You are all are supposed to be smart software engineers. Probably know about pre-mature optimization and efficient path.

Here's a secret about communications -- Mass emailing works and is very efficient.

I'm sure you are the same person who rants about a recruiter reaching out to you even though you are the creator of Python.

Reading through everyone's resume and tailoring a message is a waste of time and has the worst ROI for any salesperson.

"But Ha Ha Ha, you guys are clueless about not knowing operational efficiency of an mass communications. Ha Ha Ha"

Yeah, that's exactly how this sounds if the other side mocks HN/Engineers the same way you mock Sales and other "mass-outreach programs"
Major Canadian city:

Recent free government PCR with swab pharmacy took 3 weeks to return results (lol). Private clinics fine, but expensive ~$150+.

No rapid tests kits for purchase, can do at pharmacy or private clinics for inflated prices ~$40 per test. I think 100M kits landed in early Jan, don't know how they're being allocated.

Meanwhile, colleague from Abu Dhabi, UAE has ~$10 PCR tests with less than 12 hour turn around for their surprisingly well managed vaccine passport app. His household has racked up over 500 PCR tests (for travel between emirates), most of it free since beginning of pandemic.
Still provides a good faith reason why an Amazon employee might see this and think "I need to apply the company policy on PII here" rather than a nefarious "you are making us look bad"
You might enjoy Stripe's "APIs as infrastructure: future-proofing Stripe with versioning" -- https://stripe.com/blog/api-versioning
Original HN discussion: https://news.ycombinator.com/item?id=15020726
I don't know why you would doubt this. Windows updates have been doing this for decades, first with Internet Explorer when they were battling Netscape/Firefox and now (apparently) with Edge.

edit: clarity
Great analysis, and also, contrary to popular belief, reflects what I learned in history class in school in my red state in the 1990s.
SPARQL. Representing human information in relational tables goes against how people actually think and use information. We humans think in tremendous numbers of nested hierarchies, and recursive hierarchy traversal is a nightmare in relational databases. A graph is the structure for data that works best, is most efficient, and actually reflects how things are connected in our brains.
Sure, but if the BTC prices rise enough then it is in every transaction recipient's benefit that the network is mining even if there aren't any new coins minted, to avoid a "51% attack" / double spend attack.
We're hoping its more of a 'typescript' but yeah :)
What notion of the Confederacy exists outside of the institution of Slavery? It's so core to the DNA of the founding of the Confederacy that it almost seems nonsensical to suggest waging a war to free existing slaves, when that would've led to the same outcome of the total dissolution of the Confederacy.
You are so misinformed about web3 that you think BTC is in anyway related to web3.
The fact that filesystems casually allow TOCTTOU races—and that those races cause security vulnerabilities unless you delve into arcane, OS-specific syscalls like renameat2—is an embarrassment.
edited, thank you.

To answer your question, adjectives related to intelligence are ableist in origin. I don't think this needs to be explained and it's not my job to educate you or anyone else on this forum.
Yeah I mean the story is already 'Facebook is the leader in augmented reality' not Facebook bought oculus and several leaders in augmented reality. So odd to me how companies, CEOs get credit/reverence from people for things they had no hand in.
Maybe not the healthcare provider, but a service that allows the patient to be in control of their health records. Control who can read and write to their own data.
And is it not up to the implementor of the blockchain, to specify how difficult it is to calculate a new block? So lowering the "gas price"?
-banned ethnic Russians from position of power???

This is so laughable for anyone from Ukraine. President of Ukraine is a Russian-speaking Jew. There is no checking whether you are Ukrainian or Russian in Ukraine, most of the people are from mixed marriages between Ukrainian, Polish, Russian and so on. There are plenty of russian-speaking people, who are from east and south of the country in both parliament and Cabinet of Ministers.

Previous president is on trial for treason - why it’s a bad thing in itself? The guy was a war hawk, actually. It’s actually president, not prime minister, you don’t even understand how government work in Ukraine

There were no points about “minority rights” in ceasefire agreement.

Are you just some British dude, who likes Russia Today?
Or Polish, due to the very niche story about transit?

You are arguing that war in Ukraine is fine, because Ukrainians are bad people, amazing. Really hope to meet you someday.
The risk that your service becomes faang popular and you suddenly need unlimited everything and need it immediately?

It is possible but highly unlikely. The more likely scenerio is you just continue overpay like a lot of others waiting for the moment. If that moment happens you realize with the sudden popularity your store inventory is sold out so you couldn't profit off of the extra traffic anyhow.
and I mock you for being clueless about how mass outreach communications work
I recall an incident of large company paying whatever bill they receive and only to find out that they never had a contract with some of the companies and never receiving any service.
I think if there was another Krakatoa, it would eclipse Covid in the news cycle for weeks.
I assume that message is used for both trojans and copyrighted content and that there's quite the overlap there.
> I’m going to update towards thinking that integers and square roots are much scarier, richer objects than I’d thought. I’ve updated to being more scared of real numbers than I used to be—they have all these sketchy properties like “almost none of them have finite descriptions”. Real numbers, and sets, and logical statements, have all started feeling to me like Cthuluesque monstrosities whose appearances are only tolerable because we only look at the pretty parts of them and don’t let ourselves look at the horrors that lurk below.

I don't know much number theory but whenever I poke around at stuff like the Collatz conjecture, it seems like there is something profoundly weird about the interaction of addition/subtraction and multiplication/division. Like each of those pairs defines a totally separate universe and moving between them is irreducibly hard even though the members of both are "just" numbers.

By that I mean you can have a number that you understand perfectly well one side (for example, as a set of factors in the world of multiplication). You move it to the other side and perform a trivial operation (say add one). And now you know nothing about it on the other side any more.

Maybe this is just me knowing very little about the field.
Yeah, this is pretty obviously something that their support team copy-pastes everytime they see someone posting potentially revealing information with the keyword "amazon" or "alexa" or something like that.

Evidence for this theory: https://twitter.com/search?q=We%20encourage%20not%20includin...
NFT: even more deceiving
Individual items purchased are PII. Timestamped records of presence at any given store might be. Store addresses, however, are not.
MCE Errors are nothing to do with Linux, it's the CPU reporting itself as faulty.

I would check your warranty.
I've gradually (over ~25 years) drifted from being a SW generalist into embedded software and then expanding into mechanical design and electronics. It helps that I had EE in my Uni curriculum, and that I've been running a metalworking lathe as a hobby for a few years.

At this point am the head of development at my company working on pretty wild projects like this:

https://norphonic.com/products/evacsound/

…or seemingly simple but painstakingly elaborate designs like this:

https://www.youtube.com/watch?v=RRXfV7x-dlo

Most of the meat in ME/EE is put on the bones by my talented colleagues, while I do outline approaches to implement and sign off the designs and still lean heavily on SW side.
This! I joined a startup doing embedded work for robotics and it's a lot of fun. I love seeing things move because of the code I've written, and it really stretches your mind because you have to work in software, mechanics, EE, and CE. You end up learning a ton because of all the different challenges you have to work through.
We just have joint and personal accounts. Joint is for groceries and fixed bills everything else goes into personal after a set amount goes into savings. Super simple. Only works if you aren’t really sensitive to expenses like food gas etc. If +200 affects you much then it’s not a good nerd
Why is #2 not Windows? He is in Windows. That remote machine hosting a notebook may tomorrow be replaced with Windows, and he would barely notice if he didn't put a lot of shell in his Python.
I still miss the water equivalents for capacitors and inductors.
Have a closer look. The 1024 limit in version 1.2 is only for implicit block mapping keys, not for flow style `{"foo": "bar"}`
Maybe, but building a railroad invites towns and cities to be built around it.
How profitable would they be if we, say, made it illegal to collect PII for marketing purposes?
This? https://devblogs.microsoft.com/oldnewthing/20050822-11/?p=34...
No, they get the paycheck to be effective in their process.

And "Ha Ha Ha You, for not knowing that"
Correct, and don't discount the generations of men and women born into bondage because of the inability of northern leaders to step up sooner. It's a little insulting to suggest the half million soldiers dead are the cost of the Civil War, when it's also the millions who suffered from the existence of the institution of slavery.
> The problem, then, is we never converged to foundational level software. That is, if we agreed that bash was a foundation of the system, there would just be the one. And you wouldn't get an odd web of versions of it linked everywhere. All code would just use bash.

I can't imagine how this would be possible, in practice. Software has fractal complexity, there are always things that need to be tweaked, unexpected interactions that need to be decided one way or the other (and changed back).

I remember when Android decided to ship sqlite as part of the base OS, and everyone celebrated this robust, stable inclusion. And yet, sqlite continued to evolve, such that many Android apps nowadays just bundle their own version rather than use the OS's outdated version.

Perhaps we're still in the early days of computing, and only just now starting to see a flattening of the S-curve of change (more likely, I've gotten older and "everything old is new again"), and now some kinds of "foundational" software can stabilize.

But I note that there hasn't been a modern replacement of POSIX, and what POSIX defines is considered hopelessly outdated and limited.
Thanks for sharing your view! It's interesting you say your favorite part is the discovery. For me, my first play-through of a game, if it's a decent game I always end a little sad and annoyed that the next playthroughs will probably be a lot better now that "the group knows the rule"... simply because we likely won't play it again, so it feels like I missed out.
There are plenty of investors who believe dumping your money into a stable company like GM would be better than speculative startups like Tesla or Rivian...isn't this typical risk-averse advice? The status quo is that GM is a good investment. They're probably not going bankrupt tomorrow.
Pretty cool way to look at it. My take away ... Florida is almost as big as Britain? Wow, I didn't realize how small Britain was.
I have been forced to work far too much with Citrix Netscaler virtual networking appliances and while I can see how it was probably a great product before Citrix purchased it the amount of bugs and regular security holes in it is insane. Especially for a damn networking appliance!

That being said it also forced me to use FreeBSD a lot more than I ever would have otherwise and I have a lot of respect for the OS itself. I would not use it everywhere but it has amazing latency which makes it obviously great for networking.
Many of the problems frameworks are trying to solve were solved many years ago. People just like shinny new toys.
> I want to discuss why someone like linus hates C++.

Personally reading some of Linus's complaints about C++ seem a little misplaced. And yet, I don't disagree with him either. He says C++ is a terrible language and it's really hard to disagree with that -- not because it's object-oriented but because it's C++.

When I was taught C, we were taught to carefully separate things to avoid trouble. If you're building a linked-list library, you don't export the struct definition you use abstract data type. You prefix your function names to make a namespace. The Linux kernel uses vtables in C to implement polymorphism for various drivers (e.g. different file systems with the same interface). OOP makes these things explicit.
Digital Currency: Market Value of Bitcoin, Ethereum, and Litecoin
I highly recommend Eric Foners book The Second Founding on the Reconstruction period.
eBPF: When (and When Not) to Use It
A question: in Britain slave-owners were compensated by the state when slavery was abolished. Many think slavery would not have ended without this, as egregious as it seems. Whilst it was expensive - the tax payer has only in the last 10 years paid down the debt - it arguably averted violence through the transition.

May I ask anyone more knowledgeable than myself why this approach - ie payment of compensation - was not considered in the US at the time?
This was a dumb choice by the flutter team. Yes, Nix doesn't provide an easy workaround, but let's not put all the blame on Nix.
That's one of the fields FreeBSD is bad at: it's not really possible to get info on the current "normal" file system, UFS2.

This latest version has something called "journaled soft updates" and it's a metadata-journaled system, i.e. the actual data is passed through, and it's non-CoW.
+1, physical engineering typically requires design once then debug twice.

And do the last debug round with a hand (sometimes both) tied behind your back plus a 'compile cycle' that can take days.
You'd lose a fair bit of the verbose and helpful error messages for one thing. I think elm seeks to always have the error messages tell you what to do next, and that might be too tough with type classes. Also typeclasses make me act a little too clever. I have a better time when I'm a little more verbose.
If you can immediately come up with an algorithm for a well-studied computer science problem, then it's very likely the approach isn't going to work out.

Notably in your case you've just converted high-precision floating point into even-higher-precision integer math. So the problem here that's inherent, which it that you might have to look at a very large number of bits of precision to find the differences, hasn't been sidestepped.
> It's not a hashmap, or a map, or an object. No. It's an attrset. Riiiiight.

This was intentional. Most hashing algorithms don't guarantee a stable ordering of keys. Nix was inspired by a research project called Aterm, which did have this property. Also, you can do things like reference other keys in an attr set, which many other dictionary data structures don't support.

> It's not a build script, it's a derivation.

Derivation encapsulates everything which goes into a building something. Dependencies, env vars, flags, sources, patches, the build script, package version, and package name all get packed into a derivation. These paramaters get hashed which is how the hash for the store path gets determined.

Derivations can be thought of an unambiguous build "recipe", which has already resolved based upon all configurable inputs (dependencies, build platform, host platform, target platform) .

https://book.divnix.com/ch04-01-create-a-derivation.html#ins...

Nix is optimized for creating reproducible builds.
Bagel Bites (Update on the Bagel Language)
Have you tried asking Elon?
Hospitals need to break even on finances. What they take in needs to cover their costs. Anything other than this needs to be subsidized by an outside organization.
But to the best of my understanding, none of the blockchains currently in widespread use can actually store whole websites on them. They can store....links. To existing webpages. Which are still hosted exactly the same way they've always been, and subject to the same likelihood of link rot.
In my experience the Nix community is extremely welcoming and refreshingly vitriol-free. This person isn't representative of the community.
Load up on usb drives.
I mean really when did we suddenly become dependent on cloud services?
It's phenomenon that's less than 15 years old.
It would disrupt critical supply chains. That train line is part of a key freight artery between Seattle, Portland, SF, LA, and SD.

Railroads and highways also invite towns and cities to be built around them, so if you want to be responsible toward future generations of human lives, you should direct those major arteries through less geologically-active regions.

Hugging an active volcano never was a good idea in history and it still isn't.
Fair enough, in my codebase we always order data in terms of dependencies so that independent data comes before dependent data. In this case the result depends on the error_code, and the error_code is independent, so the error_code must be listed first.
Any particular favorite book or course recommendations for learning about vintage (or current) IC design? I’m not looking to go into the field, just programmer who thinks being able to puzzle out things like die shots is really cool.
That's because PyYAML doesn't implement the spec correctly.
You can't get rid of all state. The pros/cons of a Nix approach is that it is far more explicit about what is pure/impure. This experience is similar to going from a dynamically typed language to a stronger type system; it can be frustrating to be told that something is not allowed. Nix's usability difficulties often come from trying to build or use software that violates purity in some way (reading HOME directories during compilation, using the network in some way, assuming a dependency will "just be there"); it prevents these mistakes at the cost of forcing the person doing the packaging to fix these issues. This is a huge benefit in the long-term, but can annoy short-term uses.
I agree completely, all of these are just tools that are used to interact with each-other. What we do with those tools is the important part, I do see these advanced cryptography methods having a place in society, but the way people ~Most~ people are using them right now is not exciting and very predictable -> pyramid schemes
Could you go into how blockchain might solve those problem? Because it seems to create them instead
Do you have a layman's explanation for what the 555 timer is used for and how it works?
Indeed, but I thought I was already a bit too far into that tangent.
> The level of expertise required to be "good" is very very deep

This is so true. I was working with an older ME who was nearing retirement. My code was controlling a subsystem he designed and he was going over it with me to figure out how to get the best performance. It was when he showed me that a minor change to the angle of a bracket had a huge impact on reliability that I realized that as much as I enjoyed mechanical design, I was just a dabbler. This guy was demonstrating decades of expertise and would think of things that never occurred to me.

I was half his age and was probably already making more than he was.
… or how big Florida is.
Bad Comment: Hackers Are Sending Malicious Links via Google Docs
We have had really beautiful sunsets here in Northern California for the past week. Maybe related? (We also have a winter wildfire in Big Sur that could be contributing.)