skysight-inc/HackerNews huggingface dataset:
I think the biggest difference between JavaScript and SQL is that there are things that SQL is actually extremely good at. For certain tasks, it really is the best language available, and not in the "least bad" sense but the "why would anyone even try to do this any other way?" sense.

To get that level of applicability, of course, you have to make your problem match the form SQL needs. For applications on its home turf, for example a simple inventory system, this can be both easy to do and beneficial (since if you're on SQL's home turf and you want to do something you can't do, there's probably a Very Good Reason). Unfortunately, this is not always easy to do, or even possible at all, and even when it is possible you usually need to know some basic relational algebra. (Tangentially, I am convinced that many of SQL's critics would be quieter if they knew a bit of relational algebra themselves, though I don't think that applies to this article.)

As you say, though, trying to make a tool do something it just shouldn't is the road to madness. The article's discussion of JSON in SQL is a pretty decent indicator of how that goes wrong even when it goes right. For further snapshots of the road to madness, the interested reader might examine C++, JavaScript, and a competent psychiatrist. Sometimes it really is time to move on, or at least add on.
> English is a lasting lingua franca because two world-dominating powers in a row - the United Kingdom and the United States - were English-speaking, producing a run of more than a century with an important trading partner and diplomatic contact speaking that language.

I'd say that it's mostly the US that counted. At least in Europe, before US dominance became clear (say before 1930), the French language was lingua franca and hardly anyone spoke English.
Why is Prius such a prevalent car for ridesharing? It hits some kind of sweet spot?
You don't have to drop temp tables unless you want to use a second select into in the same session. Otherwise temp tables are automatically dropped if the session ends.
I don't see it.

To be in this business you need the companies making games to trust you. Otherwise your certifications are worth nothing.

Would you really risk your reputation (and hence your entire business) for peanuts? If you systematically certify people above their level or advertise in any way that you do you will get caught. If you don't you won't profit much from it, and will always be at risk.

I just don't see how this would be a significant issue.
The only way out that I can see is to design embedded domain specific languages (EDSLs) that inherit the expressiveness, composability and type safety from the host language. That's what Opaleye and Rel8 (Postgres EDSLs for Haskell do. Haskell is particularly good for this. The query language can be just a monad and therefore users can carry all of their knowledge of monadic programming to writing database queries.

This approach doesn't resolve all of the author's complaints but it does solve many.

Disclaimer: I'm the author of Opaleye. Rel8 is built on Opaleye. Other relational query EDSLs are available.

[1] https://github.com/tomjaguarpaw/haskell-opaleye/
[2] https://github.com/circuithub/rel8/
How do you want to do partial application if not through bind? All the other methods are much more verbose.
And much worse problem is naming them correctly. And maintaining in such global-only space.

But just give up, you hit the wall. Many people tried for decades to make this argument, but every time it was raised you’d see this thread full of people who see no problems. There is a lot of powerful, unrepeatable-in-your-lifetime software behind stupidest frontends that you can’t bypass, because most people write only straightforward code with no need for any abstractions beyond what was given to them.
Not at all. Untagged unions, sure, but no decent modern language has first-class support for untagged unions. First-class tagged unions are a real treat to use.
I think that this effect is localized in what can be described as "deep blue feminist college educated media women" bubble. That just happens to be uniquely vocal because of the media positions they hold.

In the real world it is more nuanced (and nobody really cares)
Isn't Mozilla's VPN just Mullvad?
Have you tried `Xmake` or `Meson`?
Maybe go with mu instead.
Someone described skilled immigration as a new form of colonialism, and it's an idea I just can't shake off.

Europe gets to import the best from poorer countries, who are left to foot the bill for raising and educating them.

Nonetheless, it's indeed an excellent deal for Europe and for the immigrants. I wish that the anti-immigration crowd understood that the people they protest are allowing them to retire and die of old age.
That study was so flawed, it's not even funny. It took one specific scenario in Australia, where farmers had to kill a lot of rodents (due to a seasonal plague) to protect their crop and compared that to a single animal slaughtered for a meat dish. They completely failed to mention that livestock are fed that exact same crop, that the farmers were killing the rodents for. IIRC there a couple such "studies", but all similarly flawed.
Zimbabwe, Argentina, off the top of my head
Even better, look at WITH, or CREATE TEMPORARY VIEW AS. Then the planner can make optimisations to the overall query. That is assuming you use your "temporary" only once.
What other approaches to making SQL composable can we imagine? With functions it seems very simple to extract a WHERE clause into a predicate of some sort. I'm sure even if this exact syntax isn't preferable, being able to reuse join logic would be great.

