Thank you! Snowden's information release impacted far more than the use of a few specific cryptography tools. It pointed out a vast information gathering system that people can now take pains to avoid. I sincerely doubt we can measure that avoidance, but even this attempt is a ridiculously small proxy to the overall question of whether the leak "helped" terrorists.
I agree with the parent (@HornWumpus -- good name), but I'd like to elaborate.
First, I agree that "There have always been a subset of CS students that didn't get anywhere close to the metal. They suck.", and I agree that "C isn't good enough." No language is good enough by itself. If you haven't played with Functional, Procedural, Object-Oriented, and hardware-level (Assembler) languages by the time you've graduated, you've missed something.
You can figure it out no matter what they teach you, you just have to be inquisitive and ask good questions. You should take compiler, operating systems, and a numeric computing class which will each teach you about overflow and precision and memory allocation, in different ways, regardless of programming language used. You should have a basic understanding of how to do everything from scratch, with bare hardware, short of soldering the chip to a board (unless that's your thing, then go learn that too).
But then you should also learn that many "higher" languages make this easier... they have garbage collection built-in and you should learn why and when that's a good thing and why and when it's a bad thing. Java is good for some things, bad for others. If you go through a CS degree and all that you come out with is knowing one language, get your money back. Ask "why" early and often.
You should learn concepts and hands-on. You should learn the ideas so that, when a new language comes up next year, you can understand the literature about the pros and cons. But you should also be able to sit down with a couple of languages and pound out some simple algorithms and I/O with no references.
I liked my CS degree, but there were things missing. I had to learn network programming (TCP/IP, etc.) on my own. We didn't do embedded systems, so I didn't have much experience with small hardware and the nuances that come with them. But the advice I'd give is to avoid too many classes that are "just" programming, and focus on the fundamentals. Use as many languages as possible. Take Artificial Intelligence, Compiler design, Operating systems, data structures, numerical computing. Take a comparative languages class if one is offered. Take a database class. And take these all realizing that they're teaching you exactly the same thing -- how to solve problems using computers.
It's all ones and zeroes in the end. Once you've mastered pushing them around for one thing, you should be able to push them around for another, it just takes practice. Practice as many things as possible.
Actually, if you guessed that a randomly selected set of youtube videos were being played, you know... FORWARD, you'd probably be correct more than 80% of the time without having to actually think at all. I assume their 80% result was based on something more difficult, but it's still kind of a silly sounding number without context.
I did it. I loved BF3, but I didn't pick up 4 and I won't be picking up Hardline because of EA. In addition to everything the original article mentions, most of which I agree with, one thing not mentioned in the original article is the pay-to-have-everything (which is not "Pay-to-win" only in a very strict sense, but that doesn't make it right).
I don't mind these companies making money, but they do it at the expense of loyal customers, rather than in support of them... I don't think it's a good long-term practice, but that's just me. But it's definitely not nobody.
If I'm paying my ISP for a specific amount of bandwidth, then that's the bandwidth I should get -- if I get less bandwidth than I paid for going to any site, due to my ISP, then I'm not getting what I paid for from them, period. There is price difference -- cheap low bandwidth, expensive high bandwidth, and some variety in between (and probably price/speed inversion in some markets where low bandwidth is expensive, but whatever). The problem is when I pay top dollar for Filet Mignon, but I get flank steak. If the restaurant doesn't give me what I paid for then I have been defrauded. I don't care WHY they were out of filet... if they were trying to negotiate price with the cattle company, or get a kick back from them, that's not my problem... they advertised the Filet and they charged me for the Filet.
The price I pay to my ISP should support the delivery mechanism to give me the bandwidth I paid for, however I want to use it; that's why it's advertised and priced in terms of bandwidth. If they charged me per website it may be different (although I'd object for other reasons), but they don't. If they can't handle the bandwidth then they're not giving me what I paid for. Free markets don't let people charge for one thing and deliver another.
That's the deposit box. The lock-box under your bed is going to be tough even for the feds.
Write down everything in paper, then lock it away in a fireproof box or a safety deposit box (or both).
I'm a fan of the phrase "we know how to secure a piece of paper". Not the sticky note taped to your desk that anyone can read and put back without your knowledge, but something really secure. You will know if your lock box has been stolen or broken in to; I would have no idea if someone broke into my e-mail or stole a file off of my computer or backup due to some weird exploit. If you want off-site safety, a deposit box is about as good as it gets with some assurance that no-one will go peeking. Let your close relatives and friends know where everything is so that when it is needed they can get to it, but they don't need access in the mean time if you have things you don't want them to know (or, you can give a copy of the key to someone if you want to... you have options, but you're still relatively safe in who accesses what).
I don't see how 3D gets permanent "gimmick" status while 4k doesn't... there are times when seeing things in 3D give you a completely different perspective, feel, immersion, and experience than something not in 3D. There are times when higher resolution does the same. And there are times when both actually seem to make things worse. Curved TVs as well... I run three monitors on my desktop and I'd be ecstatic if I could get the same resolution in a single curved display. If it weren't curved, though, then I'd have to sit farther away to see the edges properly and that distance is beyond the "retina" distance for my monitor's resolution, so I'm kind of wasting pixels.
Much of the math is different between TVs and monitors and, yes, much of what is gimmicky in one situation is definitely not in another.
Of course we should fix that. I pointed out a few ways that may be effective, and there are many more. One way that is NOT effective is grouping people who aren't part of the problem in with people who are and then verbally abusing the whole group. It's unconstructive and, as this large thread shows, it has a lot of collateral damage to people who don't deserve it.
It's a venn-diagram, it's not that hard. Some nerds are misogynists, some aren't, and some (likely most) misogynists aren't nerds (the same goes for pretty much any group). Focusing on geek culture to solve misogyny because one obviously messed up kid was a geek is wrong headed. Some individual issues fall clearly into geek culture -- women in video games as an example -- but we can address those without equating the whole gaming population with a deranged mass murderer.
"I don't know about you, but there's nothing wrong with me." Precisely. When the poster says "What the f*$# is wrong with us?", and at the same time uses "We" as if to group us all in together, the author is missing the point entirely. "We" are not all guilty of being misogynistic idiots. I'm open to a solid discussion of what "We" meaning all of us in the culture, community, country, or world can do about it, but don't lay this at the feet of "standard frustrated angry geeky guys".
This is like saying that video games cause violence... being a nerd doesn't make us misogynists nor mass murderers. There may be something wrong with you, there may be something wrong with lots of people, and you can bucket those people in lots of ways, but stereotyping any group (nerd, geek, woman, gay, etc. etc.) isn't helping.
Teach tolerance, patience, kindness, and practice those yourself. If you want to lobby for better mental health facilities, I'm right behind you. If you see abuse or stereotyping of any kind online and you want to call people out on it, please do. Start a hashtag, that seems to draw good attention to the topic, although there's a lot of talk about that being too much talking and too little doing. I personally think every bit helps. If you think there's a law that needs to be changed or something doable, speak up and I'm glad to listen and add ideas to craft it.
But don't rant about a problem, and group me in it because I have something (being a geek) loosely in common with someone who went completely batshit as if that makes us (geeks) more culpable than any other group while offering nothing constructive. Even if you have a correlation between misogyny and a cultural group like geeks, you better be damn sure that it's causal rather than just coincidental before accusing the culture, and given high incidents of rape culture in many male-dominated areas, it's very likely that it is NOT causal; at least not to an obvious and naive degree. And, by the way, not all males are misogynists either. It's difficult to not lump everyone in and accuse large groups, but it's important to put blame where it belongs. For the record, Chu's full article is much better than this
"We" are not all the problem. You may be part of it, I don't know. Everyone has to be part of the solution. Some of us are trying to be without vilifying and pushing away those that are less aware.
Agreed. If there WERE fully autonomous vehicles (like computer controlled trams in airports are now), it shouldn't matter who drives them. If we get to the point where we trust automobiles to be completely devoid of manual control and override then what difference does it make who's inside?
Until then, no... as long as there are controls or overrides that someone can cause dangerous scenarios then you should have a license. Maybe we can have a different conversation about an "emergency stop" or changing destinations or minor route corrections, but the way the cars are built now allow for pretty complete driving responsibilities, and they should require similar of not identical rules for the drivers.
Ah, good, someone pointed this out already. Of course... you got down-modded because you gave like ZERO useful information, so here's some elaboration:
Sony upgraded the PS3 software and removed the capability to dual-boot into Linux (the "OtherOS" feature). There was a class action lawsuit that was dismissed apparently because the plaintiffs didn't do a good job showing actual damage.
I remember some good analysis of the issue at the time. One analysis concluded that the PS3 owners had the right to reject the upgrade, and that the system itself could function as normal, but the ongoing use of the Sony servers represented a "continuing relationship" whereby the company did have the right to change the agreement and the users could either accept the changes or stop using the service entirely. The "service" was free, or paid monthly, and differentiated from the "hardware" which performed precisely as it was sold _if you didn't upgrade the firmware_.
Of course this varied from country to country, but I know of no country where Sony was held liable (someone should correct me -- I could easily have missed one).
I'm sure there was more nuance, but I'm paraphrasing something I read long ago. Anyway, the same logic may or may not apply here... did the LG TV advertise these features? Could the streaming "features" be considered a subscription based service, rather than tied to the hardware advertising? LG can argue that every online service faces some time-dependant obsolescence and change; they may end up being in the clear.
Given this article mere moments ago on
Article has many good valid points, though, but that point irked me.
While I agree with parent in the case you actually are interested in newt farming, I actually code mostly just for the fun of coding, and focus on the type of code rather than the end product. To give an alternate approach, then, depending on what type of code you like there's probably a hackathon or a set of "challenges" or some competition that can provide motivation if you just want random problems to solve. I'm mostly an algorithms guy, so I do a lot in Kaggle, and Project Euler. Project Euler for example has hundreds of problems that more or less increase in difficulty, making it relatively easy to find something that will increase your skill, and the Kaggle forums are full of code examples from past projects to help you get on your way.
If you're interested in graphics or UI programming these examples may be less help, but I'm sure there are similar things out there. The results of hackathons are great places to start because the code is generally written by competent programmers but they have no time to do clean up nor to build the spaghetti that years of updates often brings... bug fixes and hacks are common, so the code needs some TLC, but it typically has very few hands in it and so has some good consistency. iosDevCamp (from a quick google search), has links to github code for some of its results.
I disagree that it's "usually due more to corruption than anything else". I consider the problem one of accountability and politics (but not the corrupt type)... in the short term politicians are glad to have their names associated with grand projects -- building a new city-wide WiFi would be a boon, just as a new bridge, new bike paths, and other projects are. But long-term maintenance may get whittled away when the economy tanks, or due to other high priority budget concerns. As long as the politician can avoid disaster during their tenure there's no real incentive to provide adequate budget to these projects, and in fact there's a large disincentive as voters quite often push back against budget increases that aren't for their pet projects. The result is that politicians who can keep taxes low are re-elected but infrastructure budgets are stretched thin. None of that is necessarily corrupt, it's just short-sighted. Most cities "need" to replace their plumbing infrastructure, repair and replace roads and sidewalks, shore up levies, and at some point they'll need to upgrade internet infrastructure.
Here's some interesting reading on the topic that has specific examples across infrastructures (not a plug, I don't know these people): http://www.asce.org/failuretoact/
Consider the Comcast/Netflix issue... Comcast argued that other entities weren't upgrading their high-bandwidth lanes quickly enough for capacity to justify charging content providers extra money. How would that argument look if the entities were governments? Could you convince a municipality to spend money on a high-speed backbone when everyone appears to have working internet but experts see bottlenecks in the future, but when that budget must be split between roads and sewers and buses and...? Now that could become a corruption issue if, for example, an outgoing politician sees that an opponent from another party is going to win the next term; could they stack the budget to ensure a problem during their opponents term? Absolutely. But that isn't required for there to be problems.