Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Re:Fuck 'em (Score 1) 204

Polls show that most people think Snowden was a criminal

No they don't, they show that a majority of the people who have an opinion now think that what he did was wrong (earlier, the majority supported him). However, almost 30% of respondents had no opinion. Apathy is killing this country, no one gives a shit about their rights until they experience a very direct and negative impact on themselves personally. Even if people think the government is spying on them, almost a third don't give a shit until they have to deal with actual consequences.

Comment Re:Burying the lede (Score 1) 379

i have a skydrive account provided by my school i am at a loss though as to how microsoft would image my hd it being linux and skydrive only being aceesed via web page on vm

Was it really necessary for him to specify the Skydrive Client application, or did you just want to mention that you run Linux? Regardless, seeing how you're a student, please direct yourself to the English department and ask them to teach you about capitalization and punctuation.

Comment Re:Burying the lede (Score 3, Insightful) 379

Targeting US citizens does require an individual warrant

Right, and how do they determine if the person is a US citizen or not? They have a program (Prism) to analyze various things they know about that person, and if the person is 51% or more likely to be foreign, then they tap them. So it's like a coin toss, plus 1%. This is according to James Clapper. From here:

The government knows that it regularly obtains Americans’ protected communications. The Washington Post reported that Prism is designed to produce at least 51 percent confidence in a target’s “foreignness” — as John Oliver of “The Daily Show” put it, “a coin flip plus 1 percent.” By turning a blind eye to the fact that 49-plus percent of the communications might be purely among Americans, the N.S.A. has intentionally acquired information it is not allowed to have, even under the terrifyingly broad auspices of the FISA Amendments Act.

Comment Re:That's just not a viable option. (Score 1) 407

Learn to use CSS.

How exactly do you think Javascript accomplishes the actual layout? Do you think the browser understands Javascript instructions for laying out elements, or would we instead use Javascript to... I don't know, dynamically change the element's CSS depending on the resolution and orientation? Or show/hide/position various elements depending on the same (by changing... wait for it... the CSS classes or properties). Or to get an element to completely fill the entire viewport, in all browsers, with no overflow. Pure CSS is fantastic when you can focus only on browsers that support what you're trying to do. To fill in the gaps, you use Javascript to help out.

There's a great example here of what I mean. Not only do many mobile browsers ignore the handheld media type, but some (including iOS Safari) use the non-standardized media queries instead. Go ahead and read through that article, notice at the end how they suggest using Javascript to fill in the gaps.

Comment Re:That's just not a viable option. (Score 1) 407

If you're using JavaScript for layout, you've already failed.

I'll overlook the revealing fact that you didn't bother to suggest an alternative, and just ask why is Javascript bad for layout? Assume, for the context of the question, that I have a base of several hundred thousand users across a range of government, commercial, and educational organizations who have been having their layouts calculated by Javascript for the last 5 years, including with IE6, without reporting layout problems.

Comment Re:Whatever (Score 1) 385

Anyone who does any real work are buying PC's or already have what they need.

I think that's the real point. People doing office work have PCs that are plenty powerful. A sub-$1000 machine can last for a lot longer these days then they used to. A machine with 2-4GB of RAM and a 2- or 4-core CPU is going to be able to run Office, Outlook, and a browser for years and years to come. I still upgrade at about the same frequency because I want the best for my games, but I'm an outlier. The major thing that geeks think should push new sales these days is probably SSD storage. After experiencing a setup with SSD I would never go back to a magnetic disk for my boot/application drive, that's the only component I would really want to replace in my office computers. Everything else is plenty fast for everything I need it for at work.

The days when a $1000 computer would only be able to run the latest Office applications for a few years before you start looking for an upgrade are over.

Comment Re:That's just not a viable option. (Score 1) 407

Here's what you don't realize

I'm glad you're so familiar with me.

If you know what you're doing (and it doesn't take much knowledge or skill) you can deploy your mobile app across various platforms and devices from a single codebase

That's right, if you're developing a mobile app then a substantial amount of the code is going to be the same regardless of platform.

What if you're developing a website that needs to be responsive for all orientations, both desktop and mobile? Should you avoid using something like Bootstrap or HTML5 Boilerplate and implement all of that yourself?

