skysight-inc/HackerNews huggingface dataset:
Unfortunately. And devs are still doing triple lookups (joins) like they’re using sql, forgetting to add indices and designing/evolving schemas sloppily. Data is a mess and there’s an outage every few weeks. It’s also expensive af (probably due to improper use). It’s flexible when you’re trying to “get going” but creates pain later on.

I like SQL because it is way more expressive and helps you answer questions you didn’t know you would have. I find that incredibly valuable. Pretty tough to do in mongo. Generally BQ is good for this (in addition to your app DB) but if you use mongo you’re gonna have a hell of a time stuffing that sloppy schema into any column-oriented dB.

I like some of the serverless GCP dbs like datastore and firestore over mongo. They Index every field and force you to add composite indices on first query run by spitting out an error with a link to create it. If you understand their unique but simple API, limits, and quotas, they work predictably and scale nearly limitlessly.
There is an option to omit roles on backup `--no-owner` https://www.postgresql.org/docs/current/app-pgdump.html
Ok I think you're just being obtuse for the sake of being obtuse for some other mysterious reason, can't help you there.
Consequentialism also yields insane results. Look up "the repugnant conclusion". If ethics were settled, it would no longer be a philosophy but a science.
What advantages does Mongo have over cloud managed NoSQL solutions lime cloud Firestore or aws dynamodb?
1) Start a job search - this is job 1
2) Continue to work - in your spare time
Your pay at your next job is higher if you are currently working. When they ask why are you leaving: They have warned us they are having payroll issues.
3) Network with your co-workers.
Ideally set up regular meetings (weekly) to discuss your respective job searches and to motivate each other.
Where is the line between the bug and the feature?

When an app is using 1 GB of memory but malloc reserves 10 GB, is it a bug? If it were the application doing it, it would be called a memory leak.

What when malloc reserves 50 GB slowly over one hour, is it enough to be a bug? (it can certainly do that given the right environment)

Either way, it's causing issues in things that try to measure memory usage like rlimit, schedulers, kubernetes, hadoop, etc...
Here some info that could be useful:

https://www.citizensadvice.org.uk/work/rights-at-work/pay/pr...

https://www.theguardian.com/money/work-blog/2012/jun/28/your...
Sure, but what I'm saying applies when comparing different languages that are reasonable choices for a given domain.

Anyway, this isn't a poll, and while opinions -- one way or another -- shape the popular opinion, they don't settle the empirical question.
I'll throw in a broader question that's derived from the apparent declination in praise toward Apple by famously apologetic writers/podcasters. What the hell do people buy new tech—and more specifically iPhones and iPads—for exactly? Where can the value proposition actually be made unless you're an illustrator or very frequent camera user? I have an older iPad, 2019 mbp, and One Plus 3 phone. They're fine, but not really any better than the crap I previously had, and struggle to see how newer stuff would markedly improve anything, save for apps working that stopped supporting my devices.
I think software quality has gone way down at Apple since Scott Forstall left.

Side note, I still have fond memories of working at 2XL Games and on ESPN X-Games Snocross and it was one of the first games shown on the iPad on stage by Scott Forstall that highlighted the ability to run on iPhone and scale up to iPad [1]. We had made the game in 9 weeks which was very fast from ATV Offroad, adding snowmobiles for the "slednecks" as they are called. The game launched and while we were working on our next game, we tuned into the keynote as all devs did in 2010, it was Jan 27, 2010, we saw our game come up on stage and no one knew it was happening. It was one of those killer moments that made the work worth it. Turns out it was largely because Steve Jobs was on the board at ABC/Disney and ESPN properties got promoted.

We later made the first game on Apple GameCenter matchup/networking in Ricky Carmichael's Motocross Matchup. The early versions of the Apple systems were actually quite solid for matchup/networking. This was before Android had Google Game Play Services so we eventually swapped it for a platform agnostic networking system but still lots of fun.

