HN user

amadvance

290 karma
Posts1
Comments130
View on HN

Still, it's strange to me that the GPL is considered OpenSource while the SSPL is not. When the GPL was first released, its requirement that all linked modules be GPL-licensed wasn't so different from what the SSPL enforces today at the network level. I see the SSPL as analogous to the GPL, and the AGPL as analogous to the LGPL, essentially relaxing the requirements either on linking (in the case of the LGPL versus GPL) or on network interactions (in the case of the AGPL versus SSPL)

The linked article says something different:

'We first estimate the supply-side value by calculating the cost to recreate the most widely used OSS once. We then calculate the demand-side value based on a replacement value for each firm that uses the software and would need to build it internally if OSS did not exist. We estimate the supply-side value of widely-used OSS is $4.15 billion, but that the demand-side value is much larger at $8.8 trillion.'

Well, unions tend to average the outcome. But IT positions, being on the top side of the employee distribution, can typically obtain more.

I can give you a real-world example. Our company (Italy) office was relocated, and unions entered negotiations to obtain three days of remote work for the entire personnel. However, I and others refused to sign the agreement because, with more negotiation power, our target was full remote work. However, in doing so, we were undermining the union positions, which made them unhappy. Fortunately, things ended well; all personnel got the three days, and a few other people were granted full remote work.

You're mixing up two different things. It's true that YouTube now places ads to small channels that have not reached the monetization requirements.

But after the channel satisfy such requirements, like 1000 subscribers, the creator gets control of the monetization and they can choose.

For any major channel you watch, it's the creator decision that you see ads or not.

From what is written, they plan to reduce the control of where ads are placed, but still allow enabling or disabling them.

Anyway, at present it's possible to disable them if you have reached the monetization requirements on the channel, like 1000 subscribers and some amount of hours viewed.

I'm also a heavy user of ad blockers, but there is something to be said in defense of YouTube.

Creators have the final decision on the ads shown. I have a YouTube channel, and I always disable monetization on all my videos, so no ads are ever shown on my channel.

If you see an ad, it's because the creator decided to include one. YouTube is simply the platform that enables this choice.

I will tell my computer to blank the screen and mute the audio when an ad is playing.

Indeed, but you'll still have to wait for the ad to play. YouTube can definitively win this race if they decide so.

The Clang static analyzer is integrated into the build pipeline. Any warnings will cause the build to fail. Additionally, build with the flags -Wall and -Werror. When testing, run with runtime checkers such as Valgrind and sanitizers.

Periodically, run other static analyzers like Klocwork and Coverity. They can catch many more issues than Clang. It's not that Clang is bad, but it has inherent limitations because it only analyzes a single source file and stops analysis when you call a function from another module

That would make AES-XGCM an immediate replacement of AES-GCM that already supports an arbitrary long nonce.

Cool. If I can propose a little improvement, it would be nice to allow an arbitrary long nonce. Like, feeding the first 96 bits of the nonce into GCM, and the rest in CBC-MAC.

Looking at the implementation, the longer nonce is hashed to 128 bits, with the last 32 used as a starting counter. So, if you don't use the whole 32 bits space of the counter, you are effectively using more than 96 bits nonce.

Sure, no more than 128 bits, but indeed better than 96.

Why would anybody pick the commercial one?

The OpenSource license is typically GPLv3 that imposes that your whole application has to be GPLv3. This is enough for corporations to avoid it.

Take care that select() is not good for a webserver. From manpage:

       WARNING: select() can monitor only file descriptors numbers that
       are less than FD_SETSIZE (1024)—an unreasonably low limit for
       many modern applications—and this limitation will not change.
       All modern applications should instead use poll(2) or epoll(7),
       which do not suffer this limitation.

It's obviously subjective, but it looks like as any other indented block. Named "lock" and "unlock" operations are more explicit to me.

Another potential disadvantage, is that you lose the possibility to control the unlock order, when you have multiple nested locks.

In Italy, the retirement age was raised to 67 in 2011. However, in some cases, it is still possible to retire earlier, but the amount you receive will be proportionally adjusted based on your remaining life expectancy.

This change in retirement age only partially applies to those who started working before 1995. Therefore, it is still in a transition phase, and it will take some time before it takes full effect.