I don't think there is a competent programmer alive who does not use libraries. I think you're talking out of your ass, I think you're being naive. When you create an application that uses ajax, do you actually sit there and type out a function with a try/catch block to look for various implementations of the ajax object? Doesn't it make sense to put a function like that into a file that you can use on all of your sites, and doesn't it make additional sense to add more common utility functions, adding methods to built-in objects (e.g., adding Array.indexOf if it doesn't exist), etc? Because that's a library, even if you write it yourself. It sounds like your only argument is not using libraries that other people make. Using libraries that other people make is a major part of every kind of software development. Now, there's no reason to include all of ExtJS, for example, if the only thing I'm looking for is a normalized ajax interface, but that's hardly an argument against not using any libraries or frameworks for anything. Almost everything has a place.

That being said, when I'm answering questions on web development forums I'll occasionally see someone come in with a question about their site that they're including 5 different versions of jQuery on, in addition to mootools and dojo or whatever else. There are plenty of people who don't know how to program who copy and paste whatever they can find to try and get anything to work, but, again, that's not a reason for all programmers to completely forgo frameworks and libraries.

Comment You can't (Score 4, Interesting) 221

The short answer is that you can't. Your boss, if he / she is a programmer, will go to bat for you, and say "this won't happen; deal with it." If they aren't, you're screwed.

See, in the business world, much to its caricature, there are people who think they are business-savy. They watch 'The Apprentice' with a notepad in hand, and think that when it comes time to handling outside work, it's all about how fiercely you negotiate. Your non-programmer boss, who got his start in sales / marketing, is used to promising people stuff that others need to deliver on...as well as combing over any problems when a 'whoopsie' happens (missed deadline, etc.); he is also used to the idea of pandering to the client, and doesn't understand the intricacies of telling the client, in non-subtle, but non-insulting language, that something simply cannot happen.

So, when your client comes to negotiate with your boss, he's going to give them everything for nothing; he doesn't know this, but he does it. He's going to ask for time estimates from a programmer, where things operate in a completely different kind of world (every project is a new set of problems, first rule; ergo, all time estimates are vague and unreliable...even for 'easy' projects, because of some stuff I will touch on later); he's going to take these time estimates, and shave them down...asking the programmer, "Can't we try to get this done by Tuesday? And we can fall back to Friday if it doesn't work out." The programmer, of course, will tell him the truth (the programming / mathematical truth), which is "Sure, we can try to get it done faster." But in reality, it's not a magic button that gets pressed to make things 'go faster.' So, your boss tells the client his truth, which is that the project will possibly be done by Tuesday. The client, hearing this, thinks that it might be done by Monday, but will begin annoying your boss via phone calls as of Tuesday.

Now, let's take a moment to look closely at some of the elements around this scenario: your boss is going to charge the client for a certain amount ($2K), based off of your low wage, long hours, and another project that will be coming up a few days later for another client (it's all about volume). The actual cost of the project is $3K, but after your boss is worked down in negotiations ("We need to keep this client / build a relationship. We'll make it up to you with more work down the line / another project from them that will be worth more at some point in the future."), it'll be $2K. Bear in mind that the Tuesday deadline is actually negotiated by this client as well...so from their viewpoint, they've gotten a pretty sweet deal according to Apprentice 101: by dominating your boss, they got him to place their project at the top of the 'critical priority' pile...and they saved themselves $1K.

Your boss, believing the lies of his industry, thinks he's building a relationship with the client...he's not, since the client will bounce as soon as he tries increasing the costs anywhere near market rate, and they know that they can tweak him at will to speed things up / shave costs because he's already done it once before. Meanwhile, you, the programmer, are doing $7K worth of work, and enjoying near constant panic attacks because -> the client submits development requirement changes piecemeal, via email, telephone, SMS, Skype, and toilet paper. Your boss, of course, will come to you, and ask you if you can just do these extra tasks...that they won't take too much extra time, right? Of course not...changing the backend from SQL to NoSQL, and the frontend from ASP.NET to PHP shouldn't take any extra time at all...you're a programmer...you're second-kin to a magic elf...you can just not sleep, and reach into your magic bag of tricks, and pull off this thing by Tuesday's lunch. And skilled salesman that your boss is, he's either giving the changes away to the client for free, or taking on an absurdly low number for the additional work ("It'll pay for itself in the long run, you'll see!").

