Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Wow (Score 2) 355

I'm impressed. The first time in 3 years I've been impressed, so the bar is pretty low. But good going Obama.

Really? Getting rid of Ghadafi at very minimal cost and with 0 US lives lost didn't impress you?

No, hiring thugs and orchestrating a PR campaign to overthrow a government because it was making deals with the wrong country (China) doesn't impress me at all. Especially given that the new government looks to be even more brutal than the one that was replaced (but at least they are making deals with OUR corporations and Frances' instead of Chiner's - that's all the counts, right?)

Right...who cares about getting a country to overthrow it's dictatorship without using our troops to force it....

Comment Re:Still is bad (Score 1) 260

Only if it's commercially appropriate to do so. Other competitor companies will take a license.

Assuming that your company offers licenses. Many patents frequently do not allow anyone to take a license unless you are cross licensing something, thus a small company has no way to get a license since they do not have a valuable patent portfolio that they could cross license with. The result is that patents frequently stifle competition.

And make sure that it is a sufficiently different approach so that you can't sue them for patent violation. I wouldn't call that encouraging innovation.

You just said that the engineers would have to come up with an entirely new and different way to do something. Isn't that innovative?

Is it really innovative if a company has to come up with a less efficient way of doing something or must purposefully leave out features from a product, to avoid being sued over patents? Or pay large sums of money (assuming that they offer licenses) to get a license? Not to mention the cost of having the patent lawyers to begin with in order to tell them that their idea is currently patented and they can't do it. The entire thing is ridiculous.

Bullshiat. If the idea is really that great, then your small company will get bought by a big company - possibly the one with patent, even. If the complaint is that small companies with economically non-viable ideas can't compete in the marketplace, then, sure... but you haven't really said much.

That's a great idea, but in practice it only happens in a very small number situations. Not only that, but it means you have to invest a lot of money developing a product and hope that some company comes up and buys you, which also has enough money to license the patents involved. Your analysis might make sense if we were dealing with one patent, but frequently new software is dependent upon multiple patents. Each of which could potentially have high price tags or not even be available for license.

Not only that, but the entire situation also provides a disincentive for individual developers creating applications. Look at the recent Lodsys thing with Apple. Thousands of developers sued over a patent that should never have been granted. Many of them just took their applications off the App Store, or deactivated functionality, or paid thousands of dollars. This is innovation? Hardly.

The few times where patents might help innovation are far outweighed by the amount of times that Patents hinder innovation and hurt competition. We're just seeing it in overdrive with software because the industry moves so far, 20 years is WAY too long for a software patent. Despite my own bias in wanting software patents to go away, a compromise makes sense to me. Bring it down to 5 years, maybe even 2 or 3 years. Those are all long enough for software patents.

Comment Re:Still is bad (Score 1) 260

and if you disclose those, then engineers at all of your competitor companies won't have to waste that same time, money and effort to find the same solution. Instead, they can focus on the next problem. This is how patents encourage innovation.

Actually, engineers at all your competitor companies will have to waste more time, money, and effort to figure out a way to do the same thing you did, but not the same way you did it. And make sure that it is a sufficiently different approach so that you can't sue them for patent violation. I wouldn't call that encouraging innovation. It's also hindering innovation when you have a small company with a great idea, but can't implement it because they would not be able to pay for patent licensing. As a result the great idea never gets made, all because someone has a monopoly on an idea. It happens often enough that it's a very bad thing.

Comment Re:Well... (Score 1) 743

And you know their solution won't work because...oh, yeah, you're smarter than they are. I suspect the real issue is that you have not communicated all the requirements correctly, but since you are very familiar with the problem, you know more than you have told them, and that biases your view on their solution.

You assume that every candidate will be able to solve every problem you give them. You don't think it's possible for a candidate to come up with a solution that is incorrect despite being given correct requirements? Also, if I tell them their solution wouldn't work and they disagree and show me I'm wrong and their solution does work, then I'd be impressed that they were able to come up with a solution I hadn't thought of. It has nothing to do with me being smarter than them or not, just being more familiar with the problem. You shouldn't be asking a question to a problem that you aren't familiar with, simply by being very familiar with the problem I would be able to tell with pretty good accuracy if a particular solution would work or not. Obviously you know more than you have told them, you at least know 1 or more valid solutions. It would be pointless to give them the solution :).