That said, in the case of wanting to abstract out or reuse joins, just write a view, I guess. And I get a lot of mileage in Postgres from just writing functions to abstract out predicates, because it allows you to write things like `select * from order where order.is_complete` instead of `where is_complete(order)`
Isn't hn the website that generally laughs at the "won't someone think of the children" argument?
I was just joking :-)
>When Ray and I were designing Sequel in 1974, we thought that the predominant use of the language would be for ad-hoc queries by planners and other professionals whose domain of expertise was not primarily data- base management. We wanted the language to be simple enough that ordinary people could ‘‘walk up and use it’’ with a minimum of training.
https://ieeexplore.ieee.org/document/6359709

So they wanted it to be easy for non programmers, more natural language like, so functions and brackets are quite the opposite.
You should find a better working environment.

While I totally struggle with interruptions (and I have the ADHD bonus points), they always come from team mates that I globally appreciate. I hate interruptions and I do complain about it frequently to my coworkers, but that says absolutely nothing about them being jerks.

When you work in a team, you are frequently blocked and need someone else to give you an answer, even as a programmer. That’s an organizational problem that have to be tackled, for sure, but it rarely have something to do with individuals.

I once had a « PM » that liked to put its laptop on my desk to see what I was doing and to « pair » with me while I was programming. But he knew nothing about programming. THAT is wrong. I left that company.
Maybe it’s a “once in a century” event.

