Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×

Comment Re:COST (Score 4, Insightful) 544

It's about cost really. It's cheaper to manufacture phones without a physical keyboard. Less parts = higher margin for the phone vendor. It's the same reason they are wanting gesture control in cars. Less buttons = cheaper product. Welcome to the future where usability is secondary to how much money can be made and the vendors can convince users that's really what they want in the first place.

The cost calculation extends beyond manufacturing. I imagine the switch to virtual input devices also allow more reliability as there are fewer moving/separate parts. In addition, the touch/gesture interface can be re-programmed, updated and "enhanced" (said in quotes as I personally find that most enhancements are not) more readily than fixed physical interfaces.

Comment Going to miss my Droid 4's keyboard (Score 1) 544

I get the reason why manufacturers aren't producing slide out keyboards. Internationalization, easier to break, etc. That doesn't mean I like what's happening.

I'd like to see a flip phone that doubles as a wi-fi hotspot and then I'll just use a tablet for the things I wanted the "smart" part of the smartphone to do. (And it will look a lot less stupid than talking on a phablet that barely fits in anyone's hands who isn't 7 feet tall.)

Comment Re:Laziness (Score 1) 150

You don't have to understand everything, but you do need to at least understand the basics, like how networking works, how crypto works, etc. at a conceptual level. I feel like too many developers learn how to program by learning JavaScript and other scripting languages on their own, then jump into app programming thinking that it's only one step harder because you can sort of do it in Python/Ruby/other Obj-C bridged languages/other .NET languages, or because Swift looks like JavaScript, or whatever their logic might be. Unfortunately, it's not one step harder if you care about doing it right; it's a hundred steps harder, but the apparent accessibility of app programming tries to hide that fact, resulting in a lot of people getting in way over their heads.

Too many developers then balk when we tell them that they need to read conceptual books, insisting that they just want to learn how to solve their particular problem. The result is that they understand just enough of what they're doing to be dangerous. It's like deciding to build a house and telling someone, "I just want to know how to cut a board and hammer in a nail." You're likely to get a very strange looking house with no right angles. You really need to start with higher-level design and philosophy texts, then work your way down to the practical texts. That's equally true in programming, but the short-attention-span instant-gratification crowd just doesn't get that.

And I understand the desire to just learn how to solve the problem. I've been there, and I've done that, but only in areas where I was reasonably comfortable. Even then, I've often later discovered that snippets that looked right weren't quite right in certain edge cases, but at least this happens fairly infrequently, because I've taken the time to learn what I'm doing. Developers who don't do this aren't just hurting themselves; they're hurting their users. There's just no reason for that.

Comment Re:Laziness (Score 5, Informative) 150

Code recycling is one thing, but not understanding what that code does when you put it into a production app or not following best practices is another. As Android gains popularity as a platform to develop for, we're going to lose quality as the new folks jumping onto the band wagon don't care how their apps work or look beyond the end goal. This mentality is already popping up with Android Wear developers who cram as much information as they can on the screen and claim that design guidelines are "just recommendations."

The exact same thing happens on every other platform, though perhaps to varying degrees. I refer to it as the Stack Overflow effect. One developer who doesn't know the right way to do something posts a question. Then, a developer who also doesn't know the right way to do it posts how he or she did it. Then ten thousand developers who don't know the right way to do it copy the code without understanding what it does or why it's the wrong way to do it. By the time somebody notices it, signs up for the site, builds up enough reputation points to point out the serious flaw in the code, and actually gets a correction, those developers have moved on, and the bad code is in shipping apps. Those developers, of course, think that they've found the answer, so there's no reason for them to ever revisit the page in question, thus ensuring that the flaw never gets fixed.

Case in point, there's a scary big number of posts from people telling developers how to turn off SSL chain validation so that they can use self-signed certs, and a scary small number of posts reminding developers that they'd better not even think about shipping it without removing that code, and bordering on zero posts explaining how to replace the SSL chain validation with a proper check so that their app will actually be moderately secure with that self-signed cert even if it does ship. The result is that those ten thousand developers end up (statistically) finding the wrong way far more often than the right way.

