212 karma · joined September 30, 2016
Of course, syscalls are not related to Turing-completeness in any way. Turing-completeness means that the language can express any computation which is possible to do on a Turing machine. Turing machine computations can not have any side effects, and syscalls are a kind of side effect. Therefore, having syscalls is not necessary for a language to be Turing-complete.
Also look at Manhattan/taxicab geometry. When you can only move along one axis at a time, you usually can't move in a straight line between two points.
Both of these situations have common applications in the real world. For example, in mapping and navigation.
One strength of Matrix over Signal is indeed that you are free to choose or develop your own client to use with it. You can also host your own server for the decentralized Matrix network, but that point is kind of orthogonal and not related to this specific issue.
If you have a community printer without OctoPrint, you need to somehow move your G-code file to the shitty single-purpose laptop connected to the 3D printer, open it with the printer controller program, start printing, and hope the laptop keeps working throughout the print. Or you can replace the laptop with a Raspberry Pi and OctoPrint, and now you just need to open the printer page, upload the G-code file, press Print and watch it go.
This is a realistic recount of the 3D printing experience at Turku Hacklab, before and after OctoPrint was installed.
Android shot past all the others to become the most popular operating system in the world, in case you didn't notice.
Why do people insist on saying that all of this is one single "operating system" called "GNU/Linux" and that there are different "distros" called Ubuntu, Debian, Fedora, CentOS, Arch, etc., instead of just calling it all a bunch of operating systems? Because these different "distros" are not compatible with each other. They can mostly run each other's binaries, and some configuration knowledge works across them, but other than that they are mostly incompatible. And they are all based on Linux, GNU, and a bunch of non-GNU software.
So if we say that "This is an operating system called Fedora, which is based on Linux and GNU and a bunch of other stuff", instead of "This is a distribution of the operating system GNU/Linux called Fedora" then we would just be better off overall. There is no more reason to fight over the name "GNU/Linux" versus "Linux" since both are pretty inaccurate anyway. There would be no more user confusion about what Linux is, as there seems to be today (e.g. people blame Linux for userland problems, or people expect program X to be packaged and get support for operating system Y because it says "Linux" on the webpage). And things like BSD would seem less foreign if people knew that it's really another operating system instead of being seen as just some weird non-Linux thing.
And if the GNU people ever get around to actually finish their operating system, then they could just call it "GNU" without causing even more confusion
One of the hardest computer tests I've ever taken.
So I won't be able to use NumPy with either of my two native languages. That sounds like a bit of a shortcoming for the majority of the world.
Parsing JSON in Java was one of my worst programming experiences, so I have to agree with you here.
But in Rust, using the `rustc-serialize` library (and Serde, but I haven't tried that yet), parsing and writing JSON is really pretty painless. The really nice part is that you can declare the structure of your JSON data as a completely normal Rust struct (just with a derive annotation that makes it Encodable and/or Decodable), and with a single function call turn an instance of that struct into a JSON string. And in reverse, you can just parse() a string and it will return either an instance of your struct or an informative error if the JSON is malformed or doesn't match your structure. Makes JSON really easy to work with.
try:
#your code goes here
except:
passIt's not allowed in the Google Play TOS, and it's one of the darkest patterns there is, but it's technically possible just as it is on iOS.
I even disabled the CSM (legacy BIOS compatibility) on my machines because I want to embrace EFI booting, since I feel like it's such an immense improvement over the old BIOS days. Now the bootloader just goes in a file on a partition, no need to ever do anything with the Master Boot Record anymore.
- I've never tried external monitors, so I can't say anything either way about that one.
- Printers/CUPS: always worked flawlessly (except for one single HP printer that just wouldn't). Autodiscovered network printers, USB printers, network printers have all "just worked" without an issue. I don't print that much though.
- Suspend/hibernate: I always suspend my laptop when I don't use it. That has worked flawlessly every time without any power management issues, sleep/wakeup issues or anything to complain about. I haven't tried hibernating though.
- Mounting USB sticks/drives: Never had a single issue relating to this. Every single time has worked flawlessly, exactly the same way: plug in USB, open it in the file manager, do things, eject, unplug USB. With both FAT32, NTFS and ext4 file systems, on USB drives, external hard drives, and SD cards.
- I've done two OS upgrades on this (Fedora 23 -> 24 -> 25) the normal upgrade way. Not a single thing broke in either of the upgrades. Both times the upgrade went literally like: start the OS upgrade, reboot to install upgrade, reboot after upgrade is finished, continue using computer without any problems. (By the way, Fedora 24 was the one that made Wayland good for use as daily driver for me, and 25 was where they made it the default.)
I realize that my comment is the definition of anecdotal evidence, and I understand that there are laptops with less fortunate hardware (Nvidia, some WiFi cards, some CPUs, etc.). But what I've realized during this year is that if they have a laptop with good hardware, then the common computer user can just install Fedora on their computer and get the same experience that I had, and that means Fedora is indeed in a very good place among the various desktop operating systems on offer today.
My computer is a tool, which I happen to use to develop software and do some schoolwork on. I didn't get my computer for the sake of examining how the operating system works or for the sake of changing around things in config files and changing my DE, I got it for the sake of actually using it as a tool to do other things.
So I got this laptop and installed Fedora on it, almost a year ago now. Not once has anything in the OS spontaneously broken, even after two OS upgrades, never have I been forced to go into config files and muck around, no tweaking necessary, using this computer is a breeze. I've never been happier using a computer, because at last I'm using a setup which is stable, never breaks on its own, and which I also know is safe, FOSS, and not full of NSA backdoors or whatever.
I don't know why.
According to these articles, there was porn on CNN over large parts of the east coast, for 30 minutes. 30 minutes of porn on CNN in significant parts of the US, on Thanksgiving evening, and only one person noticed it and decided to post anything about it online? That smells very suspicious.