skysight-inc/HackerNews huggingface dataset:
GIF is super slow to decode, more so than any modern video format!

It doesn't seem like it mostly because browsers (slowly) decode GIF as they (slowly) download it, and cache all uncompressed frames in RAM. They don't do the same for <video> tag, because they assume it's only for high-res, non-looping video.

• GIF data is huge. 15x-20x times larger for the same dimensions & quality than normal video codecs, and sheer amount of bytes to chew through eclipses any savings from it being slightly simpler.

• GIF's compression doesn't support any parallelism. Frames have to be processed bit by bit, frame after frame. Your multi-core CPU can use only a fraction of its speed when decoding. OTOH modern formats support parallelism on all levels - frames, tiles within frames, blocks, transforms. Modern CPUs can process these very effectively.

• In modern systems RAM is ridiculously slow relative to computing power available on the CPU locally. However, GIF's LZW is based on lookups in a dynamic dictionary, so not only you have just one CPU core process it, the core mostly spends time chasing pointers.

• There's no hardware acceleration for GIF. For newer codecs it's quite common and very power-efficient.

There's no technical reason (other than legacy code) stopping browser vendors from treating AV1 just like GIF, with all looping <img> glory. In fact, Safari already supports H.264 in <img>! It's faster in every way.
I hope my house does receive air strike
> [...]but I can have 100+ GIFs playing at once with no impact to my CPU.

That's... not entirely accurate. What do you think is rendering all those gifs to screen?
I believe there are warning flags you can turn on for this, and compiler defines/tokens to allow fall through.
You are correct, there's certainly more to the scientific process than thinking. Theology isn't science, but not for lack of careful thinking. Mathematics isn't science either.

Science is about empirical investigation, by definition.

I think whatshisface's point was that scientists don't have unique access to some special mode of inquiry. It's expertise, not a priesthood.
Yet having moved from (primarily) Java to (primarily) Go I find I don't miss them.
I had them (Java and C#) and I am happy Go does not have them. I feel like most people just miss them for collections and abuse them in other instances.

And for collections Go has other tools (like generator if you really want to). Overall in the 2ish years of writing Go, I only missed them when I was learning the language coming from years of Java.
When your jaw falls off in your front yard and my dog eats it and gets cancer it becomes my problem. When the state builds you a special lead coffin and taxpayers foot the bill it becomes a problem for society.
> “science fandom”

See also Scientism [0], especially in the sense Popper meant it.

The place I keep getting stuck is trying to understand how we went from skepticism meaning, "I will neither believe, nor disbelieve, without evidence" to something more like "if the thing doesn't confirm my (probably very limited) understanding of our (definitely limited) understanding of reality, the thing should be dismissed, if not mocked."

I get the value of things needing to be proved — which, in context, just means "the theory still works", not the "it is known" that notion seems to have become — in order to be believed, but the one just doesn't follow from the other.

My guess is tribalism. When people are mocking things, they're doing it to advertise some kind of tribal affiliation, or enforce some tribe's norms.

EDIT: Phrasing.

[0] https://en.wikipedia.org/wiki/Scientism
Really neat! So it seems that the best way to get featured on HN is still just... find or write interesting stuff. Good to know, thanks!
Latest stable and we'll keep it that way.
It's not, in my opinion. And if the piece of software is simple and dumb, I don't really see why it should not be open source neither.
How do I test for empty set? If I understand correctly then "SELECT * FROM Movies WHERE description = {};" will not work, right?
Is this supposed to be a parody of hn libertarian thought? I can't imagine the lesson a child learns from maxing out the credit card of loot crates to be worth more than the money.
Look at something like wolfmqtt or equivalent - this is like 3-4kb, if you are targeting mqtt.
I'd argue that Java's killer feature is portability across platforms (embedded, mobile, server, etc..), not runtimes.
Billionaire Jeff Bezos to unveil plans for moon presence, sources say
Good Luck /s

HRs job is to protect the management and the company, and not the employees.
Agreed. I think this is one reason that Looker's LookML has been successful. Not that it's entirely what I'd want out of a "SQL replacement", but it's an enhancement that "compiles" down to SQL rather than looking to replace it. Plus, you can always go direct to SQL, in case you need to take advantage of some specific feature or complexity that their language doesn't address itself.
It's a chicken-and-egg problem. The sort of company with managers who pester me for alleged unproductivity (for caring about quality over features) is not the sort of company who would ever let me into a management role.
>First, I want to say that the team here did amazing work: they built and shipped a fix in less than 12 hours from the initial report. As someone who sat in the meeting where it happened, I can say that people were working incredibly hard in a tough situation and that very little time was wasted.

It's a bit disheartening to see the "Lessons" section opened with this. I understand that everyone worked very hard to get things up and running - but that is not a lesson learned. That is self-back-patting.
The alternative is hoping enough people "learn" AND reduce their personal short-term convenience to make it financially rewarding for enough development companies to provide worthwhile alternatives AND for that to be obvious enough that enough companies try.

That's a lot of footgunning spent hoping a lot of other people footgun. I've been there, and I was the only that suffered, not the companies doing wrong.
How to build your startup product ideas from scratch
Thanks a lot for this, it is indeed very clear and easy to follow! Good walkthrough on the partial derivatives calculations which imo are the hardest part.
That's the one. Pretty much decided we've purchased our last ICE, and the '05 Scion xB DogMobile wouldn't hurt to be replaced by 2022.
A bit like saying if you know you won’t have a hammer, you’ll instead bring a drill, a screwdriver, and screws. But sometimes it’s nice to be able to nail things together.
The commenters also egg on the camera man to get closer and do risky things.
If there's one single reason why Java killed C++ in the enterprise space, it's memory safety. (Concurrency-readiness and WORA were also important features of course.) GC was not important, other than as a means to an end of course.

What GC does in practice is open up new domains. There are object-management patterns that simply can't be written feasibly without something like a GC runtime under the hood. (Hence Greenspun's tenth rule of programming, of course.)
That Hawley, quite a record he got for a novice politician. He is quite zealous, while not seemingly doing that solely for promoting his image.