I was lucky enough to be lead game dev on both and got to help with the direction/game design as well especially on Ricky Carmichael's Motocross Matchup which is still pretty high up in racing on iOS.

Overall, I really feel iOS was a more solid/robust platform back then and trailed off after iOS 6 in terms of speed/quality, I think that has alot to do with Scott Forstall.

I think Scott Forstall was required for Steve Jobs to really make NeXT and iPhone happen. The way he was let go after the Apple Maps push, which I am sure was pushed out early, was disheartening.

[1] https://web.archive.org/web/20100130175713/http://wireless.i...
To be fair, there is a tendency among Americans full stop (with the honourable exception of the good denizens of this and other likeminded sites) to assume that everyone on the internet is American.
It's a massive difference. Frankfurt am Main is one of the largest cities in Germany. Frankfurt (Oder) has a population of 50000. You seldom refer to Frankfurt (Oder).
Ha, my school straight up bell curved the grades for most classes at the TA level so that a certain number of kids were always going to get a D/F both of which are not passing grades and thus requiring the student to either retake it or switch majors. I myself had to retake 3 classes to get through it and I have had to explain it to one of my parents clients whose son is in the program and has now retaken his 4th class as a junior.

It was pretty brutal but also highly effective at getting me to really study the material to stay above the curve and pass.
This is relevant for me as I'm making a game using a codebase from the mid 90s designed for the 486 (a mix of C and assembler). I assume most of this was known and optimized for at the time but something to consider as I add features to keep performance.
IMO I've come to see DB transactions as a hack because they limit scalability.

It's possible to use two-phase commits instead. Two-phase commits can scale without limit but you have to be more careful when designing your tables and specifying your indexes.

For tables which need atomicity, you can add a 'state' column/field which is either 'pending' or 'settled'. You can have a separate parallel subroutine (or process) in your code to handle settlement. You have to design it in such a way that if the system fails at any point, it will re-process all 'pending' entries in an idempotent way.

It's a bit more work, but it scales without limit. You can add a shard key (or use account IDs) so that you can have multiple processes/hosts working in parallel to insert pending transactions and also multiple processes to settle them in parallel.

In financial transactions, I would separate it into two parts: A debit entry and a credit entry which are initially inserted into the DB as 'pending'. The settlement routine will match them up together - Making sure to process/settle the debit side of the transaction first and only once the debit is in the settled state, it will process/settle the credit side.

If the settlement engine sees any conflict (e.g. user tries to spend more money than they have by submitting many transactions in parallel), it will accept all the transactions as 'pending' but mark the later ones as canceled (they will not settle) so the credit entry will never be created on the other account.
Anyone else got it and read it yet?
https://university.mongodb.com
Almost any results from DuckDuckGo have this affliction.
Homebrew scene for consoles and graphing calculators too, I'd say. I think the overarching reason is that you know the platform you're developing for all the way down to the hardware.
I'd suggest that the correct way to specify a time zone is the name from the IANA time zone database, which uses area (currently a continent or ocean) and location, avoiding most of these problems. Thus:

- America/New_York

- Europe/London

- Indian/Mauritius

- Pacific/Chatham
All GC overheads obviously depend a lot of the specific workload, but if I'm provisioning for a varied workload I would assume 20% CPU overhead and 100% extra memory.

Whether or not that's good enough depends on the task as well as on your margins, business model and competition.

