skysight-inc/HackerNews huggingface dataset:
1% of 90 million monthly users is almost a million users.

Supporting something with 900,000 users seems, at the very least, somewhat compelling. Especially since they were already doing it. It's not like they have to actively recruit these people, but what they're definitely doing is telling them to f-off.

Also, this isn't just losing Steam: wine apps with 32 bit installers is a major source of software.

I know personally I actually do want to use a Linux distro now that Unity 3D support is coming, and Ubuntu would have been my first choice, but I know I'm definitely going elsewhere now :-/
The first one got 572 comments recently https://news.ycombinator.com/item?id=19576092
Sure and that’s fine, but you don’t want to have to do it when you go from one server to two servers, you know? Plan at least a little bit ahead.
"List of articles to read to learn about distributed systems" - there I fixed the title for you
Ok, we've made Slack free above.
Indeed. With any microarchitecture (or ISA) change (and Intel -> AMD is a huge architectural one) you need to test your workloads. You'll find all sort of odd and surprising performance differences caused by throttling, the way caches behave, the way libraries choose code paths, various inter-core latencies, and so on.

At least this is a move that doesn't require a full recompile.
>migrant kids who are currently held in America’s vast network of concentration camps

closes tab
If he sounds like he's bending things, that should sound good to your ears. Otherwise he would be just reinforcing what you already believe and how you already see the world and therefore not doing any good philosophy.
A Modest Proposal to Boycott Airline Seat Selection Fees
How non-engineer Stewart Butterfield reached top of Silicon Valley
If you think about it, those are all great reasons not to mouth off to a cop.
NREPL 0.7: Introducing a Native EDN Transport
That sure hasn’t stopped them from pushing his candidates through. Nor encouraged them to stand up to his political abuses.
^ said apple have always been like this, which is false as demonstrated by their advertising for what I believe was the OG Mac?
Sure, I don't think we should stop at Android. The reason Android and MacOS won market share is because those companies built an ecosystem around it, including hardware, and very importantly the end user never needing to touch the command line. They built a lot of exactly what pure Linux lacks.

Ubuntu is pretty far from that. I still have to do quite a bit of command line fuss to setup and maintain my Ubuntu system. Fine for me as a dev, but not fine for mass adoption.
This type of thing happens all of the time, and not just with border police. Ever been to the DMV? Even the slightest hint of "sass" will earn you a few extra hours of waiting and counter hopping. Bureaucrats are A: given a lot of power in arbitrary situation B: deal with an unruly public every day and are tired of it.

Fair or not, it's best to be ultra polite with any public facing government offical.

And yes I realize this is also about Homeland Security having overreach but this guy did himself no favors and would have suffered in many other situations acting the same way.
Whatever a Government official can do to you in response to real or perceived disrespect, they can also do to you just because they don't like the way you look or dress or vote. Various forms of Constitutionally protected protest and dissent can often be perceived as disrespect by those against whom they are directed. It's a slippery slope and to me "be respectful or have your rights violated" is a poor standard.
Every Proton incompatibility I've faced so far has been something like this. e.g. it can't boot because the DRM doesn't work, or the paths don't resolve properly. If I can get to the options screen it's plain sailing.
I dunno dang, in the era of "fake news" I don't think the sentiment is inappropriate.

What else but a shallow dismissal for people who are ignorant but hold forth on some technical issue? The Internet is right there, they could just as easily do their own homework as post something uninformed.
Pretty good concessions from a crypto enthusiast, one of the better or fun libra articles I've read
If you hold such power, you have a responsibility to exercise it in a way that furthers the objectives of those who entrust you with it. Retaliating against people who hurt your feelings is not consistent with that responsibility.
A contact at Foxconn just told me yesterday that Apple is genuinely serious about leaving China completely.

Apparently, Mr. Trump summoned Mr. Cook last week, and extended an offer of a tax break and other "relocation packages" on the size "not seen in human history" if Apple moves to USA.

