Disastrous offshoring actually happens. This means the local workers need to prove that they're worth keeping. Staying out of sight will lower the perception that other coworkers have of you, so you need to work even harder to stay ahead of the game and avoid the outsourcing. If your job is simple and you're doing it from home, then be prepared to defend it against those who can do the same thing for less pay.
You mean the quite burbs where you can have a ten minute bike ride where it isn't full of smog and trash, and their mortage is 1/4 of your rent for double the space? Quite a lot of corporations have their offices in the burbs now rather than in the downtown squalor.
My commute isn't so bad, but I've always considered that I'd vary prefer to have some sort of office-like setting than being at home; such as a local office. Bigger desk, a white board, etc.
Ie, if you're having a bad day at work, and you work from home, then that means you're having a bad day at home. Separation of domains can be a good thing.
I have some people that just will not send me an email to ask technical questions. Instead they inevitably ask me the questions when I walk past them on the way to the restroom! Until I walk by they seem to have put their important project on hold and start working on something unimportant in the meantime. So I am being trained to make the rounds periodically otherwise productivity goes down.
Yup, that's a huge reason. Maybe a lot of slashdotters don't realize this, but there are more to many jobs than just reading and forwarding email. Sometimes you need lab equipment, you need the devices or components that you are designing or building, you need face to face time with actual customers, and things like that. Does anyone really think a security guard could work from home? But it's slashdot, so many readers assume everyone must follow their example.
Also good reasons for commuting for many: - the workplace is nicer than home. I have to large displays, only one at home, my desk at home is tinier and cluttered and no way in hell am I going to try to use a tiny laptop screen from the couch. Someone at work keeps the place clean, the guy in charge of cleaning my house is a lazy slob. Don't forget the faster networking at work, faster backups, faster access to shared files, etc. - works gets done. Seriously, all those "working from home today" emails I get are just code words for "I'll work an hour today, maybe, if I feel like it". - remote work is not as convenient as some like to make it - not everyone has instant access to a high quality video display that makes going to a meeting the same as sitting at home and watching it on tv. Sure, list all the stupid collaboration startups you like, they all suck. Face to face is often necessary. - staying in the loop. Honest, I have seen so many problems with some remote employees being far too insular. They can be out of touch with what's really going on and their priorities get out of whack, because they're not hearing the people talk about the troubles that are really going on. I have seen a few people who seem genuinely clueless about what projects are important. - out of sight, out of mind. Seriously. When it's time for promotions or layoffs, being known at the office is a big help.
Which is not necessarily a good way to do it. It would act similar to a wildfire, in that for a few years there is bad erosion. It also has the same type of tree in that plot instead of a mix, and so forth. Especially if this is a national forest, loggers should be required to do what's best for the forest, it's not their land after all. Yes, it is much harder to pick just some of the tallest trees and dead trees, because once they've built the logging road into a patch they want to cut it all down to justify the expense.
On one hand, every politician lies about all of this stuff, they all say they want to hire the best people. On the other hand, Trump was extremely vocal about how he was going to be different and he had a quite excitable voting base insisting that he would be different. So is it irony, hypocrisy, irrational exuberation, a learning experience for the voters, or...?
Dont' think there will be any new jobs. Broadcom is essentially a US company anyway that was acquired last year, and the old headquarters was kept around. Jobs that are currently in the US will stay in the US, and jobs that are overseas will stay overseas. But sure, let's keep Donald happy, it's safer than when he's mad.
If you're lucky. In many places they don't bother to replant unless the government forces them to, in which case they complain about excessive regulations hurting their get-rich-quick schemes. Even int he US the timber industry prefers clear cutting as it keeps the expenses low.
Digging into the underlying system it's just a terrible wrapper on a SQL database.
To be honest, you've just described 95% of all business software. The other 5% use a non SQL database. I used to work on a network management system (inventory, issue tracking, etc) and I used to think it was crap; after I left the company and had to use some of the competitor's products I realized that the product I worked on was actually high quality crap.
Almost all of the application is the scripts and forms that sit on top of that database. In the past this meant forms on an IBM 3270 terminal, later it forms displayed on a Motif client half of a client-server system or a thin NT client, and today the forms just show up on the browser instead. The companies that make this stuff make a huge amount of money from professional services also; people who will show up and customize the forms/scripts for your particular installation.
I remember that too. Saw "5 years required", so I did a quick check and the only way someone had 5 years experience in Java is if they had been working at Sun 5 years prior.
However, this is just HR boilerplate. What happens if if the job is entry level they say "experience in Java", if the job is junior level they say "5 years experience in Java", if the job is senior level they say "10+ years of experience in Java". The actual hiring manager never asks for this. It ca be a real problem with the "nice to have" optional requirements because HR will start weeding out resumes that don't list any experience in that optional area. Ie, hiring manager wants a senior programmer in C and the job will peripherally involve networking and control systems, so HR rewrites this to require experience in networking and control systems rather than just listing this as "nice to have". Even worse when the developer job listing says "must know Jira", which is dumb since you don't want to filter someone out because of a tool that can be learned in a few hours.
Emojis designed in American by those born in America to be placed into American products are not understood by many Americans either. Even those young enough to understand certainly "learned" the emojis instead of them being naturally understood.
The problem is that the vast majority of those players will never play professionally. Then when they "graduate" they don't actually have the necessary skills that the real world wants, they may not even have enough qualifications to be a junior high school coach. A school that participates in such practices is not one that you want to send your children to.
And forget the bit about sports bringing money to the university, as all that money goes to new stadiums and sports programs, it will never touch academia.
Premature optimization is not a crime. If you know optimization will be needed up front, then why wait until the customer complains before you start optimizating the obvious stuff? When I've got a slow cpu and only 20K of RAM, I have to optimize along the way. If I'm writing crypto code, optimization is a necessary part of the design. This rule of thumb is just a guideline, it is not an absolute prohibition like so many seem to assume. People should stop treating this guideline like it was a religion.
This feels a bit odd. I would suspect anyone dealing with neural networks would want to write their own libraries. It's experimental still, even at this stage, so anyone working with that is likely to want some tweaks on the third party libraries.
That said, I always felt CPAN and PyPI to be weird things. A reasonable standard library is nice, after that go an get what you need from third parties (free, paid, curated, whatever). But shoving everything into a common location and having the language automatically download an install the libraries when they're needed is strange. It leads to programmers who literally cannot do anything if the necessary function isn't in the groupthink site.
The biggest pain with Python is that Python 1, 2, and 3 are fundamentally incompatible with each other. Even some incompatibilities within different Python 2 revisions. Stability is apparently not one of Python's design goals.
I was surprised Delphi was in the list. I haven't used it since 95 though. At the time Visual Basic was utter and complete crap, with a terrible user interface, whereas Delphi did the same thing as Visual Basic but was very much easier to use and had a reasonable language to do it in. But maybe in the last 20 years it's gone downhill (no more Borland for one).
But the code should be shown to a "layman" also. Someone other than insular programmers should be looking at the code; managers, QA, etc. If there's business logic involved, you should never depend solely on the bottom level programmers. Thus people liked COBOL because it was easy enough (or at least easier) for others to read and understand the code and verify that it actually matches the specifications.
Remember that at the time COBOL came out, the only mainstream language was FORTRAN, doing data processing required hightly unportable and crude languages or straight up assembler. Yes it is verbose, but that meets some of the goals of making sure that someone other than the computer specialists could understand it (ie, managers).
The fact that we have to explain what USENET is on slashdot is very depressing.
As for Perl, a lot of the syntax was likely due to it needing to be a replacement for other tools used in a Unix command. Ie, have a single line Perl script that can be put into a pipe. Such as "myprog | perl -e '$%!@#$foo' | myotherprog". As such, you get many different ways to write the top level loop, as opposed to the Python cultural dogma of "there's only one way to do things!" You don't have to write the "begin" or "end" and put things in procedures, instead it's a "git-er-dun" language.
Ie, that's a big chunk of what "scripting language" really means.
Of course, I don't think Larry Wall at the time ever considered that some day people would base entire company product lines on top of full blown Perl applications or back ends.
See, that's the problem with stack overflow and things like it. They love to answer questions, but they don't particularly care to give a correct or relevant answer; as long as someone rates up their answer they are winning in the social media game.
Perl became popular originally because it would replace a mixture of sh mixed in with awk and sed with a single language. Why use an sh script to tie together a handful of auxiliary scripts when you could just use one script? It reduced the amount of work needed. I'm not saying this as a fanboy of Perl, but it's a perfectly usable tool if you already have it installed on your system. (and the sh+awk+sed combos were used precisely because those were pre-installed and not because they thought awk was awesome)
I really wish Smalltalk had become more popular. As it is, Ruby comes closest to being a textual version of Smalltalk as a language, even if it's not Smalltalk as a system. So many people point to one language or the other as the one true way to handle multiple inheritance, but I like that Smalltalk just refuses to do it, thus problem solved. Yet at the same time it is perfectly capable to add any of the various kinds of multiple inheritance into Smalltalk if you were so twistedly inclined to do so. There is nothing else out there that's I could call a "pure" OO language or system than Smalltalk or Self.
Perl is a crossover language, it's used in so many different contexts. JavaScript is essentially only web development, VB is Windows only, etc. Those are niche languages.
But Perl is portable to many different systems, can be used for web server back ends, can be used for data analysis, textual manipulation, a quick mock-up language, command line scripting, sysadmin scripting, build systems, full applications, etc.
Disastrous offshoring actually happens. This means the local workers need to prove that they're worth keeping. Staying out of sight will lower the perception that other coworkers have of you, so you need to work even harder to stay ahead of the game and avoid the outsourcing. If your job is simple and you're doing it from home, then be prepared to defend it against those who can do the same thing for less pay.
You mean the quite burbs where you can have a ten minute bike ride where it isn't full of smog and trash, and their mortage is 1/4 of your rent for double the space? Quite a lot of corporations have their offices in the burbs now rather than in the downtown squalor.
My commute isn't so bad, but I've always considered that I'd vary prefer to have some sort of office-like setting than being at home; such as a local office. Bigger desk, a white board, etc.
Ie, if you're having a bad day at work, and you work from home, then that means you're having a bad day at home. Separation of domains can be a good thing.
I have some people that just will not send me an email to ask technical questions. Instead they inevitably ask me the questions when I walk past them on the way to the restroom! Until I walk by they seem to have put their important project on hold and start working on something unimportant in the meantime. So I am being trained to make the rounds periodically otherwise productivity goes down.
Yup, that's a huge reason. Maybe a lot of slashdotters don't realize this, but there are more to many jobs than just reading and forwarding email. Sometimes you need lab equipment, you need the devices or components that you are designing or building, you need face to face time with actual customers, and things like that. Does anyone really think a security guard could work from home? But it's slashdot, so many readers assume everyone must follow their example.
Also good reasons for commuting for many:
- the workplace is nicer than home. I have to large displays, only one at home, my desk at home is tinier and cluttered and no way in hell am I going to try to use a tiny laptop screen from the couch. Someone at work keeps the place clean, the guy in charge of cleaning my house is a lazy slob. Don't forget the faster networking at work, faster backups, faster access to shared files, etc.
- works gets done. Seriously, all those "working from home today" emails I get are just code words for "I'll work an hour today, maybe, if I feel like it".
- remote work is not as convenient as some like to make it - not everyone has instant access to a high quality video display that makes going to a meeting the same as sitting at home and watching it on tv. Sure, list all the stupid collaboration startups you like, they all suck. Face to face is often necessary.
- staying in the loop. Honest, I have seen so many problems with some remote employees being far too insular. They can be out of touch with what's really going on and their priorities get out of whack, because they're not hearing the people talk about the troubles that are really going on. I have seen a few people who seem genuinely clueless about what projects are important.
- out of sight, out of mind. Seriously. When it's time for promotions or layoffs, being known at the office is a big help.
Which is not necessarily a good way to do it. It would act similar to a wildfire, in that for a few years there is bad erosion. It also has the same type of tree in that plot instead of a mix, and so forth. Especially if this is a national forest, loggers should be required to do what's best for the forest, it's not their land after all. Yes, it is much harder to pick just some of the tallest trees and dead trees, because once they've built the logging road into a patch they want to cut it all down to justify the expense.
On one hand, every politician lies about all of this stuff, they all say they want to hire the best people. On the other hand, Trump was extremely vocal about how he was going to be different and he had a quite excitable voting base insisting that he would be different. So is it irony, hypocrisy, irrational exuberation, a learning experience for the voters, or...?
I am proud to announce that I have created symlinks from my Singapore folder documents to my America folder. #MAGA
Dont' think there will be any new jobs. Broadcom is essentially a US company anyway that was acquired last year, and the old headquarters was kept around. Jobs that are currently in the US will stay in the US, and jobs that are overseas will stay overseas. But sure, let's keep Donald happy, it's safer than when he's mad.
If you're lucky. In many places they don't bother to replant unless the government forces them to, in which case they complain about excessive regulations hurting their get-rich-quick schemes. Even int he US the timber industry prefers clear cutting as it keeps the expenses low.
Digging into the underlying system it's just a terrible wrapper on a SQL database.
To be honest, you've just described 95% of all business software. The other 5% use a non SQL database. I used to work on a network management system (inventory, issue tracking, etc) and I used to think it was crap; after I left the company and had to use some of the competitor's products I realized that the product I worked on was actually high quality crap.
Almost all of the application is the scripts and forms that sit on top of that database. In the past this meant forms on an IBM 3270 terminal, later it forms displayed on a Motif client half of a client-server system or a thin NT client, and today the forms just show up on the browser instead. The companies that make this stuff make a huge amount of money from professional services also; people who will show up and customize the forms/scripts for your particular installation.
I remember that too. Saw "5 years required", so I did a quick check and the only way someone had 5 years experience in Java is if they had been working at Sun 5 years prior.
However, this is just HR boilerplate. What happens if if the job is entry level they say "experience in Java", if the job is junior level they say "5 years experience in Java", if the job is senior level they say "10+ years of experience in Java". The actual hiring manager never asks for this. It ca be a real problem with the "nice to have" optional requirements because HR will start weeding out resumes that don't list any experience in that optional area. Ie, hiring manager wants a senior programmer in C and the job will peripherally involve networking and control systems, so HR rewrites this to require experience in networking and control systems rather than just listing this as "nice to have". Even worse when the developer job listing says "must know Jira", which is dumb since you don't want to filter someone out because of a tool that can be learned in a few hours.
Words are for old people.
Emojis designed in American by those born in America to be placed into American products are not understood by many Americans either. Even those young enough to understand certainly "learned" the emojis instead of them being naturally understood.
The problem is that the vast majority of those players will never play professionally. Then when they "graduate" they don't actually have the necessary skills that the real world wants, they may not even have enough qualifications to be a junior high school coach. A school that participates in such practices is not one that you want to send your children to.
And forget the bit about sports bringing money to the university, as all that money goes to new stadiums and sports programs, it will never touch academia.
What's wrong with having pride in your work?
Premature optimization is not a crime. If you know optimization will be needed up front, then why wait until the customer complains before you start optimizating the obvious stuff? When I've got a slow cpu and only 20K of RAM, I have to optimize along the way. If I'm writing crypto code, optimization is a necessary part of the design. This rule of thumb is just a guideline, it is not an absolute prohibition like so many seem to assume. People should stop treating this guideline like it was a religion.
This feels a bit odd. I would suspect anyone dealing with neural networks would want to write their own libraries. It's experimental still, even at this stage, so anyone working with that is likely to want some tweaks on the third party libraries.
That said, I always felt CPAN and PyPI to be weird things. A reasonable standard library is nice, after that go an get what you need from third parties (free, paid, curated, whatever). But shoving everything into a common location and having the language automatically download an install the libraries when they're needed is strange. It leads to programmers who literally cannot do anything if the necessary function isn't in the groupthink site.
The biggest pain with Python is that Python 1, 2, and 3 are fundamentally incompatible with each other. Even some incompatibilities within different Python 2 revisions. Stability is apparently not one of Python's design goals.
I was surprised Delphi was in the list. I haven't used it since 95 though. At the time Visual Basic was utter and complete crap, with a terrible user interface, whereas Delphi did the same thing as Visual Basic but was very much easier to use and had a reasonable language to do it in. But maybe in the last 20 years it's gone downhill (no more Borland for one).
But the code should be shown to a "layman" also. Someone other than insular programmers should be looking at the code; managers, QA, etc. If there's business logic involved, you should never depend solely on the bottom level programmers. Thus people liked COBOL because it was easy enough (or at least easier) for others to read and understand the code and verify that it actually matches the specifications.
Remember that at the time COBOL came out, the only mainstream language was FORTRAN, doing data processing required hightly unportable and crude languages or straight up assembler. Yes it is verbose, but that meets some of the goals of making sure that someone other than the computer specialists could understand it (ie, managers).
The fact that we have to explain what USENET is on slashdot is very depressing.
As for Perl, a lot of the syntax was likely due to it needing to be a replacement for other tools used in a Unix command. Ie, have a single line Perl script that can be put into a pipe. Such as "myprog | perl -e '$%!@#$foo' | myotherprog". As such, you get many different ways to write the top level loop, as opposed to the Python cultural dogma of "there's only one way to do things!" You don't have to write the "begin" or "end" and put things in procedures, instead it's a "git-er-dun" language.
Ie, that's a big chunk of what "scripting language" really means.
Of course, I don't think Larry Wall at the time ever considered that some day people would base entire company product lines on top of full blown Perl applications or back ends.
See, that's the problem with stack overflow and things like it. They love to answer questions, but they don't particularly care to give a correct or relevant answer; as long as someone rates up their answer they are winning in the social media game.
Perl became popular originally because it would replace a mixture of sh mixed in with awk and sed with a single language. Why use an sh script to tie together a handful of auxiliary scripts when you could just use one script? It reduced the amount of work needed. I'm not saying this as a fanboy of Perl, but it's a perfectly usable tool if you already have it installed on your system. (and the sh+awk+sed combos were used precisely because those were pre-installed and not because they thought awk was awesome)
I really wish Smalltalk had become more popular. As it is, Ruby comes closest to being a textual version of Smalltalk as a language, even if it's not Smalltalk as a system. So many people point to one language or the other as the one true way to handle multiple inheritance, but I like that Smalltalk just refuses to do it, thus problem solved. Yet at the same time it is perfectly capable to add any of the various kinds of multiple inheritance into Smalltalk if you were so twistedly inclined to do so. There is nothing else out there that's I could call a "pure" OO language or system than Smalltalk or Self.
Perl is a crossover language, it's used in so many different contexts. JavaScript is essentially only web development, VB is Windows only, etc. Those are niche languages.
But Perl is portable to many different systems, can be used for web server back ends, can be used for data analysis, textual manipulation, a quick mock-up language, command line scripting, sysadmin scripting, build systems, full applications, etc.