It's a hard thing to learn for newer employees, that idealism is a luxury. If you want perfect software then write open source, but if you have to ship on time with limited resources and remaining 100% backwards compatible with decades of products, then you have to be pragmatic instead of idealistic. However even with open source you're going to have to deal with pragmatism.
Ie, in the first job they will have a different programming style than the fresh graduate is used to. So step one is to deal with it! If the new hire starts saying things like "my professor says..." or "in my last job we did it the other way..." or "this book that's popular says..." then this starts things off on the wrong foot and it will go downhill from there.
And your first job will be cleaning up after people. That may be your last job too. I think 95% of my career has been maintaining other people's code. Writing new code from scratch is extremely rare.
Engineering is the same as it's not unionized either. As a programmer I work along side engineers every day on the same projects as equals. I'm not the grunt, I'm doing more than just a skilled trade.
Technically irrelevant can still be important. College should never be about teaching you the minimum necessary for your entry level jobs. College should teach you how to learn. We have enough incompetent programmers already who don't know computer science.
Decent programmers know MORE than programming. Domain knowledge is vital in most jobs. Whether that be some type of EE or phyics, mathematics, medicine, chemistry, medicine, Definitely number theory is important to a very large fraction of programmers, can't do basic floating point expressions without it. Anyone designing core operating system or language libraries must know the therory, algorithms, computability, etc. Compiler writers have a large set of advanced tools to know.
Granted, it may be these advanced skill lie dormant for a decade or two, as the entry level people may not need them. But when someone becomes the senior developer ona a core team all those classes become useful, even if the details are forgotten the ability to learn remains.
For me algorithms and architecture were upper division courses. Too late to be weed-out. I do agree that the intro class should be HARD, this is college not day care. I think MIT's scheme of using Scheme was not a bad idea. Simple language, simple concepts, then build complexity from the simple bits. If a student can handle first year calculus or physics, they can handle a complex computing class. What we do not need is yet another cream puff class added because corporations complain there aren't enough shovel ready graduates to hire as grunts.
BASIC is a bad choice for beginners. Either early style BASIC or the newer Visual thing. Too many bad habits can be formed. Beginners need a language with more strtucture and discipline.
Early on cable was for people who had no access to broadcast, or limited access. The early cable-only channels would run the content without interruptions even if they had ads in between content. Ie, you could sit down for the movie and watch it straight through.
Actually that is the model that is common for broadcast in Europe; ads are shown between the shows not in the middle of them. That includes some countries with paid TV licenses but also countries without government support of TV content. Yes some did have ads in the middle of shows but they were only at the half hour, It's only in the US where I've seen the model where the viewer gets interrupted with ads every ten minutes and the 90 minute movie takes 3 hours to show on broadcast.
If the money goes to the ISP there is still no realistic way to distribute the money. The ISPs can't keep it (that $230 was for the advertisers to shut up, not for the ISP to make money). The tiny web site will claim a fraction and the big web site will argue and claim they need more of it and the tiny guys sue but lose the battle of the lawyers, the nice web site that previously had few ads will be equivalent of the spam ridden gaming site, the internet overlords will still demand that we open up our systems so that cookies keep accurate count of eyeballs, people using noscript will still be accused of trying to cheat the system, etc.
And after all that we will STILL have advertisements, because the product makers will still want their products advertised. The only difference is that the web sites can fund themselves without ads, so the advertisers will offer to give them even more money by hosting just a few ads at first. Over time it'll be just as bad as it is now onl we pay $230 a year on top of it. If no one watches broadcast or cable TV anymore, and no one buys the newspaper, then where will advertsements be?
The current state as ugly as it is may not be so bad: just use adblock and noscript to battle the evil.
I think the article made a wrong assumption. That $230 per user (assuming only first world countries??) is to make up for lost advertisement revenue. However, where is the requirement that we must make up all lost advertisement revenue? Is it our duty to ensure that Google keep making massive amounts of money, do we need to keep having rich executives? A better question is how much does it cost to pay for the internet without ads: the amount to pay for the infrastructure and upgrades and *only* the nodes we visit (I refuse to pay to support Facebook or Twitter as I never visit those sights). I suspect it's much much less than $230.
Companies need to learn how to do things the old fashioned way, earning money by selling products rather than by selling advertisements.
Per diem of $100 is excessive. That's why they prefer the receipts and restrict per diem until after a certain duration of travel. That's the equivalent of $26,000 a year. Drop that per diem to $20 for food, add an extra $20 for taxi or mass transit if they don't have rental car.
It doesn't cost that much to process the receipts, much of it is automated. And you need the proof that expenses are legitimate if you are a government agency or a public firm, even a private firm is going to have to have details if they want to claim the expenses on their taxes.
Better way to save money is to cut back on travel. There's far too much of it, with managers tagging along to conferences just because it's a free vacation for them, trips just to talk face to face that could have been done over a video conference, or trips to "meet the team", etc.
How common is that? It seems rare that anyone is required to work from home, as most places prefer employees to be in the office instead. Yes, there are some employees who think they need to work even on a sick day, but that's in their minds. I have indeed called in for a day off because my car was in the shop and thus I could not work, and my employer would have had no possibility at all to force me to work from home. I'm not even going to answer my phone at home if it's from work. More people need to separate home and work and put a thick barrier between them.
Personally, if I'm working on my own time on open source then I don't care if someone does not give back or not. It is not my role to enforce altruism or a sense of community. I'm just going to share the code.
Haven't installed linux in a long time, but did today. I was surprised that xubuntu gave some basic introduction during installation, which was more than Microsoft did for their Windows 8 release.
I think the headline is overly alarming. It sort of implies that Helsinki will make private automobiles illegal or add greater restrictions, which is not the case. Instead they're trying to encourage alternatives. Competition is good.
BSD license gives the most freedom of all though for developers. And no one can "steal" a BSD product and make it proprietary because the original still exists, the only thing proprietary would be the modifications.
"Users" is a poorly defined term. The people who buy from Digia ARE the users! So are the people who buy the products from the people who bought Qt. The problem is that FSF cares more about the final end users than the developers using the actual libraries. Which is why there should be a clear and distinct difference between GPL and LGPL because they are intended for different "users".
What about libraries? In that case, once you pay for the library you should be able to use it, even on tivoized system. That's what the original LGPL was intended for, so that you could use an FSF library as a developer without having your entire bundle of software be required to follow GPL merely because you statically linked to the library (and in embedded systems you are often required to statically link).
All Tivoization did was teach commercial developers that FSF is an ornery as ever and to avoid GPL software (or any open source) and buy a proprietary package instead. Tivo did everything right according to the letter of the license, and everything right according to the spirit of many open source developers, and they did nothing sneaky or underhanded. If they had used a closed proprietary operating system no one would have cared at all, they were only punished for using open source.
People have different views of what "the user" is. Some think it's the freedom of the end user that matters, the person who wants to reflash their home router. Others whoever think of the user as the developer who is using the software library. In this sense, the GPL in the past was oriented towards the end user; whereas the LGPL was created specifically in response to the needs of the library user who is also a developer. LGPLv3 is moving away from that model.
There are sometimes legal requirements to keep the end product unmodified by the end user. Ie, most medical devices in the US must be vetted by the FDA and once released are not allowed to be modified at will by the doctors who buy them, except for customization of course. Similarly some devices that operate under FCC rules may be required to prevent invalid configurations. There are markets where security is an extremely high priority for the customers and signing the software with secured certificates is necessary to even be in the market.
And of course there are all the commercial embedded developers in the middle. They want to use open source but also can not just release their entire source code to the world or allow modifications, because their legal department says no, the executives say no, the board says no, and there are a lot of competitors just waiting to pounce. BSD license is great there because BSD license wants software to be shared, whereas GPL often treats those devs as misguided.
Newer is not always better. Digia really wants to be fully commercial and are annoyed at people who use Qt without paying. This change is intended to increase revenue and is not motivated by a desire to increase openness. Some commercial users have learned that they can legally and morally use the free version in some instances.
Tivoization is just a bugaboo. I applaud Tivo for using GPL licensed software, it should have been a cause for celebration.
It's a hard thing to learn for newer employees, that idealism is a luxury. If you want perfect software then write open source, but if you have to ship on time with limited resources and remaining 100% backwards compatible with decades of products, then you have to be pragmatic instead of idealistic. However even with open source you're going to have to deal with pragmatism.
Ie, in the first job they will have a different programming style than the fresh graduate is used to. So step one is to deal with it! If the new hire starts saying things like "my professor says..." or "in my last job we did it the other way..." or "this book that's popular says..." then this starts things off on the wrong foot and it will go downhill from there.
And your first job will be cleaning up after people. That may be your last job too. I think 95% of my career has been maintaining other people's code. Writing new code from scratch is extremely rare.
If you care about being merely average...
Engineering is the same as it's not unionized either. As a programmer I work along side engineers every day on the same projects as equals. I'm not the grunt, I'm doing more than just a skilled trade.
Technically irrelevant can still be important. College should never be about teaching you the minimum necessary for your entry level jobs. College should teach you how to learn. We have enough incompetent programmers already who don't know computer science.
Decent programmers know MORE than programming. Domain knowledge is vital in most jobs. Whether that be some type of EE or phyics, mathematics, medicine, chemistry, medicine, Definitely number theory is important to a very large fraction of programmers, can't do basic floating point expressions without it. Anyone designing core operating system or language libraries must know the therory, algorithms, computability, etc. Compiler writers have a large set of advanced tools to know.
Granted, it may be these advanced skill lie dormant for a decade or two, as the entry level people may not need them. But when someone becomes the senior developer ona a core team all those classes become useful, even if the details are forgotten the ability to learn remains.
For me algorithms and architecture were upper division courses. Too late to be weed-out.
I do agree that the intro class should be HARD, this is college not day care. I think MIT's scheme of using Scheme was not a bad idea. Simple language, simple concepts, then build complexity from the simple bits. If a student can handle first year calculus or physics, they can handle a complex computing class.
What we do not need is yet another cream puff class added because corporations complain there aren't enough shovel ready graduates to hire as grunts.
BASIC is a bad choice for beginners. Either early style BASIC or the newer Visual thing. Too many bad habits can be formed. Beginners need a language with more strtucture and discipline.
Early on cable was for people who had no access to broadcast, or limited access. The early cable-only channels would run the content without interruptions even if they had ads in between content. Ie, you could sit down for the movie and watch it straight through.
Actually that is the model that is common for broadcast in Europe; ads are shown between the shows not in the middle of them. That includes some countries with paid TV licenses but also countries without government support of TV content. Yes some did have ads in the middle of shows but they were only at the half hour, It's only in the US where I've seen the model where the viewer gets interrupted with ads every ten minutes and the 90 minute movie takes 3 hours to show on broadcast.
If the money goes to the ISP there is still no realistic way to distribute the money. The ISPs can't keep it (that $230 was for the advertisers to shut up, not for the ISP to make money). The tiny web site will claim a fraction and the big web site will argue and claim they need more of it and the tiny guys sue but lose the battle of the lawyers, the nice web site that previously had few ads will be equivalent of the spam ridden gaming site, the internet overlords will still demand that we open up our systems so that cookies keep accurate count of eyeballs, people using noscript will still be accused of trying to cheat the system, etc.
And after all that we will STILL have advertisements, because the product makers will still want their products advertised. The only difference is that the web sites can fund themselves without ads, so the advertisers will offer to give them even more money by hosting just a few ads at first. Over time it'll be just as bad as it is now onl we pay $230 a year on top of it. If no one watches broadcast or cable TV anymore, and no one buys the newspaper, then where will advertsements be?
The current state as ugly as it is may not be so bad: just use adblock and noscript to battle the evil.
Please stop putting advertisements into slashdot.
I think the article made a wrong assumption. That $230 per user (assuming only first world countries??) is to make up for lost advertisement revenue. However, where is the requirement that we must make up all lost advertisement revenue? Is it our duty to ensure that Google keep making massive amounts of money, do we need to keep having rich executives? A better question is how much does it cost to pay for the internet without ads: the amount to pay for the infrastructure and upgrades and *only* the nodes we visit (I refuse to pay to support Facebook or Twitter as I never visit those sights). I suspect it's much much less than $230.
Companies need to learn how to do things the old fashioned way, earning money by selling products rather than by selling advertisements.
Per diem of $100 is excessive. That's why they prefer the receipts and restrict per diem until after a certain duration of travel. That's the equivalent of $26,000 a year. Drop that per diem to $20 for food, add an extra $20 for taxi or mass transit if they don't have rental car.
It doesn't cost that much to process the receipts, much of it is automated. And you need the proof that expenses are legitimate if you are a government agency or a public firm, even a private firm is going to have to have details if they want to claim the expenses on their taxes.
Better way to save money is to cut back on travel. There's far too much of it, with managers tagging along to conferences just because it's a free vacation for them, trips just to talk face to face that could have been done over a video conference, or trips to "meet the team", etc.
So is the gasoline to commute to work, but I never get reimbursed for that.
How common is that? It seems rare that anyone is required to work from home, as most places prefer employees to be in the office instead. Yes, there are some employees who think they need to work even on a sick day, but that's in their minds. I have indeed called in for a day off because my car was in the shop and thus I could not work, and my employer would have had no possibility at all to force me to work from home. I'm not even going to answer my phone at home if it's from work. More people need to separate home and work and put a thick barrier between them.
Personally, if I'm working on my own time on open source then I don't care if someone does not give back or not. It is not my role to enforce altruism or a sense of community. I'm just going to share the code.
Often the device makers create the drivers and Microsoft just validates and signs them.
Haven't installed linux in a long time, but did today. I was surprised that xubuntu gave some basic introduction during installation, which was more than Microsoft did for their Windows 8 release.
I'd be happy just getting TWO options for most things. But that's considered too many for the mass market to understand.
They're going to have multiple Lapps until they get to the Finnish line.
I think the headline is overly alarming. It sort of implies that Helsinki will make private automobiles illegal or add greater restrictions, which is not the case. Instead they're trying to encourage alternatives. Competition is good.
BSD license gives the most freedom of all though for developers. And no one can "steal" a BSD product and make it proprietary because the original still exists, the only thing proprietary would be the modifications.
"Users" is a poorly defined term. The people who buy from Digia ARE the users! So are the people who buy the products from the people who bought Qt. The problem is that FSF cares more about the final end users than the developers using the actual libraries. Which is why there should be a clear and distinct difference between GPL and LGPL because they are intended for different "users".
What about libraries? In that case, once you pay for the library you should be able to use it, even on tivoized system. That's what the original LGPL was intended for, so that you could use an FSF library as a developer without having your entire bundle of software be required to follow GPL merely because you statically linked to the library (and in embedded systems you are often required to statically link).
All Tivoization did was teach commercial developers that FSF is an ornery as ever and to avoid GPL software (or any open source) and buy a proprietary package instead. Tivo did everything right according to the letter of the license, and everything right according to the spirit of many open source developers, and they did nothing sneaky or underhanded. If they had used a closed proprietary operating system no one would have cared at all, they were only punished for using open source.
People have different views of what "the user" is. Some think it's the freedom of the end user that matters, the person who wants to reflash their home router. Others whoever think of the user as the developer who is using the software library. In this sense, the GPL in the past was oriented towards the end user; whereas the LGPL was created specifically in response to the needs of the library user who is also a developer. LGPLv3 is moving away from that model.
There are sometimes legal requirements to keep the end product unmodified by the end user. Ie, most medical devices in the US must be vetted by the FDA and once released are not allowed to be modified at will by the doctors who buy them, except for customization of course. Similarly some devices that operate under FCC rules may be required to prevent invalid configurations. There are markets where security is an extremely high priority for the customers and signing the software with secured certificates is necessary to even be in the market.
And of course there are all the commercial embedded developers in the middle. They want to use open source but also can not just release their entire source code to the world or allow modifications, because their legal department says no, the executives say no, the board says no, and there are a lot of competitors just waiting to pounce. BSD license is great there because BSD license wants software to be shared, whereas GPL often treats those devs as misguided.
Newer is not always better.
Digia really wants to be fully commercial and are annoyed at people who use Qt without paying. This change is intended to increase revenue and is not motivated by a desire to increase openness. Some commercial users have learned that they can legally and morally use the free version in some instances.
Tivoization is just a bugaboo. I applaud Tivo for using GPL licensed software, it should have been a cause for celebration.