Recently I had to look at some Java - I can deal with the syntax, but I was absolutely sure that there's something that already does what I needed to do. The Java library is huge, so it's not just a case of "how to write a loop". If I want to connect to a database, I need to read what's the common way to do it. Of course there will be 3-5 different ways, with proponents claiming that each way is the right way. So you have to start reading articles and blogs, play a little with the code, and form an educated guess (and after a day of looking at the language, it's almost certain that you can't even tell if the examples you're looking at are sane or not).
I could read a Java book and pass an exam about the syntax, but I would not pass a (reasonable) job interview without a few years of learning the libraries and the idioms.
Re:Some insight from one of the bigger customers..
on
Oracle To Monetize Java VM
·
· Score: 2, Insightful
In other words, Java will become the new COBOL - large corporations will still invest in it, because it's cheaper than replacing everything. But no startup would touch it because they can see it has no future.
The only thing is that you can have 1000 classics included in the price you pay your ISP. I hope you like "The Black Tulip" and "Pinocchio".
That, and as many PDFs as you care to download. I wouldn't recommend printing "Handbook of Applied Cryptography" and the used price is $43.00 on Amazon right now. But you can download it. Also, something like Peopleware is still cheaper in Kindle format than the cheapest used version.
But I tend to agree with you - I've seen (and bought) some sweet bargains for used books, and most of the technical books I buy are used. e-book pricing should reflect the fact that no trees were harmed, that the ink is free, and that shipping burns very little fuel.
It's not 10% of the time off he's getting, it's 10% of the time he's getting paid for.
Based on your calculation, if I work 100% less, I should expect 100% more days off (e.g. 28 instead of 14). That doesn't make any sense, so "Informative: 4" tells me that the people with karma points should pay more attention at school (less slashdot browsing, more homework).
I tend to see it as historic bias - companies can't offer average wage because there's a competitor that offers more.
But I'm not sure it'll last forever, and I'm not convinced it proves that there's a current shortage, only that there was a shortage (artificial or not) not too long ago.
The previous "shortage" was brought on by a loss-making money throwing craze that obviously didn't last. Most of the money involved was "not mine", investments didn't have to show any profit, etc. All this proves to me that human beings are greedy and stupid, but doesn't prove to me that there's an actual shortage.
The market may or may not correct itself, and it may or may not take a few more years. I could bring the number of unemployed (good) engineers or the number of (suitable) CVs received for every position as proof that there isn't any shortage.
There's a ridiculous situation that a good unemployed engineer can't ask for "less than market rates" in order to get a job. This is artificial and will correct itself in time. But would your company hire someone who's asking for the average (non-engineer) wage?
This is probably not the right place for an in-depth discussion, but anyway...
First of all, I'd love to know why you say "there's a shortage of scientists and engineers". From the context I'm assuming you're talking about actual demand, not as a general observation ("society would be a better place with more scientists"). I'm not saying that it's impossible for scientists or engineers to find a job, but I don't think it's any easier than finding a job for an accountant or a plumber (maybe there's a shortage of accountants and plumbers as well...)
The second thing is that the ideal of teaching maths to allow people to abstract and solve problems is far from the reality of repetitive exercises that lead to the quadratic equation. Most children do not get exposed to topology or logic at school, at most they get to fiddle with simplifying expressions such as sin(2x)cos(4x) ad nauseam, or to substitute variables in some area/volume formula. Only the lucky ones that continue get to see the beauty of maths, the abstractions and the problem solving. The rest are left with a bad taste and the feeling of a lot of wasted time. I gave topology and logic as examples as they (at least initially) do not even require the multiplication table. And it's much easier to argue that logic is more relevant to everyday life than trigonometry.
Yes, I had history textbooks with unreadable tiny font. No, it didn't make me a master of history, it just made me sleepy as I struggled to stay focussed AND fight the tiny font. Not much of it made its way into my brain, as I soon fell asleep.
No idea how I passed the exam, I wouldn't be able to tell you what was in those books.
The nightmare of every manager: to wake up one day and find that every piece of software in the company is written in whitespace. Talk about job security... "What do you mean 'where is the source code'? This *is* the source code. But I'm here to talk about my raise, actually."
That's exactly right - GPL is not dangerous if you're not making money from selling your code. The entire thread is about that - GPL has more restrictions than BSD (less "freedoms").
There's nothing wrong with that - each developer should choose the licence that works for him/her. GPL is good for some, BSD is good for others, and MIT is also good in some situations.
There is nothing wrong with saying "I want to release my code under certain conditions, for example if someone modifies it then everybody should enjoy the modifications". Absolutely fine. But it's not the only model, and other models work for other people. There are many reasons to open your code, and GPL is not the only option.
By the way, glibc is not a good example because it's LGPL.
I hope you realise that this is one of the problems with GPL. It's a dangerous mine-field if I have to hope that the courts would go against the FAQ as published on www.gnu.org.
So basically I have a piece of software that uses some licence. I check the FAQ for the licence, as published by the people responsible for the licence, and I have to make the decision that their interpretation will not hold in court. Pretty dangerous.
I'd rather find a different implementation, or implement it myself. That means investing more effort in a solved problem (instead of the real problem domain) due to the risky nature of the GPL. I wouldn't call that "freedom".
Thanks for the references about linking. I agree with what Lawrence Rosen writes on his website, but I'm not sure the licence agrees. From the GPL FAQ:
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?
Yes, because the program as it is actually run includes the library.
GPL is a way to force your ideology on others - whether it's a "good" ideology or not is open to discussion. BSD is a way to not force your ideology on others.
Which one allows more freedoms is pretty obvious.
The GPL wants to FORCE you to provide any changes YOU made, to others.
I would argue that it's worse than that, because it's not only changes to the original code. Even if you link your code against a GPLed library you must provide your own code. I fail to see how writing a speech recognition system that uses readline somehow makes the speech engine "changes to readline", but maybe I'm just an idiot.
I just struggle to see the situation as you describe it. To be honest, if I had an encrypted file on my machine at work, my employers wouldn't know about it.
But let's say they found out that I have some encrypted file and they're asking me what it is (maybe concerned that I'm storing company secrets there). Again - this is unlikely, because I can just push a USB stick and store whatever I want on it.
So I look at the employer innocently and say "oh this is just my grocery list from 2008" (date on the file: 2010). Oh, now I have to maintain a fake encrypted grocery list just for plausible deniability.
And then the employer says "oh this is TrueCrypt - I know this program, are you using two passwords on this file?"
At that point the employer stopped trusting me. He doesn't know whether I'm lying or not, but he is paying me money for understanding technology. If I say "oh, I didn't know you can do that" he will *know* that I'm lying. If I say "nah, what do I need the second password for? It's only a grocery list" he still doesn't know - there's the file, I know how to use the tool, and just storing a grocery list in an encrypted file using a tool that allows plausible deniability sounds ridiculous.
So no, unless plausible deniability is an undocumented feature that I somehow discovered (rather than one of the main advertised features), I don't think it would work.
It's a bit like having a better lock on your garden shed than you have on your house. The police arrive and you open the "safe door" on the shed, and there's a shovel and a flower pot. You think the police will not demolish the shed to see where you've hidden the body?
You don't need to break the system. The fact that there is "plausible deniability" built into the system means that when the police asks for "the other password as well, please" and you say "but officer, I never used the option", they're more likely NOT to believe you.
If we're not talking about the police, then you don't need any plausible deniability - just say you forgot the password and be done with it.
And syntax isn't everything.
Recently I had to look at some Java - I can deal with the syntax, but I was absolutely sure that there's something that already does what I needed to do. The Java library is huge, so it's not just a case of "how to write a loop". If I want to connect to a database, I need to read what's the common way to do it. Of course there will be 3-5 different ways, with proponents claiming that each way is the right way. So you have to start reading articles and blogs, play a little with the code, and form an educated guess (and after a day of looking at the language, it's almost certain that you can't even tell if the examples you're looking at are sane or not).
I could read a Java book and pass an exam about the syntax, but I would not pass a (reasonable) job interview without a few years of learning the libraries and the idioms.
In other words, Java will become the new COBOL - large corporations will still invest in it, because it's cheaper than replacing everything. But no startup would touch it because they can see it has no future.
I don't really mind - I still program in C ;-)
The only thing is that you can have 1000 classics included in the price you pay your ISP. I hope you like "The Black Tulip" and "Pinocchio".
That, and as many PDFs as you care to download. I wouldn't recommend printing "Handbook of Applied Cryptography" and the used price is $43.00 on Amazon right now. But you can download it. Also, something like Peopleware is still cheaper in Kindle format than the cheapest used version.
But I tend to agree with you - I've seen (and bought) some sweet bargains for used books, and most of the technical books I buy are used. e-book pricing should reflect the fact that no trees were harmed, that the ink is free, and that shipping burns very little fuel.
It's not 10% of the time off he's getting, it's 10% of the time he's getting paid for.
Based on your calculation, if I work 100% less, I should expect 100% more days off (e.g. 28 instead of 14). That doesn't make any sense, so "Informative: 4" tells me that the people with karma points should pay more attention at school (less slashdot browsing, more homework).
In soviet Russia the summary is right.
I tend to see it as historic bias - companies can't offer average wage because there's a competitor that offers more.
But I'm not sure it'll last forever, and I'm not convinced it proves that there's a current shortage, only that there was a shortage (artificial or not) not too long ago.
The previous "shortage" was brought on by a loss-making money throwing craze that obviously didn't last. Most of the money involved was "not mine", investments didn't have to show any profit, etc. All this proves to me that human beings are greedy and stupid, but doesn't prove to me that there's an actual shortage.
The market may or may not correct itself, and it may or may not take a few more years. I could bring the number of unemployed (good) engineers or the number of (suitable) CVs received for every position as proof that there isn't any shortage.
There's a ridiculous situation that a good unemployed engineer can't ask for "less than market rates" in order to get a job. This is artificial and will correct itself in time. But would your company hire someone who's asking for the average (non-engineer) wage?
... it's not like education is prohibited after you leave school.
Amen to that. The least they can do is not to make you hate certain subjects, but to be able to say "I might look into that later on in life".
This is probably not the right place for an in-depth discussion, but anyway...
First of all, I'd love to know why you say "there's a shortage of scientists and engineers". From the context I'm assuming you're talking about actual demand, not as a general observation ("society would be a better place with more scientists"). I'm not saying that it's impossible for scientists or engineers to find a job, but I don't think it's any easier than finding a job for an accountant or a plumber (maybe there's a shortage of accountants and plumbers as well...)
The second thing is that the ideal of teaching maths to allow people to abstract and solve problems is far from the reality of repetitive exercises that lead to the quadratic equation. Most children do not get exposed to topology or logic at school, at most they get to fiddle with simplifying expressions such as sin(2x)cos(4x) ad nauseam, or to substitute variables in some area/volume formula. Only the lucky ones that continue get to see the beauty of maths, the abstractions and the problem solving. The rest are left with a bad taste and the feeling of a lot of wasted time. I gave topology and logic as examples as they (at least initially) do not even require the multiplication table. And it's much easier to argue that logic is more relevant to everyday life than trigonometry.
If you can finish it in a couple of hours, I salute you!
Yes, I had history textbooks with unreadable tiny font. No, it didn't make me a master of history, it just made me sleepy as I struggled to stay focussed AND fight the tiny font. Not much of it made its way into my brain, as I soon fell asleep.
No idea how I passed the exam, I wouldn't be able to tell you what was in those books.
"Score:5, Insightful" does not do justice to your comment.
The nightmare of every manager: to wake up one day and find that every piece of software in the company is written in whitespace. Talk about job security... "What do you mean 'where is the source code'? This *is* the source code. But I'm here to talk about my raise, actually."
I thought the average American watches The Simpsons, and they've already explained the system very clearly.
Maybe he's never received an e-mail from "his account" offering cheap Viagra.
I have thousands of those in my gmail account. "What? I didn't send this... how could it be?!" was ok in 1995 (maybe), not today.
That's exactly right - GPL is not dangerous if you're not making money from selling your code. The entire thread is about that - GPL has more restrictions than BSD (less "freedoms").
There's nothing wrong with that - each developer should choose the licence that works for him/her. GPL is good for some, BSD is good for others, and MIT is also good in some situations.
There is nothing wrong with saying "I want to release my code under certain conditions, for example if someone modifies it then everybody should enjoy the modifications". Absolutely fine. But it's not the only model, and other models work for other people. There are many reasons to open your code, and GPL is not the only option.
By the way, glibc is not a good example because it's LGPL.
I hope you realise that this is one of the problems with GPL. It's a dangerous mine-field if I have to hope that the courts would go against the FAQ as published on www.gnu.org.
So basically I have a piece of software that uses some licence. I check the FAQ for the licence, as published by the people responsible for the licence, and I have to make the decision that their interpretation will not hold in court. Pretty dangerous.
I'd rather find a different implementation, or implement it myself. That means investing more effort in a solved problem (instead of the real problem domain) due to the risky nature of the GPL. I wouldn't call that "freedom".
The FAQ is here:
http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL
Thanks for the references about linking. I agree with what Lawrence Rosen writes on his website, but I'm not sure the licence agrees. From the GPL FAQ:
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL or a GPL-compatible license?
Yes, because the program as it is actually run includes the library.
Well said.
GPL is a way to force your ideology on others - whether it's a "good" ideology or not is open to discussion.
BSD is a way to not force your ideology on others.
Which one allows more freedoms is pretty obvious.
The GPL wants to FORCE you to provide any changes YOU made, to others.
I would argue that it's worse than that, because it's not only changes to the original code. Even if you link your code against a GPLed library you must provide your own code. I fail to see how writing a speech recognition system that uses readline somehow makes the speech engine "changes to readline", but maybe I'm just an idiot.
And the other way around: "You don't understand, this is just Ubuntu, I've got the key on this USB stick..."
... and you'll live longer or at least it will feel like it.
So much truth in one sentence: "make your life a misery, you'll live every painful second of it and feel like you lived a thousand years!"
Much easier than living 55 fulfilling and happy years and dying with a smile on your face surrounded by people you love.
I just struggle to see the situation as you describe it. To be honest, if I had an encrypted file on my machine at work, my employers wouldn't know about it.
But let's say they found out that I have some encrypted file and they're asking me what it is (maybe concerned that I'm storing company secrets there). Again - this is unlikely, because I can just push a USB stick and store whatever I want on it.
So I look at the employer innocently and say "oh this is just my grocery list from 2008" (date on the file: 2010). Oh, now I have to maintain a fake encrypted grocery list just for plausible deniability.
And then the employer says "oh this is TrueCrypt - I know this program, are you using two passwords on this file?"
At that point the employer stopped trusting me. He doesn't know whether I'm lying or not, but he is paying me money for understanding technology. If I say "oh, I didn't know you can do that" he will *know* that I'm lying. If I say "nah, what do I need the second password for? It's only a grocery list" he still doesn't know - there's the file, I know how to use the tool, and just storing a grocery list in an encrypted file using a tool that allows plausible deniability sounds ridiculous.
So no, unless plausible deniability is an undocumented feature that I somehow discovered (rather than one of the main advertised features), I don't think it would work.
It's a bit like having a better lock on your garden shed than you have on your house. The police arrive and you open the "safe door" on the shed, and there's a shovel and a flower pot. You think the police will not demolish the shed to see where you've hidden the body?
In that case, "fired" can mean more than one thing, I guess...
You don't need to break the system. The fact that there is "plausible deniability" built into the system means that when the police asks for "the other password as well, please" and you say "but officer, I never used the option", they're more likely NOT to believe you.
If we're not talking about the police, then you don't need any plausible deniability - just say you forgot the password and be done with it.
It's not like C doesn't provide facilities for a non-local jump. In C++ it's even encouraged...
Still, everything has its use (maybe).
Why unlearn BASIC? Even C++ has goto ;-)
Ah, the memories of a long unindented chunk of code and then the inevitable
2503 NEXT
You have no idea where, why, which variable... What a language...