Spain moved to Central European time to facilitate coordination with Germany during WWII. I believe it was in 1940. It is an hour later than what it was previously. When I say that clock time is arbitrary, I mean just that. There is nothing natural about sunrise being at 6:00, 7:00 or 8:00--it's just what we have agreed on. We could just have easily agreed that sunrise would be at 15:00, and if we had, that would seem "natural."
Well, yes - it's arbitrary in the sense that any old time-keeping system could have been adopted. We could have made hours 83 minutes long, and each minute could be the time it takes a feather to fall 8 feet, but we didn't.
Instead we went for a system of 24 hours in the day, with 12 noon being the time when the sun is highest in the sky. Spain is unusual in that it diverges a particularly long way from that convention.
It seems therefore that whilst you're right to say that the human race's timekeeping system is arbitrary (as are all our systems of measure), none of your post was relevant to what I said.
What a peculiar idea. Clock time is entirely arbitrary,
It's not clear what you think is a peculiar idea, but to say that clock time is entirely arbitrary is a ludicrous assertion. Clock time is always loosely based on the position of the sun. Spain is unusual in moving quite so far away from where their clocks would have been before the advent of railways required unified times.
All I was pointing out is that the Spanish don't in fact eat as late in the evening as they appear to.
The rest of your post doesn't seem to relate in any way to what I said.
Bear in mind that, because Spain uses central European time, their clocks are between 1 and 3 hours ahead of what you'd get if you used a sundial. Most of Spain is west of the Greenwich meridian, and yet they use a clock time based on them being 15 degrees east of it.
Thus, when they start dinner at 10 p.m., it's merely 10 p.m. by their oddly set clocks. They're really starting somewhere between 7 and 9 p.m.
OS/2 was released jointly by IBM and Microsoft in the late eighties as the replacement for MS/PC-DOS (also a joint IBM/Microsoft product) and early fairly useless versions of Windows.
Then Windows 3 started to take off (Windows 1 and 2 had pretty much tanked) and Microsoft jumped ship, deciding instead to continue with the Windows branding and abandon the OS/2 marque. They were already working on OS/2 2.0 which they took and re-branded as Windows NT. IBM continued with the OS/2 branding and started again to produce first OS/2 2.0, and then OS/2 3.0 (also known as warp).
OS/2 always struggled with the fact that the PCs weren't really ready to run it. Early versions would run on an 80286 but there were a lot of compromises. It really came into its own with the 386, but it still required a significantly higher spec than Windows 3 did.
Not really. It's just another instance of the media and politicians picking up a nice new technical-sounding word and not bothering to check what it means before using it. Of course the sheer volume of mis-use does in time change the actual meaning, but I don't think "refute" is quite that broken yet.
I think the issue is that "clean" is in the eye of the beholder.
Sounds good, but utterly untrue. There are plenty of objective criteria by which the clean-ness of code can be assessed. Yes, you get beginner programmers who take an attitude of "That's your way; this is my way - we're both entitled to our opinion." but unless they shed that view point they'll never become competent.
The fact is that to achieve even something as simple as an encapsulated module of code which won't clash with anyone else's code, if you're working in JavaScript you have to jump backwards through hoops to achieve it.
The only reason to use JavaScript is because it's the only language available. It makes producing clean code much harder than it should be - it can be done, but it takes a lot of work.
We use it because it's pragmatic to use the lingua franca of programming.
Hardly a lingua franca - JavaScript is used because it's the only language web browsers understand.
I've used a lot of programming languages, and I've spent quite a bit of time trying to learn how to write clean JavaScript. It can be done, but the language really doesn't help. You have to fight it every step of the way - a better designed language would help you, not hinder you.
If a decent alternative to JS were suddenly to be supported by all the major browsers, the rush to get away from it would be immense.
Not sure about the idea of recursion being forgotten, but I used to work on a system (GEC 4000 series) which had no stack, making recursion slightly more difficult. The neat way of achieving it was by using a goto, back to the beginning of the function.
Had the original poster said just "a fridge" then it would have been nearer the mark, but if you qualify it as a "small fridge" then this is the sort of thing which springs to mind.
A minicomputer is typically the size of a small fridge,
More the size of a large fridge. A small modern fridge is about the size of a PC. Towards the very end of the mini-computer era, DEC did produce some that kind of size, but your typical mini-computer occupied one to four cabinets, each about 4' or 6' tall. The term mini-computer distinguished them from mainframes, which tended to need a whole room.
Back then, the term mibibyte hadn't been invented, but yes, when they were referred to as 4.8 it was a binary and not a decimal unit.
Standard disk size then was 5 MB, which was about 4.8 MiB
When? The disks I'm thinking of came as a removable platter with a published capacity of initially 2.4 MB (or what would now be called mibibytes), increasing with later models to 4.8 MB.
When do you use tabs outside of the beginning of a line? The only time I've seen them elsewhere is when people are trying to align columns. And that's a problem with the editor not properly supporting column formatting, not a problem with tabs.
But how do you expect the editor to support column formatting? That is, not how does the editor effect it on screen, but how does it then save the result in a file?
Contrary to what the OP said, column formatting is precisely the whole point of tabs. That's what they were designed for, going right back into the days of mechanical typewriters.
I agree with OP. Tab-challenged people either never learned how to use them properly and make up arguments to excuse their ignorance/misuse, or just want to force their formatting preferences onto other people.
Bollocks! It's not a question of being tab-challenged, or ignorance or misuse. The whole idea of varying the size of tabs to produce an indent which adjusts to personal preference is terminally broken. Yes, it would theoretically be possible, but it requires incredible discipline from your entire programming team, keeping careful track of something which they can't even see! In practice, it just doesn't work.
As a wise other poster said, tabs work purely in theory - in practice they're a mess.
As soon as people started varying tabs from their default value of 8 spaces they lost their usefulness. Their only real value was as a primitive form of data compression, and it really isn't needed now.
That is one of the most annoying things an editor can do IMO (and if someone has put it as a default in the global.vimrc they need to die a slow painful death). If my next line is in an outer block it means i have to delete the damn indentation which is a lot more labour intensive than putting some in in the first place!
Your average editor which does auto-indentation like this generally has enough smarts to realise it needs to go back a level when you finish a block. You keep typing and your desired and configured indentation just happens.
Even if it didn't (and why would you use an editor which couldn't manage it?) it would still be less work to reduce by one level of indent than to insert N-1 levels.
It's a nice idea in theory, but it's never worked - nor is it the point of tabs. If all indents were always solely at the beginning of a line, and always an exact multiple of whatever N you've chosen then it might have a chance, but they aren't and so it just breaks.
Don't mess with the size of a tab character - you'll just cause pain.
A long, long time ago, in a data centre far, far away...
Back in the day, a multi-user system might have had a single 4.8M hard disk, shared between the operating system and all its users. It made sense to use tabs instead of lots of spaces for indents, because each tab saved you 8 spaces - a pretty good compression ratio, and a worthwhile saving in disk usage.
Then came a period of chaos, where people started muddling up their desired indent with the size of a tab. Decent editors always let you separate the two, but poor quality editors confused them, and so you ended up with tabs being re-defined as 4 characters, or even sillier things.
Given today's disk capacities, there is really no point in bothering with characters in your source files to achieve indents. Be specific, and have however many spaces you want. A decent text editor will let you configure the Tab key to give you whatever indent you want, but for goodness sake configure it to do it by way of spaces.
Back before the sizes of tabs got confused, I've used editors which would do the following:
First press of Tab - insert 4 spaces. Second press - remove the 4 spaces and insert a hard TAB Third press - add 4 spaces.
The buyer would be forced to give away the asset for free which is why the lawyers I met do not like it.
What makes you think it's their asset? It's GPL'd code; it's a derived work per copyright law, and belongs to the original author.
Not quite. Copyright in the original code vests with the original author. Copyright in the modifications vests with the modifier. The modifier has no requirement on him to redistribute the code at all - he can just use it in house for whatever reason he wants. No-one has a right to demand a copy of it.
If however the modifier chooses to distribute the modified version of the code - either free of charge, or charging as much money for it as he likes - then he must pass on the same permissions to the recipient. Even having distributed it, there is still no requirement on him to give copies to anyone other than those he chooses to give them to - either because he likes them, or because they have paid him loads of dosh. He does however have to pass on all the source code, either at the same time as he provides the executable, or with an offer to provide it later. This of course is how he got the source code in the first place.
Despite the GP's repeated claim, he doesn't have to give it away to anyone.
Technically if I sold my company that is a redistribution according to the GPL.
Presumably you mean, "If I were to take some GPL software, add to it, and then sell my rights in it to someone else, then I could not grant them permission to add restrictions to the use of the GPL software." Quite correct. That's the point of the GPL.
The buyer would be forced to give away the asset for free
You've promulgated this idea before, and it remains completely untrue. Read the GPL.
I am not saying I like EULa's from MS but I was making a point. I can link to com objects in a crappy VB written program but still can sell it.
And you can link to an LGPL library (the normal licence for a library) and still sell it. And indeed, you can link to a GPL library (if you can find one) and still sell it, albeit with some restrictions on the licence under which you sell it.
What if for example I use a GPL api call for printf (making this one up)
Yes, that's the trouble - you're making things up. It's called setting up a straw man. If you link to printf (typically coming from the library shipped with GNU C) then you are linking to an LGPL product and it imposes no requirements on you to open source your code.
You're muddling up two cases to try to make a non-existent point.
If you link an LGPL library into your code then there is no requirement for you to make your code open source.
If you take a GPL product (which generally isn't a linkable library - it's a complete implementation of something), modify it, and then want to sell it, you can't sell it under a licence any more restrictive than the one which you received it under. There is no requirement on you to let anyone else have a copy of it at all, nor is there any restriction on you selling it.
Nobody forces you to make modifications to a GPL product, but if you choose to do so, and want to redistribute it, then you can't take permissions away from others. That's eminently reasonable.
Who the hell would buy my asset if they had to give it away to competitors for free?
You don't have to give it away to anyone.
Sure the code is free for the user but not for the developers or owner which is my point. BSD is free for both as tax payers came from both.
It's anyone's guess what either of these sentences is meant to mean.
I think it's immoral to force people to do things they don't want to do.
True enough, but since no-one is forcing anyone to do anything, not really relevant to the issue under discussion.
I think perhaps you should actually read the GPL carefully. You have an awful lot of misconceptions about it. Summarised in a rather simplified form it says,
"Here's some code. You can do anything you like with it except restrict what other people can do with it."
Yes, that annoys freeloaders like Microsoft who would prefer to take free code and then put commercial restrictions on it, but it's an eminently fair arrangement.
There's nothing intrinsic in the GPL which prevents you using it at work. Your employer may have such a restriction, but that's a feature of your employer, not of the GPL.
If I write a program and want to link to a GPL library it then infects my programs forcing me to open source it.
Saying "infects" is using a deliberately emotive word to try to hide the truth.
Two points here.
1) Libraries generally use the LGPL for precisely this reason.
2) Even if you've found a library licensed under the GPL, it doesn't require you to open source your program. However, if you choose to distribute the program then you need to pass on the same permissions as you were granted. That's kind of the point of the licence.
I can not sell my product or company either which makes the asset value to 0.
Completely untrue. The GPL explicitly permits the sale of GPLed software.
Here on Slashdot, you can surf the comments at +1 if you want to avoid the tsuris, but you can't post at +1.
I think you can actually.
Wouldn't always picking the same numbers also slightly increase your chances of winning
No
Spain moved to Central European time to facilitate coordination with Germany during WWII. I believe it was in 1940. It is an hour later than what it was previously. When I say that clock time is arbitrary, I mean just that. There is nothing natural about sunrise being at 6:00, 7:00 or 8:00--it's just what we have agreed on. We could just have easily agreed that sunrise would be at 15:00, and if we had, that would seem "natural."
Well, yes - it's arbitrary in the sense that any old time-keeping system could have been adopted. We could have made hours 83 minutes long, and each minute could be the time it takes a feather to fall 8 feet, but we didn't.
Instead we went for a system of 24 hours in the day, with 12 noon being the time when the sun is highest in the sky. Spain is unusual in that it diverges a particularly long way from that convention.
It seems therefore that whilst you're right to say that the human race's timekeeping system is arbitrary (as are all our systems of measure), none of your post was relevant to what I said.
What a peculiar idea. Clock time is entirely arbitrary,
It's not clear what you think is a peculiar idea, but to say that clock time is entirely arbitrary is a ludicrous assertion. Clock time is always loosely based on the position of the sun. Spain is unusual in moving quite so far away from where their clocks would have been before the advent of railways required unified times.
All I was pointing out is that the Spanish don't in fact eat as late in the evening as they appear to.
The rest of your post doesn't seem to relate in any way to what I said.
Bear in mind that, because Spain uses central European time, their clocks are between 1 and 3 hours ahead of what you'd get if you used a sundial. Most of Spain is west of the Greenwich meridian, and yet they use a clock time based on them being 15 degrees east of it.
Thus, when they start dinner at 10 p.m., it's merely 10 p.m. by their oddly set clocks. They're really starting somewhere between 7 and 9 p.m.
The summary as it stands does not say what it means to say. Why is it so hard to position the word "only" in the right place in a sentence?
Not quite.
OS/2 was released jointly by IBM and Microsoft in the late eighties as the replacement for MS/PC-DOS (also a joint IBM/Microsoft product) and early fairly useless versions of Windows.
Then Windows 3 started to take off (Windows 1 and 2 had pretty much tanked) and Microsoft jumped ship, deciding instead to continue with the Windows branding and abandon the OS/2 marque. They were already working on OS/2 2.0 which they took and re-branded as Windows NT. IBM continued with the OS/2 branding and started again to produce first OS/2 2.0, and then OS/2 3.0 (also known as warp).
OS/2 always struggled with the fact that the PCs weren't really ready to run it. Early versions would run on an 80286 but there were a lot of compromises. It really came into its own with the 386, but it still required a significantly higher spec than Windows 3 did.
and refute can also mean simply to deny
Not really. It's just another instance of the media and politicians picking up a nice new technical-sounding word and not bothering to check what it means before using it. Of course the sheer volume of mis-use does in time change the actual meaning, but I don't think "refute" is quite that broken yet.
See also epicentre, code, chad, hacker, etc...
Likewise Fortran. Then BASIC, more Fortran, various assemblers, Babbage, Pascal, C, Cobol, Ratfor, C++, Perl, Python, Ruby, JavaScript.
Today's schoolchildren all seem to start with Scratch.
I think the issue is that "clean" is in the eye of the beholder.
Sounds good, but utterly untrue. There are plenty of objective criteria by which the clean-ness of code can be assessed. Yes, you get beginner programmers who take an attitude of "That's your way; this is my way - we're both entitled to our opinion." but unless they shed that view point they'll never become competent.
The fact is that to achieve even something as simple as an encapsulated module of code which won't clash with anyone else's code, if you're working in JavaScript you have to jump backwards through hoops to achieve it.
The only reason to use JavaScript is because it's the only language available. It makes producing clean code much harder than it should be - it can be done, but it takes a lot of work.
We use it because it's pragmatic to use the lingua franca of programming.
Hardly a lingua franca - JavaScript is used because it's the only language web browsers understand.
I've used a lot of programming languages, and I've spent quite a bit of time trying to learn how to write clean JavaScript. It can be done, but the language really doesn't help. You have to fight it every step of the way - a better designed language would help you, not hinder you.
If a decent alternative to JS were suddenly to be supported by all the major browsers, the rush to get away from it would be immense.
Not sure about the idea of recursion being forgotten, but I used to work on a system (GEC 4000 series) which had no stack, making recursion slightly more difficult. The neat way of achieving it was by using a goto, back to the beginning of the function.
A small modern fridge is not the same size as a pc.
https://www.amazon.co.uk/Litre...
Had the original poster said just "a fridge" then it would have been nearer the mark, but if you qualify it as a "small fridge" then this is the sort of thing which springs to mind.
A minicomputer is typically the size of a small fridge,
More the size of a large fridge. A small modern fridge is about the size of a PC. Towards the very end of the mini-computer era, DEC did produce some that kind of size, but your typical mini-computer occupied one to four cabinets, each about 4' or 6' tall. The term mini-computer distinguished them from mainframes, which tended to need a whole room.
I believe you mean 4.8 MiB, not 4.8 MB.
Back then, the term mibibyte hadn't been invented, but yes, when they were referred to as 4.8 it was a binary and not a decimal unit.
Standard disk size then was 5 MB, which was about 4.8 MiB
When? The disks I'm thinking of came as a removable platter with a published capacity of initially 2.4 MB (or what would now be called mibibytes), increasing with later models to 4.8 MB.
When do you use tabs outside of the beginning of a line? The only time I've seen them elsewhere is when people are trying to align columns. And that's a problem with the editor not properly supporting column formatting, not a problem with tabs.
But how do you expect the editor to support column formatting? That is, not how does the editor effect it on screen, but how does it then save the result in a file?
Contrary to what the OP said, column formatting is precisely the whole point of tabs. That's what they were designed for, going right back into the days of mechanical typewriters.
I agree with OP. Tab-challenged people either never learned how to use them properly and make up arguments to excuse their ignorance/misuse, or just want to force their formatting preferences onto other people.
Bollocks! It's not a question of being tab-challenged, or ignorance or misuse. The whole idea of varying the size of tabs to produce an indent which adjusts to personal preference is terminally broken. Yes, it would theoretically be possible, but it requires incredible discipline from your entire programming team, keeping careful track of something which they can't even see! In practice, it just doesn't work.
As a wise other poster said, tabs work purely in theory - in practice they're a mess.
As soon as people started varying tabs from their default value of 8 spaces they lost their usefulness. Their only real value was as a primitive form of data compression, and it really isn't needed now.
s/bothering with characters/bothering with TAB characters/
And neither are spaces (with proportional fonts)
But editing source code using a proportional font is a way to drive yourself insane.
That is one of the most annoying things an editor can do IMO (and if someone has put it as a default in the global .vimrc they need to die a slow painful death). If my next line is in an outer block it means i have to delete the damn indentation which is a lot more labour intensive than putting some in in the first place!
Your average editor which does auto-indentation like this generally has enough smarts to realise it needs to go back a level when you finish a block. You keep typing and your desired and configured indentation just happens.
Even if it didn't (and why would you use an editor which couldn't manage it?) it would still be less work to reduce by one level of indent than to insert N-1 levels.
It's a nice idea in theory, but it's never worked - nor is it the point of tabs.
If all indents were always solely at the beginning of a line, and always an exact multiple of whatever N you've chosen then it might have a chance, but they aren't and so it just breaks.
Don't mess with the size of a tab character - you'll just cause pain.
A long, long time ago, in a data centre far, far away...
Back in the day, a multi-user system might have had a single 4.8M hard disk, shared between the operating system and all its users. It made sense to use tabs instead of lots of spaces for indents, because each tab saved you 8 spaces - a pretty good compression ratio, and a worthwhile saving in disk usage.
Then came a period of chaos, where people started muddling up their desired indent with the size of a tab. Decent editors always let you separate the two, but poor quality editors confused them, and so you ended up with tabs being re-defined as 4 characters, or even sillier things.
Given today's disk capacities, there is really no point in bothering with characters in your source files to achieve indents. Be specific, and have however many spaces you want. A decent text editor will let you configure the Tab key to give you whatever indent you want, but for goodness sake configure it to do it by way of spaces.
Back before the sizes of tabs got confused, I've used editors which would do the following:
First press of Tab - insert 4 spaces.
Second press - remove the 4 spaces and insert a hard TAB
Third press - add 4 spaces.
etc. It was all very clever, but unnecessary now.
The buyer would be forced to give away the asset for free which is why the lawyers I met do not like it.
What makes you think it's their asset? It's GPL'd code; it's a derived work per copyright law, and belongs to the original author.
Not quite. Copyright in the original code vests with the original author. Copyright in the modifications vests with the modifier. The modifier has no requirement on him to redistribute the code at all - he can just use it in house for whatever reason he wants. No-one has a right to demand a copy of it.
If however the modifier chooses to distribute the modified version of the code - either free of charge, or charging as much money for it as he likes - then he must pass on the same permissions to the recipient. Even having distributed it, there is still no requirement on him to give copies to anyone other than those he chooses to give them to - either because he likes them, or because they have paid him loads of dosh. He does however have to pass on all the source code, either at the same time as he provides the executable, or with an offer to provide it later. This of course is how he got the source code in the first place.
Despite the GP's repeated claim, he doesn't have to give it away to anyone.
Technically if I sold my company that is a redistribution according to the GPL.
Presumably you mean, "If I were to take some GPL software, add to it, and then sell my rights in it to someone else, then I could not grant them permission to add restrictions to the use of the GPL software." Quite correct. That's the point of the GPL.
The buyer would be forced to give away the asset for free
You've promulgated this idea before, and it remains completely untrue. Read the GPL.
I am not saying I like EULa's from MS but I was making a point. I can link to com objects in a crappy VB written program but still can sell it.
And you can link to an LGPL library (the normal licence for a library) and still sell it. And indeed, you can link to a GPL library (if you can find one) and still sell it, albeit with some restrictions on the licence under which you sell it.
What if for example I use a GPL api call for printf (making this one up)
Yes, that's the trouble - you're making things up. It's called setting up a straw man. If you link to printf (typically coming from the library shipped with GNU C) then you are linking to an LGPL product and it imposes no requirements on you to open source your code.
You're muddling up two cases to try to make a non-existent point.
If you link an LGPL library into your code then there is no requirement for you to make your code open source.
If you take a GPL product (which generally isn't a linkable library - it's a complete implementation of something), modify it, and then want to sell it, you can't sell it under a licence any more restrictive than the one which you received it under. There is no requirement on you to let anyone else have a copy of it at all, nor is there any restriction on you selling it.
Nobody forces you to make modifications to a GPL product, but if you choose to do so, and want to redistribute it, then you can't take permissions away from others. That's eminently reasonable.
Who the hell would buy my asset if they had to give it away to competitors for free?
You don't have to give it away to anyone.
Sure the code is free for the user but not for the developers or owner which is my point. BSD is free for both as tax payers came from both.
It's anyone's guess what either of these sentences is meant to mean.
I think it's immoral to force people to do things they don't want to do.
True enough, but since no-one is forcing anyone to do anything, not really relevant to the issue under discussion.
I think perhaps you should actually read the GPL carefully. You have an awful lot of misconceptions about it. Summarised in a rather simplified form it says,
"Here's some code. You can do anything you like with it except restrict what other people can do with it."
Yes, that annoys freeloaders like Microsoft who would prefer to take free code and then put commercial restrictions on it, but it's an eminently fair arrangement.
No it does not. I can not use it at work.
There's nothing intrinsic in the GPL which prevents you using it at work. Your employer may have such a restriction, but that's a feature of your employer, not of the GPL.
If I write a program and want to link to a GPL library it then infects my programs forcing me to open source it.
Saying "infects" is using a deliberately emotive word to try to hide the truth.
Two points here.
1) Libraries generally use the LGPL for precisely this reason.
2) Even if you've found a library licensed under the GPL, it doesn't require you to open source your program. However, if you choose to distribute the program then you need to pass on the same permissions as you were granted. That's kind of the point of the licence.
I can not sell my product or company either which makes the asset value to 0.
Completely untrue. The GPL explicitly permits the sale of GPLed software.