The cost of hosting grows roughly in proportion with memory capacity (Yes I know it's more complex and nuanced than that).

If you deploy on user provisioned hardware (such as on mobile devices or existing/aging PCs), using half as much memory and significantly less CPU/battery than your competitors may give you a competitive edge.
I would summarise it as: use separate keywords instead of sentences. "Change Light Bulb" instead of "how to change a light bulb". "Black Science Guy", "Kevin Durant height", "rails has_many api", etc...

Recently Google got much better in understanding full sentences and there are tons of SEO optimized pages for certain phrases. Nevertheless, using keywords is what I imagine advanced users do.
Gamut mapping is not an easy thing though!
I have a HomePod and we're getting increasingly good at pronouncing French and Dutch artists with the accent of someone with no conception of foreign languages in order to get Siri to play them, e.g. "Gene Ferret" for Jean Ferrat.

Apple Maps will happily butcher Dutch and French streetnames to the extent that we cannot recognize them at all.

Siri will just make a random guess if it can't understand what I asked it to play. It's just so supremely awful at almost everything.
What's OpenFaaS About?
If a man is surrounded by trees, does he become a grove?
Active information campaigns. Deprioritizing in search/related results rather than banning. Partitioning verified from unverified information and always showing a minimum number of factual content when showing unverified content.

That's just off the top of my head. There are dozens of possible strategies, but companies will always do the cheap and easy thing that will stop the bad PR quickest, even if it hurts some people. We should demand better.
I'm quite sad for the people living in Hong Kong, to be stripped from their autonomy by means like dragging out the pro-democratic party members and "voting" for a person who is pro-CCP, and claiming that to be a legitimate.

Had it been a clean democratic process to end up in that, then so be it, but having things go in this kind of a fashion is truly terrible.

I truly hope they can still turn the situation over, and wish them all the best in their attempts - I'm lucky to live in a country where I do not worry about these kind of things, so it is easy to talk from my ivory tower, but damn I would be scared to live in a place where democratic process can be dismantled just because it is an inconvenience for someone else :(
International Olympiad in Informatics
There's no reasonable way to compare performance between PostgreSQL and MongoDB because they're not the same kind of product and they don't have a similar query interface.

You can take a particular application and compare performance when using two different databases on the back-end, but then the database itself might not necessarily be your bottleneck, it might also be the way the application is written. Because the database is only a part of the equation, the comparison also doesn't tell you anything about the performance of any other application.
Is that with Siri or something else?
It's ridiculous TBH, whether its travel apps, or setting timezones in things.
I'd love to try and have a go at compiling the NT3.5 source. What tools would I need? There are Makefiles and things in the archive, but having installed MS Visual C++ 6.0 in a Windows 2000 virtual machine, it still seems to be lacking commands like "build" and "nmake" which are referenced in these files... Does anyone have pointers?
They probably mean https://www.mongodb.com/cloud/atlas
That's my attitude as well. RethinkDB, in comparison, had a much better attitude of "reliable first, fast later". Unfortunately, it turned out that when you're a database, it doesn't matter how much data you lose, only how fast you are while losing it.
The article has three headings for “production tips”. TL;DR read those.
No offense taken haha

DocumentDB is a great DB, but in the end of the day it's a forked version of 3.6-ish so it's missing a ton of new features like multi-collection ACID guaratneees.
Plus, whenever you use DocumentDB you're accessing it via the MongoDB official drivers, so you'll be handling that compatibility mess yourself.
There's also Preston, Maryland in the US - finding UK town names which are not repeated elsewhere is hard!

It also makes driving around New England most confusing, since towns which _should not_ be in the same direction often are...
Yep, Siri is absolutely useless, I have no idea how people mention it it in the same breath as Alexa or Google Assistant(although these are also incredibly brain dead in their own ways). My favourite one with Siri was when I said "navigate to X, Birmingham" and it plotted a route(somehow??) To Birmingham, US(I live in the UK). Like, that's incredibly bad.
Mongodb Atlas is their hosted DB as A Service. They will manage the infrastructure for you on any of the major cloud providers at a premium rate.
Nice, just a question, What's the difference with the homonymous app writen in python ?
I don't understand why no one is blaming the education system?

How is it possible that students that are being considered for "advanced placement" are not familiar with file formats?

how horrible and backward your education system must be?
This belongs to basic literacy in the modern world.

Note we're not speaking about old people who were exposed to files for the first time while they had to balance a family life and other responsibilities.

We're speaking about people that were forced to spend more than half of their lives learning !!!
Those are json literals in the SQL query. That has nothing at all to do with how json is stored in jsonb columns in the database itself.
VPN Downloads Surge in Response to Hong Kong Security Law
/cgi-bin/
Glad these things help people. The * for wildcard was a bit of syntatic sugar to make $(call rwildcard) closer to $(wildcard).

For those who don't know, here's a list of stuff I've written over the years.

https://blog.jgc.org/2013/02/updated-list-of-my-gnu-make-art...

And the hard copy version: https://nostarch.com/gnumake

PS I really like the layout of your blog.
A friend of mine got the old number of a prostitute. He received tons of funny text messages of thirsty dudes.
Go to https://duckduckgo.com/settings and change the Region to wherever you are for better regional results.
Then why are they on the internet? Aren't they aware that non-US people can also access it? And if they aren't interested then why do they add "for now" to their message?

And are you telling me global companies like Google and Amazon don't have any non-US customers? I don't know which world is that but I want to live in it.
If my choice is between not being able to enter the US and having US authorities go through my personal devices, I will choose non-entry. That part doesn't worry me so much.

What does worry me is that at the border I have no rights. The usual protections enjoyed by people inside the US don't apply to me. My privacy and dignity at the behest of the whims of whichever border guard I might encounter, and I have zero legal recourse if my rights are violated.
Show HN: Dark Mode for HN
Yes. We have applications running on both PostgreSQL and MongoDB and I find that working with MongoDB is just more pleasant. I think it mostly boils down to my preference of document databases as opposed to relational ones. It feels much more natural to me to embed / nest certain properties within a document instead of spreading it across several tables and then joining everything together to get the complete data. MongoDB makes working with these sometimes nested documents easy (I mean, it better) and there's always Aggregation Pipeline when you need it (something that I again find much more pleasant and readable over SQL).

What always irks me is when somebody suggests PostgreSQL's json (or jsonb) types as an alternative to using MongoDB. All it's saying is that the person hasn't really invested a lot of time into MongoDB because there are things that PostgreSQL simply cannot do over a json type, especially when it comes to data updates. Or it can do that but the query is just overly complicated and often includes sub queries just to get the indexes into the arrays you want to update. All of that is simple in MongoDB, not really a surprise - that's exactly what it was made for. The last time I worked with PostreSQL's json I sometimes ended up just pulling the value out of the column entirely, modified it in memory and set the it back to the db because that was either way easier or the only way to do the operation I wanted (needless to say there are only exceptional cases where you can do that safely).

Lastly, if you can easily replace MongoDB with PostgreSQL and its json types or you're missing joins a lot (MongoDB does have left join but it's rarely needed), chances are you haven't really designed your data in a "document" oriented way and there's no reason to use MongoDB in that case.
Yep, if you're presenting to international audiences then either one of those two is unacceptable. First one because in a lot of countries people genuinely won't know what AM means, the other because there's only one clear way of reading it, but it's not consistent between countries.
We've reached peak Daring Fireball
> So you’re shifting the goalposts a little bit, too—awaiting Bar() is only equivalent to a channel receive if there is some other task that actually started the work.