I will watch his progression with a lot of interest
People have been getting hurt for years and they haven't learned yet. Trust me, I'd prefer the market to self regulate, but clearly it hasn't and won't in this regard, as evidenced by the article.
We are working on it. We provide the openjdk package in UBI now, you can build a container image from the base. I plan on publishing a blog entry soon, explaining how. Also, we are working on releasing a pre-built image.
Planet Money did a good podcast about this topic, https://www.npr.org/sections/money/2019/04/03/709656642/epis.... Grover Norquist and his Americans for Tax Reform has way too much leverage on Republicans for them to ever agree to pre-filled tax forms. It's a shame.
Kata Notebooks make quantum programming more approachable – Microsoft Quantum
I once submitted a blog post [1] and later received an email from someone at HN saying that it was a great article but didn't do so well and if I re-submit it, they will make sure it does better, so I did and it went to the top.

[1] - https://news.ycombinator.com/item?id=16862077
This is increasingly the standard model in large C and C++ projects, alongside the warning flags for incomplete switches and fall through you get fairly close to this.

I feel the biggest problem with Enums in c/c++ is the default implicit bool and int conversions. They are the enemy.
Things I used in my project were:

> (vectorization, OpenMP, handwritten assembly, automatically optimized code, various optimizations, better algorithm.....)

also in addition to these, I used caching. Also GPU programming, but it's a trade-off.
Yeah I'm not sold. One example from this post that struck me was the author wanted to embed a select in a table expression. I'm not a fan of this at all. I don't want it not to be clear if a given expression list will explode in values or not.

I like the fact that SQL has a solid foundation in relational algebra. I see no such foundation for the alternative.

I do like what LINQ did here (being SQLish), which was to put the FROM clauses first. Some SQL variants have WITH clauses that are quite convenient but you end up with:

WITH (...) AS a,
(...) AS b
SELECT
a.a1,
b.b1
FROM a
JOIN b
ON a.a = b.b

Common alternative:

SELECT
a.a1,
b.b1
FROM (...) a
JOIN (...) b
ON a.a = b.b

whereas I'd prefer:

FROM (...) a
JOIN (...) b
ON a.a = b.b
SELECT
a.a1,
b.b1
I understand skepticism but sometimes it goes too far.

Go has been out for ten years now, not six months.
An entirely valid concern, but languages and their ecosystems can get big enough that a or the major supporter can drop out without killing or necessarily even significantly harming them in the medium term. I currently guess that Go is there, while Rust is not quite yet vis-à-vis Mozilla.

Microsoft's focus on developers from its founding gives us a great deal of confidence about a respectable level of support for C#/.Net, although their movement from closed source is too new to depend on quite yet.

Whereas Oracle's acquisition of "Java" has prompted a lot of people including myself to step smartly back from its ecosystem due to the demonstrated risks of that malevolent company. See only the latest thing I've learned about it withholding a TCK (test suite) license to AdoptOpenJDK: https://adoptopenjdk.net/quality.html
If fetched as JSON:
{"favories": [{"director": null, "author": "J.K Rowling"}, {"director": "Spielberg", "author": null}, ...]}

You can also query the actual object type by referring to the __type__ link:

SELECT User {
favorites: {
__type__,
[IS Movie].director,
[IS Book].author,
}
};
This is a nice way to do that, but you have a low volume of data, and you think 30 seconds is fast and 1 minute of downtime is acceptable. I question these assumptions.

Consider the situation when you're adding thousands of new records per seconds, and the database is being used every second (quite literally: to compute per seconds statistics).

A better solution is to have triggers on the old master, to do the same inserts on the new master (after copying the data/promoting a replica/whatever), and have similar triggers on the new master when the IP is not the old master (to be able to backout to the old server)

Then both the new and the old master run "in parallel", with the same data, and you can have the apps use the new server (on a new domain name, new ip, new port, whatever) when you want - on a app by app basis if you want. You can keep both until you decide to decommission the old master.
JavaScript and Go clients are coming soon. Java/Rust will follow.
It takes years to build up trust, seconds to lose it. Obsolete documentation to disappear. It's an uphill battle. In the meantime there's postgres, and it's free.
Anyone know what the movies are in the sample GIFS?
Embrace Extend Extinguish
I apologize in advance for going a bit off-topic, but I would like to point out the following:

It is never necessary, and always inelegant, to write or say "going forward". Also, it stinks of corporate-speak.

The English language already has a future tense, and this bit of redundancy makes sentences sound more contrived and clunky. Simple rule of style for writing: if you can remove something and keep the meaning intact, remove it. No regrets. "Simplicity is the ultimate sophistication".
The post-mortem hasn't even started yet; now that 66.0.5 is out and the initial incident response is finally winding down, now they can move on to that.
I don't have time for slow-ass typing text. Next.
To be fair, Splunk excels at dealing with unstructured logs, which is in many ways a harder problem. Obviously in a perfect world, all our data would be structured, which would make querying much simpler.
Often you can just load the same url with .gif on the end and it will work, since they make many formats available with the same base filename.
New research form Microsoft explores ways to integrate the real world with VR
> open source escrow

I think that's a good idea, but ARE there real and reliable escrow agents for this kind stuff?

Is it better than, say, a gentleman's agreement to make the source public on github (or some other channel) upon dissolution of company?
Because "FROM centos:8" can't exist until after "FROM ubi8" exists. UBI will offer betas for RHEL 9, 10, 11, etc. It solves a chicken and egg problem for partners who need early access.
The other seven cores that are not being identified as "my CPU".
Of course not, it would be prohibitively difficult to deconstruct the apk from the phone itself.
You don't need a 0-day when the target installs for you.
Quite a big number, but probably not all yet. For example, in one of the future releases we'll add support for GIS types.
Why wouldn't you just file your own damn taxes?
Pi-Hole Prometheus Exporter (+ Grafana Dashboard)
You get updates with UBI, free of charge.
How is that not a complete dealbreaker though?

