Latency and unpredictability of garbage collection is a severe problem for any UI, and even web/database backends. Your Cassandra node can run fine for a week and then fragment its heap and go into 20 second stop the world GC, causing user requests to time out. Silly things like allocating large byte arrays and dolling out offsets and length for individual uses are done to avoid big GC pauses. It still doesn't always work, because there are a lot of VM versions and user access patterns shift over time.
For all that, memory leaks are no less common than in C++ and non-memory resource leaks are horrendous. In C++, your object's destructor is cleanly called when the object is deleted or goes out of scope. That will take care of also calling destructors on anything encapsulated, which can then close files and unregister listeners. In Java, the while 100MB object hierarchy will be still consuming heap because some leaf node's close method was not called and it's a button click listener with an indirect link back to root.
A grown up language can support stack based and encapsulated object instances that don't have to be GCed and have predictable destruction time. Large and provably acyclical objects like bitmaps can also be reference counting. In practice, GC pauses are no better than crashes, so in real life even unsafe explicit delete makes sense in many cases.
Main point of a car is to get you from point A to point B in a comfortable/fun/safe/affordable manner. Even with self driving cars, hardware is at least as important as software and people make strong emotional connection with its design and aesthetics. People will not trade their Mercedes for a Dell just because same software is available. Apple has a chance if they come up with industrial design on par with Macbook or iPad.
We do not have to make life in prison torture, it's just part of the same bloodthirstiness that drives executions. Europeans have invested in making their prisons humane while still effective at keeping dangerous people away from society.
How about we keep death penalty, but only for cases of mass murder with extensive eyewitnesses, self-incriminating statements and/or video evidence? No ballistic/arson evidence where investigator can be mistaken or science could evolve over time. No single eyewitness that leaves the possibility of mistaken identity. And if you targeted a specific person, whether because of greed or rage, it's at least a recognizable human failing from which one can be conceivably rehabilitated in due time.
I personally don't feel any less just or safe with Ted Kaczynski securely locked up for life than if he was executed. But some people believe that there is some level of brutality that deserves death. Well, maybe Dzhokhar Tsarnaev or James Eagan Holmes is it. Still a waste of money, but we will not waste too much on a couple of executions in a decade. And I would certainly would not worry much about an innocent/rehabilitated man or a victim of bad circumstances being put to death.
Actually there have been tons of progress, it's just in the areas where there is a practical need rather than what looks cool in a Sci-fi movie. There is no need to clone a human as a robot, we already have lots of humans. On the other hand, lots of work is being done on taking an image and automatically generating a short description of what it shows so people can find it among a billion others.
BSD is dying for how long again? It's still around and having monthly releases. For open source projects, popularity contests are much less important. With massive existing user base, Hadoop will be actively maintained for long time. So if you already familiar with it and it serves the needs of your project, go right ahead.
Personally, I think being oncall 24/7 without comp time off is more invasive than the GPS tracking. Left my previous job after they introduced oncall rotation without any new benefit to show from it. If I get paged at 4am I am going to have a headache the next day, so don't expect me to come to office and write code. And if I can not go to swimming pool or drink beer for the whole week, a 3 day weekend next week, when I am NOT on call, would be the minimum that would compensate for that. Other than that, when I am on call I am already not free to go on with my life, so my locations are going to be pretty boring anyway.
Since a company with large number of billions in the bank thought they can get away with uncompensated oncall in my case, I would guess chances for legal success against that are slim.
Like it or not, a lot of nasty employment conditions are technically legal or hard to prove. Really the best thing is to publicize what is happening on glassdoor and similar sites. It's not going to immediately stop entry level employees, who have few better choices, from applying. But confirmed bad practices will deny the perpetrator ability to recruit top talent for positions that have the most impact on the company's future.
As of now, Intermex is described as nice working environment on Glassdoor. If I was considering an offer and read about 24/7 GPS tracking in page after page of reviews, I certainly would not join.
Do you want your corporate culture to be like that? Then by all means only hire kids. Any healthy human society needs an age/gender/personality diversity of contributors to thrive. There are certainly brilliant 20 year old programmers, but they don't have practical experience keeping a project or a team alive and working well for a decade. And once they acquire such experience, they will leave your company because it'a not friendly to their needs.
Android phones are essentially running manufacturer/carrier Linux distros. If someone doesn't want to update theirs, you can't force them. You can, however, switch to one more to your liking. There are always Nexus devices, but also a good business opportunity for smaller players who can't afford to develop heavy customizations like TouchWiz anyway.
You could install a fully functional system from a box of floppies and it ran great on clunky 386sx. Multitasking and networking capabilities blew other choices of the time - Windows 3.1, DOS and MacOS classic - out of the water. BSD distributions were not nearly as complete software wise or easy to install. Lack of shared library support made X apps impractical.
Without Slackware the would have been no Linux of today.
How many people are really willing and able to sit at the desk for hours on end, without any human interaction, all to figure out an abstract problem? How many will enjoy such a career for a decade it takes to get really good at it?
The patience, intelligence and introverted personality required may all be on the bell curve, but one has to be on the vanishing end of it to be a key contributor to the project. Others can certainly learn how to complete a 3 page class assignment, but will be miserable if they have to code most of their wakings lives.
I would argue that quantities required are so unusual that a great programmer is always going to have difficulties in social relationships with people in the middle of bell curve, even if not to the degree that can be considered autism spectrum diagnoses or any other disability.
Having 30 solid offers per month for even entry level programming jobs would be reassuring if nothing else. These are just generic position postings though, with no special inside track to get an actual job.
Having said that, I got a new job by replying to one of LinkedIn recruiting e-mails a couple of years back, and got a nice salary hike as well as more interesting project and less stress than my previous gig. After that, I usually reply by declining politely and thanking the recruiter for asking. If someday myself or a friend needed a new job, I would probably have a slightly better chance with recruiters who had a positive experience with me before.
That's not most people's risk profile. An average user is more likely to have personal data lost or stolen from their personal devices than a cloud provider with a professional IT department. Even in terms of legal risk, you could be jailed for contempt of court for failing to produce documents in what is otherwise a civil matter. Or not have access to favorable evidence.
You absolutely should have legal right to run whatever software you want. I just disagree with article's premise that most criminals would go install custom ROMs and sideload apps. Anyone with enough wits and self control to do this consistently is likely smart enough to achieve their goals in legal ways.
Is this going to be the practical bandwidth I can get to Netflix and other popular services 99% of the time, including Saturday night? If so, it's a wonderful service and could be well worth upgrading to 75mbps or even 1gbps. I would love to do a time machine backup of my laptop to a cloud storage provider that wouldn't burn in a house fire.
On the other hand my "30mbps" Comcast connection frequently ends up buffering a single HBO now stream. To be fair, this could well be problem of HBO or network intermediaries rather than Comcast. But in either case "smoother playback" advertising is misleading if this is not the experience I would have in most cases.
Lots have been caught with plaintext browser history on their hard drives listing Google queries like "how to dispose of a body". That despite tools to clear or not record such history are easily available. To such end, having a half hearted, optional key escrow may do a lot of good. Let smartphones be encrypted by default, with a copy of the key encrypted with a public key of a cloud company that has an excellent security record. Then if someone forgets their password, and shows up at Apple or Verizon store with a valid ID, they can have their vacation photos back. So can law enforcement if they produce a valid and narrow scope search warrant.
At the same time, people can install custom ROMs that support encryption that is potentially impractical to crack. That's important for many reasons including personal freedom and keeping country's technological edge by encouraging people to develop and understand software. Whistleblowers will get to keep their privacy, and so will a few criminal masterminds. But chances are, the later will have dumb associates who will set their password to 12345. I think a bet that smart people are generally also well intentioned is a good one for our society to make. In the meantime, we don't have to make life of the next Scott Peterson too easy.
For all the noise about systemd, we are totally ignoring the fact that it's the Linux kernel that is the most egregious violation of UNIX modular philosophy. ChromeOS Lightbar has no place in main kernel distribution. System should at least provide enough of a stable binary interface for users to get a binary from outside developer and use it for a couple years. It's not crazy for a non-critical driver like this run in userspace, where a crash is less likely to bring down the whole system.
Anyone interested in learning system programming, or getting their pet gadget to work with Linux, should be able to maintain the project without having to convince Linus Torvalds to take it on or make monthly patches to accommodate ever changing kernel interface. For that matter, someone should be able to write a new kernel and have it work with a decent subset of Linux drivers. In the meantime, core Linux maintainers can focus on fundamental projects like kdbus rather than making LED lights on one particular laptop blink.
Get an Android phone with unlocked bootloader and install a custom ROM based on older/better debugged KitKat AOSP release and focused on stability rather than features. Think Debian of Android. If you can't find one to your liking, you only have yourself to blame. It's impossible for a release with hundreds of brand new features and UI refreshes to be stable for the simple reason that nobody actually tried it before. But if there is enough interest in the community, they can take a snapshot and focus on fixing bugs.
If you get immunized, you also get ahead in live and work by unnaturally avoiding diseases. Lately there has been noise about forcing people to get shots no matter what they think. Personally I think you should have a choice. But if there are drugs for which beneficial effects dramatically outweigh side effects, I am all for their use becoming widespread. Adderall is definitely not it - current drugs are too blunt and uniformly carried thoughout the body, causing side effects to organs. The future is gene therapy or nano capsules that deliver active ingredients to only a targeted group of cells. On the other hand, people taking it now are volunteer guinea pigs who will help us one day come up with better and safer drugs.
Good to hear there is some attention to these subjects (I went to school abroad). For child raising/relationships I don't mean "look how much it sucks", but rather normal things to do and what should raise red flags. If people knew when to give a baby solid food or let them take a bus alone, there would be much fewer accidents and health problems.
C.Sci is a good career, it's not the only career. I would rather teach kids:
Optimum health management, including providing healthy food and needed daily exercise during school time
Balancing checkbooks, with some mock loans/saving money for stuff in school shop and so on
Basic relationship/child raising skills.
Politics and being a good citizen
Protecting environment
If kids have basic life skills, they will also choose their own career paths wisely. By all means, offer a great C.Sci elective and ensure it's available to all willing and able. But pushing one single career on everyone seems overboard. By the time they graduate, other jobs will be in top demand.
They were first commonplace, then frowned upon. But of late newer companies established in 21st century realized that they can retain non-trivial percentage of top developers by letting them have their fun. In games, it's even a much appreciated secondary objective to find all of them.
Latency and unpredictability of garbage collection is a severe problem for any UI, and even web/database backends. Your Cassandra node can run fine for a week and then fragment its heap and go into 20 second stop the world GC, causing user requests to time out. Silly things like allocating large byte arrays and dolling out offsets and length for individual uses are done to avoid big GC pauses. It still doesn't always work, because there are a lot of VM versions and user access patterns shift over time.
For all that, memory leaks are no less common than in C++ and non-memory resource leaks are horrendous. In C++, your object's destructor is cleanly called when the object is deleted or goes out of scope. That will take care of also calling destructors on anything encapsulated, which can then close files and unregister listeners. In Java, the while 100MB object hierarchy will be still consuming heap because some leaf node's close method was not called and it's a button click listener with an indirect link back to root.
A grown up language can support stack based and encapsulated object instances that don't have to be GCed and have predictable destruction time. Large and provably acyclical objects like bitmaps can also be reference counting. In practice, GC pauses are no better than crashes, so in real life even unsafe explicit delete makes sense in many cases.
Main point of a car is to get you from point A to point B in a comfortable/fun/safe/affordable manner. Even with self driving cars, hardware is at least as important as software and people make strong emotional connection with its design and aesthetics. People will not trade their Mercedes for a Dell just because same software is available. Apple has a chance if they come up with industrial design on par with Macbook or iPad.
We do not have to make life in prison torture, it's just part of the same bloodthirstiness that drives executions. Europeans have invested in making their prisons humane while still effective at keeping dangerous people away from society.
How about we keep death penalty, but only for cases of mass murder with extensive eyewitnesses, self-incriminating statements and/or video evidence? No ballistic/arson evidence where investigator can be mistaken or science could evolve over time. No single eyewitness that leaves the possibility of mistaken identity. And if you targeted a specific person, whether because of greed or rage, it's at least a recognizable human failing from which one can be conceivably rehabilitated in due time.
I personally don't feel any less just or safe with Ted Kaczynski securely locked up for life than if he was executed. But some people believe that there is some level of brutality that deserves death. Well, maybe Dzhokhar Tsarnaev or James Eagan Holmes is it. Still a waste of money, but we will not waste too much on a couple of executions in a decade. And I would certainly would not worry much about an innocent/rehabilitated man or a victim of bad circumstances being put to death.
Actually there have been tons of progress, it's just in the areas where there is a practical need rather than what looks cool in a Sci-fi movie. There is no need to clone a human as a robot, we already have lots of humans. On the other hand, lots of work is being done on taking an image and automatically generating a short description of what it shows so people can find it among a billion others.
BSD is dying for how long again? It's still around and having monthly releases. For open source projects, popularity contests are much less important. With massive existing user base, Hadoop will be actively maintained for long time. So if you already familiar with it and it serves the needs of your project, go right ahead.
Personally, I think being oncall 24/7 without comp time off is more invasive than the GPS tracking. Left my previous job after they introduced oncall rotation without any new benefit to show from it. If I get paged at 4am I am going to have a headache the next day, so don't expect me to come to office and write code. And if I can not go to swimming pool or drink beer for the whole week, a 3 day weekend next week, when I am NOT on call, would be the minimum that would compensate for that. Other than that, when I am on call I am already not free to go on with my life, so my locations are going to be pretty boring anyway.
Since a company with large number of billions in the bank thought they can get away with uncompensated oncall in my case, I would guess chances for legal success against that are slim.
Like it or not, a lot of nasty employment conditions are technically legal or hard to prove. Really the best thing is to publicize what is happening on glassdoor and similar sites. It's not going to immediately stop entry level employees, who have few better choices, from applying. But confirmed bad practices will deny the perpetrator ability to recruit top talent for positions that have the most impact on the company's future.
As of now, Intermex is described as nice working environment on Glassdoor. If I was considering an offer and read about 24/7 GPS tracking in page after page of reviews, I certainly would not join.
Do you want your corporate culture to be like that? Then by all means only hire kids. Any healthy human society needs an age/gender/personality diversity of contributors to thrive. There are certainly brilliant 20 year old programmers, but they don't have practical experience keeping a project or a team alive and working well for a decade. And once they acquire such experience, they will leave your company because it'a not friendly to their needs.
Android phones are essentially running manufacturer/carrier Linux distros. If someone doesn't want to update theirs, you can't force them. You can, however, switch to one more to your liking. There are always Nexus devices, but also a good business opportunity for smaller players who can't afford to develop heavy customizations like TouchWiz anyway.
You could install a fully functional system from a box of floppies and it ran great on clunky 386sx. Multitasking and networking capabilities blew other choices of the time - Windows 3.1, DOS and MacOS classic - out of the water. BSD distributions were not nearly as complete software wise or easy to install. Lack of shared library support made X apps impractical.
Without Slackware the would have been no Linux of today.
How many people are really willing and able to sit at the desk for hours on end, without any human interaction, all to figure out an abstract problem? How many will enjoy such a career for a decade it takes to get really good at it?
The patience, intelligence and introverted personality required may all be on the bell curve, but one has to be on the vanishing end of it to be a key contributor to the project. Others can certainly learn how to complete a 3 page class assignment, but will be miserable if they have to code most of their wakings lives.
I would argue that quantities required are so unusual that a great programmer is always going to have difficulties in social relationships with people in the middle of bell curve, even if not to the degree that can be considered autism spectrum diagnoses or any other disability.
Having 30 solid offers per month for even entry level programming jobs would be reassuring if nothing else. These are just generic position postings though, with no special inside track to get an actual job.
Having said that, I got a new job by replying to one of LinkedIn recruiting e-mails a couple of years back, and got a nice salary hike as well as more interesting project and less stress than my previous gig. After that, I usually reply by declining politely and thanking the recruiter for asking. If someday myself or a friend needed a new job, I would probably have a slightly better chance with recruiters who had a positive experience with me before.
That's not most people's risk profile. An average user is more likely to have personal data lost or stolen from their personal devices than a cloud provider with a professional IT department. Even in terms of legal risk, you could be jailed for contempt of court for failing to produce documents in what is otherwise a civil matter. Or not have access to favorable evidence.
You absolutely should have legal right to run whatever software you want. I just disagree with article's premise that most criminals would go install custom ROMs and sideload apps. Anyone with enough wits and self control to do this consistently is likely smart enough to achieve their goals in legal ways.
Is this going to be the practical bandwidth I can get to Netflix and other popular services 99% of the time, including Saturday night? If so, it's a wonderful service and could be well worth upgrading to 75mbps or even 1gbps. I would love to do a time machine backup of my laptop to a cloud storage provider that wouldn't burn in a house fire.
On the other hand my "30mbps" Comcast connection frequently ends up buffering a single HBO now stream. To be fair, this could well be problem of HBO or network intermediaries rather than Comcast. But in either case "smoother playback" advertising is misleading if this is not the experience I would have in most cases.
Lots have been caught with plaintext browser history on their hard drives listing Google queries like "how to dispose of a body". That despite tools to clear or not record such history are easily available. To such end, having a half hearted, optional key escrow may do a lot of good. Let smartphones be encrypted by default, with a copy of the key encrypted with a public key of a cloud company that has an excellent security record. Then if someone forgets their password, and shows up at Apple or Verizon store with a valid ID, they can have their vacation photos back. So can law enforcement if they produce a valid and narrow scope search warrant.
At the same time, people can install custom ROMs that support encryption that is potentially impractical to crack. That's important for many reasons including personal freedom and keeping country's technological edge by encouraging people to develop and understand software. Whistleblowers will get to keep their privacy, and so will a few criminal masterminds. But chances are, the later will have dumb associates who will set their password to 12345. I think a bet that smart people are generally also well intentioned is a good one for our society to make. In the meantime, we don't have to make life of the next Scott Peterson too easy.
For all the noise about systemd, we are totally ignoring the fact that it's the Linux kernel that is the most egregious violation of UNIX modular philosophy. ChromeOS Lightbar has no place in main kernel distribution. System should at least provide enough of a stable binary interface for users to get a binary from outside developer and use it for a couple years. It's not crazy for a non-critical driver like this run in userspace, where a crash is less likely to bring down the whole system.
Anyone interested in learning system programming, or getting their pet gadget to work with Linux, should be able to maintain the project without having to convince Linus Torvalds to take it on or make monthly patches to accommodate ever changing kernel interface. For that matter, someone should be able to write a new kernel and have it work with a decent subset of Linux drivers. In the meantime, core Linux maintainers can focus on fundamental projects like kdbus rather than making LED lights on one particular laptop blink.
Get an Android phone with unlocked bootloader and install a custom ROM based on older/better debugged KitKat AOSP release and focused on stability rather than features. Think Debian of Android. If you can't find one to your liking, you only have yourself to blame. It's impossible for a release with hundreds of brand new features and UI refreshes to be stable for the simple reason that nobody actually tried it before. But if there is enough interest in the community, they can take a snapshot and focus on fixing bugs.
Before you pick up. Next up - publicly visible "A called B" post on your wall with like and comment buttons.
If you get immunized, you also get ahead in live and work by unnaturally avoiding diseases. Lately there has been noise about forcing people to get shots no matter what they think. Personally I think you should have a choice. But if there are drugs for which beneficial effects dramatically outweigh side effects, I am all for their use becoming widespread. Adderall is definitely not it - current drugs are too blunt and uniformly carried thoughout the body, causing side effects to organs. The future is gene therapy or nano capsules that deliver active ingredients to only a targeted group of cells. On the other hand, people taking it now are volunteer guinea pigs who will help us one day come up with better and safer drugs.
Embryos are frozen all the time
That the remaining 4% of marine life was unusually acid-resistant. So they might do Ok this time too.
Good to hear there is some attention to these subjects (I went to school abroad). For child raising/relationships I don't mean "look how much it sucks", but rather normal things to do and what should raise red flags. If people knew when to give a baby solid food or let them take a bus alone, there would be much fewer accidents and health problems.
C.Sci is a good career, it's not the only career. I would rather teach kids:
If kids have basic life skills, they will also choose their own career paths wisely. By all means, offer a great C.Sci elective and ensure it's available to all willing and able. But pushing one single career on everyone seems overboard. By the time they graduate, other jobs will be in top demand.
They were first commonplace, then frowned upon. But of late newer companies established in 21st century realized that they can retain non-trivial percentage of top developers by letting them have their fun. In games, it's even a much appreciated secondary objective to find all of them.