HNHacker News
TopNewBestAskShowJobs

tspiteri

1,924 karma · joined May 16, 2008

www.tspiteri.org

[ my public key: https://keybase.io/tspiteri; my proof: https://keybase.io/tspiteri/sigs/12YpbcDWvBDiF1HW66L_acFVS8N9MnonlctvQrsPhHs ]

submissionscomments
tspiteri··on The Resurgence of C Programming
There is no such thing as a zero-cost abstraction.

While it would probably be incorrect to claim zero cost across the board, there are abstractions that can be optimized to zero cost. For example, in Rust you don't use pointers that can be NULL, but the Option type which can be None. In the usual case, the optimizer translates this to the same assembly as using a raw pointer with NULL instead of None. So in the usual case, there is such a thing as zero-cost abstraction.

tspiteri··on The Resurgence of C Programming
Rust is much harder to learn than C. Rust is a good language, but, like C++, it has several levels of abstraction that C does not.

I don't agree with this; using this logic, I would arrive to the conclusion that C is much harder to learn than assembly, as it has several levels of abstraction that assembly does not.

tspiteri··on The Origin of CAR and CDR in Lisp (2005)
And fst and rst allow for composition too:

    caar -> ffst
    cddar -> rrfst
tspiteri··on 2016 will be one second longer
A GPS watch without a firmware update to handle the latest leap second?
tspiteri··on 2016 will be one second longer
It is unclear for timezones behind UTC. If you are in UTC+1, the leap second happens at 1 am, so the countdown would be over: no fun here. If on the other hand you are in UTC-1, the leap second happens at 11 pm, so if the countdown clocks are not corrected for the leap second, friends can still be annoyed.
tspiteri··on The Talk
http://www.smbc-comics.com/comic/the-rubber-duck-method
tspiteri··on GNU plotutils
And it's pronounced new-plot not guh-nu-plot.
tspiteri··on Killing Lara Croft
Also, the speed setting seemed to affect the current screen more. At high game speeds, if a unit was being chased, you could keep your unit in the view with the enemy unit out of view, and your unit would get a massive speed advantage.
tspiteri··on Killing Lara Croft
And you could leave an opening with a unit, placed in that opening, acting as a gate. If you wanted to repair something before it got badly damaged, you pass it through the gate.
tspiteri··on So you think you know C?
Although it wouldn't affect the result in this case, 1 << 16 could actually result in 1. For a 16-bit number, a processor can consider only the least significant 4 bits of the second operand, which would be 0, resulting in 1 << 0.
tspiteri··on Data points that Facebook uses to target ads
Well, I bought a headset for home, liked it, then bought an identical headset for the office. Someone else might like it and buy another for a friend. Probably their engine has found out that this is common enough for it to be worth recommending another headset rather than something else.
tspiteri··on GPLv4 – Starting the Conversation (2014)
I'm not a GPL expert or lawyer, so I'm unable to answer with certainty. However my reading of the GPL is that the recipient does not have a right to sue you at all, it is the copyright holder of the GPL code who has a right to sue you for license infringement. The GPL states that your license to distribute is terminated immediately on infringement (there is some grace window in version 3). I think there could be some damages for the unlawful distribution that would have already happened, but I cannot see how the court can force you to pay for the damages using your proprietary code. I don't know, maybe the original owner is ready to waive damages if you agree to distribute your own code, but that's something you would have to agree to yourself.
tspiteri··on GPLv4 – Starting the Conversation (2014)
I'm not talking specifically on the dynamic linking issue. My point is that the GPL cannot force you to publish your source code, but if you break the terms you can lose the license to distribute GPL code that isn't yours.

As regards your example, I don't think the GPLv3 permits that, so if a company tries to circumvent the GPL using that approach, it would probably lose the rights to distribute the GPL software application.

tspiteri··on GPLv4 – Starting the Conversation (2014)
I don't really understand the point of this article. For one thing, it conflates open source and free software, a difference which can be unimportant to many people, but is definitely important to the FSF, the GPL owners. And although they both result in freely available source code, they do have very different aims. The article is pushing open source aims, while the FSF pushes free software aims.

The article also shows a poor understanding of the GPL itself. For example, when talking about dynamically linked software, it is stated that since SMB was under the GPL, Apple was "afraid that someone might ... force Apple to share the entire source code of OS X." No! The GPL can never force you to share your source code. What it can do is stop you distributing software that isn't yours and that you were using under the GPL. In this example, the worse that could happen to Apple is that they would lose their rights to distribute SMB if they were found to have broken the GPL terms.

tspiteri··on Antarctic CO2 Hit 400 PPM for First Time in 4M Years
I don't get this concern for Earth itself. The planet had much higher CO2 levels before life began. Then plants etc. absorbed some of that CO2, and a lot of it is now in coal, oil, etc. instead of in the air as CO2. When we are burning fuels, we are actually returning the atmosphere to a more original state. However that state is not good for us. So when we are talking about global warming, it is today's life, including us humans, that will suffer, not the planet itself.
tspiteri··on An integer formula for Fibonacci numbers
At first glance, the given integer formula is worse regarding arbitrary precision. The first bracket term is

    (4 << n*(3+n))
That is shifting 4 by n squared digits to the left, requiring more than n^2 binary digits.

I think calling this an integer formula is misleading, since in computing algorithms, by integers we normally understand the basic integer supported by an ALU. This formula, while dealing with integers in the mathematical sense, deals with arbitrary precision (or bignum, or whatever you call it) in the computing sense.

tspiteri··on Citus Unforks from PostgreSQL, Goes Open Source
I don't agree with you. The PG community is, I think, fine with that: that's exactly what the BSDL allows that the GPL doesn't, and they chose the BSDL. If the PG community don't like that, I really don't understand why they chose the BSDL.
tspiteri··on Citus Unforks from PostgreSQL, Goes Open Source
The BSDL does not make much economic sense to the company open sourcing their code; a new competitor would fork the code, make closed improvements, and merge any changes from the open source code. That means that the competitor is always gaining by a one-way flow of improvements.

To use open source code, the more permissive the license the better. But to actually open your own code, BSDL is a very tough sell.

That's also why they use the AGPL. With database systems, even if they were under the GPL, some competitors could just modify the system and run it on their own server with improvements, and offer just the service to their clients. Again, the improvements go one way only: since the competitor would not distribute the modified system, as it's running on their servers, they would not need to distribute source changes. With the AGPL, that loophole is closed.

tspiteri··on Harper Lee has died
Atticus is one dimensional because he is described through the eyes of his adoring daughter. That's why I like the sequel, because it shows the daughter growing to understand that her father isn't perfect after all.
tspiteri··on Intel to shut down renegade Skylake overclocking with microcode update
Admittedly I don't know how far we are down this line, but as transistors are getting smaller, and the number of transistors in a processor is increasing, transistor degradation during the processor lifetime is becoming a larger issue, and Skylake is already at 14 nm. I think even experts in the field will be unable to give statistics about Intel processor durability, as Intel are not very forthcoming with such statistics.
tspiteri··on Intel to shut down renegade Skylake overclocking with microcode update
Overclocked CPUs run hotter. For modern technologies that means they can degrade faster, and can fail earlier than their expected lifetime. To be clear, I'm not saying this is the reason Intel did this, but it is one possible reason, and you asked for possible reasons.
tspiteri··on GCC 6 Will Warn You About Misleading Code Indentations
It doesn't since the assignment is in brackets. You can also write

    if ((i = getValue()))
tspiteri··on Firefox: We Don't Need Google's Money Any More
Gp was talking about the pop-up menu you get when you tap and hold a link.

As for crashes, they can be phone dependent. For another statistically insignificant data point, I don't get any crashes either.

tspiteri··on How did the letter Z become to be associated with sleeping/snoring?
Greek does have the letter Ζ, which is the capital Greek zeta. It is written just like the Latin capital Z.

https://en.wikipedia.org/wiki/Zeta

tspiteri··on The xkcd survey
It is the one way to eliminate the problem of matching socks after laundry.
tspiteri··on China Stock Market Drops 8.5%
> prepare for more :)

