skysight-inc/HackerNews huggingface dataset:
Ask HN: How the web would be today, had the KHTML developers chosen the GPL?
Webkit, used in Safari and other browsers, is a fork of KHTML by Apple, from the KDE project.
And Blink is a fork of Webkit by Google, used in Chrome and many other browsers.

If I understand correctly, KHTML developers choosing GPL instead of the LGPL would have prevented Apple from building Safari as a proprietary browser, and Google from building Chrome (but not Chromium). Surely, the landscape of browsers would have been a bit, or radically different today.

Would Apple have built Safari under a free license? Or created their own browser engine? Or kept Netscape / Firefox? Built their browser around Gecko?
Would have Google created their own browser engine?

How about all these Chromium forks? And those dumb phones that shipped with browsers built on Webkit?

What about Internet Explorer and Edge?

What about Firefox?

One thing to consider: Safari was first released in 2003, three years before GPLv3. So KHTML would have been under GPLv2, or GPLv2 or later. KHTML would, or would not have moved to GPLv3 starting from 2006 (the choice being done given Apple possible involvement in the project; some KDE project being under GPLv2, other under GPLv3, notably rekonq).

I know this is impossible to answer, but I am interested in HN's thoughts on this (including fictions :-))
The jump happens when you have parameter lists too long to fit on the screen. In C++ terms, consider a const member function that returns something - you know that it can use all the members (without having to explicitly specify each one as parameter) but not change them, so the only "mutation" it can perform is constrained to the return value (ignoring aspects like const not being transitive for pointer members).

In practice I still think this doesn't work on complex algorithms because it remains unclear what depends on what.
That's not Ludditism, it's good engineering intuition.
We've already been doing that for decades. Libya, Somalia, etc.
It doesn't sound to me that you really took it seriously and try.

For example for what you said about "JSON objects received from the API" has no type validation, it doesn't unless you define the types for it. You can write interfaces that defines the API responses and use it across whole code base.
Snap, back to reality, I hope.

I think there will be a new generation of fluid social networks in competition over business models and interfaces.
Not sure why automating boring and repetitive and eminently automatable jobs is such an "unhappy alternative".

The entire history of technological progress that has brought more people out of poverty is of better and more automated agriculture and manufacturing and distribution.

Things become more efficient in the use of resources over time. Automation aids in that by reducing wastage.

Yes Apple shareholders might own the machines that make iPhones, but people working, doing service activities that can't be automated, they will be buying them. If there's no one to buy, there won't be any reason to make them.
Here is a great book on the subject: https://smile.amazon.com/First-Break-All-Rules-Differently/d...

Essentially, great managers do these things:

- Create clarity
- Provide support and equipment
- Celebrate wins
- Build an atmosphere of learning and development
- Help cultivate personal connections
- Give developers the space to work in their strongest areas
- Listen to the opinions of the members on the team and make sure they matter
- Instill purpose
- Practice empathy
- Commit to quality
Is there a stat on how much % of CVE directly pertains to Microsoft, Google or Apple products?
BASIC is great and all, but where's the historical marker for Lisp? ;-)

(edit: apparently it should be in Cambridge since John McCarthy had moved from Dartmouth to MIT by 1958.)

But modern AI largely started in New Hampshire at the Dartmouth Workshop in 1956.
Again, YouTube controls its own ad network. It has full control over what advertising JS is being served to users. It’s also a technology-first company, where advanced web application development is a core competency.

News publications aren’t like this at all. They’re embedding Adsense or some other third party ad widgets, probably at the direction of management. They’re serving whatever that black box ad API returns, which could be a lot of things. I haven’t really looked that hard, but are you aware of an ad network that pays comparably to Google that pledges not to track people? It’s kinda hard to imagine that such a thing exists, given the ad industry’s pervasive encroachment on privacy.

