Hacker Newsnew | past | comments | ask | show | jobs | submit | RcouF1uZ4gsC's commentslogin

This makes sense with the quality and quantity of testing they do.

https://sqlite.org/testing.html

>As of version 3.42.0 (2023-05-16), the SQLite library consists of approximately 155.8 KSLOC of C code. (KSLOC means thousands of "Source Lines Of Code" or, in other words, lines of code excluding blank lines and comments.) By comparison, the project has 590 times as much test code and test scripts - 92053.1 KSLOC.


That's an enormous test suite but considering how large the SQL spec is it makes sense.

You would probably have the same answer if your boss said, I have to get rid of one of your co-workers or your use of editing tools - ie all editors. You either get rid of your co-worker or go back to using punch cards.

You would probably get rid of your co-worker and keep Vim/Emacs/VsCode/Zed/JetBrains or whatever editor you use.

All your example tells us is that AI tools are valuable tools.


Now do hand drawn cartoons vs 3d rendered cartoons.

Is Pixar Incredibles where a computer algorithm made decisions about exact colors worse than Disney Cinderella where it was hand-drawn animation?


Having watched both. Yes the Incredibles are much much worse. Especially if we focus on the color palette. You could have not picked a worse example.

But for example Moana is not worse than Cinderella. Arguably it's better. But the algorithmic choices around perspectives, reflections, etc. Were not really automated. In both cases a lot of people where involved in each scene, and I am confident, they went over every frame, checking the result was what they wanted.


Additionally, hand-coloring wasn't necessarily a more pure creative choice anyway. It was dictated by material conditions such as the availability of pigments, studio constraints, time pressures, etc.

This feels like an incredibly disingenuous comparison and I suspect you know that. But just to play along, real artists had to design the character models, real filmmakers had to decide which shots to capture, real editors had to put that together to make a cohesive story. Also they almost certainly went through color grading after having completed the rendering, so the colors are certainly selected by humans to produce a nice looking composition.

This isn't even remotely comparable.

That would result in the obliteration of France?

You really think the French are going to sacrifice themselves to avenge the Italians?


>That would result in the obliteration of France?

To be clear, if we are talking about a salt-the-earth level conventional bombing for pure annexation / genocide of a EU nation the French would:

1. Remind the US via diplomatic means that they have nuclear subs and the will to use them.

2. If ignored, select some non-mainland territory (PR or Hawaii) and make a ultimatum. Mention that if the US does not desist they will wipe it, but will not launch attacks on the continental US.

3. Repeat 2 until they stop or escalate.

The French would absolutely do this, the thing you propose is so beyond the pale (even now) that the only conclusion is that the French would be next.


I think there is peace now because little-endian won.

All modern CPU are little endian (or dual selectable)

Other than backward compatibility, there is non need for little endian.


Network byte order.

Yeah people need to stop doing that going forward. It makes driver code a royal pain in the ass.

Which will also become a historical artifact as new protocols are made to use little endian.

For which protocols? TCP/IP itself is network byte order all the way down to the bottom of the jar.

For example, Cap'n Proto and QUIC are both little endian.

TCP is becoming increasingly less relevant, although I don't know if it'll ever actually disappear.


Capn Proto and QUIC are are layer 6 and 7 (presentation and application protocols respectively). Quic is built on top of UDP.

Layers 3-4 (network, transport) are both big-endian - IP packet headers and TCP/UDP headers use big-endian format.

This means you can't have an IP stack (let alone TCP/UDP, Quic, Capn Proto) that's little-endian all the way through without breaking the internet.

Outside the webdev bubble, it's pretty much QUIC that is irrelevant - it's just another UDP based application protocol.


UDP is an implementation detail of QUIC, just a way to give IP-ish functionality to userspace. In practice, QUIC is a TCP alternative.

The OSI layer model is not necessarily as relevant as it used to be.


You're kind of saying "look over here!" but I'm not that easily distracted. You said "Which will also become a historical artifact as new protocols are made to use little endian". It's never going to become a historical artifact in our lifetimes. As the peer poster pointed out, QUIC itself has big-endian header fields. IPv4/IPv6 both use big-endian at layer 3.

The OSI layer model is extremely relevant to the Cisco network engineers running the edges of the large FAANG companies, hyperscalers etc. that connect them to the internet.


I was wrong about QUIC, for some reason I was sure I'd read it's little-endian.

I'm just pointing out that UDP is an extremely thin wrapper over IP and the preferred way of implementing new protocols. It seems likely we'll eventually replace at least some of our protocols and deprecate old ones and I was under the impression new ones tended to be little endian.


Foolishly, QUIC is not little-endian [1]. The headers are defined to be big-endian. Though, obviously, none of UDP, TCP, or QUIC define the endianness of their payload so you can at least kill it at that layer.

[1] https://www.rfc-editor.org/rfc/rfc9000.html#name-notational-...


Oh really? I must’ve misread.

Modern-ish CPUs have instructions to load big-endian data without having to switch into a special 'big-endian mode', and compilers can optimize into those instructions so language don't need to add special intrinsics:

https://www.godbolt.org/z/q3hMPq78v

...but even without specialized instructions the transformation should be pretty much free on pipelined CPUs (compared to a memory load anyway).


It's still one more thing you need to keep in mind when writing code, at least in languages that don't have a separate data type for different-endian fields.