That’s what the media likes to say.
It's not just faster than the wind, it's downwind faster than the wind. Regular sailcraft cannot do that.
I hate heat. Maybe a Dune style still suit would help it. But after a decade in LV, if I could arrange to never see such heat again it’d be too late. I’m truly surprised though with how widespread high temps are this year.
You’re probably thinking of C/C++ unions, and they do indeed have quite tricky semantics and are difficult to use correctly. What the article and the other commentators are talking about is more properly called a “sum type”, like Rust’s enums, for instance. Those are different things from C unions. In languages with first class support for sum types, they are used everywhere, it’s an incredibly useful concept.
So did I, unsuccessfully
when a "Senior DevOps" needs 2weeks+ to setup Jenkins, it's hard to trust that person.
I generally use the build number from ci for the tag, and add the git commit and repo URL as a label/annotation (following https://github.com/opencontainers/image-spec/blob/main/annot...)
Having done front-end for over 10 years, these interview questions still scare me, because I haven't used any of those in the real world.
Show HN: .NET Ketchup
I've recently launched .NET Ketchup, a news aggregator for .NET developers.

I created .NET Ketchup because I didn't think there was anything quite like this available yet. I got tired of having to follow a hundred different sources online to stay in the loop on the latest news on .NET and therefore decided to automate the process for me.

.NET Ketchup searches many different sources for relevant content and then displays it in a rather neutral and distraction free feed for easy consumption. It will list more than just blog posts and may include trending tweets, useful YouTube content, podcasts, online discussions (e.g. HackerNews, Reddit, etc.), trending Git repos and other content such as official Microsoft announcements. The best thing about .NET Ketchup (for me personally) is that it allows people without a social media presence (e.g. without a Twitter account) to still stay in the know and not miss out on important announcements.

I hope this can prove to become useful to the .NET community and would love to get some feedback! No more scrolling through hundreds of ads and other noise in order to find out about the latest .NET news online!
That’s such a great idea for a story, especially if you start thinking about the size of the oceans, connecting to inland lakes via river networks, etc.
Gotcha, ta. That becomes a tricky problem when we're talking about something that's primarily a storage engine though, right?
I believe they're trying to convince folk that unapproved (over)use of their trademark "weakens the brand" in the minds of individuals enough that they worry it could lead to that symbol not affording the protection on the battlefield that it has traditionally enjoyed in the past, and therefore could lead to deaths which might have been avoided.
Aside from the reasons cited in this thread, I honestly just want to do my own thing. It's the first time I have both time and disposables income - a rare luxury - and I don't feel like using both to have a kid. I want to travel and have fun without answering to anyone. The parent life just isn't for me.
no they can not.

arrow binds a different "this" than call and apply. Call and apply get the this passed in at call time. Arrow gets the this at creation time.
I thought you might be, but just wanted to be sure I didn’t get anyone excited by my vapour MVP lifechanging course
> For this specific application, it's a game (digdig.io), so these 11% might likely be browsers that didn't fully connect to the game, or bots that don't fully support the apis I'm using.

...or people that simply refuse to correctly resolve google analytics' domains, or people who simply block google analytics' IP addresses at the firewall level...

And you know why people do that? Probably because there are developers out there that think it is a good idea to "exfiltrate the data via an http request or websocket and have your server submit the pageview hit directly to GA's servers".
Recognizing that the argument can be abused doesn't mean you shouldn't just ignore children alltogether.
Anybody can criticise SQL, programming languages, etc. It isn't hard and it doesn't make you better than the people that wrote them. When someone says "this thing that has been working fine for decades needs to be completely replaced" and barely mentions any alternative, I don't think they understand the process involved in replacing things or the terrible (non) proposition they are offering.

Increment on SQL, write a translation layer, and see if people adopt it. Maybe 10 years from now your idea will be more popular than standard SQL. Most likely your idea sucks though and you will stay in the easy land of criticising things.

The front-end is infinitely more complex than SQL on the backend. I write fairly common web applications and the SQL part is maybe 10% of my time, and very easy. React is where I spend most of my time. I don't have any problem that really needs to be solved. SQL works for me even though it isn't perfect. Any imperfections can most likely be incrementally fixed. I use tagged templates in JavaScript to deal with parameters, composability, and reusability.

The fact the the author highlights GraphQL as supposedly the great alternative shows how ridiculous the proposition is. GraphQL does basically nothing. It is 10% of the functionally of SQL.
The problem with SQL is the language, not the paradigm.
I'm not sure you understood what I've said at all.

CMake eliminates boilerplate code and compiler checks. They do not exist, at all. With CMake you state that you have a C++11/14/17/20 project, it builds N static/shared libs and M executables, you set dependencies, and you're done.

They do exist in Makefile projects because Makefiles only define the DAG for the build, and don't perform any sanity check at all. So if you have to include dependencies or use specific compilers then you have to manually check each and every single thing yourself, because Makefiles do not handle that at all.

Think about it: why did the entire industry adopted makefile generators such as CMake instead of just using a standard tool like make, which just works and is ubiquitous?

And no, relying on tools and a layer of abstraction to eliminate all janitorial work is not evil or awful. Checking if a lib you depend on already exists in the system is not evil or superfluous. Checking if the compiler you're using supports a specific version of C++ is not evil or superfluous. Do you expect things to just work when you aren't even aware of which compiler you're going to use? Do you want to spend time looking at weird compiler error dumps just because your build machine happens to have a different version of, say, Boost installed?

The main problem of cmake is that some people seem totally oblivious to the problem domain, and what/how much work it takes to get stuff to work reliably given very basic usecases such as... Upgrading a version of a compiler, such as VS. Think about it: How exactly do you think simple, portable code is done? Do you expect code to compile on different platforms by magic?
In the whole CDBC discussion it is important to really listen to the finer points: the central banks themselves say they have no interest in all the detailed shopping data - at the same time they do not at all exclude the use for intelligence agencies, law enforcement and other state actors.

Any digital centrally managed curreny will be at least as transparent as current account movements - might not start that way but difficult to imagine it ending any other way.
Ask HN: Upcoming Interview with Tech Lead
I have an upcoming third and last interview with a well-established German company for the Frontend position.

I will be joined by the Tech Lead and the Tech manager of the company discussing my future role, current projects in their pipeline, as well as how I will get along with them.

I haven't gone through any technical assessment from their end yet. And the HR told me there won't be any technical assessment rather they would assess me based on questions and answers.

This is a kind of new experience for me because in the past I always had some sort of frontend challenge to solve before they proceeded with my application.

I guess the Tech lead would ask technical questions and I want to be as well prepared for that as possible.

Is this common for a German company to have such a short recruiting process? Anyone else went through a similar experience? Any suggestions on what should I look forward to in the upcoming interview.

Thanks
Try Strapi and then https://youtu.be/oGM0GzKE_Aw for unity
Buy a weekly option on a company it's going to announce a merger or predict any other many-sigma event with week/month-precision always using weekly options
steroids only harm the user though. cheats ruin the game for everyone.
See that’s funny, because I’m on twitch everyday and I subscribe to half a dozen streamers and always get a little annoyed when I go to other streams where I don’t subscribe and have to sit through the pre-roll ad.

I had no idea twitch turbo existed.
If everybody refused to let junior surgeons operate on them, juniors don't get the experience to become seniors. Fast forward 15 years, suddenly there's zero seniors left to operate on anybody.

Juniors have to learn somewhere. The reality - in Australia, at least - is that juniors learn in the public system where patients don't really have a choice.
Well, then probably because your experience or knowledge of distributed systems is actually akin to engineering. I'm not debating that it doesn't exist, what I am saying is that generally speaking most application developers, who write a discrete piece of software on an abstracted stack likely aren't making any real engineering decisions.
Wikipedia explains the "auxiliary language" meaning https://en.wikipedia.org/wiki/Lingua_franca
Nice! Keep hustling!
Yeah this happens for me as well.
I can feel the high of being productive but now as I gained expirience I also feel the dread of next day being almost like hungover
The nature of the article is hardly in question. It is the headline, and purpose of the piece.

My best advice would be to apply your vigilance to submissions as diligently as you do to the comments, nipping it in the bud, as it were. That's what I'd do, if I was interested in maintaining standards as your profess to be.
From what I’ve heard you just need to let the reservoir “recharge” for about 30 years to get the heat back. So worst case you need to build twice as many geothermal plants. It’s not that different from nuclear power plants that need to be decommissioned after some decades… except you can just leave borehole and reuse it after a couple of decades or so.

It’s also better than drilling for oil/gas.. where you need to keep drilling constantly to get more oil/gas.

And as some here have pointed out, if there’s an excess of energy, which there will often be in a world with lots of renewables, you can pump heat back down into the reservoir, extending its lifetime.

So as always, at just comes down to cost. And I truly believe that if we put as much money into geothermal as we have with fossil fuels and nuclear power, it’ll be the cheapest and most environmentally friendly way of making power in a decade or two.
There's already a subquery in there. I'm saying this can still be done with one subquery, just in a different place and it returns the desired results.
Lol it’s funny you mention polio.
I was reviewing the data and it had pretty much gone away in its own before the vaccine was in widespread use.
> That's just so wrong

I want to be clear I mean I disagree with this policy which is self evidently true, not that I dispute what I replied to. Colloquial English can be misread so easily.
I don’t think they would add a default adblocker to Safari. You can’t use any other browser engines, and a system wide ad blocker would seem pretty anti-competitive.
Exactly. All those Canadians complaining when it gets over 20C are going to suffer.
Build a Digital Garden Using Hugo
Exactly. We need to sacrifice for the common good. I’m happy to give the govt a back door to my email “for the common good”.
I was talking specifically about the JSON example in the article. Needing to store objects in that manner is just a silly problem to have. Any solution will be slow or ugly or both.

You're right, unions are everywhere. Right now a human has to think about each union and how to represent it in a database. It would be really cool if I could store capnp objects like the one below and still get optimal query performance and aesthetics without thinking about it:

struct Shape {

area @0 :Float64;
union {
circle :group {
radius @1 :Float64;
}
rectangle :group {
width @2 :Float64;
height @3 :Float64;
}
}
}
1) it helps their competitors