I as a user can't possibly be expected to know and deal with whatever the recipient of my link uses.

A magnitude or two of data and worse quality is a small price to pay for something that actually works and still loads in realtime, even on mobile, anyway.
> In situations where EdgeDB cannot infer the type of an empty set [2]

Why not bottom, or are containers not covariant? I'm worried that we're not clear about the difference between variables and values.

> Strictly speaking, EdgeQL sets are multisets [1]

Like nulls, this is another broken aspects of SQL.

Maybe you can address these concerns, but I'm skeptical that it's relational:

* It conflates types with relation variables

* It's using links rather than foreign key constraints

* It doesn't seem like the user can even specify a candidate key

* Which is why the "id" field is magical and special

* Constraints only seem to apply to scalars

The reason SQL has been successful is that tables are dead simple to understand, and you're throwing that out. This feels more like a graph database.

[1]: https://edgedb.com/docs/edgeql/overview#type-system
[2]: https://edgedb.com/docs/edgeql/expressions/overview#set-cons...
No "major" impact to the CPU. As insignificant as displaying however many frames exist in the gif as still frame jpegs at the same time.
I don't quite follow how this reply relates to the first paragraph under the "Lessons" section of the linked article.
Hey, also look into post compromise security eg see https://eprint.iacr.org/2016/221.pdf

This stuff is way off Dockerfile level, sorry.
> There is of course a huge difference between an "accountant" and a CPA.

This is a very good point. And I should probably clarify that when I wrote my original comment I was indeed thinking more of a "bookkeeper" than a CPA.

I am (fortunately) not too familiar with the AICPA's enforcement of their Code of Conduct. As far as the obligations of a CPA who suspects fraud it's more of a duty to report suspicions to someone in management who's probably not involved in the fraud and is in a position to investigate it. But it's very situation-dependent.
Just to clarify (and I strongly dislike overuse of ORMs)...

Some people use a thing x

A subset of those people use a subset of x called y

This subset of people have built a tool to make y easier to express

Thus x is invalid

I think that's a really bad argument, if everyone was using ORMs then we'd all merrily forget about SQL and just use ORMs which would become the new "language for structuring queries", but we don't all, and EdgeDB in particular thinks that ORMs provide a much degraded expression set from SQL and thus want to tweak X so that it's as expressible as the tool to express Y but without making it just about Y... I think your goal boils down to shifting the trade-off point between X and Y - the extreme of which is writing a very expressive Y that also supports X but in a non-expressive manner.
>Just for a little context, that 40k would be tax free, since the first 40k of cap gains are untaxed.