There's one area I wish we did differently which I think is a hang-over from big-endian. It's the order of bytes when we write out hex dumps of memory.

You'll always get something like this:

``` 00000000 : 00 01 02 03 04 05 06 07 00000008 : 08 09 0A 0B 0C 0D 0E 0F ```

On a big-endian machine, when you wrote 0x1234 to address 0x0000000 you got:

``` 00000000 : 12 34 02 03 04 05 06 07 00000008 : 08 09 0A 0B 0C 0D 0E 0F ```

On a little-endian machine you have to either do mental gymnastics to reorder the bytes, or set the item size to match your data item size.

``` 00000000 : 34 12 02 03 04 05 06 07 00000008 : 08 09 0A 0B 0C 0D 0E 0F ```

If we wrote the bytes with the LS byte on the right (just as we do for bits) then it wouldn't be an issue.

``` 00000000 : 07 06 05 04 03 02 12 34 00000008 : 0F 0E 0D 0C 0B 0A 09 08 ```


!tfel-ot-thgir eb dluow ,redro dleif sa llew sa ,sgnirts lla neht tuB

It could be argued that little endian is the more natural way to write numbers anyway, for both humans and computers. The positional numbering system came to the West via Arabic, after all.

Most of the confusion when reading hex dumps seems to arise from how the two nibbles of each byte being in the familiar left-to-right order clashes with the order of bytes in a larger number. Swap the nibbles, and you get "43 21", which would be almost as easy to read as "12 34".


Yep. We even have a free bit when writing hex numbers like 0x1234. Just flip that 0x to a 1x to indicate you are writing in little-endian and you get nice numbers like 1x4321 that are totally unambiguous little-endian hex representations.

You can apply that same formatting to little-endian bit representations by using 1b instead of 0b and you could even do decimal representations by prefixing with 1d.


For me I think the issue is the way you think of memory.

You can think of memory are a store of register sized values. Big endian sort of make some sense when you think of it that way.

Or you can think of it as arbitrarily sized data. It's arbitrary data then big endian is just a pain the ass. And code written to handle both big and little endian is obnoxious.


Is this why you only wrote in machine code until you fully understood the entire compiler front end, back end chain?

Actually it opens them up to being phished by the government. There have been several high profile cases where because of searching for custom communication services, groups ended up being vulnerable.


How many cases have there been of groups successfully finding and use private communication services?


>How many cases have there been of groups successfully finding and use private communication services?

Probably a lot, given how booming the illegal drug market is. Obviously you don't hear about the successful ones, you only hear about the incompetent ones that get caught.


I don’t know, I can’t read their chats..


This is how people lose credibility.

The articles wants to make you think the box is a 3d confinement reminiscent of the drawing.

From the description it sounds like it is a 4 square foot cage that the person stands in while cuffed.

Yes it’s bad.

No, it’s not like the box mentioned at the CIA Black site.


Just because they are not literally identical does mean they are unrelated. The author points this out and it sounds horrific.

> The four men interviewed by Amnesty International, as well as Florida-based organizations, told the organization about the ‘box’, described as a 2x2 foot cage-like structure located outside in the yard of “Alligator Alcatraz” where individuals are sent for punishment. Individuals are put in the ‘box’, their hands are shackled and their feet are attached to restraints on the ground. They are unable to sit down or move positions, and are forced to remain there for hours in the heat with hardly any water or protection from the sun, heat and insects. According to a man seeking safety, “People ended up in the ‘box’ just for asking the guards for anything. I saw a guy who was put in it for an entire day.”

> A "2x2 cage-like structure… [an] extremely small space that prevents sitting, lying or changing position" has dimensions startlingly reminiscent of those the Senate documented in the black sites. The major difference is that in Florida, the Small Box is exposed to the elements and constructed as a barred cage, whereas in Catseye, it was a closed structure inside the larger closed structure of the black site. And in Florida, the box is used as punishment. According to one of the Alligator Alcatraz survivors in the Amnesty report, people were put into the box simply for alerting the guards to someone's need for medication. "They were taken to 'the box' and punished for trying to help me," the person told Amnesty


I think if you ever get to the point where you're argument hinges on 'well actually it's torture but it's not THAT BAD of torture' you should really step back and analyze if your post is really worth making or not.


You get in the box and tell me it’s not torture. I’ll wait.


Draw 2x2ft square on the ground and see how could you stand there, sit down, sleep, stretch your legs/arms. Imagine doing that for 24h.

I haven’t drawn this, but I think taller adult would always be touching at least two walls unless standing diagonally.


Here is the fundamental issue:

People for the most part value security and community far more than privacy.

Even in old days - most people lived in a village with zero privacy than lived out in the wilderness all alone.

People passed the income tax which gave far more information to the government than other ways of taxation.


What is the downside to limiting all movie and software copyrights to 10 years?

Source code and materials etc can remain trade secrets if desired?

And all IP with a movie as well - including characters. This would stop a studio from forever milking the same piece of IP forever.


No, the opposite. To be protected by copyright, sources must be uploaded to a Library of Software.

Downside: Movies will be made to not last; Software will be made to be incompatible with everything on a 10-year timeframe; and the country who enabled this open mindset will displease its copyright owners who will move to the other countries.


One downside is it would motivate companies to get intellectual property registered under a trademark with indefinite protection rather than copyright. Even with our current lifetime + 70 year protection we have companies like Disney getting characters registered as a trademark.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: