Slashdot Mirror


User: warrax_666

warrax_666's activity in the archive.

Stories
0
Comments
635
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 635

  1. You got that backwards. on The Future of Computing · · Score: 1
    Everything you can do to optimize Java, Ruby, Python, etc, you can also apply to C/C++, but the opposite isn't always true.
    ... at least assuming that "etc." includes high-level languages with real type systems that can actually prove properties of your code. Such languages can enable optimizations which are undecidable in C, C++, or any of the other mainstream languages.
  2. I have two words for you... on U.S. Secretly Tapping Bank Databases · · Score: 1

    ... and those two words are: False Dichotomy.

  3. You are incorrect. on String Theory a Disaster for Physics? · · Score: 1

    However, there are more numbers in R than in Q, for example -- even though they're both infinite. See Cantor's diagonalization proof of the uncountability of R. Showing that Q is countably infinite is easy... you just have to realize that Q can be viewed as discrete points on a two-dimensional grid. Simply "connecting the dots" will provide a numbering scheme to map all those numbers to N (which is obviously countably infinite).

  4. Nitpick. on A New Technique to Quickly Erase Hard Drives · · Score: 2, Informative

    Make that /dev/urandom or you could end up waiting a loooooong time for it to finish.

  5. That's great. on Python-to-C++ Compiler · · Score: 1

    Except I have to convice my boss that Boost (sub-)libraries are (generally) solid. Normally you'd think that would be easy seeing as many Boost (sub-)libraries are getting into TR1 and are being regression tested on many platforms, and are written by some of the most brilliant C++ programmers on the planet. Unfortunaely my boss is a dumbass oldskooler who wouldn't recognize modern C++ if it raped his youngest daughter and who suffers from chronic NIH syndrome, meaning that all we get is shitty homegrown C++ libraries or glibc. With an all-batteries-included language we'd at least be spared the crappy home-grown reimplementations of the most basic stuff like regexes, shared_ptr, etc.

  6. Mathematical truths... on Scientists Respond to Gore on Global Warming · · Score: 1

    ... such as "a square has four sides" and "2+2 = 4" all rest upon axioms which are (by definition) unprovable. That is to say: While proofs (as you say) are true and stay true independent of senses or feelings, the underlying assumptions (axioms) are not necessarily true. Conclusion: You cannot even trust mathematics if you do not trust the axioms.

  7. Not everything. on Microsoft PowerShell RC1 · · Score: 1

    Network devices can AFAIK not be reached through /dev. (On Linux that is... I think it is true of the BSDs as well.)

  8. Suggestion: on A Good Filesystem for Storing Large Binaries? · · Score: 1

    (I'm assuming software RAID here, obviously.)

    Use LVM on top of MD/RAID. When enough of your physical drives have the requisite extra free space you can just create a *new* MD volume from the free space and add that to your logical volume. Example: If you had a 100GB drive with 1 partition in the RAID and replace it with a 150GB drive, say, you'd just allocate 100GB to 1 partition and allocate 50GB to a second partition, readding the first partition into the old RAID volume and waiting for it to rebuild. Do this for all your new drives. When enough of your drives have unused 50GB partitions you just create a new MD/RAID volume out of those and add that MD volume to your LV(s). Simple, really.

  9. Re #1: on Ultra-Stable Software Design in C++? · · Score: 1

    Unfortunately using refs can obscure the meaning of your code, specifically when used for "out" parameters -- ignoring the obvious const-ref usage. I've found that always using pointers for "out" parameters helps make it more obvious at the call site that something is being altered by a function/method call.

  10. Need, no, but it's still a good idea. on Ultra-Stable Software Design in C++? · · Score: 1

    It's simply impossible to forget to delete with a shared_ptr... no matter how simple you make it to remember, you WILL forget to delete one of your pointers at some point (or several points). Any time you need to manually insert code to do something you're just increasing the number of things that can go wrong, better just to be safe and always use smart pointers.

  11. Install this: on MIT Startup Tests Top Million Sites for Spyware · · Score: 1
  12. A locked up GUI on Vista's Graphics To Be Moved Out of the Kernel · · Score: 1

    shouldn't prevent network access.

  13. Re:Um... on Java Urban Performance Legends · · Score: 1

    Extra information = loads of profiling information which can only be collected at runtime. (Yeah, I know... you can also profile C programs and use profiles to generate better code. However, this does not take memory allocation patterns and such into account).

  14. Um... on Java Urban Performance Legends · · Score: 1

    JIT compiles the Java bytecode to native machine code -- which is, at least theoretically, potentially faster code than a C or C++ compiler can generate because it has more information. Sure, you could say that you could just implement a JVM/JIT on top of C/C++ for every program you write and get the same performance, but that's just silly.

  15. Re:I guess the idea is it's extremely portable. on Protothreads and Other Wicked C Tricks · · Score: 1
    One thing which helps immensely is also having a strong type system with "sum" types, where you can declare types like
    type state =
        State1 with (all_data_pertaining_to_state1)
      | State2 with (all_data_pertaining_to_state2)
      | State3 with (all_data_pertaining_to_state3)
    ...
    and just have one state variable of type state. This will:
    • ensure that you don't accidentally use state information that is not valid in a given state.
    • ensure that all the state transitions in your code explicitly state which information is carried from state to state

  16. Well, you see Chewbacca is a on Universal to Offer its Movies Online · · Score: 3, Funny

    wookie from the planet Kashyyyk...

  17. I'm going to be rich... on Internet Partitioning - Cogent vs Level 3? · · Score: 1, Insightful

    when I invent a device that allows me to stab people in the face over the Internet.

  18. Re:Define enterprise on SSH Claims Draw Open Source Ire · · Score: 1
    The other example is related to distribution and configuration managment. We have started using SSH communications central management center to distribute new versions [...]


    Um, PIKT (and others like it) will do that for you, and that'll work for any program configurations you need to manage centrally -- at least when the configuration is based on text files of some sort. It will also allow you to manage configuration differences centrally and in a controlled and documented way instead of just having "one configuration copy for server A", "one configuration copy for server B", "one configuration copy for all the other servers".

    Adding "central management" to each individual program is a bloody stupid idea since each will work differently, have different bugs, etc. etc.
  19. Dictionary.com should not on Bill Gates Speaks Out · · Score: 1

    be relied upon for any information relating to the English language.

  20. Re:Cables on Cheap to Audiophile with Simple Hacks · · Score: 3, Insightful
    Does he not know what crap is behind the walls you plug into?

    You underestimate the power of suggestion (and ignorance).
  21. Re:Well... on Mono Progress In the Past Year · · Score: 1
    doesn't scale well when you start doing class inheritence and having to worry about weakening of strengthening of constraints (you want to be able to weaken preconditions, but not post conditions or invariants) and so on

    That's true of course... hadn't thought of that.


    You can do DbC in Java, Python, and presumably other languages if you want, you're not just restricted to Eiffel. The catch is that those DbC systems require using add ons to the standard interpreters


    In the case of Python you should be able to do it using a metaclass which automatically does the right thing and calls the appropriate __pre_$METHOD and __post_$METHOD (or whatever you'd like to call them) methods at the appropriate times. A bit messy, but not that messy.

    why not just build it into the language? Is it really going to hurt anyone?

    Porbably not, but good luck getting the C committe, or the Haskell people, or ... to add it to their languages :). If you're designing a new language, sure, go for it... or you could try designing an extensible language and end up with LISP/Scheme. :)

    Anyway, I'm done. I shouldn't really be wasting any more time on /.
  22. I do have an idea of on Mono Progress In the Past Year · · Score: 1

    what CSP is, actually, although details are a little fuzzy... I was introduced to it on one of those wet conferences. Apparently you just don't see the same connection between pure FP and CSP which I see... Let me see if I can explain more thoroughly:

    My thinking is along the lines that e.g. the seq (is that the name? Like I said it's been a long time...) operator in CSP maps onto the "do" monad, likewise the par operator in CSP maps onto a parallel execution monad, etc. etc. The pure functional nature of Haskell means that there are no nasty side effects (aside from monads). So threading is basically trivial given enough knowledge about the properties of the compositional monads. The trouble is obtaining that enough knowledge about the monads to be able to parallelize effectively. In Haskell, monad behavior is (essentially) arbitrary, but in CSP you are restricted to a predefined set of compositional operators (monads). The fact that they have predefined concurrency semantics means that parallelism is "built into" the language and so the compiler can make assumptions that Haskell compilers cannot -- thus enabling more parallelism.

    I hope that clears up what I was talking about.

  23. Well... on Mono Progress In the Past Year · · Score: 1

    In the case of Eiffel I really think it's a case of not offering anything truly significant for programmer productivity. I mean, yeah, Design by Contract is generally a good idea, but it's nothing assert() and good coding standards can't provide. Non-trivial "contracts" can't be verified until run-time anyway, and assert() works just fine for that.

    In the case of CSP... I must admit I'm not too familiar with it, but to me it seems rather like a restricted subset of purely functional programming. Of course, Occam is much lower level than, say, Haskell, but AFAICT all the CSP concepts have direct equivalents in Haskell, and the type system in Haskell is much richer. Given the choice I'd rather program (applications!) in Haskell.

    (Anyway, I'm certainly no fan of C# or Java... their type systems are just too wimpy for my tastes...)

  24. Yup. on Mono Progress In the Past Year · · Score: 1

    We actually agree, it's just that I felt you being a bit over the top with that one statement. :)

  25. Almost 100% Agreed. on Mono Progress In the Past Year · · Score: 2, Insightful
    Your design is either OO or not OO, and the language that you implement it in is irrelevant.

    By extension, you could just as easily say that the implementation language never matters, it's all just a Turing Machine(*) anyway. Except it does matter. Support for cleaner syntax, extra type checking, virtual/non-virtual method dispatch, etc. all matter when implementing an OO design. You can avoid whole classes of bugs by having proper language support, and programmer time can be reduced considerably.

    (*) We'll conveniently ignore the fact that computers aren't really TMs here. The point is still valid.