A computer science degree is supposed to teach you computing theory. You can learn to program from a youtube video. I spent most of my time in school drawing boxes and arrows, and every once in a while a class would require a project where learning a new language was required, but they'd usually just give you a few quick pointers and leave you to learn that language yourself. My school (and other good schools) don't teach computer programming or computer languages, they teach you how to think in a way that is useful for the field of software engineering.
I guess maybe I haven't met too many new grads who thought they new everything. All the new grads we've hired have been lacking experience, but seem very open minded and willing to learn. Many of them even seemed to have a much better understanding of "advanced" concepts like OOP, maintainability, etc than many of the older folks.
I'll bet I probably would dislike a know it all new grad as much as I would dislike a know it all gray hair. But I have just encountered many more gray hairs that think C++ is overrated, because you can just do everything in C and it's faster because of all the kludgey C tricks (i.e. premature optimizations) that modern compilers should be doing anyway.
Management might be a less valuable skill than engineering. As long as nobody has a problem sometimes paying managers less than they people they manage, then there is no problem.
As a software engineer with 10 years experience, I'd rather deal with a new grad with lofty ideas about how to do software engineering than some gray hair with 40 years experience who thinks everything new is stupid.
You can teach people how to write better code. You can't teach a stubborn old self taught programmer with 40 years experience why it is better to have maintainable code than to save a few CPU cycles if he doesn't want to hear it.
Programmers of all ages think they know everything and have bad attitudes.
When doing critical thinking for stuff like programming, there is few "proper" ways of solving an issue
1. there are a few "proper" ways of solving *some* problems.
2. Somebody had to discover/invent those proper ways of solving those problems.
3. This method of discovering ways to solve problems needs to be taught to people in addition to application of existing solutions.
This view of "programming" is very narrow. It's true that some programmers can only do mundane jobs, but equating all programmers to this level is like equating construction workers with architects and structural engineers because the all make buildings.
There is no proper way of discovering the proper way to solve a problem. If there were, then you could just write one computer program that properly solves all the other computer problems.
I actually learned more philosophy in computer science classes than I did in philosophy classes. Philosophy is actually very important, but I find that in many philosophy classes (especially 100 series ones) are filled with students who don't give a shit, and the standards and expectations are appropriately lowered. Nobody takes automata theory/theory of computation or artificial intelligence as a general education elective.
The first week of AI class we had to read a paper by Alan Turing and write an essay on whether we thought machines could ever "think" and why or why not, and then write another paper at the end of the quarter on whether we had changed our minds and why or why not. The final "lecture" was a group discussion on the subject.
I'm not saying I would have learned less philosophy than if I had majored in philosophy (I'm sure I would have learned more), but there aren't the softball general ed classes in a computer science program (at least where I went to school). We had weeder courses to get rid of everyone who didn't belong, followed by challenging classes.
CO2 may not be "clean" but its not as bad as the boogie men are making it out be. the fact is CO2 is a vital part of the circle of life.
CO2 is obviously vital to the environment. That doesn't mean too much in the wrong place can't be harmful. Vitamin C is vital to the human body, that doesn't mean every level of Vitamin C in the human body is safe.
Ok, good for you, and when poor people cant buy food because it has to pass 100 regulations before it hits the shelf what about them?
And you can still buy a burger at in and out for $1.40, how can that be?
people have made it thousands of years without the government telling people what they can and cant eat.
People have gone thousands of years without antibiotics and anesthesia too.
Maybe people should have the choice to eat uninspected and unregulated food. But you should at least acknowledge the risks. Simply saying "People have made it thousands of years..." ignores all the people who have become sick and/or died from food-borne illness. Yes it is true that the human race hasn't gone extinct. That doesn't mean our lives can't be improved by properly inspecting food.
Next you are going to tell us that every building with a drive up ATM should have braile on it as well for all those blind drivers out there because.. the law! A little common sense goes along way, regulations leave little room for common sense. If the ramp is 1 degree off, is it stopping people from using it? If no WHO THE FUCK CARES???
So because some regulations are bad, it means all of them are bad? Are you arguing against cutoffs? What if a ramp is 2 degrees off. What if it's 3 degrees off? What if it's 90 degrees off? Make any cutoff point you want, and I can make a ramp 1 degree higher and complain that you are an asshole.
Without strict enforcement, you get things like speeding where everyone is going 5 - 20 MPH over the limit, and cops just arrest whoever they feel like because everyone is a criminal and they can use discretion. Maybe the speed limits need to be changed, but that doesn't mean you should be able to go a little over it regardless of what it is.
It is because of government help that telecoms were able to create this massive infrastructure that require large areas of land. For the same reason that it is impractical to have many different sets of cables going to every house, it is really difficult for telecoms to get that first set of cables to every house without government help (i.e. eminent domain, government gifts, etc)
Lots of people have parents living in perpetual pain that are not allowed, by the government, to have a doctor or relative end their suffering.
Parents are people too. You can just say "Lots of people are living in perpetual pain".
Doctors nowadays just intentionally OD patients on painkillers to euthanize them (if that's what they want). It's not hard to find doctors willing to give you enough painkillers to fully alleviate your pain (even if that amount is a lethal dose).
Having every ISP run it's own lines to everyone's house is only one (terrible) way to have market competition among ISPs.
Fedex and UPS compete, but they don't have their own roads. They just use public roads. It is not anti-libertarian to have competition among the private sector that rely on public infrastructure.
The particular brand of libertarianism you are depicting is basically just anarchy. Furthermore, why would you even need a "verbal contract", if there is no government to enforce contract law.
I realize there are lots of idiots out there claiming to be libertarians, but I would like to point out that the term "libertarian" is very broad (and unfortunately getting broader). Until there is a better label for the libertarians that aren't retarded, I would prefer to just call out "libertarians" who are actually anarchists, and "libertarians" who are actually just hypocrites, because they only support freedoms for themselves and their friends but not those of other groups (e.g. libertarians against gay marriage, drug legalization, prostitution, etc).
Comcast provides internet to homes. They know who their customers are. That's why it is easy to ban users caught using tor. If you go to a starbucks, and use tor on wifi, even if the starbucks is being supplied by comcast, all they can do is ban starbucks from using the internet, and this doesn't stop that same person from just going to a different starbucks to use tor again.
If they know who you are cutting off the internet to your house is pretty damn easy. Don't like it? Go to starbucks.
If the difference is price, then that's a quantitative rather than a qualitative difference. The phrase "comparing apples and oranges" is meant to illustrate a qualitative difference. So this is more like comparing big apples and small apples.
It is about choice. In my opinion, it is different because such a device would not be carried by choice nor would it have data that you voluntarily placed on it. A cell phone or other computer you carry by choice. Data you put on your cell phone (pictures, email, GPS tracks, etc.), you put on by choice. With a pacemaker (or other medically necessary device), you really don't have a choice to have with you (unless you choose to die). Operational data that such a medical device might gather, you don't have any practical control over.
Why does it even matter? If there is significant evidence that you have committed a crime, and a court issues a warrant to search your electronic devices, why should the person who has a pacemaker be granted extra privileges than a person with a cell phone? I will concede that the person with the cell phone may have had more of a choice in deciding to own/possess their device, but so what? Why is that important?
Furthermore, I don't see why people would not have the freedom to choose pacemakers that were not able to incriminate them (i.e. ones that do not record histories, but rather simply use current sensor data, or encrypt any historical data so it is only accessible to people with the cryptographic key).
While fingerprints or left behind DNA can indicate that you were somewhere, they don't on their own give a history of the places you have been. You can't take a fingerprint or DNA sample from a person and get a history of all the places they have been. With an embedded device that keeps location history, you could theoretically extract the history of the locations you have been (without having to go to those places to collect evidence).
Which is why you shouldn't be able to access this information without a warrant (i.e. significant evidence that a person has committed a crime). I really don't see why it makes a difference if the information gives a complete or partial picture of historical events. Would it be ok to search the futurisitic pacemaker if it only recorded GPS locations to a precision of 100 miles? (i.e. obscuring the complete picture and forcing police to collect additional evidence)?
Why does it matter if the device is physically inside you or necessary to live? Why is a futuristic pacemaker any different than a cell phone? I would argue that a modern cell phone is more a part of a person than this hypothetical futuristic pacemaker, despite being outside the body. The cell phone in addition to storing location information also has all your emails, text conversations, search histories, voicemails, facebook stuff, etc.
Would forcefully extracting information from such a device be any different than compelling a person to testify against their will?
Should fingerprinting someone or taking a DNA sample be considered forcing that person's body to betray them and therefore be considered compelling them to testify against themselves?
The cyborg examples really don't add any new dimensions to this debate.
You need a warrant to search external electronics that belong to people. You should also need a warrant to search internal electronics that belong to people. There is no new legal questions created by putting electronics inside people rather than simply keeping them detached.
You can't just shove your iphone up your ass claim to be a cyborg to evade a search warrant. By the same token, the police can't use the fact that your iphone is up your ass to call you a cyborg and search it without getting a warrant.
At all of the software companies I've ever worked for, and most of the ones my friends have worked at, knowing big O notation is *completely* useless.
You need to know about things like time and space complexity when selecting appropriate data structures. For people who don't know what their doing, an array works just as good as a linked list (until it doesn't), and someone who understands time complexity needs to figure out why the code is slow and fix it.
Some plain old coders know the basics of computer science, but there are a lot that don't. There are even people with CS degrees that don't know the basics of CS theory. So no, not ever programmer needs to know about the halting problem and finite state machines, but you need to at least know the basics to write code that doesn't completely suck.
I'm not saying you need a degree. I'm saying that a degree usually indicates at least a basic understanding of CS theory which I think is indeed very important. There is more to being a software developer than "Knowing how to code" (i.e. Writing code with correct syntax). And I have found that many if not most self taught coders (along with some CS degree holders) do not really have the skills necessary to write *good* code, due to lack of understanding about basic theory. And by good code I mean code that doesn't have to be rewritten at some later point by someone knowledgeable.
Some of them don't even have a person with a CS degree on the team. But those applications/websites aren't crashing and burning because they lack academic knowledge: they're (successfully) powering your life.
Most code sucks. The reason websites continue to work (sort of), is because they are all relying on good software written by people who *did* know what they were doing. And this code is usually so good that it helps people who are incompetent make something that kind of still works despite themselves (given enough time). Most of the time it is not even cheaper to hire incompetent people because it takes them so much longer to get things done even with all the great tools out there. It costs the same to pay someone $100/hr to finish something in 2 days than it is to pay someone minimum wage to finish it in 2 months.
And as far as people who know a lot of theory but don't know how to actually make anything... I don't think those people really exist. I too spent most of my time in college drawing boxes and arrows rather than coding, but even with a heavily theory based program I was exposed to 2 wuarters of C++, 1 quarter of assembly, 1 quarter of Java, 1 quarter of networking (udp/tcp), 1 quarter of SQL, etc. Learning to code competently is relatively simple. I'm not saying that theory is very hard, but if it were easy, then everyone would do it (without school). There are many of coders for every person who knows theory. And even new grads pick up coding in a few months if they don't already know how to code pretty well at the time they graduate.
Of course a construction worker who actually knows what he is doing is more valuable than some kid with an architecture degree who has no idea how to do his own job.
That's true until your building falls down because the construction worker/self-taught architect didn't know the fancy theories behind calculating loads and stresses, and only knew how to attach metal piece together.
This is like saying that most buildings don't require architects. This is true if you don't care if the final result sucks. When software fails it's usually just inconvenient. When a building fails, people usually die. We typically care more about building quality than software quality. If you don't care about software quality than hire a self taught coder. If you don't care about your building being safe, then hire a construction worker to design it.
That's close, but roller coasters don't fly. They still rely on a connected physical track for support. I want a flying train that rides on a virtual track. I want the immense complexity of precision flight combined with the harshly inconvenient restrictions of railway travel.
I want something that can fly but still be limited to a one dimensional track such that only forward and reverse are the only directions allowed. This way I can know that my kids are not deviating from the route to and from school, but still be in the air.
Why would rich countries vote against free solutions? Doesn't saving money make you even more rich? Why doesn't everybody use open source software? Who doesn't love superior products free of charge?
A computer science degree is supposed to teach you computing theory. You can learn to program from a youtube video. I spent most of my time in school drawing boxes and arrows, and every once in a while a class would require a project where learning a new language was required, but they'd usually just give you a few quick pointers and leave you to learn that language yourself. My school (and other good schools) don't teach computer programming or computer languages, they teach you how to think in a way that is useful for the field of software engineering.
I guess maybe I haven't met too many new grads who thought they new everything. All the new grads we've hired have been lacking experience, but seem very open minded and willing to learn. Many of them even seemed to have a much better understanding of "advanced" concepts like OOP, maintainability, etc than many of the older folks.
I'll bet I probably would dislike a know it all new grad as much as I would dislike a know it all gray hair. But I have just encountered many more gray hairs that think C++ is overrated, because you can just do everything in C and it's faster because of all the kludgey C tricks (i.e. premature optimizations) that modern compilers should be doing anyway.
Management might be a less valuable skill than engineering. As long as nobody has a problem sometimes paying managers less than they people they manage, then there is no problem.
As a software engineer with 10 years experience, I'd rather deal with a new grad with lofty ideas about how to do software engineering than some gray hair with 40 years experience who thinks everything new is stupid.
You can teach people how to write better code. You can't teach a stubborn old self taught programmer with 40 years experience why it is better to have maintainable code than to save a few CPU cycles if he doesn't want to hear it.
Programmers of all ages think they know everything and have bad attitudes.
Also the S and the M from STEM (science and math) are technically liberal arts. So there should be some overlap.
When doing critical thinking for stuff like programming, there is few "proper" ways of solving an issue
1. there are a few "proper" ways of solving *some* problems.
2. Somebody had to discover/invent those proper ways of solving those problems.
3. This method of discovering ways to solve problems needs to be taught to people in addition to application of existing solutions.
This view of "programming" is very narrow. It's true that some programmers can only do mundane jobs, but equating all programmers to this level is like equating construction workers with architects and structural engineers because the all make buildings.
There is no proper way of discovering the proper way to solve a problem. If there were, then you could just write one computer program that properly solves all the other computer problems.
I actually learned more philosophy in computer science classes than I did in philosophy classes. Philosophy is actually very important, but I find that in many philosophy classes (especially 100 series ones) are filled with students who don't give a shit, and the standards and expectations are appropriately lowered. Nobody takes automata theory/theory of computation or artificial intelligence as a general education elective.
The first week of AI class we had to read a paper by Alan Turing and write an essay on whether we thought machines could ever "think" and why or why not, and then write another paper at the end of the quarter on whether we had changed our minds and why or why not. The final "lecture" was a group discussion on the subject.
I'm not saying I would have learned less philosophy than if I had majored in philosophy (I'm sure I would have learned more), but there aren't the softball general ed classes in a computer science program (at least where I went to school). We had weeder courses to get rid of everyone who didn't belong, followed by challenging classes.
But if you earned one liberal arts degree, you could authoritatively generalize all or most other liberal arts degrees?
CO2 may not be "clean" but its not as bad as the boogie men are making it out be. the fact is CO2 is a vital part of the circle of life.
CO2 is obviously vital to the environment. That doesn't mean too much in the wrong place can't be harmful. Vitamin C is vital to the human body, that doesn't mean every level of Vitamin C in the human body is safe.
Ok, good for you, and when poor people cant buy food because it has to pass 100 regulations before it hits the shelf what about them?
And you can still buy a burger at in and out for $1.40, how can that be?
people have made it thousands of years without the government telling people what they can and cant eat.
People have gone thousands of years without antibiotics and anesthesia too.
Maybe people should have the choice to eat uninspected and unregulated food. But you should at least acknowledge the risks. Simply saying "People have made it thousands of years..." ignores all the people who have become sick and/or died from food-borne illness. Yes it is true that the human race hasn't gone extinct. That doesn't mean our lives can't be improved by properly inspecting food.
Next you are going to tell us that every building with a drive up ATM should have braile on it as well for all those blind drivers out there because.. the law! A little common sense goes along way, regulations leave little room for common sense. If the ramp is 1 degree off, is it stopping people from using it? If no WHO THE FUCK CARES???
So because some regulations are bad, it means all of them are bad? Are you arguing against cutoffs? What if a ramp is 2 degrees off. What if it's 3 degrees off? What if it's 90 degrees off? Make any cutoff point you want, and I can make a ramp 1 degree higher and complain that you are an asshole.
Without strict enforcement, you get things like speeding where everyone is going 5 - 20 MPH over the limit, and cops just arrest whoever they feel like because everyone is a criminal and they can use discretion. Maybe the speed limits need to be changed, but that doesn't mean you should be able to go a little over it regardless of what it is.
It is because of government help that telecoms were able to create this massive infrastructure that require large areas of land. For the same reason that it is impractical to have many different sets of cables going to every house, it is really difficult for telecoms to get that first set of cables to every house without government help (i.e. eminent domain, government gifts, etc)
Lots of people have parents living in perpetual pain that are not allowed, by the government, to have a doctor or relative end their suffering.
Parents are people too. You can just say "Lots of people are living in perpetual pain".
Doctors nowadays just intentionally OD patients on painkillers to euthanize them (if that's what they want). It's not hard to find doctors willing to give you enough painkillers to fully alleviate your pain (even if that amount is a lethal dose).
Having every ISP run it's own lines to everyone's house is only one (terrible) way to have market competition among ISPs.
Fedex and UPS compete, but they don't have their own roads. They just use public roads. It is not anti-libertarian to have competition among the private sector that rely on public infrastructure.
The particular brand of libertarianism you are depicting is basically just anarchy. Furthermore, why would you even need a "verbal contract", if there is no government to enforce contract law.
I realize there are lots of idiots out there claiming to be libertarians, but I would like to point out that the term "libertarian" is very broad (and unfortunately getting broader). Until there is a better label for the libertarians that aren't retarded, I would prefer to just call out "libertarians" who are actually anarchists, and "libertarians" who are actually just hypocrites, because they only support freedoms for themselves and their friends but not those of other groups (e.g. libertarians against gay marriage, drug legalization, prostitution, etc).
Tor is an overlay network. It runs over the internet. All of your traffic (even if it's encrypted) is still being sent over the internet.
Encryption hides the content
Tor (attempts) to hide the endpoints of the communication (i.e. who/what you are communicating with).
What is not hidden is the fact that you are using Tor.
Comcast provides internet to homes. They know who their customers are. That's why it is easy to ban users caught using tor. If you go to a starbucks, and use tor on wifi, even if the starbucks is being supplied by comcast, all they can do is ban starbucks from using the internet, and this doesn't stop that same person from just going to a different starbucks to use tor again. If they know who you are cutting off the internet to your house is pretty damn easy. Don't like it? Go to starbucks.
Lying implies deception (intentional misinformation). It's not deception if the misinformation is not intentional (e.g. due to incompetence).
If the difference is price, then that's a quantitative rather than a qualitative difference. The phrase "comparing apples and oranges" is meant to illustrate a qualitative difference. So this is more like comparing big apples and small apples.
It is about choice. In my opinion, it is different because such a device would not be carried by choice nor would it have data that you voluntarily placed on it. A cell phone or other computer you carry by choice. Data you put on your cell phone (pictures, email, GPS tracks, etc.), you put on by choice. With a pacemaker (or other medically necessary device), you really don't have a choice to have with you (unless you choose to die). Operational data that such a medical device might gather, you don't have any practical control over.
Why does it even matter? If there is significant evidence that you have committed a crime, and a court issues a warrant to search your electronic devices, why should the person who has a pacemaker be granted extra privileges than a person with a cell phone? I will concede that the person with the cell phone may have had more of a choice in deciding to own/possess their device, but so what? Why is that important?
Furthermore, I don't see why people would not have the freedom to choose pacemakers that were not able to incriminate them (i.e. ones that do not record histories, but rather simply use current sensor data, or encrypt any historical data so it is only accessible to people with the cryptographic key).
While fingerprints or left behind DNA can indicate that you were somewhere, they don't on their own give a history of the places you have been. You can't take a fingerprint or DNA sample from a person and get a history of all the places they have been. With an embedded device that keeps location history, you could theoretically extract the history of the locations you have been (without having to go to those places to collect evidence).
Which is why you shouldn't be able to access this information without a warrant (i.e. significant evidence that a person has committed a crime). I really don't see why it makes a difference if the information gives a complete or partial picture of historical events. Would it be ok to search the futurisitic pacemaker if it only recorded GPS locations to a precision of 100 miles? (i.e. obscuring the complete picture and forcing police to collect additional evidence)?
Why does it matter if the device is physically inside you or necessary to live? Why is a futuristic pacemaker any different than a cell phone? I would argue that a modern cell phone is more a part of a person than this hypothetical futuristic pacemaker, despite being outside the body. The cell phone in addition to storing location information also has all your emails, text conversations, search histories, voicemails, facebook stuff, etc.
Would forcefully extracting information from such a device be any different than compelling a person to testify against their will?
Should fingerprinting someone or taking a DNA sample be considered forcing that person's body to betray them and therefore be considered compelling them to testify against themselves?
The cyborg examples really don't add any new dimensions to this debate.
You need a warrant to search external electronics that belong to people. You should also need a warrant to search internal electronics that belong to people. There is no new legal questions created by putting electronics inside people rather than simply keeping them detached.
You can't just shove your iphone up your ass claim to be a cyborg to evade a search warrant. By the same token, the police can't use the fact that your iphone is up your ass to call you a cyborg and search it without getting a warrant.
At all of the software companies I've ever worked for, and most of the ones my friends have worked at, knowing big O notation is *completely* useless.
You need to know about things like time and space complexity when selecting appropriate data structures. For people who don't know what their doing, an array works just as good as a linked list (until it doesn't), and someone who understands time complexity needs to figure out why the code is slow and fix it.
Some plain old coders know the basics of computer science, but there are a lot that don't. There are even people with CS degrees that don't know the basics of CS theory. So no, not ever programmer needs to know about the halting problem and finite state machines, but you need to at least know the basics to write code that doesn't completely suck.
I'm not saying you need a degree. I'm saying that a degree usually indicates at least a basic understanding of CS theory which I think is indeed very important. There is more to being a software developer than "Knowing how to code" (i.e. Writing code with correct syntax). And I have found that many if not most self taught coders (along with some CS degree holders) do not really have the skills necessary to write *good* code, due to lack of understanding about basic theory. And by good code I mean code that doesn't have to be rewritten at some later point by someone knowledgeable.
Some of them don't even have a person with a CS degree on the team. But those applications/websites aren't crashing and burning because they lack academic knowledge: they're (successfully) powering your life.
Most code sucks. The reason websites continue to work (sort of), is because they are all relying on good software written by people who *did* know what they were doing. And this code is usually so good that it helps people who are incompetent make something that kind of still works despite themselves (given enough time). Most of the time it is not even cheaper to hire incompetent people because it takes them so much longer to get things done even with all the great tools out there. It costs the same to pay someone $100/hr to finish something in 2 days than it is to pay someone minimum wage to finish it in 2 months.
And as far as people who know a lot of theory but don't know how to actually make anything... I don't think those people really exist. I too spent most of my time in college drawing boxes and arrows rather than coding, but even with a heavily theory based program I was exposed to 2 wuarters of C++, 1 quarter of assembly, 1 quarter of Java, 1 quarter of networking (udp/tcp), 1 quarter of SQL, etc. Learning to code competently is relatively simple. I'm not saying that theory is very hard, but if it were easy, then everyone would do it (without school). There are many of coders for every person who knows theory. And even new grads pick up coding in a few months if they don't already know how to code pretty well at the time they graduate.
Of course a construction worker who actually knows what he is doing is more valuable than some kid with an architecture degree who has no idea how to do his own job.
That's true until your building falls down because the construction worker/self-taught architect didn't know the fancy theories behind calculating loads and stresses, and only knew how to attach metal piece together.
This is like saying that most buildings don't require architects. This is true if you don't care if the final result sucks. When software fails it's usually just inconvenient. When a building fails, people usually die. We typically care more about building quality than software quality. If you don't care about software quality than hire a self taught coder. If you don't care about your building being safe, then hire a construction worker to design it.
That's close, but roller coasters don't fly. They still rely on a connected physical track for support. I want a flying train that rides on a virtual track. I want the immense complexity of precision flight combined with the harshly inconvenient restrictions of railway travel.
I want something that can fly but still be limited to a one dimensional track such that only forward and reverse are the only directions allowed. This way I can know that my kids are not deviating from the route to and from school, but still be in the air.
Why would rich countries vote against free solutions? Doesn't saving money make you even more rich? Why doesn't everybody use open source software? Who doesn't love superior products free of charge?