- Windows (various versions on and off like 95, XP, 7,8,10)
- Fedora core 6
- Ubuntu 8.O4-10.04
- Fedora again I think beefy miracle
- Arch
My company still uses SVN, but we have almost 20 years of history in the repository, not including the autogenerated commits from when we migrated from CVS.
My department would like for us to move to git (some sub projects have) but it’s important for our process to retain the history and nobody has had the time to figure out if the migration would be clean then update all of our auto-testing infrastructure (which itself is over a decade old) to use git, all while not stopping active development.
Fuck for some reason pp
is giving me flashbacks to having to write using Hungarian notation variable names.
Ahh got to wait for your current system update to finish I see. /s
If I can remember my theory correctly the difference between languages revolves around the machinery required to recognize the language.
Regular expressions can be recognized with just finite state machines (NFA or DFA have the same power).
Context free languages require a Push down automata. And context sensitive languages need a Turing Machine.
When looking at regular expressions as NFAs you can see the operations you mentioned.
Concat a b: is just state transition
Union a b: have an epsilon transition from the start state to an NFA for a and one into the NFA for b
Repeat a: add an epsilon transition from the accept state of a to it’s own start state
With the more powerful grammars you might be able to do similar analysis on the ability to join machines together but it’s been too many years since I did any formal work like that.
Of course it worked to design standards. The problem is just that the design requirements were “costs the least money” instead of “acts as a functional and safe airplane part.”
One time pads aren’t really feasible at scale. Getting the pad (key) to your partner securely will involve moving it in meatspace.
If you tried to send the pad with some other encryption that becomes the weak point and defeats the pad.
You can’t reuse the pad for multiple transmissions or you are vulnerable to analysis attacks.
You can’t compress the pad and send it with remaining space of a previous pad because the pad has to be true random numbers and won’t compress well so you will always come out behind.
They are great in theory, and in practice for a few fixed short form communications in emergency situations but I don’t know of any practical way they could be used generally. Your bank isn’t going to ship you a hard drive of random numbers for you to securely look at your account.