Also, most publications I’ve interacted with don’t have technical stakeholders at the executive level, and web developers are a back-of-the-house role. They’re not nearly as technically capable as a YouTube
common online tool for german synonyms:
461 synonyms in 24 groups for "lügen" "to lie"
No, Circles required users to self-categorise other people's content.

Leading to the inevitable "you're holding it wrong" accusations agaist the poster that they weren't posting correctly.

Collections, a late feature addition, helped this markedly.
Honey bees aren't native pollinators in North America. They're livestock.
It was an awful exchange. I waited a month for Canadian funds to be transferred out and it never happened, eventually covered back to Bitcoin and now it sits in a wallet somewhere.
> NASA exists to be the civilian side of the US’s aerospace ventures. The military side is the Air Force.

Not the Space Force?

> https://www.buzzfeednews.com/article/briannasacks/trump-spac...

;-)
I do the same thing. My reasoning is, if you're going to put dozens of hours into a book, or hundreds into a good series, an extra 20 minutes at the end to file away any good memories from that really isn't too much of a time expense in comparison. Sometimes it's even fun. I basically wrote an essay on the Stormlight archive (probably my favourite ever series) which is something teenage me doing my English Literature GCSE's would have gagged at the thought of.
You have a lot of stipulations in your question, and I think those exact things should be closely examined when the decision is made. And it should be a decision (not an assumption.)

Do I value having a huge, extravagant party for one day over starting out my marriage on a solid financial foundation, or other expensive items like childcare and housing?

Will I have the cash in the future? Will my earnings dwarf this expense and the additional interest I accrue while I work hard to pay it off?

Did I figure out for myself that this one-day event is "truly important to me" or do I just think it's something everyone does, and I have to do as well? Why is it important to me?
AMD's current laptop lineup consists of 12nm APUs. They will switch to 7nm next year, in the 4000 series.
How to Become a Federal Criminal
https://climatedataguide.ucar.edu/climate-data/sea-ice-thick...

"Major limitations in the spatial and temporal coverage of sea ice thickness, which prevent a consistent record of long-term change and variability".

https://climatedataguide.ucar.edu/sites/default/files/styles...

Graph illustrates uptick in ice thickness, a reverse in the trend over the past ~20 years. Graph does not include even more recent data, unfortunately (it continues going up).
What Hong Kong’s protests look like from inside China
I'm saying our experiences are totally opposite and that I find your opinion bizarre.
I boycott Sony for other reasons but Uber is also pretty evil.
Ya I never used it but assumed that was their way of trying to be Facebook LinkedIn and Twitter all at once. Problem being the world already had those services and by being separated the circle management is done for you.
(high) Margin trading isn't just gambling, it's borrowing to gamble, which is a crazy idea.

Gambling debt wasn't even enforcable in this country until recently because lending people money to gamble with is fundamentally wrong.
I find the connotations captured reasonably well here:

> ehrlich (“sincere”), aufrichtig (“straightforward”), rechtschaffen (“right-doing”), redlich (“true to one’s word”), anständig (“decorous”), brav (“well-behaved”), ehrenwert (“worthy of honor”), and bieder (“upright”).

(which incidentally is at odds with the claim that German and English are fundamentally different there...)
Oy, that seems about right, but that's a very enticing future.
Nice to see how Faster Payments actually work in a nice understandable way.

That does sound weird how it happened by a corrupted date formatter. I'm assuming it's something like the formatter reset itself back to the langauge default
Not the person you're replying to.

But how would forceful typing be more energy efficient? You press harder (more muscle activation), keys travel longer (more muscle activation), and you have to move your fingers back "up" again.

Btw. the reason pianists want weighted keys is mostly because it mimics acoustic pianos. If you practice on non weighted keys and play on a piano, you would tire your fingers very quickly. Apart from that major reason, the weight gives a tactile feedback when playing that is arguably necessary to play beyond what you learn the first few years. Without it going back and forth between soft and loud requires an entirely different feedback mechanism.

But this does not IMO translate to keyboards. You're interested in the tactile feedback of the "click" that signals that the press has been registered.
I wouldn't say educate people about the badness of debt. Instead, we should teach that debt is a tool that should be respected.