Hearing things like that keeps reminding me that Taiwanese engineering fraternity is one of worlds best intelligence agencies :)
Unless those million users generate a worthwhile monthly stream of money they are useless versus the remaining 99%.
Practice is a main ingredient. Build and debug (down to below assembler level with i.e. vtunes, learn about weak memory ordering, ...) increasingly complex systems.
Learn how high level language code is transformed into "what the hardware shall do" to be able to predict, to some degree, whether that particular code you review will be optimized well or not (then measure and confirm/extend/correct your prediction).
Working with FPGAs helped me learning a lot about how to get the right data to the right execution unit at the right point in time. Solving this "space-time-problem" is exactly what optimizing is about in CPUs as well.
For the engineering part I'd say: being strict about separation of concerns and single source principles and not too religious with abstractions certainly helps.
And finally: read, read, read. Books, Papers, other people's code...
Automatic differentiation only works on functions which are locally complex analytic. It fails on things that fall outside that model, but are still differentiable. Daubechies wavelets are a good example of this.
And that's how your skills gradually become savage. Kudos.
+1 took me too long to type, otherwise I would have just quotey you ;-).
This is great, I hope Gorgon Stare enters the modern lexicon.

It's a adequately intimidating sounding name for an overreaching gov surveillance program that was intended for warfare zones and being applied to domestic citizens. Exactly like "Stingrays" from a couple years ago.
I did not stick around to read it all, the first hint of a spoiler sent me back here to warn others. Neil knows the material really well, he wrote the introduction to the recent limited edition of The Book of the New Sun for the Folio Society for example, so I should have trusted him not to blow it.
This kinda sucks for me, as a Linux based developer who’s also a gamer. I’ve been gaming on Steam with the Proton compatibility layer, and most of my Windows-only games work flawlessly. If future Ubuntu upgrades break this, then I won’t upgrade until I find another solution.
The revenue that Equifax makes selling it further corroborates your position.
With (on Debian at least, wine32 is a recommended package for the wine64 install)
We’re a majority-homeowner country. Property rights are immensely popular.
What sort of law would help with a situation like this?
You can easily find C code in the wild written in two (or more ) ways. Search almost any project for #if and #ifdef.

That CRC code is lucky that it's doing right shifts. The unsigned long type has an implementation-defined width, so if any bits were spilling leftward, the result would have to be clamped to 32 bits. If that were neglected on on a platform where unsigned long is exactly 32 bits, it would be a portability bug. In modern C, there is a uint32_t type in <stdint.h>. Oops, wait, no there isn't; it's only required to be there if the platform has a 32 bit type. To test for it, you can see whether the PRIu32 macro is defined (the conversion specifier for printing it with printf).

> question is, WHY was the Lisp code written in two different ways, but not the C code? Go figure.

It seems that someone saw, "hey LispWorks has various extensions that could be used" and rolled a LispWorks specific version.

I don't see the downside. Lisp is a very high level language in which you can easily write highly portable code. And, unlike in most languages in that class, you can also get fast code without leaving the language, at the cost of adding some verbiage.

Honestly, if I had to write a large Lisp application which consisted of almost nothing but the kind of code shown in that CRC function, I would reconsider using Lisp. But that's a strawman situation. Pretty much no application is like that. At best some specialized middleware.
While this is obviously a scandalous situation, I don’t believe journalists should get a better treatment regarding their personal information and photos. You know the legislation, you take private stuff across the border, it’s fair game. So don’t do it. Journalists should know this.
My employer uses Ubuntu for most developers, meaning all our software is designed to work on the latest LTS Ubuntu and we (I assume) pay a significant amount for support. But the only reason we use Ubuntu is because it's more familiar to the average developer than RHEL.
They would do an Electron application.
Xz-ordering: A space-filling curve for objects with spatial extension
Steam makes it possible to play a lot of games on Linux that were very hard to run on Linux previously, and Steam itself has a massive catalog.
Squid jet propulsion: https://youtu.be/9OIjaHIrM0U. 8 arms + 2 tentacles: https://www.aqua.org/blog/2017/October/Cephalopods-Arms-or-T...
are those things necessarily bad?

