Forgot your password?

Comment: Re:The FSF overreached with GPL v3 ... (Score 1) 182

by sydneyfong (#47920889) Attached to: Why Apple Should Open-Source Swift -- But Won't

It is legal paranoia. Just like how IT-types have network security paranoia and ban a bunch of software/tools that *could* *potentially* introduce security issues to the company network...

I mean, sure, if you spend time looking at an individual license it could be OK. But why spend the time to investigate? Just blanket deny, and if somebody thinks it's worth fighting the bureaucracy to use a damn piece of software, *then* it might be worth looking into making an exception...

Comment: Re:Really? (Score 1) 309

by sydneyfong (#46978111) Attached to: Ask Slashdot: Computer Science Freshman, Too Soon To Job Hunt?

What you say is true, but "not being the most brilliant people I know" is not necessarily "failure", and definitely not "the floor".

I know a bunch of really brilliant CS people as well. Almost all of them graduated with CS degrees and doing quite well. There are different kinds of "smart". The person who becomes a competent sysadmin at 16 is different from the one who drops out of college to found a successful startup, and is different from the one who gets a CS PhD and then a researcher job at Princeton.

The 16-year-old sysadmin probably can't do my job, at least not as well as I (software engineering), and I probably can't do her job well either.

There are different paths to "success", although I must agree that the value of getting a degree is diminishing every day, it's not necessarily a bad thing to do. It really depends on the circumstances of each case.

Comment: Re:Code is closer to legalese than math (Score 1) 161

by sydneyfong (#46325017) Attached to: The Neuroscience of Computer Programming

(Sorry for stereotyping but) you're a typical geek. You think that words can have a precise, context-free meaning, and whether something falls within the meaning of a word (or a technical term) can be done in polynomial time.

The real world is much more complicated than that.

Take for example, what is a male and what is female? You'd think it's easy enough to determine that if you have access to the genitals, but there's still difficult corner cases to handle. For legal questions, it can be even more complicated. Questions like "was there a contract?" "is this negligence?" "did the person have the 'intention' to commit the crime?" are simply too 'complicated' to have a deterministic algorithm for all the cases. And before you ask why there are so many lawsuits (I'd imagine many more than the number of people with an indeterminate sex), the fact is that for the vast majority of cases the question is pretty clear cut, and it's really the corner cases that seriously go to court for a dispute on issues of law (as opposed to factual disputes, eg. whether a person did indeed sign a contract, whether the accused did kill the victim, etc.).

Supposedly you can really write out all the anticipated cases in a super horrifically complex program. But then, even if we suppose we can resolve the controversial cases where the facts don't fit our intuition (eg. the many many many situations whether or not you can have an abortion), it defeats the other purpose, that the (general) legal principles should be understandable by a lay person. In fact, lawyers are human beings too (well, not going into the soul question), and if the solution is not understandable by a significant number of lawyers, it's not going to become law. That's where your argument comes in -- but honestly, when you're good at skill X, you'd tend to believe that skill X is all you need to solve the world's problems, until you realize that when you apply skill X outside of its usual domain, it doesn't work in practice. (Just check out the mad scientists cartoons/movies for how things that work in theory could go wrong) The fundamental flaw I see, is that people expect the law to *usually* work according to their *intuition*. Usually court decisions don't tend to go against common sense, and when it does, the legislature will "correct" the decision (at least for common law systems) so that the law is what people expect. The problem is, what people expect can be very self-inconsistent, and what people expect is usually optimized for the normal case, not optimized to reduce the awkward corner cases. If you have no idea what the "self-inconsistencies" of a normal human being is, try understanding a woman. (to please the feminists: or a man who's not a logician -- getting to understand the opposite sex makes you wonder whether everyone's brains are just full of inconsistencies)

And of course you can't just look at the law in its current state and simply declare it void because you have a supposedly better system "intelligently designed" by a genius. I'm not sure about you, but I personally would be very skeptical of any large "rewrite" of a system by a person who doesn't even understand what the system is about.

I do agree there could be a bit more inter-disciplinary research on how CS can assist in making law less complex, but ... from what I know and understand (not to say that it's a lot), I'm skeptical whether there could be any groundbreaking results.

I'd say, getting legislation to use a proper version control system, and if a git-blame could show all the people who voted for/against a particular law, it would already be a great win. :)

Comment: Re:Code is closer to legalese than math (Score 1) 161

by sydneyfong (#46317831) Attached to: The Neuroscience of Computer Programming

Law is fuzzy. Programming is usually not.
Law is often inconsistent. Programming (or the underlying logic) usually cannot be inconsistent.
Law is relatively simple once you get past the fuzziness and inconsistencies. A lot of software is multitudes more complex than legalese.
There's often an easy way to test your program. Not so easy to test a legal theory or opinion. (You go to court, spend thousands or millions on legal fees before you get a judge to decide on the matter -- and then you have appeals)
Lawyers are usually not very anal about making the law "efficient" and "easy to understand". Sometimes the law is more complicated than it needs to be, and the lawyers like it that way (after all, they make money by translating all that crap to plain language). Most good programmers, on the other hand, strive to make their code easy to read.

English common law is basically all about struggling with legacy issues and finding new applications for old "code". The concerns about "backwards compatibility" (i.e. not overriding previous decisions) appear often enough to warrant a mention.

Disclaimer: IANAL, have a law degree, and I'm a software engineer.

Comment: Re:How about paying students after graduation? (Score 1) 321

by sydneyfong (#46141125) Attached to: James Dyson: We Should Pay Students To Study Engineering

Somebody is just bitter.

Sure, there's a bunch of money sucking parasites in Wall Street, and then another bunch of them in Washington DC, but then, to claim that they are the "only" jobs that pay well, is bullshit. The richest people in the world aren't the ones that merely push money about (except maybe Buffett). If you're talking about being an employee at a large corporation kind of "job", how about 3 million dollars at Google? Not sure how productive he was, but I'm pretty sure he wasn't in the business of pushing money around per se.

Tech is generally as well paid as any other industry -- it's just disingenuous to whine about compensation in the tech industry when it's been outgrowing basically every other industry, and companies scrambling to hire anyone who has a hint of talent.

How many QA engineers does it take to screw in a lightbulb? 3: 1 to screw it in and 2 to say "I told you so" when it doesn't work.