skysight-inc/HackerNews huggingface dataset:
I've been dealing with this bug for the last couple of days and it's been hugely frustrating.

This was not a new version of Chrome or a software update. None of our software was updated at all (and we spent a long time checking!).
But apparently Google have an ability to change a setting and globally affect the behaviour of all Chrome browsers by enabling experimental features.

We carefully manage our software updates and patching so that we can test it and roll back if it impacts the business. Google had been good at understanding "enterprise" requirements - disabling automatic updates, setting policies etc.
But this shows that they're really focused on consumers and business users will always be an afterthought.
Harsh constraint. Probably difficult to come up with new sorting algorithms or substitutes for basic arithmetic functions after a while.
Bake a generic cake for homosexuals, or bake a homosexual cake?
When I see people who look similar I think of them as having similar Eigenfaces!
So I can't use my personal account to receive salaries? Does the bank have to know/care about the details my profession?
Fully agree. It seems nobody understands it in the sense of Business Processes/Workflow modelling anymore and it is arbitrary used for "something to do".
I think this might answer my question: https://marker.medium.com/the-companies-venture-capital-isnt... Would "Vice Ventures" fund a "vice" payment processor? It seems like it would be right up their alley.
This change didn't come from a binary update.

We were affected and our version hadn't changed (in fact we weren't quite on the latest version - we were still testing it). We have updates disabled and are very much aware of how to manage this.

Google changed a feature flag that was automatically picked up by existing copies of Chrome and changed their behaviour.
Ah, thanks for the link. I was totally unaware of this development.
Python grammar is not LL(1) in general; just look at set and dict literals. This is really no different than ":" after an expression being legal inside a dict literal (and how you know that it is a dict literal).

But also, there's no reason to make those legal only inside classes. All it needs to do is make "def foo.bar" produce a different type of function, that has the method descriptor-producing behavior that is currently implemented directly on regular functions.

As far as less vs more common case - I think it's more important to optimize for obviousness and consistency. If "def foo" is a function, it should always be a function, and functions should behave the same in all contexts. They currently don't - given class C and its instance I, C.f is not the same object as I.f, and only one of those two is what "def" actually produced.

What I meant by function references inside classes is this:

class Foo:
pass

Foo.bar = lambda: 123
foo = Foo()
print(foo.bar())

This blows up with "TypeError: <lambda>() takes 0 positional arguments but 1 was given", because lambda is of type "function", and it gets the magic treatment when it's read as a member of the instance. So you have to do this:

Foo.bar = staticmethod(lambda: 123)

and even then this is only possible when you know that the value is going to end up as a class attribute. Sometimes, you do not - you pass a value to some public function somewhere, and it ends up stashed away as a class attribute internally. And it all works great, until you pass a value that just happened to be another function or lambda.

On the other hand, this only applies to objects of type "function", not all callables. So e.g. this is okay:

Foo.bar = functools.partial(lambda x: x, 123)

because what partial() returns is not a function. Conversely, this means that you can't use partial() to define methods, which can be downright annoying at times. Suppose you have:

class Foo:
def frob(self, x, y): ...

and you want to define some helper methods for preset combinations of x and y. You'd think this would work:

class Foo:
def frob(self, x, y): ...
frob_xyzzy = functools.partial(frob, x=1, y=2)
frob_whammo = functools.partial(frob, x=3, y=4)

except it doesn't - while frob_xyzzy() and frob_whammo() both have the explicit "self" argument, they aren't "proper" functions, and thus that argument doesn't get treated as the implicit receiver:

foo = Foo()
foo.frob(x=0, y=0) # okay
foo.frob_xyzzy() # TypeError: frob() missing 1 required positional argument: 'self'
foo.frob_whammo(foo) # okay!