if rich empty nesters move out, and a poorer family with working adult kids moves in, you'd change all those metrics too. would you restrict movement in/out too then?
> Everything they have on you was either gathered from public records or was sent to them from an institution that you do business with.

That is precisely the data that rightfully belongs to individuals. It should be much, much harder for companies to collect it and sell it.

"Data is a toxic asset." — Bruce Schneier

Pretending that a "secure" system can be devised which will protect that data is irresponsible, because it is impossible. The data will leak eventually.

When it does, under the current regime, the damage inflicted on individual victims is wildly disproportionate. Equifax is the analogue to a gross polluter dumping dioxin into a community's backyards. But getting damages proportionate to the harm out of Equifax is hopeless, because US laws do not acknowledge the toxicity of data.

The US needs something like the GDPR in order to protect us from grotesquely harmful institutions like the CRAs. We are in the early days of the internet, akin to the early days of the industrial revolution — before the harm that toxic chemical pollution causes was recognized and regulated.
Mechanical Turing Machine Made of Wood [video]
Sure, complying is generally prudent to not anger criminals. The point is that cops/agents who do act this way are ultimately exceeding their authority, and should be prosecuted as any other violent criminal.

If an officer does not have the restraint to avoid adding their own ego to a situation, they have no business wearing a uniform.
Scandinavian countries aren’t socialist though. They’re social democracies. Huge, fundamental difference.
I wouldn't be so sure of that. Ubuntu gets a cut every time somebody spins up an Ubuntu VPS on AWS. Yes, Red Hat has more revenue, but Red Hat is a lot more than Linux these days.
> The converse - that it should be fine to be disrespectful to people who hold state backed power makes no sense that I can see - that seems to be a dehumanizing act with no apparent benefit.

Quite the opposite - I think they should be subject to regular testing where some kind of internal control officers behave flippantly towards them (perhaps even disrespectfully) and if they respond by abusing their power they are (at the very least) immediately relieved of their state backed powers.
Programming Bitcoin[1] guides you through building a Bitcoin implementation in python starting with the fundamentals, like what you are doing.

[1] https://github.com/jimmysong/programmingbitcoin
I define "winter" as the time honeybees don't fly. Summer bees don't fly below 13 Celsius, and winter bees don't fly below 8 Celcius. Winter bees are the first ones out of the hive in spring, raising up the summer bees for the big harvest.
I used to live next to a guy who would shoot all drones on sight. The world needs more people like him.

Edit: so other people have pointed out firing ballistics into the air is actually really dangerous. Signal jamming the drone seems like a safer kind of direct action.

Could also indirectly resist the military industrial complex by lobbying state and federal governments. That would be the safest way to bring down a drone.
C doesn't have linked lists in its standard library probably because there is a myriad of ways of doing linked lists with different performance, stylistic and other trade-offs.

Should it be macro-based, like that <sys/queue.h> thing from BSD? Or just pure declarations?

Many C programs that maintain lists favor the "intrusive container" approach: mixing in the link node into their own payload data structure and then using that structure itself as a list node.

C++ certainly provides lists. C++ is opinionated: they pick a representation (or at least API) and stick it in.
upstart was an rhel thing
It can be a deliberate tactic of the right, but elements of the left make the same error. That’s my point. This is more about Americans not actually understanding the difference between socialism and social democracy.
Oh, and one more thing (tm): try to be the worst, not the best team member. Make sure you always can learn from peers. You need discussions, especially those wandering up and down the abstraction stack, asking "why" on every level.
It's a hackernoon opinion blog post, not the New York Times. And you don't need a citation for something that is clearly meant to be hyperbole.

[Citation needed] has gone from a notation about checking facts to a trendy response whenever someone doesn't like something they read in a blog post or comment.
Posturing for his next management/executive gig.
This.

It doesn't matter now who created the problem, or who failed to fix it before. What matters now is who is failing to fix it now who could, and who (as it happens) is deliberately making it much worse now.

If the only way to fix it is to get that person out as quickly as possible, that is a legitimate thing to say -- any man-baby feelings at risk notwithstanding. If the best way to fix it would be to abolish the Agency, then the only means open is to back whoever would, and oppose whoever wouldn't.

One who seeks to abolish the Agency and also fix numerous other disastrous practices is not, therefore, less appealing. Not seeking to fix numerous abuses should be.
"C undefined behavior" is the status of the behavior of a C program for which a requirement cannot be found in ISO C by omission, or for which ISO C explicitly says that it's not giving a requirement. No requirement can be found in ISO C for linkage with Fortran.

There is another "undefined behavior" which is the informal situation that happens when a behavior is not defined by anyone at all: not ISO C, not the platform's ABI or API's, not the compiler reference manual. (That is hard to pin down, because what does it mean? If I compile a program, it's always defined by whatever the object code is doing. We can interpret the instructions through the architecture reference manual, and if we don't find a problem then, hey, it's defined! (However, the compiler's documentation doesn't guarantee the consistency of always producing that particular compiler output for that program.)

In any case, that Bugzilla comment specifically said "C undefined behavior".
Thank you, this is interesting. I just tried. You need L'Hospital's Rule.

I'd realized this was an issue with forward-mode autodiff, but hadn't thought about reverse-mode to realize it comes up there too.

In general, NaN is a placeholder for "all the derivatives you didn't know you needed in advance". I think the Dual Numbers shed light on this (see "Division": [https://en.wikipedia.org/wiki/Dual_number#Division]).

One could imagine lazily computing higher derivatives as needed for L'Hospital's Rule in either Forward or Reverse mode, however. For Forward Mode, I guess you'd replace your eager "Dual Number" pairs with lazy lists?

For reverse mode it seems you could do extra "passes" on the tape as needed... People who do this stuff for a living must know(?), but a quick Google doesn't turn up an answer for me...
I looked into this because it seemed like there should be more to the story. Then I realized what it was when I saw the date--the incident happened the day after the 2016 presidential election.
The market relies on a sensible legal framework of ownership and liability. Society has to decide under what circumstances a person or business can be financially liable for their mistakes. The liability should match the real-world harm.

Data breaches have significant real-world harm. Unfortunately Equifax got out of this without paying fines in several state at least. It was the regulators who failed us here, not the market: https://www.reuters.com/article/us-equifax-states-agreement/...

Customer data should be like radioactive waste. Companies should know that if they have it, they have to take appropriate measures to secure it, and if they don't they will take a significant financial hit. The financial penalties should be significant enough that if a business doesn't feel sure they can invest into proper security, it makes more sense to just not keep the user data.
If you're a frequent international traveler to or from the USA, the EFF Travel Guide is a must-read.

https://www.eff.org/wp/digital-privacy-us-border-2017

tl;dr for American citizens: encrypt everything and power off your phone and laptop before entering border checkpoints, you cannot be denied entry.

tl;dr for everybody else (including green cards): either carry burner devices or ship your devices to your destination. Otherwise, you must be prepared to accept an electronic search.
Joe Biden’s Fall from Grace
One important fact that wasn't even mentioned in this article is that some CBP powers extend for 100 miles from every border:

https://help.cbp.gov/app/answers/detail/a_id/1084/~/legal-au...

That means, at any time, they can question ~63.5% of the population:

https://www.citylab.com/equity/2018/05/who-lives-in-border-p...
A while back this was talked about on a podcast - can't remember which one, and they said it took 1 photo per second. I'm not sure if they were being truthful or just saying it for illustration.
Lightweight Debian Installation
I thought I read somewhere that Zen 2 will downclock based on heat, rather than simple instruction set heuristics. I can't find a source though, so take that as hearsay for now.

Intel CPUs do downclock for both avx and avx-512. Many motherboards let you configure that in the bios.

I bought both a 9940X and a (delidded) 7980XE for avx-512 intensive workloads. I use a water cooler with a 360mm radiator.
The bios for these (overclockable) chips contains "AVX Offset" and "AVX512 Offset" parameters. I haven't really tested avx loads, but the avx512 downclock is necesary. They run at 70-80C when running all cores at 3.5GHz in avx512 heavy loads. I don't want to push the temperatures further than that. I don't think there's any practical way to avoid having to downclock.
It does gives a sizeable speed boost overall (for those workloads).

Re: this thread
I'd bet those avx512 workloads will be faster as avx2 workloads running on two 64 core CPUs with avx2 than one 56 core CPU with avx512, all else equal.
But it sounds like, instead of all else being equal, things like IPC favor Zen2.

EDIT: If folks happen to be interested, I compared a bunch of different "^" (aka, "pow") functions in Julia, running on my 9940X here:
https://discourse.julialang.org/t/slow-arbitrary-base-expone...

Someone else shared results with their Ryzen 2950X here:
https://discourse.julialang.org/t/workstation-advice-for-mos...

The vectorized versions were those with "sleef" or "xsimd" in their name.
They tended to be 1.5 to 3 times faster, while the nonvectorized versions were 1.25 to 1.35 times faster on the 9940X.

Some of my other code is likely to show a much bigger difference. For example, many small matrix multiplication operations get to take advantage of avx512's masks to vectorize efficiently, as well as the fact avx512 has 32 instead of 16 floating point registers to hold larger matrix blocks in registers, increasing the vfma to vmov ratio.

I suspect the 3.2x difference in speed in the "jsleefpowcob!" benchmark is because of the register counts. I suspect with avx512 the compiler was able to avoid register spills, while with avx2 it had to reload a lot of data on each loop iteration.

The biggest problem with avx512 IMO is that compilers seem bad at taking advantage of it (eg, they never use masks) unless you babysit them / write code with vectorization constantly in mind.

gcc for example will not use 512 bit vectors by default. You must explicitly specify "-mprefer-vector-width=512". My tests (mostly just the Polyhedron Fortran benchmarks, as a set of numerical code) seemed to confirm that gcc (gfortran) was doing the right thing.

Meaning unless you intend to go low level and use it yourself (which can be a rewarding hobby!), or have workloads where optimized libraries exist, you won't see any benefit from avx512.
There is plenty of proof that cephalopods are intelligent, but we keep moving the goal posts on what we define as intelligence.

They have advanced problem solving capabilities and a distributed nervous system that can achieve levels of parallel processing software devs dream of.

We don't need to go to other planets to find intelligent life, it is already here. We are just aren't smart enough to communicate with it yet.
Hmm, I've done some googling and it looks like Valve has a 64 bit version of Steam for macOS already. You may need to delete Steam.app and re-install to get it. So you will still be able to use Steam itself on Catalina+, but will need to wait for 32bit only games to have a 64 bit version made available (or for someone to come up with some kind of compatibility tool)
Well spotted. It was probably normalized when it was copy-pasted.
Honestly I would use ucspi for this and chain the needed programs together.
Bullets go up, then they come down and kill the neighbors' kids. Don't do this.

https://en.wikipedia.org/wiki/Celebratory_gunfire
>using RMS temperatures

I suppose you mean the temperature that minimises the RMS residual?
The guidelines ask HN users not to post shallow dismissals because of the effect they have on discussion: they make it even more shallow and dismissive. Look at what an offtopic subthread we got below.

People always hold forth on things they're not expert in. That's humans being human. We can't change that.
What is possible is for those who know more to share some of what they know with those who want to learn. Doing that leads to much better discussion.
They don't even work well in Windows 7 or 10.

That's why I still have an XP partition
The issue with paywalls is that we got use to the "free" access and paywalls limit linkability/shareability: A typical newspaper article I can pass on to my family/friends. With a paywall I can't easily pass it on.
Also we still have no good micropayment option. For reading a single article I don't want to have a long subscription and don't want to register with yet another payment service.
Seriously?? It's the same bit pattern, err, shifted. Adders have got to carry, at each stage (ripple carry?). I am amazed, thanks.