251 karma · joined August 3, 2015
If you think the price is high, I would point out that the SSD I used cost €200 new when I purchased it back in mid 2022. A used 120 GB SSD by contrast can be had for maybe €10 which alone would explain the difference in cost.
Now if 120 GB is enough for your application, that's a good value so more power to you.
In my own anecdotal experience of running a hobby server on Arch for several years, I haven't experienced anything to make me think the distro is unsuitable for server work.
rm -rf /var/tracking_data/jforberg
Const pointer is a statement about the internal variables of a function definition, usually not of any interest outside the function itself and therefore rarely used.
But your example looks nothing like Json.
* The value of values
* Simple made easy
* Are we there yet?
I'm on mobile, but you'll find these easily on the google.
Your comparison is flawed. Most server installations are not broken into during their lifetime. But it only takes one copy of a movie getting onto thepiratebay to make it accessible to everyone who wants it. So if DRM cannot prevent every attempt at circumvention, it's useless and can only serve to hinder legitimate use of the product.
> If we accept your premise that DRM == disrespecting customers, then you'll have to account for why people are still selling stuff with DRM, and continuing to make millions and millions of dollars.
No, I don't. The fact that some people accept the deal doesn't prove that there's nothing wrong with it. In this case, the seller unilaterally went back on the deal without the customers being involved at all.
I'm not a DRM fanatic and I do use DRM services on a daily basis. But if a vendor pulls a trick like in the OP, they can't then turn around and ask why some potential customers are pirating the product instead. Their addition of DRM has made the service less convenient than piracy. Remember, it's only your legitimate paying customers who have to deal with your DRM. The pirated version has no DRM.
> The success of DRM'd products refutes your claim, entirely.
The purpose of DRM is to prevent piracy. This has mostly been a failure.
The "better solution" is to treat your customers with respect and let them own their bought goods. Gog.com is a good example here, in my opinion.
What definitely doesn't work is to burden your paying customers with digital locks and hurdles to enjoyment, that the pirates will shortly find a way to remove for the non-paying audience.
In the general case services are not at liberty to just exit(), they need to perform some kind of active cleanup action before exit. So the signal handler would set an "exit flag" somewhere and the EINTR would be an indication for the main loop to check this flag before continuing.
The only common case I can think to continue past signals is SIGHUP, which some services interpret as a command to re-read their configuration file. In this case, you are essentially doing a shutdown and startup sequence anyway, only in a possibly more efficient way. E.g. the case of a web server, if you were previously listening on port N there's no reason to believe that the new config file won't ask you to instead listen on port M. So you will be closing down most connections anyway, and catching SIGHUP is mostly an optimisation as exiting and restarting would have a similar effect.
If you look at `ps ax` on your system, you'll likely see about a hundred processes. But if you look at `top`, you'll see only a handful of processes having non-zero CPU usage. Why? Because most processes are just waiting (in a system call) for something to do. A web server is blocked in a select/poll/epoll() call waiting for a connection. Your shell is blocked in a read() call waiting for you to type something. This is just the normal way that a main loop is implemented on Unix.
When you kill one of these processes, they need a way to break out of their loop and with the EINTR approach, they get a chance to break and exit.
I'm far from convinced that a "majority" of services want to just catch signals and carry on.
The movie and TV industry have instead put great effort into building services that are significantly worse than piracy.
And nobody can understand why movie piracy is still rampant, while music piracy is receding.
I'm not immediately seeing how non-wrapping arithmetic can enable significant optimisation. What could be faster than an integer add? If you have an example, I would be very interested (the classic "infinite loop" example is not particularly meaningful in my view).
I always assumed that C left this undefined mostly to support non-two's complement machines, which should probably not be a concern anymore. That's the only explanation I can come up with that explains why unsigned arithmetic is well-defined, but not signed arithmetic.
This irks me especially badly since the underlying hardware operations are almost always well-defined, but in my "high-level" language I constantly have to worry that I missed something and maybe the compiler will "optimise" my + into something other than addition.
Is there a fully well-defined addition operator in Zig? What about a well-defined shift operator? This might make me, as a professional C programmer, more interested in a new C-like language.
In a bare-metal environment, there's nothing saying that physical address zero must be unused by the hardware designer.
So I think it's quite the opposite: There's no requirement that address 0 must be unoccupied in any situation, it just so happens that many operating systems choose to leave it unmapped as a debugging aid for developers.
Screenplays contain more than just lines.
How about '/examples'? Maybe you should take some time to actually learn how 'man' works before you start bashing it online...