Wait, what? How do you figure? First, the $40k referred to is interest on the $2 million, not capital gains. Second, all interest over a trivial amount is taxed as ordinary income. (If it comes from a mutual fund with stock ownership, it could have qualified dividends taxed at a lower rate, but it's still taxed.)

Anyway, I agree it can get you a comfortable life, but you're definitely paying taxes on it.
The Power of Doubt
That could very well be an affect of long term acclimation.
It's all moralizing, with one set under and additional constraint of civic duty. You have it squarely backwards. What you're getting at is less sophisticated than the point made, which is why it's not compelling.
The reason why I mention mtx specifically vs things like normal DLCs is because I do feel that they are a dark pattern, one of the reasons they are so successful is because its intentionally easy to forget how much you are spending, and you often dont realize until it's far too late, if you realize at all. And I agree totally on the booster pack point, I've also always felt that way.
SQL:2016 includes support for JSON: https://en.wikipedia.org/wiki/SQL:2016
UBI lives in between community and product. It's a community thing if run without a subscription and a product if run on RHEL/OpenShift.
Having spent a lot of time hunting for the best way to figure out backprop, that is the best resource I've found and the one that finally made everything I've read click.
That seems like cold comfort to me. If that was their concern, they could easily keep Roe v. Wade while making it effectively useless. For example, they could argue it only prevents explicit bans and that banning it after six weeks is okay. Such a ruling would strike down this particular law, but it would leave plenty of room for more indirect ways of banning abortion.
My job was to create these opportunities and they were there - internal politics prohibited them from getting done.

Prior to all of the Docker as a Service endpoints getting launched, there was an internal pitch for a Docker as a Service program aimed at all of the cloud vendors as part of a Docker ubiquity/available everywhere strategy.

The push back internally was that we should create these integrations and sell them to the cloud vendors. That was never going to work, but, about 3 years past the mark we started talking publicly about 'Docker Editions.' A little late to the party by then..
Then you have to do changes to the form yourself. I don't really see the problem. That's how it works in a lot of countries.
Yes. The empty interface.
Haha, hahahaha, hahaha.

>>SELECT math::mean(
Movie {
description,
number_of_reviews := count(.reviews)
}.number_of_reviews
);

I'm sorry, are you trying to make it more readable? Hahahahaha
Fine, but do it transparently so the file is named .gif and it behaves the same as a gif only better optimized.

I hate opening “gifs” that are actually videos and, for example, interrupt my currently playing music to playback silence.
>People want to do heroin, why is it you (or the government's) job to tell them not to? ...

In China these days, parents pretty much do treat smartphone games "as bad as drugs" for kids.

Rooting phones to prevent game installation and removing/breaking/locking payment APIs is one of most popular services in phone repair shops.
Conway's Law Is Real
If I understand correctly you are describing a one to one or one to many relationship. The canonical way to express that is 'don't use a mapping table'. Mapping tables are for many to many relationships. So why is there a mapping table in you example, and could you just get rid of it altogether?
It doesn't make sense to use GIF for lengthy or large resolutions. For a 16x16 pixel image with 5 frames though...
And do you support other backends as well (i.e. MySQL?). Does EdgeDB still offer a regular SQL interface because people need time to migrate.

Even if I was convinced EQL was the future I wouldn’t throw out the old stuff. If the old stuff continues working but there is a smooth migration path, I would probably give it a try.

Think of TypeScript vs. JavaScript.
If you have been following, in one of the pieces over the last week or so reported that they outsourced the software.

Which begs the question of who signed off on the acceptance tests.
A much better alternative is Rancher. 100% open source.
No it won't, because you add immense friction for no added features.
force manufactures to build cars with performance characteristics nobody wants

Well... performance characteristics that everybody wants -- for everybody else. They themselves want warp drive, but prefer everybody else help hold down the price of gasoline and the carbon content of the atmosphere.
I agree, except I wanted to make it abundantly clear that I wasn't using it instead of real evidence. A big pet-peeve of mine has always been when people try to pass off personal experience as something that can be used to dismiss statistics.
I’m proud to call this guy my colleague :D
Hello HN readers arriving here: this is not true.

Not only do both have completely different payment processing workflows, but there's another key takeaway:

With a credit card the money going out is the issuer's. If you have a compliant or need to handle a charge, it's not your neck on the line.

With debit? Once the cash is pulled it's pulled. Yes they have protections as well, but while you're fighting with your bank to get your money back it's gone.
Wait, what major relational databases don't support JSON? Oracle and Sql Server definitely do. Does MySQL not support JSON?
Ask HN: Open-source codebases you've known and loved (learned from)?
I'm at a point in my career where I'd like to spend more time learning by reading well-architected, organized, maintainable and productive code.

Are there any open-source codebases that you think are noteworthy for having (reasonably) good style or idiomatic code or organization?

This is a totally language and paradigm agnostic query :)
Roots of the same species can fuse directly. It helps canopy tree species grow up inside of an already closed canopy, and similar to mycorrhizal networks, can spread around sugars and water.
Austin,TX suburbs, plenty of of those things but there are resident crime fear discussions, and certain personalities that make themselves 'important' by constantly warning about crime and that "they" are targeting us etc.
EVERYONE has a 'ring' or whatever the camera doorbell thing is.
If you didn't need many features, you could theoretically wrap mqtt in dnscurve payloads; lighter weight than tls and still very secure.
It's API is not `unsafe` though. Otherwise, every safe API depends on some `unsafe` call down the call graph.