The most correct way of looking at this is that async fucntions return a channel that you can read data from, and await is exactly like a channel read. The magic in async/await comes in the function calling 'await', which is suspended and scheduled to continue later. So, just like in Go, you could create a function that needlessly uses channels but is otherwise synchronous, or you can have a function that uses channels because it actually is doing something in the background.

> Colored functions are when you hijack function call semantics to do asynchronous programming. Go doesn’t do this; the asynchronous behavior has to be done explicitly.

Colored functions are a very general concept. They refer to families of functions which perform the same computation but that need to be written differently for syntactic reasons. Famous examples that have nothing to do with async include C++ const-ness, where you have to write a const and a non-const version of a function to to be able to offer the same functionality for this and for const this.

Go has this with functions which return data versus functions that push data on a channel. If you want your function to be callable in a sync manner, it must return the data directly. If you want it to be callable in an async manner, it must take a channel and push its result on that channel. You can't launch a sync function as a new goroutine and get the result back. You can't call an async function as a regular function and read the result back. So, they are two colors of functions in Go.

More concretely, say you are writing an HTTP client lib. If you want to allow your users to start multiple requests in parallel in a nice fashion, you must write your request function to take a channel and push its response there. If you want to make it easy for your users to just call your function in a sync manner, you must write a function that returns the response as its return value.