Debt can be a good thing if used in the right manner (borrowing to buy a home you plan to live in the long term is a prime example).

Financing has its place and its role. What's lacking (on top of general financial education) in society is proper decision-making skills.

Fix that, and these sorts of stories will happen less and less. However, getting there is a whole other can of worms...
What do you mean by "fluid social networks"?
Or rather you can't make off with $10m in bank notes because everything's gone cashless.

By the way fiat is backed by more than hopes and dreams, it's usually backed by quite a few institutions and societal expectations. Unlike many of the altcoins which really are hopes and dreams backed.
Bloomberg's "Business of Bees" podcast is great: https://www.bloomberg.com/podcasts/business_of_bees

They cover some of the issues relating to honeybee colony collapse.
They're both good, but I still prefer PG's ANSI Common Lisp.
What exactly will that do about the Varroa mites?
Build Small Nuclear Reactors for Battlefield Power
That was a great ad for Slack, but I don't think it's true. I've never had any issues with any other chat app. Many people still use Facebook chat and IRC and the functionality is basically identical between each of the new chat apps (well, except you can do way more with IRC).
Time Travel in the Workplace
It is subjective... and right in my case.
What is “cloudless” computing? A new way of organizing IT infrastructure
A handy decision tree for better creative briefs
you would be surprised to learn that for very large binaries (think about monolithic front end codes at large internet companies), code size is actually enough to put pressure on instruction caches and lead to paging!
Show HN: Devfolio.me – Portfolio website creator for developers
Thank you for posting this. Great read, and nice to see the team at Monzo sharing this level of detail: consumable but still detailed.
Death of Jean-Marie Hullot, Co-Creator of NextStep and the iPhone
no offense, but the idea that a 200-300 person party could even be considered a "humble" wedding is part of the problem. if I invited my entire family, my closest friends, and their plus ones, that's forty people (and a quarter of them are underage, so no alcohol). double that (assuming my spouse's friends don't overlap with mine) and you have eighty, which is already a lot of people for a party where food and drink are both provided. how do you even come up with 300 people who are genuinely enthusiastic about attending?
He's answering the question "How much more premium than that can you go"
I dont disagree - where things like either, maybe or result really shine is when its baked into the stdlib _and_ there is machinery built into the language to make using them easy (like pattern matching, and them being in scope by default). I have used and written several libraries trying to make them work in js/ts and while they are beneficial around my custom domain specific code, you still spend a bunch of time wrapping things coming from libraries or other code you dont have control over.

But the benefit of them over a check against null is that you can write a pipeline of functions that dont have to handle those cases and you know that its always safe to do so. This other article by the same author as the OP I think illustrates it well https://jrsinclair.com/articles/2016/marvellously-mysterious...
Given AMD's recent success in engineering and product decisions, I think they'll overcome their previous laptop processor shortcomings. I'm optimistic. I don't think the process node was the primary driver, though. I think they just had some lingering issues with sleep states, etc. that need to be spot on to ensure excellent battery life.
Reading about other people being locked out of their Gmail account (with no recourse) was exactly what prevented me from even trying Google+.
Copenhagen sprints to become first carbon-neutral capital by 2025
I held off learning LISP for many years, always thinking "one day I'll get to it". Because the syntax looked funky (even though I used other languages such as Haskell which has a "non-traditional" syntax).

Eventually I just dove in, and grew to appreciate the language. The homoiconicity (the code is data, and thus data can be used as code) is something that did excite me.

Unfortunately, I never got good with LISP. Whenever I wanted to do a 'real-world' thing, I ended up fighting with the package manager. Having outdated dependencies, not managing my deps correctly or just not finding deps for things that I wanted to use.

Which also deepened my believe that programming is more about the ecosystem than the language. I love functional programming, I really enjoy Haskell and I'll solve small things (Advent of Code) in LISP. But once I need a library I'll use Go, Python or Java, or _any_ other common lang.

