My '89 Ford Escort was a lemon. I was the last American car I'll ever buy. In any case, from memory I was able to remove the key with the engine running. One of the many mechanical engineering defects with this vehicle. It was a horrible product.
I see they mentioned User Dictionary right in the article. I consider User Dictionary to be malware.
I have to lock my version of Google+ to the factory version or else User Dictionary gets stuck in such a tight crash-restart loop that it only yields to the GUI for a split second before presenting the crash dialog. It eats all battery capacity in a few hours while the phone is sitting completely idle.
I have no idea what uses User Dictionary, but you certainly cannot disable it. Also, technically speaking, I don't know whether this is a bug in User Dictionary or Google+ but it should be my choice to chuck a useless, possibly not buggy app in favor of the incredibly useful app I happen to use to backup my photos which may or may not have a bug of its own.
No word from Google on the bug/interaction. I've posted about it, Tweeted about it, and my review of Google+ mentions the issue. I don't know what other forums might be of use, but I don't want to waste any more time on it.
P.S. I plan on using my smartphone for 5-6 years, so throwing away my hardware is not an option. I think people who get new smartphones every 2 years are fools (whether you pay for your phone in cash up front or pay via a jacked up phone bill every month you're still paying for something you don't need). My 3-year-old model still works great, aside from software bugs.
People who are the most concerned about nuclear energy understand these facts:
1) High-level radioactive waste is deadly to touch, hold, carry, etc., for hundreds of thousands of years. You can pick up a piece of this waste, hold on to it for a while, and be dead in a few days. Perhaps you picked it up, studied it for a while, and dropped it in the space of 15 minutes because it was sitting a pile of rocks.
2) Homo sapiens, our species, is believed to be between 100,000 and 200,000 years old.
3) We've only had writing for about 5,000 years, and in certain countries in sub-Saharan Africa only about half the population is literate in ANY language. Before the modern era, it's thought that no more than 40% of the world population was literate.
4) As we all know, the most advanced civilizations decline and are sometimes replaced by primitive civilizations. Among many other causes, formerly fertile land can become arid. Formerly great civilizations in Central America are now jungle with isolated tribes. Formerly fertile Northern Africa is a now great desert habited by nomadic people and not much else.
5) The world is ignorant about geology. We have no idea how to do fracking safely, even though it could probably done safely. The reason is we don't have enough understanding about how the ground beneath our feet works.
Nuclear energy, in its present form, produces a waste product that will outlive our species. We all hope that Homo sapiens will evolve into a better species, but there is no guarantee of that. Perhaps there will be a Homo successor that is more primitive. We can guess what that species will be like, but we're just guessing. It is of paramount importance that we are able to communicate with that successor species. Then we need to find a place to put the waste on Earth that is geologically sound, yet we can't even drill for oil safely without causing earthquakes. Good luck with that.
The inevitable will happen and the waste will somehow surface. Let's say that there is ample signage. How good are you at Sumerian cuneiform? I'm not so good at it, either. In fact, I don't even know a single symbol. At one time cuneiform was the premier go-to language, the English of its day, and it is only about 5,000 years old, give or take a few thousand years. If radioactive waste was labelled in cuneiform, I'd have to retain a scholar to understand the risk of the material. Can you even imagine how dissimilar a language 500,000 years from now will be from English? That's 100 times as long as the whole history of writing.
We're kidding ourselves by thinking this energy is clean. What we are doing, actually, is poisoning the land for hundreds of thousands of years. The built-in assumption exists that we'll be so advanced techologically speaking by then that future residents of Earth will have no problem dealing with any of it. In fact, I believe that the oppposite is true. We can't depend upon steady progress. Progress has always been in fits and starts, with intense periods of decline, and at times entire civilizations have dropped off the face of the Earth.
Autonomous vehicles will have terribly expensive tire, rim, and suspension repair work in my state every year. Michigan has the worst roads in the nation, and avoiding potholes and subsequent vehicle damage requires illegal driving behavior. Examples that I can think of off hand include driving the wrong way on a two-lane road over a double yellow line, driving halfway in one lane and halfway in another lane, deliberately crossing onto paved shoulders, high-speed swerving maneuvers, and other behaviors that autonomous vehicles will probably not be programmed to do. Expect to pay $1,000-$2,000 per year for your autonomous vehicle, at least if you own one here.
Worse than money, though, is bad accidents. Potholes in Michigan cost the average person about $500/year with defensive driving, but potholes were so bad one year on a road I drove every day that they caused a wheel to fall off. Only because I had just turned off onto a less-used road was I able to stop safely.
I'd be quite upset if my autonomous vehicle was trying to be legal, and as a result caused a total and possibly risked my life.
f*ckedcompany.com did this already, many years ago.
The forums lived on for a long time, and were a constant source of entertainment, but the entire site finally died in 2007.
AA batteries are $1 for a four pack at the dollar store. That's 25 cents per battery. Admittedly, these batteries are low end. If you use one of their coupons, Harbor Freight sells their private label AA batteries for about 25 cents when you buy 24.
Let's say that I'm using a 4 AA cell device, my old camping lantern. It has one dollar worth of batteries and $10 worth of these devices. The lantern itself isn't even worth $10. Seems like an awful lot to spend to me, because the $10 investment becomes a permanent part of the lantern. You don't swap it around. For each device you need 2, 4, 6, or 8 of these things.
More logical than buying this product would be using rechargeable batteries, but for me even that is a tough sell because I recycle alkaline batteries.
Being familiar with GEOS for the Commodore 64 from years earlier, Windows 3.0 was a primitive joke.
You could reproducibly crash the systems I used just be clicking around too quickly.
I'm firmly in the yes camp.
Since I began programming in 1985, I've encountered dozens of languages. The popularity of every language waxes and wanes, and occasionally it will wax and wane a second time (perhaps like Java is doing today). Programming languages never completely disappear, but the trend in usefulness of languages is on the rise due to more sophisticated toolkits.
Knowing these facts, it's never a bad thing to learn a new programming language. Since languages never completely disappear, you never know when your knowledge of that language may come in handy. I occasionally get job offers to work on languages and APIs that I haven't touched in 15 or 20 years. Software can have an even longer life. We still use software that's 50 years old (via ATM networks that connect to bank mainframes, for example). I once used a bank API that had a ridiculously complicated link like including -lcobol. It is possible that I was linking in code on that Linux system that was older than me.
If you're looking to learn a little-known programming language, lean towards a newer language. As I said, newer languages can do more, and do so more compactly.
Finally, think of the big picture. As a programmer, you do programming. The language is your tool. What your job really is is creating and manipulating mathematical expressions. I know that sounds super boring but that's what programming languages are, a way to make dealing with math a bit easier. The more ways you learn to deal with this math, the better programmer you will become. Think of repairing a car. The best mechanic in town might work at a Mercedes dealership, but if you put him in a GM dealership he would probably become their best mechanic after a short time. The job is not the tools.
ASUS will outlive Acer, but does it really matter?
Unless you're a gamer, you're wasting your money buying a desktop (whatever form factor). Before long reasonably priced laptops will run games well, too, and the desktop PC will be effectively dead. I've been building/maintaining towers since 1991, and I said goodbye to all but one machine this month. I don't know why I kept it. I turn it on once a month.
Maybe you want a desktop for storage. Laptops are shipping with more than 1 TB of storage, and you can replace a desktop with one or two USB 3.0 enclosures with 4 TB (or larger) 7200 RPM drives for a few hundred bucks.
Eventually laptops will be dead, too. A more interesting question might be who will be the last laptop vendor and when will nearly all people finish the switch to tablets, phones, watches, or perhaps nearly invisible computing.
Once your net worth is sufficient such that you don't have to earn a salary anymore, you want to switch the majority of your earnings to income from investments.
Investment income is taxed at the capital gains rate, whereas regular income is taxed at the much higher income tax rate.
This is the simplest explanation you can read, but it's one reason why the rich keep getting richer. We've set up a welfare state for them.
Fused Location is absurd. I have an unrooted phone that was upgraded to, but did not come with, Android 4.3.
Using the program CPU Memory Monitor, Fused Location right now is at 48 CPU minutes. Google+ is legitimately at 59 CPU minutes because it's backing up a bunch of photos and videos I took last night. The next highest process is at 5 CPU minutes. Except for this unusual workload, Fused Location almost always consumes many times the amount of CPU time as the next process.
I think Google has great ideas but their programmers are not very good at testing: Too much theory, not enough practice.
To my knowledge there will never be an update for my phone, a non-LTE Samsung Galaxy S III. Even with the massive battery drain of Fused Location, the phone works great. It would be an amazing device if Fused Location was fixed, or if there was some way I could disable it. Rooting my primary communications device is not something that I would do, but your comment seems to indicate that wouldn't do any good.
Yale professors' ideas of being knowledgeable in a subject come from their experience lecturing students.
I've been getting paid to do programming for almost 30 years. Google has changed programming such that you no longer have to memorize the useless trivia that college professors lecture about.
As a result I can focus on improving my ability to program as a generalist, and I'm very good at what I do. If you asked me to write a bit of non-trivial code in anything but pseudo-code, I would very likely not get the syntax exactly right (unless you asked me to write it in C, which I learned before the days of Google).
Google allows us to not be smart at things that are a waste of our time to learn in the first place. We can have a much more broad knowledge of many subjects and use Google to drill down on specifics, rather than having the type of knowledge that professors crave, being completely pigeon-holed into one speciality where you have all of the trivial detail memorized.
Can I rattle off every type of tree structure, and tell you what tree is good for what problem? No. In the days of Google, that type of knowledge is useless. You ought to know when you need to use a tree structure of some sort and you can spend an hour or two making that determination, or if the decision is critical you can spend a day on it. Effectively, those weeks or months we spent in computer science/computer engineering classes learning all of these very specific attributes of data structures were a waste.
To generalize, consider everything you can easily find with Google to be part of your knowledge. Memorizing it would be a complete waste of time. But that very waste of time seems to be what these professors were measuring (and valuing!)
I'm a fan of both libressl and this project. Now we will have two dedicated groups working on improving the security of SSL. There will no doubt be sharing of findings, and both products will improve as a result.
SSLeay and OpenSSL have been neglected for too long. It's boring to work on this software, but that doesn't mean the work is not important.
There is no substitute for meeting in person. We've evolved over millions of years to meet with each other in person. Every distributed meeting I've ever attended has had yelling, mumbling, and misheard things caused by technological failures.
If you're sketching out your next year's worth of work, spend the money and get together for it.
If you're just talking about a couple of minor issues, then by all means use a distributed whiteboard.
I've been programming for about 30 years and it took me at least 20 years to learn how to make good estimates. If you can't estimate how long something is going to take, then you probably haven't been doing it long enough. I don't care what your field is, or even if it's engineering or not.
Programming is just like any engineering endeavor. Be a professional and admit that not every job is a weekend hack. If you work somewhere where you have to lie about work taking less time than it takes, then quit that job and go work somewhere else.
One difference between a so-so programmer and a great programmer is someone who finishes his or her work when he or she says he or she will. There are other differences, such as communication skills or lack thereof, but having people be able to trust you is pretty key.
Another way of looking at is this. Programming cannot be rushed. That doesn't mean tell people it will be done when it's done! What it does mean is learn to estimate the worst case scenario. You will not be punished for writing a great piece of software and finishing it a few weeks early. You will be punished for saying it will be finished by a date assuming that nothing will go wrong at all and that you are some kind of programming genius, better than every other programmer out there.
Consider this example. I think I might be able to finish something in a week. The estimate I give is two weeks. Another programmer typically says a job of roughly the same magnitude will be done "in a few days." I have given myself plenty of time to do the job right, and extra time to fix bugs and possibly deliver the project early. The other programmer screwed up and it does take him a week. After a week, his work has tons of bugs. It goes out to production and every one of those bugs is embarassing and takes man days to resolve, rather than a few man hours. I've seen this scenario happen many times. Programmers fall into this trap of their own making. Maybe it has something to do with machismo. Stop pretending to be more manly or smarter than you are and be a professional.