And, unless the problem is still trivial, the only correct answer is "how about we meet tomorrow at 2pm, which will give me time to see if it can be done at all, and give you time to think about the change you requested and better define it so that we don't make the same mistake of not having all the requirements up front". Seriously, if you change your mind a few minutes after seeing something that meets all your requirements, you really do need to sit back and think about what the requirements really are before asking someone to waste money (somebody's...you, pretending to be the client, the company, etc.).

You have never come up with a solution to a problem and then found an edge case that meets the requirements, but the current design would not be sufficient to fix? In such a case the only solution is to modify the design to accommodate the new case. You also assume that clients are always capable of describing all the requirements they need the first time and never make mistakes or forget something, all of which is very common. Not to mention that this is a hypothetical situation that is fabricated specifically to see how the candidate would respond in a similar real-world situation. Thus you seem to be taking this way too seriously.

The company I work for is small enough that programmers are likely heavily involved in requirements gathering, but for larger companies, that might be something only system analysts do. Depending on the job opening, your test might seem completely out of left field to a programmer who has never done formal analysis tasks.

I can understand this to a point, but we aren't talking about a formal analysis. We're talking about "you need to design something that achieves this specific goal." Something that every programmer who is capable of working on their own should be able to do. If you have to design everything for the programmer and they can only implement someone else's design, then they aren't an extremely useful programmer.

To test "collaboration", you need to assign a current employee to be the candidates "team" and let them solve the problem jointly. Either that, or you can be the collaborator, but then don't get to be the client, too, which would mean no "surprises" to spring on them

"Surprises" could simply be edge cases the candidate hadn't thought of. The point is to get a dialogue going and see how they think, how they approach the problem, how they react if things don't go smoothly, etc. Collaboration would evolve normally from this type of discussion where you aren't sitting and waiting for responses from the candidate but actually discussing the problem with them.

Comment Re:Well... (Score 1) 743

Can he remain polite when frustrated? Can he admit that his first approach to a problem was wrong?

Why do you assume this will happen? Is it because you don't give them all the real requirements until after he takes a stab at the answer? That's a common trick that interviewers use to make themselves feel smarter than the candidate. What do you do when someone asks you to give them a real, written requirements list before they start, as they would get if this was a real work situation?

The frustrated part is not something I assume will happen, neither do I assume that the first approach to the problem will be wrong. However, when giving an interview problem, if they get the answer to the problem there are two ways to continue the interview. You can ask a different problem, or you can continue with the current problem and take it further. Usually, the most common solution to a few design problems that I ask during an interview falls apart if you extrapolate and add new requirements. Not only that, but frequently (very frequently unfortunately) a candidate will start working on a solution that just will not work. You don't correct them immediately, you see whether they recognize that their solution won't work and admit they are wrong and change their approach.

While I don't assume that this will happen, I do try to purposely cause this to happen. If they come up with a solution that works, I will purposely say "ok, now what if you need to do this...." which will be something that I know will require them to change their current design to accommodate. The point is not to "make myself feel smarter than the candidate" the point is to see whether the candidate is able and willing to modify their current design to changing requirements. This is an important skill, and one that I've seen many candidates lack.

Can he work collaboratively at all, or does he have to solve problems entirely by himself.

If your "test" is simple enough to do on a whiteboard, many good programmers won't need any help after reading the written requirements.

"Many" good programmers is not "all" good programmers. Not only that, but "needing help" is not the same as "working collaboratively". If they can't work collaboratively, that's a bad sign.

Comment Re:what's the obsession with the latest version (Score 1) 770

Hmm, that "obsolete" droid you have? I did a little searching a while ago, downloaded an application, and then installed a custom rom on the phone (I'm assuming you're talking about the original droid which was unlocked). Now, my "obsolete" phone is only as obsolete as its hardware, running 2.3.7

Comment Re:16GB RAM and GCC optimization (Score 1) 357

Having your OS be managed code is a horrible idea. The OS should be native code. Otherwise you'll have to write a native code JIT anyways which needs to run....inside an OS...you see the problem. You could always bootstrap it, but that just seems messy.

In addition, C++ optimizes exceptionally well. You can see massive improvements simply from compiler optimizations. Would you care to have some kind of source backing up your claim that Objective-C optimizes better than C++? It seems highly unlikely. As far as compilers, I agree that LLVM is definitely better than gcc, but nothing really stops you from using LLVM to compile Android instead of gcc.

Lastly, whole program optimization is useful for any program. Doesn't matter how dynamic it is, no one rights fully optimized code that is optimized in every possible way (unless you're awesome and writing assembly directly which very few people do anymore). The compiler will always find things it can optimize, and whole program optimization will find more optimizations to make than simply running optimizations on the individual modules only.

If you attempt to run such optimizations on something like Android, you get a bloated memory footprint and a miniscule performance improvement, leaving you worse off than you would otherwise have been.

Care to back up that statement? By definition, the difference between whole program optimization and per module optimization, is that the whole program optimization can do more optimizations. It can be certain about the safety of more things like inlining thus reducing the memory footprint and improving performance.

Comment Re:and what about xerox's stuff? (Score 1) 988

Gah, why is my statement being so misunderstood.

I was arguing AGAINST apple. GP said questioned whether it could be a natural progression from the standpoint that Apple "re-invented" the touch screen. But just because Apple made the touchscreen technology more popular with a good product does not mean that the idea of icons on a screen to touch was not a natural progression from the desktop model of a mouse and clicking on things.

Apple should NOT be allowed to stop others from implementing stuff, especially because it's not even anything novel, it's just a natural progression of ideas.

Comment Re:and what about xerox's stuff? (Score 1) 988

Nice assumption you're making. I was not voting in apple's favor at all. In fact, i was pointing out that Apple didn't "re-invent" the touchscreen. I was pointing out that making some old technology popular by getting to market with something that people liked more, does not prohibit something from being a natural progression.

It is definitely a sad fact that requirements for obviousness are not followed well enough. And I do not like the iPhone better. Best not to make assumptions. I avoid all Apple products.

Comment Re:How do we work this (Score 1) 988

I think you're referring to the hardware, as in having one whole touch screen rather than a split phone with a touch screen and keyboard. Which is only a small piece of the claims.

The idea of a screen, with icons and apps, etc. that you could touch, was how android was developed from the beginning. Considering the announcement of Android was only 10 months after the iPhone's announcement (5 months after it's release) there's no way they could have entirely redesigned it as people claim in order to "steal" the iPhone ideas. There's two things that happened: simultaneous development of ideas between Android and iOS, and normal competition (Hey, that guy's product does this. People love this. Let's do it too). But the behavior and ideas of a touch screen, with apps, icons, etc. weren't stolen. In fact, Android released with the android market and ability to get apps. The iPhone did not.

Slashdot Top Deals

Work continues in this area. -- DEC's SPR-Answering-Automaton

Working...