I'd recommend learning it though!

EDIT: I just said LISP here, but I always used the CL (Common Lisp) implementation. And I run it with SBCL (Steel Bank Common Lisp)
That's a very arbitrary line that's really just based on you making a judgment call for things you like or against things you don't like. You'd probably do well in American politics.
Turn a Fake CCTV into a Real One with Raspberry Pi and WebRTC
After a while it starts looking like a bloodbath
And not forgetting the sensawunder - I got into new age SF after I had run through the kids library at around 13.

Reading SRD, Ballard and so on
> Twitter seems like it's a place where people shout into the void about how far to the left or right they are.

I restarted my Twitter, and just started following people who post things in interested in that are not politics -- for me, that's maker spaces, education, STEM, etc -- and it's night and day. A much smaller group of people who post interesting things, ask questions, interact, and are generally friendly.
Ask HN: What is an important thing you learned in your education?
What is an important thing you learned during your education?
Maybe photoshop weddings could be a thing...
The Spirit of the Inquisition Lives in Science
Honest question: is it arrogant or pretentious for me to think those people are stupid? It just seems like such a woeful decision to make. The oily loan sharks are indeed partially responsible, but it's like blaming the sharpness of the knife after you stab yourself.
> In my javascript (well, typescript) version,

I'm critiquing the implementation shown in the blog, not your hypothetical implementation in typescript that I've never seen.

> What pattern matching do you need for an either type?

In nominal type systems like Rust/Haskell/F# you want to be able to match on the constructor. In typescript where '|' means something slightly different you need to fake a type constructor by adding a type: "variantname" property

> I deny it. IMO you can create a perfectly usable Either Type in any language that supports classes, objects and generics (well, maybe not C++).

Javascript doesn't support those things.
I found that as I listened to more and more audio books, I ended up increasing and increasing the speed of playback. 50 or so books in and a 2x speed is quite leisurely listening, which I increase if I find the pace slowing. I don't agree that comprehensibility is a fixed variable with regards to playback speed.
Or just admit it your the sort of person that finds accountancy to racy for a career.
> A similar breach recently cost Baltimore $18 million to repair damages.

No. $18 million was an estimate somebody gave once, who knows where it came from.

In fact, damages have not been repaired in Baltimore. 6 weeks later, most city services are still down. You can't pay a parking ticket or a water bill online. (You can send a check in; I am not sure where they record that you paid when they cash your check, and am not particularly confident they'll actually have a record I paid).

We in fact do not know how much money they've spent thus far, there have been no press briefings on this. Estimates of how much they will spend before it's over (will it ever be over?)... we all know how IT estimates work.

I think it will probably be quite a bit more than $18 million. And then there's estimating "damage to the economy." (There were two weeks when real estate transfers were frozen, because there was no way to check city liens. They can be done now, using a paper-based system that actually has those involved in the transaction sign an unusual contract agreeing to take on liability for unknown liens in unusual ways (I'm being vague cause I don't totally understand it), that some but not all title companies are willing to use).

The Baltimore ransomers only wanted ~$100K. If I were the mayor, yeah I'd pay it.

</Baltimore resident>
Einstein's relativity document gifted to Nobel museum
I really think the author missed this social point, and it's an extremely important one. As a tech nerd, I had fellow tech nerds who had G+ but I was unable to secure an invite, like many others. It was just frustrating and caused people to develop an anti-G+ attitude before they could even get onto the service.

I distinctly recall a wave (lasted about... 2 weeks?) of serious internet hype where many contacts on Facebook saying they wanted to get on G+ to try and and get away from FB, yet could not get an account due to this rollout methodology. It's my personal opinion this was the shot they missed - you don't keep away the early adopters who will bring in their non-tech friends over time.
The simplest answer to this question is: You generally enjoy your job and get paid enough.

I've had objectively bad managers who I enjoyed working with, who at the end of the day kept the job enjoyable and looked out for my paycheck.

