Wait, now tabs are good because they make it hard to indent? The guy is in notepad editing shit with a tight deadline, and your solution is "rewrite the code- if it has that many indents, it is probably written badly".
> Precise relative-positioning of elements is maintained,...but only for certain tab widths. If you used spaces, your users wouldn't have this issue at all.
Tabs are a binary character encoding a type setting command, meaning to advance to the next tab stop. That's the point of tabs. They are trivially unsuitable for code.
Tabs + spaces is not even salvageable with a goddamned sed. You need to line by line that horseshit. At least I can fix a tab-damaged file with a script and a git command, your advice will cost serious time.
> Well, I tend to use an editor based diff, such as gvimdiff which of course respects my tab settings.
Cool, now everyone has to use your fucking IDE too, with your exact settings, as well as knowing how many fucking spaces to a tab. The joy of tabs truly never ends.
> When reading, you don't really have control over what the tools like grep and others will do.
Some tabmonkey will come along and provide some command line option for grep that you have to memorize next. And heaven help you if you want to look for something like (space)ttyTime to find just ttyTime and not NaugttyTime or whatever. Now it doesn't fucking search up, because there's a fucking tab in the way.
I can't believe your drek was modded insightful. If you use tabs to indent- which means you are a monster- and then use spaces to align- it will ONLY look correct if you know what the hell the tabs were.
If the tabs meant "go to a multiple of five" (many editors, and generally what a tab actually is), then this definitely fails, because many editors instead convert tabs to a (variable number) of spaces.
If the tabs meant "four spaces on the developers screen", then he may use one, two, or three spaces to indent something (at his whim). So, three tabs followed by three spaces may look correct for him as 15 spaces, while above it four tabs followed by no spaces would be 16 spaces. He intended to put a 3 space indent. But this super-friendly-hey-everyone-link-hands stuff breaks the moment someone wants two-spaced tabs- now the one that is supposed to be more indented (the original 15) is now 9 spaces in, and the less indented one (the original 12) is now 8 spaces in- their positions are now incorrect.
If you already have an idea about how many spaces a tab is, JUST FUCKING USE THAT MANY SPACES. Don't force everyone else to use your own precious IDE, and be living in your own head.
Tabs are binary. They are type setting instructions. Do you put form feeds in code to advance to the next page?
> I expect UEFI lock down will soon prevent Linux from being installed.
Nah. Linux is the most common OS in the world. But your concern is valid- Microsoft might, for instance, do a deal with, say, some computer vendor, and they would make a box that implements the lockdown. But this would be pretty damned controversial, even if Microsoft made the box themselves.
> a file can be indented to the preference of the person reading/editing it
No, fuck that. I shouldn't have to mess with my editor to get sane spacing. Code is text, not binary. Get the binary out of the code. What if my editor isn't able to do that, and what if I need to use a text mode or command line? Fuck all that hassle.
And to flip it: if you really need to see it with some OTHER number of spaces than are actually there, I bet there's a text transform you could apply to the spaced file too. We don't need to start putting tabs places to get this.
What if you EVER need to indent something, but less than the full amount? You are outta luck with tabs. What if you are writing something where you want a character to exist directly underneath another, but one is preceded by non-whitespace, and the other by whitespace? With spaces, you just do that, with tabs, fuck you. A tab means very different things to different programs. Unless your code is just for you, you don't know the future use case of future programmers. You don't know if it will be output in a shell, in an editor where tab is interpreted, not as a number of spaces, but as instructions to go to a tab stop (you know, the actual intended use of tab in formatting), or as some other thing completely.
But really its simple: a space is a space. A tab is a formatting instruction that every coder from that point must deal with in every display device that the code is viewed on, taking it from a simple text file to some binary file that requires everyone tweak settings for, as well as the unspoken condition that certain types of formatting become impossible (line A has a standard indent followed by the word "Quintuple", line B is supposed to have a character underneath the "p"- can't do that with tabs and have it be display independent anymore)... Tabs work for the tabber, and the tabber alone. Spaces work for everyone.
What I find interesting is that all the desktop Intel chips have this massively powerful coprocessor sitting right next to them. If you don't have a graphics card, then it provides mid range graphics. If you DO have a graphics card then... it just... sits there...
But there's nothing forcing that. You COULD have an application that uses the graphics card for graphics, and the coprocessor on the chip for some other kinds of math. In practice, this would be a big hassle: it wouldn't work great on any chip without that (AMD, Xeons), and it wouldn't work unless you also had a graphics card along with your desktop series Intel chip.......but while those practical market considerations are real, the fact is, there's a ton of processing that could be done, but isn't.
No one made Apple go to a place under the purview of the EU. If this was some shakedown where they tried to put restrictions on a US company- they willingly put Apple Operations International in Ireland. They willingly put Apple Sales International in Ireland. They did both of these for tax reasons. If you are a US company that doesn't want to get billed by the EU, don't go where the EU can just do whatever the fuck it wants at any time.
> So the EU can just come down and tell it's member countries who they are and aren't allowed to give tax breaks to.
I mean, that's how I read it too. But honestly, no one made Apple move their corporation to a state that is overseen by the EU, a minimally accountable, very powerful transeuropean trade organization. I'm sure they had to know there was a risk.
> It means you use secret crypto algorithms, instead of openly-tested ones with a secret key.
Right, but even then you can make a case for it. What would be more secure:
> Your encrypted drive exists as encrypted.hc. You load encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
> Your encrypted drive exists as encrypted2.hc. You load encrypted2.hc with Veracrypt, and it uses AES, Twofish, and Serpent. Inside the mounted encrypted2.hc is encrypted.hc. You load the encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
> Your encrypted drive exists as yolo.proprietary. You mount this with a loopback, using a special cipher you have devised and no one has looked at. Inside the mounted yolo.proprietary, is encrypted.hc. You load the encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
As long as your proprietary junk is implemented in a way that it layers on top of the standard stuff without interfering or replacing, you have added security. And whether the second or third case is more secure is interesting: you can assume that the proprietary cipher is trash compared to the three that Veracrypt implements, but a theoretical attack that is able to get through the first Veracrypted drive has good odds of getting through the second.
So there can be a use for it even in crypto, arguably- as long as that crap is somewhere else, and YOU are the one making it happen.
What we see instead is stuff like "well, we based our algo on AES and..." or otherwise borking it in some fashion that you can't actually be verified as actually applying the community-trusted ciphers in a useful fashion- that's the common problem we have seen a lot of, and all of those "solutions" are just more problems.
> So... security by obscurity is apparently highly regarded by the pros. Good to know.
Security by obscurity is fine. The problem is relying on it primarily or exclusively, or executing it in a way that diminishes or eliminates standard security, which are all common issues.
> the belief that Microsoft products are more risky than others
You've been correctly downmodded as troll, but I want to point out that he never said that MS products are more risky than others. What he said was:
"Never use MS software to browse the internet and read email"
This is good advice. Whether you believe that Microsoft products are shoddy and full of holes, or whether you believe they are targeted to an unbelievable and unprecedented degree, or a mix of the two, it's solid advice. I would say at this point, it's better advice to avoid Outlook than Edge / IE, because Microsoft is not leading the pack in terms of browser numbers any more, AND they have really redoubled their efforts on browser security in the last six years or so- while Outlook has a much crappier record, and requires a bunch of advanced settings to be safer.
Wait, now tabs are good because they make it hard to indent? The guy is in notepad editing shit with a tight deadline, and your solution is "rewrite the code- if it has that many indents, it is probably written badly".
God damn. Just. Use. Fucking. Space.
> Precise relative-positioning of elements is maintained, ...but only for certain tab widths. If you used spaces, your users wouldn't have this issue at all.
> nor is it the point of tabs.
Tabs are a binary character encoding a type setting command, meaning to advance to the next tab stop. That's the point of tabs. They are trivially unsuitable for code.
> It pains me that "tabs for indentation, spaces for alignment" seems to be such a minority.
(tab)(tab)(tab)(space)(space)(space)Word1
(tab)(tab)(tab)(tab)Word2
Which one should be further to the right?
Tabs + spaces is not even salvageable with a goddamned sed. You need to line by line that horseshit. At least I can fix a tab-damaged file with a script and a git command, your advice will cost serious time.
> Well, I tend to use an editor based diff, such as gvimdiff which of course respects my tab settings.
Cool, now everyone has to use your fucking IDE too, with your exact settings, as well as knowing how many fucking spaces to a tab. The joy of tabs truly never ends.
> When reading, you don't really have control over what the tools like grep and others will do.
Some tabmonkey will come along and provide some command line option for grep that you have to memorize next. And heaven help you if you want to look for something like (space)ttyTime to find just ttyTime and not NaugttyTime or whatever. Now it doesn't fucking search up, because there's a fucking tab in the way.
I can't believe your drek was modded insightful. If you use tabs to indent- which means you are a monster- and then use spaces to align- it will ONLY look correct if you know what the hell the tabs were.
If the tabs meant "go to a multiple of five" (many editors, and generally what a tab actually is), then this definitely fails, because many editors instead convert tabs to a (variable number) of spaces.
If the tabs meant "four spaces on the developers screen", then he may use one, two, or three spaces to indent something (at his whim). So, three tabs followed by three spaces may look correct for him as 15 spaces, while above it four tabs followed by no spaces would be 16 spaces. He intended to put a 3 space indent. But this super-friendly-hey-everyone-link-hands stuff breaks the moment someone wants two-spaced tabs- now the one that is supposed to be more indented (the original 15) is now 9 spaces in, and the less indented one (the original 12) is now 8 spaces in- their positions are now incorrect.
If you already have an idea about how many spaces a tab is, JUST FUCKING USE THAT MANY SPACES. Don't force everyone else to use your own precious IDE, and be living in your own head.
Tabs are binary. They are type setting instructions. Do you put form feeds in code to advance to the next page?
> In time it will be illegal to possess a general-purpose computer.
I'm so glad you are modded +5 Insightful. This is also my fear, and I agree it is likely.
> Fuck Linux.
I mean, Linux is pretty hot, but... I can't find any holes!
> I expect UEFI lock down will soon prevent Linux from being installed.
Nah. Linux is the most common OS in the world. But your concern is valid- Microsoft might, for instance, do a deal with, say, some computer vendor, and they would make a box that implements the lockdown. But this would be pretty damned controversial, even if Microsoft made the box themselves.
> Find an open source equiv app
Some times there isn't one. Games are the biggest deal for this.
> Wine is often sufficient.
No, it stands for Wine Is Nearly Enough
> a file can be indented to the preference of the person reading/editing it
No, fuck that. I shouldn't have to mess with my editor to get sane spacing. Code is text, not binary. Get the binary out of the code. What if my editor isn't able to do that, and what if I need to use a text mode or command line? Fuck all that hassle.
And to flip it: if you really need to see it with some OTHER number of spaces than are actually there, I bet there's a text transform you could apply to the spaced file too. We don't need to start putting tabs places to get this.
What if you EVER need to indent something, but less than the full amount? You are outta luck with tabs.
What if you are writing something where you want a character to exist directly underneath another, but one is preceded by non-whitespace, and the other by whitespace? With spaces, you just do that, with tabs, fuck you.
A tab means very different things to different programs. Unless your code is just for you, you don't know the future use case of future programmers. You don't know if it will be output in a shell, in an editor where tab is interpreted, not as a number of spaces, but as instructions to go to a tab stop (you know, the actual intended use of tab in formatting), or as some other thing completely.
But really its simple: a space is a space. A tab is a formatting instruction that every coder from that point must deal with in every display device that the code is viewed on, taking it from a simple text file to some binary file that requires everyone tweak settings for, as well as the unspoken condition that certain types of formatting become impossible (line A has a standard indent followed by the word "Quintuple", line B is supposed to have a character underneath the "p"- can't do that with tabs and have it be display independent anymore)... Tabs work for the tabber, and the tabber alone. Spaces work for everyone.
These are the Intel Core line of chips. It's a stupid name, but it does tell you what broad family of chips you are dealing with.
https://en.wikipedia.org/wiki/...
What I find interesting is that all the desktop Intel chips have this massively powerful coprocessor sitting right next to them. If you don't have a graphics card, then it provides mid range graphics. If you DO have a graphics card then... it just... sits there...
But there's nothing forcing that. You COULD have an application that uses the graphics card for graphics, and the coprocessor on the chip for some other kinds of math. In practice, this would be a big hassle: it wouldn't work great on any chip without that (AMD, Xeons), and it wouldn't work unless you also had a graphics card along with your desktop series Intel chip.... ...but while those practical market considerations are real, the fact is, there's a ton of processing that could be done, but isn't.
No, but... it's not your fault.
No one made Apple go to a place under the purview of the EU. If this was some shakedown where they tried to put restrictions on a US company- they willingly put Apple Operations International in Ireland. They willingly put Apple Sales International in Ireland. They did both of these for tax reasons. If you are a US company that doesn't want to get billed by the EU, don't go where the EU can just do whatever the fuck it wants at any time.
> So the EU can just come down and tell it's member countries who they are and aren't allowed to give tax breaks to.
I mean, that's how I read it too. But honestly, no one made Apple move their corporation to a state that is overseen by the EU, a minimally accountable, very powerful transeuropean trade organization. I'm sure they had to know there was a risk.
Solaris is still version 2 bro!
> What's with this race for "Thinner" shit?
It's an Apple thing. You wouldn't understand.
> what browser exploits are there that don't target Java, Flash, or a Microsoft browser?
Anything that exploits Javascript on Chrome (or Firefox, or blah blah blah)...
Just Ctrl+F here for "javascript":
https://www.cvedetails.com/vul...
> It means you use secret crypto algorithms, instead of openly-tested ones with a secret key.
Right, but even then you can make a case for it. What would be more secure:
> Your encrypted drive exists as encrypted.hc. You load encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
> Your encrypted drive exists as encrypted2.hc. You load encrypted2.hc with Veracrypt, and it uses AES, Twofish, and Serpent. Inside the mounted encrypted2.hc is encrypted.hc. You load the encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
> Your encrypted drive exists as yolo.proprietary. You mount this with a loopback, using a special cipher you have devised and no one has looked at. Inside the mounted yolo.proprietary, is encrypted.hc. You load the encrypted.hc with Veracrypt, and it uses AES, Twofish, and Serpent.
As long as your proprietary junk is implemented in a way that it layers on top of the standard stuff without interfering or replacing, you have added security. And whether the second or third case is more secure is interesting: you can assume that the proprietary cipher is trash compared to the three that Veracrypt implements, but a theoretical attack that is able to get through the first Veracrypted drive has good odds of getting through the second.
So there can be a use for it even in crypto, arguably- as long as that crap is somewhere else, and YOU are the one making it happen.
What we see instead is stuff like "well, we based our algo on AES and..." or otherwise borking it in some fashion that you can't actually be verified as actually applying the community-trusted ciphers in a useful fashion- that's the common problem we have seen a lot of, and all of those "solutions" are just more problems.
> So... security by obscurity is apparently highly regarded by the pros. Good to know.
Security by obscurity is fine. The problem is relying on it primarily or exclusively, or executing it in a way that diminishes or eliminates standard security, which are all common issues.
>> I don't run anything that's untrusted. Worked out well so far.
> Or you could run an OS that doesn't vehiculate viruses.
He said he doesn't run anything that's untrusted, so obviously he's not on Windows, geesh!
> the belief that Microsoft products are more risky than others
You've been correctly downmodded as troll, but I want to point out that he never said that MS products are more risky than others. What he said was:
"Never use MS software to browse the internet and read email"
This is good advice. Whether you believe that Microsoft products are shoddy and full of holes, or whether you believe they are targeted to an unbelievable and unprecedented degree, or a mix of the two, it's solid advice. I would say at this point, it's better advice to avoid Outlook than Edge / IE, because Microsoft is not leading the pack in terms of browser numbers any more, AND they have really redoubled their efforts on browser security in the last six years or so- while Outlook has a much crappier record, and requires a bunch of advanced settings to be safer.