What's funny about that?

tspiteri··on Why I am pro-GPL
You just can't make changes to the encryption library without releasing those changes.

Actually, you can make changes to GPL software without releasing those changes. The main restriction of the GPL is that if you distribute the software, you have to distribute the source too. But you have the freedom to do any changes and keep them to yourself without distributing anything.

tspiteri··on SFC and FSF Achieve GPL Compliance for Canonical IP Policy
I suspect that if the Linux kernel was published under a BSD-style license, Canonical would provide binaries without source, and their patches would be proprietary. My suspicions are based on the fact that Canonical are trying to make it difficult to redistribute their work, so much so that they were violating the GPL before introducing the trump clause mentioned in the article.
tspiteri··on Russ Cox: Go, Open Source, Community
I don't think the example you link to has anything to do with character assassination. The article lists the comments in a bug entry on a bug tracker, and points out two comments that were deleted. I happen to agree with the deletions, some comments have no place in a bug tracking system that should be used to fix bugs, not argue politics and accuse other people of malicious intent. Such comments are not conducive to bug fixing, so they have no place on a bug tracker.

Deleted comment 1 included "But I doubt I would waste time on coding as I’m sure you’ll just make an excuse to reject it, just as you’re making excuses instead of fixing this bug."

Deleted comment 2 included snippets like "except where they deliberately break it" and "but I’m sure it’s still their agenda to make it a dependency just because they want it to be".

tspiteri··on Understanding C by learning assembly
No, you don't get inaccurate floating-point results just by using a higher level of optimization. For example, gcc requires an explicit -ffast-math option for that kind of optimization.
← PreviousPage 5 of 15Next →