Which is to say, this all is a mess of special cases. You can argue that this all isn't really observable in the "common case" - the problem is that, as software grows more complex, the uncommon cases become common enough that you have to deal them regularly, and then those inconsistencies add even more complexity into the mix that you have to deal with - just when you already thought you had your plate full.
There is a very good cafe and roastery beside an old client of mine in KL called Sprezzatura. I as least assumed it was a made up name! It’s actually an exceptionally good name for this type of business.
Couldn’t one setup to use Chrome Enterprise with group plolicy rules on when certain updates can happen?
No. There are situations where I do that, when I am adding new option to existing library where API is already set and clear.
> Novice Programmer: "Putting all this code in one function would be easier to write."

> Master Programmer: "You fool! You can't just stuff all your code into one function because it's easier to write!"

So the Novice Programmer separated all the code out into different functions and showed the results to the Master Programmer.

> Master Programmer: "You fool! Why have you broken this out into different functions when it all belongs together in the same function?"

And in that moment the Novice Programmer achieved enlightenment.
(Found via a friend of mine, who commented that she "knew this guy and once kicked him out of my apartment after he snorted all the medication in my bathroom cabinet." Just an interesting bit of extra context.)
"Models"?

They're modelling?
In my world (marketing, not dev) the saying is "you cannot optimise something you do not measure".
Hi there!

I'm one of the creators of the language. Thanks for the feedback, I did not think it would come up here so quickly (we announced it just 36 hours ago...).

Happy to answer your questions! Keep in mind that it's very early days for us right now, so lots of things are still in progress and lots of things are to be improved. Your feedback is super important!

Also, I'll be in the US between Nov. 24 and Dec. 7 (NY, Las Vegas at AWS reinvent then SF). If you want to meet up let me know!

Cheers from Paris!
François
As a non-american, how this does not run afoul of discrimination laws boggles my mind.
Refusing employment on skin colour, religion, sexual orientation or indeed pretty much anything would land you in trouble, doing the same on this is seen as perfectly fine.

Back home in Sweden, records are automatically sealed after two years (if my memory serves me correctly).
Image Recognition Trends in 2020
The main issue is for management to accept that velocity will be significantly reduced and that many issues will pop up along the way and require a substantial QA effort to keep the quality from dipping too low.

It's still the best way forward as a complete rewrite is rarely a good idea.
Also, people are broken.
Moody is too vague. I'm more interested in measurable symptoms. E.G: teens have menstruations sooner on average, and boys have a fully develop hormonal system later on average than boomers. They have more adhd, are more obeses, have more cases of diabetes, have less confidence in the future or trust in the institutions.

And yes, that all translates to attitude.
Free in-person coding classes in the Bay area
This indicates a flaw in their testing strategy.

The bug affected Citrix-style environments, where perhaps 10-20 users are running Chrome on the same machine.
If 1% of users are running the experiment the chance of two of those 10 users running the experiment is tiny, and when they experience the bug it's unlikely to get reported back to Google.
Boo - this is clearly excellent work by someone with both engineering and design skills. If no-one pushes the envelope then what a sad and boring world we would end up in.
Kids will grow up and become increasingly more self-sufficient.

Hold on that thought until it becomes your reality. And it will.
Do you have any insight into why this might be happening? I had a look at your post history and noticed you've posted relatively little this year since a large gap from 2016.

I generally have a lot of respect for HN mods, it's never an easy job.
Can you sing like Freddie Mercury?
Privacy I am all for but universal anonymity not very much. You just need accountability a lot of times.

That said, I can support anonymous systems with transparent de-anonymization. For example, if dragnet deanonymization happens all affected will know and act against the attacker. If Cops deanonymize a suspect, the suspect can enquire about an associated search warrant
Well, first thing is that most new code in scientific research is developed in PhD projects which last some three or maybe four years. The people who develop this do not have resources and time to maintain this code. Projects don't have a budget for that. There are projects which are very long-running (think CERN or ESO's VLT) but even there the true duration of the code usage is seldomly planned (AFAIK, ESO VLT has just started to transition from Tk/Tcl to Python).

You could say then, "well, then Python is perhaps just not a good match for those pesky scientists".

And this brings up two more points:

* A lot of important tools and libraries in the Python ecosystem was developed by scientists. Numarray/Numpy is a good example.

* If the core Python developers don't have the intention to maintain a backwards-compatible language version for more than, say, 15 years, they should perhaps clearly state on the python.org main page something like: "great, as you are a scientist, we welcome your contribution, but Python might not be suitable for tools that support long-term research".
hey, no ads. Am surprised. Was it always like this?
Hacks for Writing Effective Tech Documentation
It's fine for 99% of companies to do boycotting. But something like payment processing is a critical utility, and needs to be available in reasonably convenient form to everyone.
Indeed it was Bill Gates' mother, Mary, who had the clout to introduce Bill to IBM's the president, chairman and CEO John Opel while both serving on the board of United Way of America. This paved the way for Microsoft's deal with IBM.

I've heard so many way below average dropouts from nameless universities or high-schools justify their "performance" by mentioning how Bill Gates was also a dropout without realizing that Gates dropped out of Harvard (!) after already having an excellent education and most likely being above average at all relevant topics for his future career.

The myth isn't that Gates is a dropout but that he's the average dropout, or that being a dropout is somehow a signal of greater things to come.

This comic makes for an eye opening read for many [0]. (Edit: updated link, thanks, it must have been a case of copy/pasta).

[0] https://www.rnz.co.nz/news/the-wireless/373065/the-pencilswo...
This is so cool!

From the page:
"Your audio doesn’t get uploaded to servers to be analyzed, so your vocals stay private."

From their ProductHunt launch:
"We made an AI-powered singing challenge to find out. This experiment uses new, on-device machine learning models to see how close your timbre, pitch, and melody are to Freddie’s."

:)
There's another cool tool called Automate.io. It offers a lot more tasks than Zapier, I think around 250. It also allows multi-step Bots in the free plan.

Check this link out for more info - https://automate.io/zapier-alternative
With Edge being based on Chromium I expect many corporations will start switching away from Google Chrome, but it's just swapping one corporate overlord for another.
> then bitcoin will become more valuable as a function of time simply because the amount of "stuff" increases.

> The reason deflation is bad is because it discourages investment.

I agree that economies are naturally deflationary because people don't stop working. So what? I think printing money is bad (as opposed to the concept of "inflation" which is an effect) is bad, because it distorts market mechanisms that occurr naturally - I'm talking about (more) efficient capital allocation here.
If you included fairtrending.com into the trending page, that'd be a 100% reason to use this.

Unfortunately they took their page down since they didn't find it financially sensible (and after emailing them he doesn't want to open source it)

If you could implement real trending based on views/hours or some logical way that'd be amazing (understandably, this is open-source, so if I find the time I'd love to help too).
Indeed, it is a fundamentally flawed principle. Code needs to be considered as a graph. All indirections within the code create an edge. Linear blocks of atomic instructions make up a node.

The first fallacy is only considering the size of the nodes and ignoring the number of edges. This is like micro-optimising without paying attention to the Big-O factor.

The second fallacy is failing to consider the difference between what I will call static branches and runtime branches. An if statement or a for loop are static branches. Other forms of indirection happen at runtime (with "goto" being famously difficult to analyse). Static indirection is easy to analyse, runtime indirection is hard.

The code graph (I use this term to mean something slightly simpler than the call-graph, which includes things like recursion) tends to get considerably more complex at runtime. One of the best ways to make your runtime code graph more complex is to add more functions, especially ones that are not private to the current file.

As soon as this happens, you have no immediate way of knowing how many runtime edges there will be going in and out of each one of those functions. So hypothetically, let's say you take a 21-line function and break it into 3, 7-line functions. While each of those is easy to "read", you still have to understand 21 lines of interdependent code, but now the total complexity has potentially increased exponentially.

How bad this problem is depends on the scope of the functions (can dramatically increase how many call-sites can potentially form new runtime edges - something you cannot tell from looking at the code in front of you) and whether that code has any side-effects. Certain types of runtime indirection like DI frameworks can completely thwart attempts to statically analyse this runtime graph.

If you are only dealing with pure functions then it can seem like this isn't a problem because of referential transparency. However, this ignores two problems: the name of the function must precisely describe what it does, otherwise it will mislead "distant code readers" (people reading the call but not the source). That must also never change in the future, otherwise you will still have to deal with all that extra complexity if you ever want to refactor safely.

This is not to say that abstractions are bad or that long functions are good. Premature abstraction however tends to produce bad abstractions, which are worse by far than no abstraction.
Ask HN: What do you expect from a new manager in an existing team?
Just got hired to lead a team of developers that have been in the company for 2-3 years on average.

They never had a manager and worked in a silo'ed way, with developers getting assigned to different projects as needed.

The CTO/CEO want to improve the teams quality, have better processes, etc. This team performs user-visible tasks.

What do you usually expect from a new manager? If you were said manager, what would you do?
The Forbes link is Shellenberger, it's even in the URL. I'm not going to plough through a 224 page joint Nuclear Energy Agency / OECD study, with 8 page densely packed conclusion. I don't trust Shellenberger to distil anything honestly - he has way too much form.
Almost never when writing new code. It feels like editing a manuscript before it even exists. If I "write" the code in pseudocode in my head or on paper first, I might write some tests first.
The pregnant social media star, who cannot be named under German privacy law

Even after felony convictions and sentencing?
That’s fair, thanks for pointing it out. I’ll be more careful with how I express such things in future.

Regarding the pineal gland, it might be true, but it hasn’t been proven and multiple neuroscientists have stated that while DMT is similar to compounds found in the brain, it still functions quite differently and they have never seen any evidence to suggest that DMT exists in our bodies. There was a study finding it in mice brains, so it may still turn out that we have it in ours, but it’s definitely premature to make any such assumptions and definitely premature to repeat the trope.
I am glad this is getting adopted by more and more companies. I'd much rather work under the shade of a tree or at the comfort of my home rather than from a cubicle.
I think he means that printing money doesn’t change supply and demand curves. It only lowers the value of the money that one already has. For example, if one government prints more money, it doesn’t cause Global inflation. It just makes one country’s money worth less.
I would argue exactly the contrary: https://redbeardlab.com/2019/02/07/write-long-function/

Very seldomly the problem is to understand one function, most of the time the complexity is in understanding how everything fit together. Having dozen of little functions does not help at all.

On the contrary having few, well designed, well interfaced functions that takes care of all corner cases and just work helps tremendously.
Those functions are almost always long.
I tend to agree, but Macrae isn't bad.
OpenNIC has been up for almost 20 years now: https://www.opennic.org/
In Vietnam, they vary in quality so much as to make the brand meaningless.

There are good ones and terrible ones.

The business model doesn’t seem to make sense to me either.
Don’t know if it’s only in Germany but banks here don’t need to give you any reason to close your account. There are some stories of how every time they tweak N26 Risk ML there’s a wave of termination letters to customers that didn’t do anything wrong. A bunch of friends got affected by this a while a go, they didn’t do anything wrong and the bank refused to give any reason at all for the termination.
"Just working hard is a recipe for failure for most people."

It is quite impossible to just work hard unless you are forced to. I mean there has to be some spark, some excitement about the work you are doing. Which typically means you have some inkling to do take on this task, which you may not be good at but with hard work you will make progress and eventually good at the task, and this self fulfilling cycle continues.

I am not however certain that this process will equip you to spot good opportunities. You can be really good at what you do and not even realize how many opportunities in that same space have gone by. You may be very content with your status quo. There could be multiple reasons for not spotting opportunities.