I've also had objectively great managers, but got so board with the general company that I quit and moved on. (In hindsight, though, I should have recognized that I had a good thing going and stayed a little longer.)

IMO: At 2.5 years in your career, it's okay to jump around a bit and see different management styles. It's more about your personal happiness about what you're doing everyday than getting a perfect manager. If you work with an "okay" manager, but genuinely enjoy your job, (and get paid,) it's better than working for a "perfect" manager in a boring job.

And, to be quite honest: I've realized that I can recognize this in interviews. There's no single way to explain how, other than the general feeling I get when I talk with the manager.

What I realized is that, ironically, I enjoy a little drama at work. (Just a little). IMO, a bad manager is someone so drama averse that you can't pushback when other people don't carry their weight. (Some examples would be QE that never gives good steps to reproduce, support that never explains the support ticket, unreasonable expectations from product management, ect.)
I guess I assumed that it's self-evident ;)
Perhaps a better approach would be a protocol that allows for complex integrations to be built by the power users, but a simple product for the masses. Twitter before they shut off their API.

Imagine one of these social networks actually had APIs for you to manage contacts, group them, control publishing and consumption, etc. Most people wouldn't interact that way, but the power users would.
It looks like he left AMD in 2015 and as of last year works for intel...

https://en.wikipedia.org/wiki/Jim_Keller_(engineer)
I think the US will find that national economic responses from other nations will drive the response.

The US may consume large amounts of the world's resources, but there are ample markets outside the US. These markets are growing rapidly and are open to Chinese investment.

Tariffs on specific countries is a mercantilist, short sighted, zero sum policy. It is not backed by any reality, other than the effect of the Smoot-Hawley act in the 1930s.

Tariffs on specific products to protect local industry, or subsidies to local industry have some economic sense in some circumstances, particularly as an aid to transition that industry.

But Trump's manner and mechanism of trade policy has achieved very little other than froth. The USMCA is a rewarmed NAFTA, trade policy with the EU is stagnant, the US has withdrawn from APAC in terms of economic engagement.

The world is moving on. The Emperor is naked.
https://outline.com/mfkcE7
This is NOT "just throwing more compute" at the problem.

The authors have devised a clever dual-masking-plus-caching mechanism to induce an attention-based model to learn to predict tokens from all possible permutations of the factorization order of all other tokens in the same input sequence. In expectation, the model learns to gather information from all positions on both sides of each token in order to predict the token.

For example, if the input sequence has four tokens, ["The", "cat", "is", "furry"], in one training step the model will try to predict "is" after seeing "The", then "cat", then "furry". In another training step, the model might see "furry" first, then "The", then "cat". Note that the original sequence order is always retained, e.g., the model always knows that "furry" is the fourth token.

The masking-and-caching algorithm that accomplishes this does not seem trivial to me.

The improvements to SOTA performance in a range of tasks are significant -- see tables 2, 3, 4, 5, and 6 in the paper.
Structure of Growth and Decline
I absolutely love ZFS, but I think it's only a piece of the puzzle necessary for mitigating this threat. In terms of data integrity, I sure hope no system running ZFS would have it's snapshots also corrupted, but if that did happen, then hopefully those ZFS snapshots would have been backed up to some offline media like tape or optical disk. Example: http://girlyngeek.blogspot.com/2014/02/zfs-on-read-only-devi...
for people's data?

It would probably be cheaper to resolve citizen's issues directly for all missing data not present in the backup (even if it's not, that was a crazy decision made by the city council)
Doesn't add much to the discussion, I know, but let me just chime in to thank the people of WireGuard for releasing this wonderful piece of software for free.
This is incorrect, merely declaring a type for all your API inputs does not prevent clients (especially a bad actor) from actually sending objects of different types at runtime;
and when they do, your code will crash catastrophically. Try it.

You need to do manual schema validation, just like you did with JavaScript. TypeScript adds 0 value. The type only gives you an illusion of safety, which is worse than no safety at all.