31 karma · joined July 17, 2018
There is extensive writing on this subject http://rachelbythebay.com/w/2021/06/01/count/
You are right about that. There used to be an open source build called LibreSignal
Moxie Marlinspike made clear [1]: You may inspect the code. You are even allowed to compile it. You are not allowed to connect your self compiled client to our message servers. We are not interested in a federated protocol. Make sure your fork creates its own bubble that does not overlap with Open Wisper Systems. Stop using the name Signal.
[1] https://github.com/LibreSignal/LibreSignal/issues/37#issueco...
Big corp introduces a constant uphill battle and people get minted to avoid conflict (Why do you want to spend money on a subject that is not on your bosses boss roadmap? Does this new service obey our IT-compliance-rules? I know a virus scanner on Linux is a bad idea, but compliance demands it. I do not care about your threat model, have you installed one already? Can you spend 30,000 Currency Units, but have it billed in November, accepted in December, and paid out in January next year? Answer me until end-of-business!).
People want to have an impact on their environment and conflict is the wrong way to start with.
Let us go into detail on compression: There is a representation. US-ASCII uses 8 bits per latin letter, UTF-32 uses 4 bits per latin letter. It is just a temporal representation to the machine -- usually in memory only, it does have the same amount of information, you can save it more efficiently to disk. You would not want to save either format to disk, it is a waste of space.
Information content (I hope my translation is correct, scan Wikipedia for details) cannot be compressed. But it can be calculated. The more seldom a letter, the more information its occurence carries. As soon as each letter is not equally frequent (compare space and "q") the information density drops. Calculation is quite simple: Count the occurence of each letter, count the caracters used (if there is no "q" in the text, you got to save one letter and its encoding) and apply some math
https://en.wikipedia.org/wiki/Entropy_(information_theory)
For some easy examples, think of morse code and Huffman coding -- not every letter needs to be encoded using the same amount of bits.
> How much data can lowercase save? #
Nothing. Either there is (almost) no information to it in the first place, in that case compression will take care of it for you. There could only be information to it if uppercase letters were equally likely as lowercase letters
> How much data can lowercase save? #
Why do you even stop at letters? You could build a dictionary of words and compress references to it. The compression efficiancy would only depend on the amount of words, regardless of case and regardless of character set. That is why entropy depends on "symbols" instead of "letters"
I have come to the same conclusion.
> Seems like they just worked hard.
I would like to draw another conclusion. Fitzgerald operated live journal from his bedroom as a teenager - so he was at the brink of new technology. Same effect that gave rise to Bill Gates. There are probably more effects at play, like working for a company that does not waste your time doing bullshit tasks and having a mentor to get you started. Even a like minded individual will increase your chances to overcome obstacles.
* if the library is just a dependency, the Linux loader will set it up. It will have the same environment as the other libraries and as the main program.
* if the library is set up by dlopen(), there is no way to provide an environment pointer
Altering the global environment variable for child processes makes no sense, for execve()
accepts an char* envp[]
. So I guess we need to talk about issues with a specific use case of dlopen()Some correspondences take years and only add a mailing every few months. You would like to have a thread-like view -- as in an electronic mail. That is the strength of document management systems.
That being said: I am a Systems Engineer in South Germany, huge company, 85k€/year, no need to work overtime.
I asked myself what salary I would expect from an US company and factored in
* paid sick leave
* paid child sick leave
* minimum 30 days vacation a year
* job security
* health care prices
* ...
I would not accept an US position for less than 190k$/year, that is my personal break-even model.Just for your interest: My salary is too low to buy a house and even buying a 4-room-flat and paying it off before retirement in 30years is out of reach.
Whatever your model, you will find something that works for you.
From my understanding there never was an official successor, that's why I consider VeraCrypt a fork.
How much trust do you put on VeraCrypt?
Besides, I recommend servicing the device every so often. People create weird failure modes (putting too many files onto the device, clicking at random in menus). I also recommend setting up a backup.
As a figure of speech: Nobody is expected to service a car on his own. You'll get professional help every so often.
[1] https://rootsofprogress.org/why-no-roman-industrial-revoluti...
§ 130 iii StGB
https://www.gesetze-im-internet.de/stgb/__130.html
> Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine unter der Herrschaft des Nationalsozialismus begangene Handlung [...] öffentlich oder in einer Versammlung billigt, leugnet oder verharmlost.
Allowing any user $(git) access is as powerful as providing the user a $(bash)
Suppose you've got a build pipeline. The pipeline executes $(zip) at some point. Executing zip is as powerful as providing any of the pipelines users a $(bash).
> why C is used in lieu of other "better-C" non-managed languages, such as C++, D, Nim, Rust, or Zig
I am a system admin. I do not earn my income writing code and therefore spend at most a few hours a week programming. I've spent about 1000 hours writing C code in my life. About 200 hours of Golang. Years of Posix Shell. Years of Perl 5. I've had a little exposure to Java and C++ and Haskell. I have read a few examples of Rust.
C++ has a higher complexity than C. C++'s syntax is more powerful, it has an additional paradigm (the C++ template system), and if you mix in QT you have one more paradigm (QT preprocessor), it has a very wide ranging standard lib (which data structure do you use for lists? vector, dequeue, ...) augmented by QT and augmented by boost. C++ is huge. There is no way I will learn that in my professional life, I simply do not have enough hours of training left. C++ is not a valid successor to C, because its complexity hinders acquiring the language. Rust suffers the same complexity as C++. I will not have enough hours on my learning schedule to acquire a proficient level of Rust.
Golang is nice for me personally. The book "The Golang programming language" is only double the size of "The C programming language", which makes them comparable in complexity. I get stuff in Golang done faster than in C since I find debugging easier.
I have neither used NIM, nor D, nor Zig. All I can tell you is that C is sexy because the language is small and therefore one can acquire it in a life time -- without being a full time programmer.
I did the calculation for my current job (Germany, huge telekommunications company, city of 200.000 inhabitants). It goes like this
* 72'000€ a year * 38 hours of work per week, distributed to my choosing * 44 days of paid vacation per year * approximately 20 days of paid sick leave per year * 10 days of paid child sick leave per year * covered health insurance
To match those conditions, a job in the US must pay 180'000$ per year (in cash) plus health insurance for me, my family and their education.
Though I do not know what equity is worth. Can those 500k$/y earners get their compansation in cash?