2) they may change their mind

3) they may pay for dual licensing (in case of work by a single author)

In general interests of unfriendly corporations and mine are more likely to be opposite than shared.
LAN tournaments solve the problem, though. So it is not that bad.
But do you know how many of your log hits are bots with a spoofed UA that GA filtered out?
Step 1. During a large pandemic use your political and media power to raise the issue of shortage of face masks in your country.

Step 2. Create a non-profit organization to help buying face masks from China. Use you political power to make sure you get a deposit from the government so that you have zero risk.

Step 2.b (the most important step). Create a private company linked to your non-profit organization with basically the same name.

Step 3. When other instances report that there are enough face masks and no extra buys are needed, start making a lot of fuss on social media and television that there are huge shortages and the government must buy your masks. Keep saying every time that your actions are with no financial intent and that you're doing all of this with your non-profit organization.

Step 4. Sell your face masks to the government through your private company instead of your non-profit organization.

Step 5. Cash in your 3 million euros. (actually 19 million euros)

https://translate.google.com/translate?hl=en&sl=auto&tl=en&u...
Maybe I haven't made enough enemies today.

I've been persistently arguing for years that climate change is simply a minor threat. 2020 may continue the trend of being the hottest year on record, and that will be completely dwarfed by both the damage from the coronavirus, the threat of overpopulation and the benefits of economic growth (powered by fossil fuels) in Asia. We might be facing a new war to end all wars in the South China sea. This is being driven by technology and equalisation of the worlds great powers more than by climate.

The climate emergency people are going to have to keep struggling to argue that the emergency here is the temperature rise. The evidence remains that running out of fossil fuels is a bigger threat to humanity's comfort than using them. At the timescales being talked about moving cities as a one-off thing if any problems become imminent is an entirely reasonable plan. Shenzhen was built in 40 years.
If I'd failed or marked-down the duplicates, there would very likely have been an appeal based on accusations of racism, leading to me having to attend an exam board on my own time. That's what I was told by my (much more experienced) colleagues.

Basically, I was advised that it's fine to explain the rules, but to actually attempt to enforce them would cause chaos - for me.
SQL already have first class support for union types in the form of relations. Adding union-type columns would actually be second class compare to this. You would have to add special-case operators and it wouldn't give you more power compared to just using relations.

That said, I'm not averse to the idea if someone can provide a realistic use case. The JSON example in the article is misguided though - you should not save the structure of the syntax of a serialization format, you should save the data model which is represented by the syntax.
Gas mileage and reliability?
Sounds good on paper but there is a good chance this just makes the expected value of the bets spent on government influence by anti-competitive forces go up in the long term.