Slashdot Mirror


User: Anonymous+Brave+Guy

Anonymous+Brave+Guy's activity in the archive.

Stories
0
Comments
12,209
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 12,209

  1. Re:Help protest this ruling... on Does Your Employer Own Your Thoughts? · · Score: 5, Insightful
    Because of a contract that I had to sign in order to get my current job (such are required for just about any technical job), I have put off any further development of my prior ideas, and leave all new ones dormant except for those that are actually within the function of my job, and trivial hobby stuff.

    You give up too much without a fight. My contract has a clause in it specifically stating that the company has no claim on anything I do that doesn't use any company time or company resources. I made them show me the full text of the contract they were going to ask me to sign on day one, not just the quick summary they sent when they offered the job, precisely to check that such a clause was there, and to request one otherwise.

    In fact, I gather than in quite a few jurisdictions, such contractual terms are likely to be unenforceable anyway. And even if not, don't sell yourself short; look at the contract before signing up for a job, question the absence of such a clause (or why there's a "we own everything" clause) by presenting something that's clearly your own work and asking whether the employer feels they have a right to it, and embarrass them into changing the contract.

    Morally they don't have a leg to stand on, and as long as you politely but firmly require them to acknowledge this before you start working for them, they won't have one legally either. No sane employer is going to go all the way through a recruitment process, pick someone they like, offer them the job, and then retract the offer in the face of a clearly reasonable request regarding the contractual terms. If a potential employer of yours does, just walk away; you now know exactly what kind of attitude they have towards their staff, and you can certainly do better elsewhere.

  2. Re:Skills on Mozilla Starts Bug Bounty Program · · Score: 1
    Not all debugging methods are created equal.. lots of extra printf calls will only get you so far.

    That's certainly true, although IME a little work to instrument code properly (via printf or something similar but more powerful/flexible) can go a very long way. We have quite a neat system on the project I currently work on, which basically keeps a stack trace and lets you record diagnostic messages at several levels of priority, and then lets you customise the diagnostic file that's generated based on which functions you want diagnostics for and at which priorities. We routinely code in such diagnostic messages -- often they just go where you might put a comment otherwise -- and it's often far faster to debug by looking at the output produced from this system than it is to step through code in a debugger.

    None of that makes debuggers any less valuable when you need that bit extra, of course. I'm not sure whether I agree with your comment about teaching debugging "in classes" or not. I guess it depends on the kind of class. If you're teaching pure CS, I tend to think that any specific tools -- be it a particular language or compiler, or something like a profiler or debugger -- should be used only for example purposes. OTOH, if you're claiming to teach software development (by whatever name -- I guess "software engineering" is most common) then I certainly think a course introducing the kinds of supporting tool you can get should be included. I'd have it start by describing briefly what a debugger, profiler, static code analyser, etc. do and why they are useful, and then looking at common features of debuggers/profilers, and when and how to use them.

  3. It's not just games... on Why Game Developers Should Finish What They Start · · Score: 2, Insightful

    I think the underlying issues mentioned in the article -- principally aiming too high in various areas -- hold back a lot of personal developments, games or otherwise.

    Now, I'm as much a fan of good design as anyone. I advocate it frequently, and I believe it more than pays for itself in time and effort over the lifetime of a project. But there comes a point where the best is the enemy of the good, and good enough is what matters. There is never a perfect architecture anyway, simply because projects evolve and you rarely know exactly what the future holds.

    Similarly, you have to know how much one person, or a small team, working in their own time can realistically achieve. I have a few useful and significant techie projects under my belt, but for the majority I did nearly all of the legwork in a weekend or two, with occasional tidy-ups and fixes during the weeks immediately afterwards.

    Perhaps the most impressive project I've worked on non-professionally was a complete redesign and content update of a reasonably large web site for a club I belong to. Without going into all the gory details, we're talking about well over 100 pages, a new graphic design, a new navigation system, and a completely reworked technical architecture based on XML+XSLT. The basics of that project took several hundred man-hours, of which probably the majority came from me over several weeks. However, I had help from a couple of other people on the web design and architecture front, checking things over and filling in some blanks. We also had several of the other club organisers providing content. Then one of the guys spent considerable time porting existing "minor pages" to the new scheme, etc.

    Now, I could have done all of that on my own, but realistically I was always focussed on the technical architecture, the overall site structure and graphic design, and the top 25-30 content pages that everybody was going to see. I might have taken on the "project lead" role, but without all the back-up, a lot of it probably still wouldn't be polished up even now, a year later. As with the games, you've got to know, honestly and realistically, what you can achieve yourself, and when you need help if something's going to get done.

  4. Re:Consider quitting.... on Keeping Programming Fun? · · Score: 1

    I think that post gave the two key points.

    Firstly, even geeks need a little non-geeky relief some times. Play some sport that doesn't involve a simulator, play games other than D&D with friends, go see a movie for more than the SFX.

    Secondly, working 9-5 (or 6, or 7...) on something, day in and day out, can take away whatever joy you once felt for it, at least sometimes, but you can still enjoy related things on your own time. For example, I write C++ for a living at work, but right now at home I'm playing with various webby technologies for a club I belong to.

    There's often some overlap: right now, my Perl skills are developing at quite a rate, as that particular tool happens to be useful for both areas. However, I think the most important thing is that while I'm still something of a geek at heart, I don't want to spend my days and my nights doing the same geeky stuff.

    Except Slashdot, obviously.

  5. Re:About Ocaml on Paul Graham On 'Great Hackers' · · Score: 1

    Zealot? A fanatical supporter? Please. If you look at my posting history, you'll find I often defend C++ against ill-founded criticism. In this case, however, the criticism is fair.

    C++ doesn't support functional programming concepts to anything like the same level as a genuine FP language. Some of it can be done, with sufficient hackery, but the sheer awkwardness of the equivalent code in C++ and a genuine FP example was demonstrated by the foldr comparison.

    As for other concrete examples, I specifically cited writing non-trivial functions in-place in C++, without using awkward syntax for function calls and the like. This is something that even state of the art C++ libraries cannot do because of fundamental limitations in the grammar defining the language, yet it is absolutely routine in any real functional programming language.

    The question was what O'Caml offered that C++ didn't. The answer is real support for functional concepts. You can do these things in C++, with sufficient hackery. You can do them in assembly language, if you must. But the support for them in a functional language is very much better, and using the concepts is therefore very much easier. If you want that support, but you still value imperative coding as well in places, then that is something O'Caml can offer you.

  6. Re:About Ocaml on Paul Graham On 'Great Hackers' · · Score: 1
    And to put the final nail in the coffin, the following link from the boost::spirit homepage shows that C++ indeed has functional language properties:

    Sure, it's quite clever, like the various other pseudo-lambda C++ libraries before it, and potentially useful in simple contexts. Now show me one that can write an arbitrary function in place rather than some trivial expressions, without resorting to bizarre syntax hackery whenever something as simple as a function call is required.

  7. Re:About Ocaml on Paul Graham On 'Great Hackers' · · Score: 1
    Sure, here it is, in functional style, with tail recursion:
    template <class F, class IT, class B> B fold1(F f, IT it, IT end, B b) { return it != end ? fold1(f, ++it, end, f(*it, b)) : b; }
    template <class F, class L, class B> B fold(F f, L &cont, B b) { return fold1(f, cont.begin(), cont.end(), b); }

    And you don't think that's just slightly more unwieldy than the following typical functional code?

    fun foldr f b [] = b
    | foldr f b h::t) = f(h, foldr f b t);

    And of course, this is one of the simplest non-trivial functions that you can imagine.

    Do you mean that
    template T add(T a, T b) { return a + b; } /
    is not the same as:
    fun add a b -> a + b / ?

    No, what you wrote is a syntax error, but even if it weren't, that's generics and not pattern matching. An example of the latter in the context of strings is the foldr function I provided above, but the concept is much more general, and allows the effective use of disjunctive types.

    Programming is full of side effects, if you want to achieve something useful.

    I think that's rather over-stating the case. You need side-effects for I/O, of course, and they're useful for certain other contexts if you're prepared to accept the additional risk. The vast majority of C++ code I've seen doesn't actually need to use anything like as many side-effects as it does, though.

    For any functional algorithm that you write, I have two options: either write it in exactly the same way you do (functional), or write it in imperative way and gain over x10 in speed. Once I test my program and it works, I have a quick routine that I can use in any environment, even in heavy ones. You can't.

    Congratulations, you've just convinced me that you really don't know what you're talking about. It was the arbitrary factor of 10x difference in speed without specifying anything about the algorithms in use that gave you away.

    BTW, I write high-performance mathematical code that's shipped on over a dozen platforms for a living, and I'm the guy they ask to do a lot of the profiling and performance enhancement work, so I do have some clue what I'm talking about here...

  8. Re:About Ocaml on Paul Graham On 'Great Hackers' · · Score: 2, Insightful
    C++ can not only use functions as data, but also objects as functions. Closures are not needed in C++, since we have templates.

    Now, see, you almost had a point when you referred to function objects. They can indeed serve many of the same purposes as closures. But really, such support as C++ does have for treating functions as first class entities is hacky and unreadable template garbage at best. I'm quite a fan of C++ for some things, but that sort of claim is just unrealistic.

    Let's take a specific example. Compare the standard "fold" function in something like ML or Haskell with the hackery required to achieve anything close to the same effect in c++. In the functional languages, it's trivial. In C++, it's... well, if you think it's at all elegant, please feel free to post your implementation here so everyone else can learn from it.

    C++ has pattern matching exactly like ML. Variants can be created with templates.

    Huh? Even people like Andrei, who have written feature articles on this subject, can't provide C++ with anything close to the elegance of a typical functional programming language's "match" construction.

    In the end, there is no difference to C++. It [declarative programming] is still imperative programming.

    Um, no. There is a world of difference. Most of that world is full of side effects, things which a purely declarative style makes rather difficult, no?

    Any functional style algorithm can be expressed in imperative style. And C++ can do functional programming.

    Of course. So can assembly language. Whether they can do it well enough to be of any real use is a different question entirely.

  9. Re:summary of slashdot response to this article on Paul Graham On 'Great Hackers' · · Score: 1

    On the contrary. According to his description, I fit pretty much all the requirements for being a hacker admirably.

    Except that I use Windows.

  10. Re:About Ocaml on Paul Graham On 'Great Hackers' · · Score: 1
    So, why should I use Ocaml? if I wanted to do imperative programming, C++ has all the features Ocaml has an even more.

    If you want to understand the merits of O'Caml vs. C++, what you should be asking yourself is why you want to do imperative programming. There are some good answers to that question, to be sure, but not very many.

    As a guide, a common way to learn about this are goes something like this:

    1. Discover functional programming.
    2. Discover the power of higher order functions, closures, etc.
    3. Discover the power of variant types and pattern matching.
    4. Discover the benefits of a purely declarative coding style.
    5. Go full circle, and realise that side effects and state are used in so many programming languages because they are useful for solving real problems.
    6. Understand that a hybrid approach using functional style for many things but imperative to provide some of the structure has a lot of potential.
    7. Learn that O'Caml is probably the most successful language supporting that hybrid, and thus why it has value.

    BTW, google for "ICFP" to understand the comment about discriminating hackers.

  11. What staggering arrogance! on Paul Graham On 'Great Hackers' · · Score: 0, Flamebait

    I've heard the name Paul Graham before, but never really read anything by him until this. I don't think I'll bother again.

    A few of his key opinions may have merit. There really is a certain personality type who matches the characteristics he describes, IME, and given certain other character traits (people skills, for example), they really can be the most productive guys to work with. However, a lot of that article is simply stating his own highly prejudiced opinions as if facts. This was the giveaway:

    But the next time I talked to him, he said they'd decided to build their software on Windows NT, and had just hired a very experienced NT developer to be their chief technical officer. When I heard this, I thought, these guys are doomed. One, the CTO couldn't be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn't imagine a great hacker doing that; and two, even if he was good, he'd have a hard time hiring anyone good to work for him if the project had to be built on NT.

    Right, because no original and very well designed software ever gets written by Windows hackers. In fact, no self-respecting hacker would even go near Windows, especially if he wanted to get paid so he could afford somewhere to live, or he was offered a job on an interesting, bleeding-edge development project. Go open source, Linux R0x0rz, yada yada, blah blah. After all, cloning a clone of a clone business or network app while accusing Microsoft of never innovating is much more L337. The guy's like a 13-year-old Slashbot wannabe, and you could summarise the content rather more concisely as "Y'know, INTPs often make good hackers."

  12. Re:For clarity... on Examining Some Open Source Myths · · Score: 1
    If users have freedom, it doesn't matter whether their system is better or worse. That's not the issue.

    It may not be to you, or to RMS and the FSF, but it is to most users...

  13. Of course not on Is Math A Sport? · · Score: 4, Insightful

    It's an art.

  14. Re:Yeah... and...what? on Oxford Students Hack University Network · · Score: 1
    Plagerism is detected at once or not at all.

    Not necessarily. They detected this time using an automatic checking system, which hadn't been in use previously, IIRC. That detected the cheating, and they then went back over his past work that had previously been accepted, and discovered problems in that as well.

  15. Re:Yeah... and...what? on Oxford Students Hack University Network · · Score: 1

    He might have had a point if they'd actually known that he'd been plagiarising for that long at the time, and if it wasn't absolutely clear to anyone that plagiarism is wrong, and if the guy didn't deserve everything he got (i.e., nothing).

    Qualifications get invalidated if you're discovered to have cheated, even after they've been awarded. This is in the interests of everyone except the cheat, for whom I have no sympathy. They got this one just in time.

  16. Re:Further quirks on Oxford Students Hack University Network · · Score: 1

    That's a pretty well-known urban myth, but variations on the theme definitely do exist. Breaches of protocol during graduation ceremonies in Cambridge result in the unfortunate official being fined in bottles of port, for example. The praelector (who presents the students for admission) in my year was rather smug, however, noting that the previous year, the college master admitting the graduands had mispronounced a particular latin phrase every time, and therefore technically owed something like 100 bottles of port.

    Ladies and gentlemen, I give you the academic elite of the western world...

  17. Re:Are there any adults in the house? on Oxford Students Hack University Network · · Score: 1
    But you knew all that.

    Yes, I did. That doesn't change the fact that there was a security flaw caused by a chain of screw-ups, Moz developers knew about it and knew how to break the chain, and they decided not to. Nor does it change the fact that an end user using Moz was vulnerable to a security flaw in spite of all the OSSness of the development, which is all that matters here.

  18. Re:500 pound fine? on Oxford Students Hack University Network · · Score: 1

    Of course we can. I wented to correct him myself, but you got there first.

  19. Re:Are there any adults in the house? on Oxford Students Hack University Network · · Score: 1
    And, yes, they've got something that will stand out in their clip files and resumes.

    Did you mean a criminal record, or something else?

  20. Re:Are there any adults in the house? on Oxford Students Hack University Network · · Score: 1
    If they'd communicated it privately to the admins, it would probably have been ignored.

    I love it when people tell you there's no need to do the right thing because it probably wouldn't work, based on nothing other than wanting to do the wrong thing instead. The "if" at the start of your sentence is a killer, and the "probably" doesn't much help.

    Why not actually ask them like a responsible adult, instead of stirring up a storm over a known issue that was being dealt with like a publicity-seeking journo wannabe? (Granted, few people working for Oxbridge student newspapers are not publicity-seeking journo wannabes, but really, remind me why we should have any sympathy for them, again?)

  21. Re:Are there any adults in the house? on Oxford Students Hack University Network · · Score: 2, Informative
    Anyone notice how badly this deck is stacked yet?

    You obviously haven't.

    Sending confidential information across any network unencrypted is idiotic, and if you choose to do it, that's your look out. That deals with the secure transmission of your data bit.

    As for any information about you that should remain confidential, anyone in the UK holding personally identifiable information must take reasonable steps to ensure it is stored and processed securely under the Data Protection Acts (unless they are exempt, and there's no reason university administrations would be AFAICS). If that's not happening, the Information Commissioner can make their life very unpleasant on your behalf. This does not require the information actually to be compromised, only the steps taken to protect it not to be sufficient.

  22. Re:Are there any adults in the house? on Oxford Students Hack University Network · · Score: 2, Insightful

    You do know that the open source doesn't provide any extra guarantees, right? And that, for example, the recent Mozilla security weaknesses were known about (at least in a related form) two years ago but left unfixed? Get off your damn "Open Source R0x0rz" high horse and live in the real world, FFS. Mindless rants like yours do neither the OSS world nor the computer security world any favours.

    I don't know what's sadder: the fact that you're posting a standard-yet-incorrect Slashbot cliche (as if security through obscurity doesn't help to protect vast amounts of information in numerous fields throughout the world); the fact that several people clearly bought it enough to mod you up; or the fact that you gave yourself away as a pro-OSS zealot right at the end there. I'd mod you (-1, Troll) if I weren't posting in this thread.

  23. Re:Quick Lesson in Oxford.... on Oxford Students Hack University Network · · Score: 1

    You gotta love the traditions of places like Oxford and Cambridge.

    I'm a Cambridge man myself, and there are plenty of quirks because the university has been around longer than most of our legal system. IIRC, our proctors have the legal status of constables, i.e., they really can act as policemen, at least in theory.

    There are also rules about police officers entering university college grounds; something like needing the permission of either the Master of the college or the Head Porter. That can be a disadvantage, though: when 200 pissed students turn up on your college lawns after a garden party too many in graduation week, the police can rather conveniently point out that they aren't allowed to enter the grounds to restore order. Not that that would ever happen, you understand...

  24. Re:Yeah... and? on Oxford Students Hack University Network · · Score: 3, Funny
    Well since you asked, we have some cretin in the UK who is suing his university after they kicked him out for plagiarising his entire coursework.

    I thought the fantastic thing about that case -- assuming it's the same one I remember -- was that he was kicked out about two weeks before graduation, and was claiming that they should have detected his plagiarism earlier and thrown him out then, rather than ripping him off for three years' worth of fees first. Hey, at least if he flunks that course, with arguments like that he'll have a great career as lawyer.

  25. Oh, the irony: a "white hat" tale on Oxford Students Hack University Network · · Score: 1

    Way back, when I was about 12 or 13 and networks were rather less advanced, I identified a potential security flaw with the system at school. I was on good terms with the teacher responsible for IT, and suggested that it might be prudent to address it. She asked me to try to hack the system, to find out if it really was a vulnerability. The following day, I told her her own password.

    She physically locked me out of the computer room for a week, along with one of my friends who'd been in on the game, while she worked out how to close the loophole. :-)

    The people I always felt really sorry for were the kids two or three years younger than us. It was normal for a couple of sixth formers (for non-Brits: 17-18 year olds, the oldest generation in the school) to help with the sysadmin jobs, and my friend and I were nominated. When the same two or three "loopholes" were found and "exploited" by the younger kids, their screens started flashing bright red and the PC speaker locked on until they managed to struggle under the desk and flip the boxes off at the plug, thanks to a couple of... um... extra software installations, courtesy of the sysadmin team. Needless to say, by the time they emerged from under said desk, the whole room would be looking at them and I or one of my colleagues would be standing behind them with Stern Look #673 firmly in place.

    Of course, we were always smiling with quiet admiration on the inside, and I always felt really bad about doing that to them. }:-)