Of course, it's not entirely fair to blame this problem solely on sites like Stack Overflow for limiting people's ability to comment on other people's answers unless they have a certain amount of reputation (a policy that is, IMO, dangerous as h***), and for treating everybody's upvotes and downvotes equally regardless of the reputation of the voter. A fair amount of blame has to be placed on the companies that create the technology itself. As I told one of my former coworkers, "The advantage of making it easier to write software is that more people write software. The disadvantage of making it easier to write software is that... more people write software." Ease of programming is a two-edged sword, and particularly when you're forced to run other people's software without any sort of actual code review, you'd like it to have been as hard as possible for the developer to write that software, to ensure that only people with a certain level of competence will even make the attempt—sort of a "You must be this tall to ride the ride" bar.

To put it another way, complying with or not complying with design guidelines are the least of app developers' problems. I'd be happy if all the developers just learned not to point the gun at other people's feet and pull the trigger without at least making sure it's not loaded, but for some reason, everybody seems to be hell-bent on removing the safeties that would confuse them in their attempts to do so. Some degree of opaqueness and some lack of documentation have historically been safety checks against complete idiots writing software. Yes, I'm wearing my UNIX curmudgeon hat when I say that, but you have to admit that the easier programming has become, the lower the average quality of code has seemed to be. I know correlation is not causation, but the only plausible alternative is that everyone is trying to make programming easier because the average developer is getting dumber and can't handle the hard stuff, which while possible, is even more cynical than the original assertion and makes me weep for the future.

Either way, there's something really, really wrong at a fundamental level with the way we search for solutions to coding problems. There needs to be an easy way to annotate the fact that a code snippet was derived from a particular forum post, and to automatically receive email notifications (or bug reports) whenever someone flags the snippet on the original forum as being wrong or dangerous. And we as developers need to take the time to learn enough about the OS and the programming environment to ensure that we at least mostly understand what a piece of code does before we ship it in a product.

Comment More on MA (Score 1) 160

That translated into martial arts is roughly the equivalent of a 4th DAN, but for that you need longer due to 'regulations regarding examinations', waiting periods between 2 examinations.

Depends on the martial art. The most modern practice recognizes natural talent while incorporating considerable traditional technique; I assure you, everyone does not walk into their first day of training on an equal basis -- I've been teaching for decades and I think I've seen about every level of beginner skill there is. Some people are simply gifted. Certainly from there on in we see the difference between the shows-up-once-a-week and the person who seems to be there every hour they can possibly manage.

Also, more on topic, I can definitely assure anyone who is curious that you're not doing high level thinking when executing advanced martial arts techniques.

All you really need to do to understand this is think about bike riding. When you learn, you learn, you think like crazy. Which does you very little good. But eventually, you internalize the process (that's what I call it, anyway) and you can do it while carrying on a conversation with someone else, paying almost no attention at all to the activity of riding the bike. Those near-instant balance corrections, the precise amount of handlebar control and lean for cornering, all of that comes from "underneath." Same thing for advanced MA.

That whole business about finding your calm center and holding it -- that's a real thing. If you start thinking under threat or pressure, your performance will drop like a stone. The best technique comes from a relaxed, centered condition, accepting of whatever comes.

Comment Re:Tried the AppStore help form... (Score 1) 165

I got the same error after a glitch. Turns out the redemption was successful the first time, but because the server was too slow responding to the redemption request, the App Store app timed out. For whatever bizarre reason, it appears that the app store server infrastructure doesn't treat redemption requests as idempotent (clearly a bug), so subsequent attempts to redeem the same code from the same account fail. Ideally, those subsequent attempts should do nothing, but should return whatever magic value tells the App Store app to update its list of purchased items and then do whatever other work it needs to do.

To make a long story short, if you quit the App Store app and relaunch it, the Yosemite beta should appear under the Purchases tab in the App Store. From there, you can start the download.

Slashdot Top Deals

For God's sake, stop researching for a while and begin to think!

Working...