Of course, you can implement one in terms of the other, as demonstrated earlier. But you still need to add that wrapping, so your functions have a color.
Top individual shareholders. Their holdings are tiny, the highest one holds ~10m compared to a market cap of ~100B.
Show HN: Txm – test your README's code examples
My introduction to computers was standing in front of a TRS-80 at a Tandy store (Australia's outlets for Radio Shack). I would visit sometimes after school and spend 15 minutes or so typing things in from the manual and adjusting them to see the effect. A few times when I went with my Dad I was hoping he would buy me one. Eventually I got the VZ200 from Dick Smith Electronics.

I ended up studying electrical engineering, really liking the notion of using digital systems to control the real world, and am a network and security consultant for my day job.
Yep, the update operators for MongoDB are really great and not replaceable with Postgres. Now if only MongoDB had a good sharding story it would be a worth contender for me.
It activated when I greeted my cat. My cat is called "Timmie"
Australia 'records fastest internet speed ever'
Siri is also absolutely unusable if you use more than one language on a daily basis.

Or if you have a lot of contacs with non-English names. Siri never gets this right and you always have to reverse-engineer a 'fake' English pronounciation of the said name.
Show HN: Krucible – Kubernetes clusters for testing and development
Photopea
Would I be incorrect to assume that something like 17:00 will be understood by literally everyone in the world(if maybe not the preferred format) though? Using AM/PM is worse in a sense that say someone in Poland will literally have no idea which means which. 24 hour clock has no ambiguity. Unless I'm wrong and there are countries or cultures which literally won't understand what time 17:00 is?
Do you mean using SI instead of Imperial units? What difference would it make? For instance Exercises IX (Chapter XI) says:

(4) A piece of string 30 inches long has its two ends joined together and is stretched by 3 pegs so as to form a triangle. What is the largest triangular area that can be enclosed by the string?

Just replace inches with your linear measure of choice, mm, rods, poles, chains, stadia, light years, or anything else; it makes no difference to the problem. Thompson could have said 'units of length' instead of 'inches'; but the whole purpose of the book is to build on easy notions that Thompson believed everyone could manage and perhaps even be familiar with already, so he used imperial units that were familiar to every handyman of the time instead of metric which would be familiar to far fewer and hence distracting.

Also don't forget that there were several distinct 'metric' systems in the past before most of the world settled on SI (MKS, CGS, etc.)
Go to the post I linked to for more evidence.

Furthermore, remember that it was China's intervention in Korea in the early 1950s that almost overran the US forces in Korea, and forced a negotiated settlement with the creation of two Koreas.

NATO is irrelevant, as that was an alliance for the defence of Western Europe, not small remnants of Britain's colonies. NATO was not about to go to war with China then, any more than it involved itself in Korea.

And what would Britain do with its nukes? Nothing more than the US did in Korea and Viet Nam. If Britain were to even threaten their use, it would seriously damage its relationship with the USA, by creating a precedent that the USSR (and, by 1964, a nuclear China) could invoke at any time. Remember what happened over Suez, which did not even go as far as a nuclear threat.

Even if Britain halted an initial invasion, China would still be there, on the border of Hong Kong, for as long as the British could afford to stay (or until 1997, if it came to that, which it would not.)

None of this analysis is dependent on "looking at the might & modernity of China today and thinking t'was ever thus."
Taking headless mainstream – Learnings from the founder of Moltin (YC W15)