So, Monday rolls around, and the client calls to 'check-in' on the status of the website. Your boss, of course, will ask you how it's coming along...and you don't have a clue, since you're still working through their requirements (some of which are mutually exclusive), and give a half-assed answer of "I don't know." Your boss presses you, lectures you about the importance of this client and his fledgling business (eating away at the time you could be spending programming); you nod your head, in the end, to just remove yourself from his presence, so you can get back to coding. You weren't paying attention, of course, to his hijinks, where he asks you the question again, and offers an answer of "It will be ready by tomorrow, right?" You, of course, don't even remember nodding an affirmative to it.

Anyway, he calls the client, says everything is cool. Tuesday rolls around, and you're still programming. He calls the client, and says you are working on some last minute testing / bugs, and everything will be fine by Wednesday morning; the reality is that you're about halfway through coding it, and there is zero chance that it will be fully functional by tomorrow. Your boss, of course, extracts another lie from you about you having ready by this time...since you are divided between answering his pointed questions about why it isn't done already (and he wants to know, but he also wants you to spare him the technical details, since he doesn't program / understand technology), and continuing to work 'in the Zone' on the code, which his questions are impeding.

So, he's playing his game with the client, while perhaps quietly grumbling about lying programmers, etc., while you're trying to get the project done as quickly as possible, and are making some really bad design decisions to 'have something to show'; you begin hard-coding values, or putting in features that aren't fully tested / guaranteed to work, to meet with his increasing demands that it be completed right then and there. At the end of the following week, long after any 'trust' has been burned with the client, the website is done...but not without you suffering for it.

And then your boss calls you up, and asks where you are on the next project that you were supposed to have started a week ago...since it's due in two days. Wash, rinse, repeat for several years, until you decide that you can't work there anymore, and go on to a new job, at another place, for more money, but still not enough.

That's your non-programmer boss. Now, your programmer boss, possibly, will simply tell the client "it's going to cost double, take twice as long, and you will be happy with the results" and will tell them, when it comes to their additional requirements, that that counts as a new project, and will be properly negotiated once the agreed upon project / contract has been fulfilled. And they will be happy...since the design wasn't rushed, it can be easily extended in the future, with less pain, and go a lot further.

           

Comment Re:That's just not a viable option. (Score 4, Insightful) 407

You'll find that just about every feature your "essential" library provides has a native equivalent that works across browsers -- even as far back as IE 8.

That's a pretty naive view that over-simplifies the situation. One major use for a framework, for example, is to normalize the behavior of different browsers. Another major use is to provide implementations to create interface elements. Now, obviously, everything is natively supported because the Javascript framework is right there doing it, natively. But why should I write the necessary logic to create a draggable window, or a tree view, or sortable grid, when I can just pull that in from a framework? ExtJS is the kind of framework I'm thinking of. Why should I implement ajax-style uploads inside an iframe when they already did that for me, and I can just set up a form panel, indicate it is a file upload form, and write the important stuff?

Even though I can use a massive ExtJS application on a phone, we're not talking about massive applications per se, we're talking about mobile Javascript. So there are things like Sencha Touch for that. Sure, I could write native applications for every device listed under the supported devices section, but why is it smart to do that when I can write a single codebase that I can package for multiple devices?

Or maybe I'm just not "familiar" with Javascript, or development concepts in general. Hopefully you can enlighten me on the merits of reinventing the wheel every time you create something.

Comment Re:Really?!? (Score 1) 1448

You do realize you're being more of a bigot than he is?

I have never heard of "intolerance of intolerance" being described as bigotry before. Card is actively campaigning against (i.e. spending money to oppress or support the oppression of) a whole group of people. h4rr4r's MetaIntolerance (if you want to call it that) is simply choosing not to support someone he/she sees as a bigot. There is a big difference there.

Slashdot Top Deals

E = MC ** 2 +- 3db

Working...