Slashdot Mirror


User: Tom7

Tom7's activity in the archive.

Stories
0
Comments
2,199
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,199

  1. Re:Code is speech on Macrovision Releases DVD Copy Protection · · Score: 1

    The difference is that tools are a circumvention device, but an explanation is not. The court has held that source code qualifies as a device, even though it is also speech, I am sorry to say.

  2. Re:Prison. on SHA-1 Broken · · Score: 1, Informative

    Of course not. Wang gave a presentation at CRYPTO 2004 to a stunned audience and standing ovation. WTF is wrong with you?

  3. What? no... on Macrovision Releases DVD Copy Protection · · Score: 4, Informative

    Wrong. Check out the law . The act of circumvention is illegal (1)(a). (IIRC there was a short period when the tools were illegal, but not yet circumvention. This period has passed.)

    As far as I understand, telling someone how you did it is not illegal, but probably ill-advised. Telling someone how to do it is very likely protected speech. Giving him tools is clearly illegal, unless those tools have substantial non-circumvention use.

  4. Re:That is not a good (.. sentence finished) on Object-Oriented 'Save Game' Techniques? · · Score: 1

    I guess I should finish my sentences.

    "With an object storing the state, you can simply create two of them to have two instances of the games working at the same time."

  5. That is not a good counter-example on Object-Oriented 'Save Game' Techniques? · · Score: 1

    What you're doing is bad because:

    1. Your program cannot be easily extended to support two or more instances of the game without launching two copies of the application. This may not be too important for games, but for other applications with save-state behavior it surely is. With an object storing the

    2. If you simply write out the data, the save binary will not be portable across platforms with different byte orders. You also are limited to the kinds of things you can put there; structured data with pointers will not correctly write out to disk.

    3. All the other things wrong with global variables (generally program hygeine issues).

    It's simple enough to have a "State" object that you fill in with the same information and write a serialization method for it. If you want, you can even make it static, in which case you would be doing almost exactly what you're doing now, but not polluting the global namespace.

  6. LA Times... on Enterprise Fans Buy Full-Page Ad In LA Times · · Score: 1

    LA Times.. News for Nerds. Ads that matter.

  7. This is the best game I've played all year. on Doukutsu Monogatari Translated into English · · Score: 1

    This is the best game I've played all year.

    Granted, 2005 is pretty short so far, but that does include Halo 2.

  8. Re:Phew! on Gosling Claims Huge Security Hole in .NET · · Score: 1

    It might be true that C is not "inherently insecure," if we give it the benefit of the doubt. But there are surely languages that are inherently *more* secure, so why prefer C if security is your goal?

    If you don't know how to program, please step aside and let others through.

    Name a hero programmer, and his C program has had security holes in it. It's not really a question of only allowing "good" programmers to use C.

  9. Re:Holy grail of programming languages on A Brief History of Programming Languages? · · Score: 1

    Well, you are doing yourself a disservice if you listen to him, because, objectively speaking, he does not know what he's talking about. Type declarations are not required in Haskell and ML, because of type inference. Also, the ML and Haskell top level loops work fine while requiring that a variable be defined before it is used. (What is this, BASIC?!)

    It's easy to make a heterogeneous list in ML or Haskell by making a "universal" type, but this is a pretty bad way to program. If your program works, then it works for a reason, and that reason can almost always be encoded in the type system, which makes programs clearer, more likely to be correct, and more efficient. To the extent that you have a good reason that can't be encoded in the type system, the type system has failed you, but this is very rare (and I used to be a C cowboy, believe me), and when it occurs, hacks like above usually suffice.

    If you like lisp, it's worth giving these languages a chance. Also, you don't have to endure parenthesis jokes.

  10. Re:Holy grail of programming languages on A Brief History of Programming Languages? · · Score: 1

    Sure, if you don't care about syntax, performance, or catching errors at compile time. The new breed of statically-typed functional languages win in all of these categories, while providing essentially all of the things that made lisp great in the 60s.

  11. Language ''versions'' on A Brief History of Programming Languages? · · Score: 1

    An annoying presentational issue about that graph is that it confuses language versions with implementation versions. This makes single-implementation languages with lots of small versions seem to be much more robust (in that their timelines don't die out in the late 90s) than languages with a separate language definition. For instance, I know that there are at least three SML compilers that are worked on actively in 2005 (and which each have language enhancements that would probably constitute a new "version"), despite the last published formal spec being in 1997.

  12. Re:Duct tape- no joke on Laptops w/o Trackpads? · · Score: 1

    How many times do you have to turn it off??

  13. yes on Community Test Data Repository? · · Score: 3, Funny

    I hear that the internet is a community-driven repository of html

  14. Uh... on Could TNG Stunt Casting Save 'Enterprise'? · · Score: 0, Flamebait

    The real question is, why does Sirtis have a fan site??!

  15. Re:Why is this a Felony??? on P2P Operators Plead Guilty · · Score: 1

    If done for financial gain, or if the value of the amount copied exceeds a certain dollar amount, then it can be a crime. (17 USC 506) But most casual copyright infringement is indeed only a civil matter.

  16. Crime? on Jail Time For P2P Developers? · · Score: 1

    to prevent their software from being used to commit crime.

    It's a good thing that most copyright infringement is a civil, not criminal, offense. Check out the US Code section 506 .

  17. Re:already have this on Are Extensible Programming Languages Coming? · · Score: 1

    Like I said, just about any modern assembler has a macro system that lets you define new constructs. Actually, the macro systems of assemblers are usually much fancier than the ones in languages like C because assembly is so painful without them.

  18. Re:already have this on Are Extensible Programming Languages Coming? · · Score: 1

    Well, did you read the article? One idea is that if the code is stored in a more abstract format, then it can be displayed different ways to different people.

    Extensibility of the language is not what you seem to think it is. (For that matter, why isn't assembly language extensible in your sense? Almost every assembler these days has a complex macro system, which is how anyone can bear to use them!) Extensibility means modifying the syntax and semantics of the language, not writing programs in it.

  19. Why do people think XML is good for this stuff? on Are Extensible Programming Languages Coming? · · Score: 2, Insightful

    Why do people love to use XML for all sorts of inappropriate things?

    XML does not make data immediately understandable. All it does is remove one parsing problem, leaving the much more important problem of understanding the meaning of the tags, data, and their combination.

    XML might make sense as a compiler intermediate format, or even as a source archive format, but it has essentially nothing to offer in tems of extensible syntaxes (except for reminding us that the surface syntax of a programming language and the abstract syntax it represents can be as independent as we choose) or semantics in programming languages. (By the end of the article, this is essentially the point he comes to, with the only argument for XML being that it is popular.)

  20. That's right! Stick with 2.0.36 on Local Root Exploit in Linux 2.4 and 2.6 · · Score: 2, Funny

    That's why I've been sticking with 2.0.36 all these years. I haven't seen a security advisory for it in ages.

  21. Thanks NASA on NASA Prepares to Launch Comet-Buster · · Score: 2, Funny

    I'm glad we're finally doing something about these damned comets.

    Kill 'em all!

  22. Much cheaper than noise-cancelling headphones on How Do You Drown Out the Office Noise? · · Score: 2, Interesting

    You can get industrial grade hearing protection for much cheaper than noise cancelling headphones (check out the Leightning 31s, which are only about $20 and very comfortable). They also work much better than noise cancelling, across the spectrum, and need no batteries! You can even wear small ear buds under these if you want music too.

  23. Congratulations, I guess on Interceptor Missile Fails Test Launch · · Score: 3, Funny

    as the interceptor missile ... shut itself down...

    Well, it could have been worse! Nothing like going from one incoming ICBM to one ICBM and one haywire interceptor...

  24. Re:Static typing is great!! on Introducing The Heron Programming Language · · Score: 1

    Yes, you can definitely pass in a function. This is really straightforward to do; it works just like lisp.

    One reason to use parameter modules is to leverage the module system to create different types for your binary trees. For instance, if you had a union function (type 'a tree * 'a tree -> 'a tree), you might want to prevent the union of two trees that had different sorting functions (even if they worked on the same basic types; ie case-sensitive and case-insensitive sorts of strings). This is a win for simpler specifications (which of the two sort functions should union use, otherwise?) and performance (the union function can safely assume that both trees are already sorted).

  25. Re:Static typing is great!! on Introducing The Heron Programming Language · · Score: 1

    Well, I don't see why this is painful. The two solutions would be to (a) pass in a function that determines the sort order or (b) generate a new binary tree module by parameterizing it on a "contents" module, using functors. There is a certain knowing-what-you're-doing aspect of doing it the second way, but it's certainly no worse than C++ templates. I don't know how you'd do it in lisp since, as far as I know, lisp doesn't have parameterized modules.

    If it bothers you that you need to specify the sort order explicitly, Haskell's type classes allow you to overload the > operator (etc.) to have these sort functions be passed implicitly.