So I wouldn't say that just working hard is a sure recipe for failure.
To explain that a bit, a Linux kernel maintainer is somebody who organizes and collects contributions of others, screens them, and when they are finished, passes them on to Linus to integrate them. That's a huge responsibility, and Linus uses such strong expressions only for people who have such responsibility and which do things which would harm his project. It is not the case that he talks like that to normal contributors (which should be guided by the maintainers).
Why Should Developers Care About the Upcoming MLDS
Whoa, that wasn't clear in the article. Thanks for enlightening me!
Thanks! It is close, but sadly that overlapping is not much different from just “going to”, as it hides the code behind it. Still may be better than nothing though.
Thanks, I didn't grok that was something different than the auto-update that I'm used to seeing.
Show HN: Global Warming Solutions
This is not about auto-updates. Organizations which had disabled auto-updates were still affected. In this case Google changed Chrome behavior without changing the release version. That’s absolutely unacceptable.
Etisalat: Check 9mobile Data Balance
Its bizarre how often I see programmers complain about CLIs given the nature of the work. A CLI is just higher-order programming. At what threshold does the author find programming an appropriate solution? Perhaps we should do everything on paper in metal filing cabinets to maximize the stimulation we provide our visual cortex.

I'm not personally averse to GUI usage. It just seems to me that complaints of "too many options" are common in regard to CLIs. And yet to me it seems that CLIs have significantly fewer practical permutations than a Turing-complete programming language.
There are. Check out Liliputing[0] for example, to get an overview (No affiliation)

[0] https://liliputing.com/tag/mini-laptop
https://www.profgalloway.com/unicorn-feces
Kalokagathos
Labour pledges free broadband for all
Intel Unveils Its First Cloud-to-Edge Chips
My take from the article is that Bitcoin, as cryptocurrency, is a mechanism that can be used to replace fiat money. It will never be because of exactly the reason the article says: there will be a maximum of 21 millions Bitcoin and that's all. And since the current mechanism behind fiat money is inflation (usually you want to have a slow inflation, not a fast Venezuelan one) is what drives people to spend them and create economy - this will never be applied to Bitcoin ever. Hence you get deflation in case of Bitcoin, which drives people to amass them instead of spending and you get in the end the current purpose of Bitcoin -> art like investment.

The only way to make them a currency is, keeping them limited to 21M, is to create some sort of "bleeding" mechanism where you force the owners to spend them (spend or lose) - which will never be implemented.
Show HN: Opposites Game
This doesn't seem to match what the article says. It's not saying that the elite players feel relaxed, nor is it saying that they don't need to force themselves to study.

Rather, it's saying that they studied exactly as much as the lesser players, and that they did so with more discipline, both by spending more time on deliberate/hard practice, and by strictly scheduling their practice sessions.
They're expecting you to know the spectral theorem for Hermitian matrices. Since M_j is obtained by striking out the jth row and jth column, it too is Hermitian, so it has has n-1 real eigenvalues (possibly with multiplicity). The notation $\lambda_i(M)$ ought to refer to the $i$th eigenvalue of M in sorted order to be unambiguous, but this does not matter for the proof.
Wouldn't einstein qualify as the most intelligent human ever lived?
There is history and there are patterns derived from. Biased and incorrect history will likely be an outlier or it will form a weaker pattern.

E.g.: communists win over the hearts of university students and rural folk. Then instability, coup/revolution and a controllable communist satellite is created. Is that true? Is any of it propaganda/fabrication? Which pattern is most common and can it be used to analyze Russia and China geopolitics against Ukraine ,US and UK?
yeah, I had to explain to a CEO that we weren't going to be shipping any new features for a few months while we upgraded core systems and eliminated tech debt. It was a tough conversation. But about 6 months later we were able to start developing new features again, and everything was much quicker and smoother. The lead dev had regained his composure, too, and wasn't being actively obstructive to everyone who tried to do anything to "his" code base.