Slashdot Mirror


User: Ninja+Programmer

Ninja+Programmer's activity in the archive.

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

Comments · 355

  1. Re:Performance comparisons on Open Watcom 1.0 Released · · Score: 1
    • (not including Watcom - and with good reason, it's a bitch to set up on Win32)
    How is Watcom a bitch to set up? You must be crazy! Its far and away the easiest compiler to set up, or change the install for. The only tricky points is setting up the debugger device, and the environment variables, but those should be done automatically, and is explained completely in the various FAQs and readmes.
  2. Re:Watcom was great. How about today? on Open Watcom 1.0 Released · · Score: 2, Interesting
    • Or is this a scam to try to give life to a dying patient?
    No, it is not a scam. Sybase truly does not care what happens to WATCOM C/C++ (so long as it doesn't come back and bite them on the butt.)
  3. Re:DOS days on Open Watcom 1.0 Released · · Score: 2, Informative

    More specifically, it "EXTENDED DOS" to the 32 bit flat address model. The problem was that the entire DOS API was 16 bit, and assumed that everything happened in the first 640K. So if you wanted to use the DOS services with your data that was not in the first 640K, you needed a translation layer -- this is what the DOS Extender (typically via an API called "DPMI" -- DOS Protected Mode Interface) provides.

    Some of the better DOS Extenders had a built-in virtual memory mechanism as well. Actually it turned out that DOS4GW was kind of weak in comparison to the other extenders like "CauseWay" which Open Watcom is supposed to be using now.

  4. Re:Stop duplication of effort on Open Watcom 1.0 Released · · Score: 1
    • I'm looking forward to someone benchmarking gcc vs watcom to see how they do.
    Well, I'll save you the effort -- gcc will crush WATCOM C/C++ on pure C or C++. Bleeding edge performance is not what is being offered with the current WATCOM C/C++. But to tell the truth (as you indicate as well), gcc is not bleeding edge performance either.

    Fixing the compiler performance requires a look at the fundamental code generating mechanisms of the compiler itself. On this point, having a cleaner and more easily understandable architecture is more important that the current snap shot of its performance. And on this score, I think I am told WATCOM C/C++ is somewhat ahead of gcc.
  5. Re:Free software not a dumping ground! on Open Watcom 1.0 Released · · Score: 2, Informative
    • I do not see anything they can offer.
    They offer:
    1. An integrated IDE
    2. Source compatibility with MS VC++
    3. OBJ/Library compatibility with MS VC++ and MASM/TASM/NASM
    4. Compatibility with numerous DOS extenders
    5. A far better "MAKE" than gnumake, Solaris make, or MS's nmake
    6. Open source Win32 compatibility
    7. Inline assembler that uses the proper IA-32 syntax
    I am told, that the sources for the compiler itself are very well structured. I am also told that the sources for gcc are a complete mess.
    • Even if they had, would it not be better to just release the source code under the GNU GPL and integrate any valuable part into gcc?
    The Sybase Open source license protects Sybase. While that's not important to you, it *is* important to Sybase. The open source people have endorsed it as a valid open source license, so that is that.
    • Perhaps some years ago this would have been great. Now it is too little, too late.
    Now on this point you might be correct. However, that remains to be seen.
  6. Re:Jet fighters and Missle Defense on Where Should Space Exploration Go From Here? · · Score: 1
    • [1] Or "European who led to a massive wave of immigration" or some other explanation.
    How about "European who led a genocidal occupation of America".
  7. Re:3DNow! on Mac vs. PC Digital Photography Comparison Redux · · Score: 1

    Intel's compiler provides an even better solution -- don't do anything special in your source at all. Just flip the "compile with SSE or MMX" flag and your source is automatically vectorized.

  8. Re:who would have thought... on Mac vs. PC Digital Photography Comparison Redux · · Score: 1
    • I think the point is that we had an article trashing the Mac for image processing because it was so slow at RAW processing.
    Actually it was not just some article trashing the Mac, it was a very well thought out, controlled environment and fair study of the Mac versus PC performance.

    Of course, what Bibble labs did in the privacy of their own facilities ... well its propaganda at best.
    • This appears to have fixed that problem, so there's no reason not to use a Mac in digital photography work now.
    No, the original author benchmarked 12 different scenarios in which Bibble's software was only used once. Only if Bibble is your primary software choice, does this matter at all.

  9. Re:The main gist.... on MPlayer Licence Trouble With A Twist · · Score: 1
    • xineplug_decode_w32dll.so - code (from Wine) to load win32 DLLs
      It's total legal isn't it..?


    The win32 PE format (the underlying format for EXEs and DLLs in Windows) is a well described public format. You can even download a loader for it from my home page:

    http://www.pobox.com/~qed/pe.zip

  10. Feedback on How to be a Programmer · · Score: 4, Interesting

    Here's some feedback.

    Re: Divide and Conquer debugging approach ...

    Knowing *where* to split requires less skill than he suggests. While binary-splitting is useful from an algorithmic point of view, in the arena of debugging, there is no reason to be binary. I will typically split the problem many times (8 or more) at each step. This observes the fact that usually the cost of splitting the code is much less than re-running the scenario to test to see which split it makes it past, or fails to run properly.

    Neglecting examples in the debugging section is bad. In particular miss-synchronization of multi-threaded applications is an example that should be shown.

    Re: 2.6 How to Optimize Loops

    Ok, this is a really short list, and it misses the important principle of "caching", and some of the suggestions are wrong, or typically inconsequential.

    1. Sometimes floating point can actually be faster than integer code. This is especially true if the code can be completely pipelined. In particular trying to change from floating point to fixed point algorithms in modern CPUs may actually *decrease* performance. The details of this requires a lot more discussion.

    2. Inlining will be ineffective if the function routine is too large, or if the procedure prologue/epilogue cost is either low or unremovable.

    3. Fold constants together -- you should be more explicit about what you mean here. Certainly sub-expression elimination is a common technique that usually works well (but compilers are pretty good at finding that for you) but in some CPUs like the x86, immediate absolute value operands are practically cost-free. Perhaps he means "hoist" whenever possible? That certain does help.

    4. As to moving I/O into a buffer ... there is even more you can do. Move I/O handling to a seperate thread (more on this in my next comment.)

    5. Try not to divide and avoiding expensive casts requires much more detail. The best thing to say here is the understanding these costs requires understanding the underlying machine code that results from these operations. (Floating point division can actually be relatively cheap in the right context, and differentiating between cheap and expensive casts can sometimes be difficult, and require context as well.)

    6. Using pointers rather than indicies -- x86's have sophisticated addressing modes wherein there is commonly no difference between these two alternatives.

    Re: 2.7 How to Deal with I/O Expense

    An important principle to apply is to realize the parallelism via multithreading can substantially assist these problems. For example if some IO is non-negotiable, or non-predictable, then at least it can be blocked, or streamed in a seperate thread. The reasoning behind this is that modern operating systems can yield (i.e., block) program control (i.e., your execution resources) from a slow to respond thread to the faster ones. So you can overlap all your algorithmic work with the delays while waiting for the data.

    Re: 2.8 How to Manage Memory

    Something should be said about caching versus non-caching. First of all, point out the cached memory can be tens to hundreds of times faster than main memory (in modern CPUs.) Variables on your local stack, and globals that are commonly used in your inner loops, will tend to be cached. However array streaming will tend to de-cache your data.

    Running through your streamed data in multiple passes is especially bad, as it will require reading your data into the cache multiple times.

    Again much more can be said here.

    Re: 2.9 How to Deal with Intermitten Bugs

    This is an important topic. Its because it represents the hardest debugging problem. We all run into it sooner or later. Even if it is a hard subject to tackle, it has to be expanded on. Giving examples here are invaluable. You have to show that as hard as it is, it is possible to ferret out such bugs.

    Re: 2.10 How to Learn Design Skills.

    The biggest thing to explain here, I think, is to just explain that all code can and should have seperate documentation corresponding to it, that is written *before* the actual code is written.

    Re: 3.6 How to Work with Poor Code.

    Remember that people may be more open, or willing to learn than you think. If you decide you have to recode something for someone, it may be beneficial to be explicit about this and show them the results. But for such a thing to be effective, and to get over any potential ego problems, you have to make sure the rewrite is absolutely, clearly, obviously better (it should be shorter and more easily readable.) Your goal should be to make sure the programmer that is the target of the rewrite, considers the results to be a better approach that is worth emulating themselves. (Give a man a fish ...)

    Section 3.7 needs to be tied to the last paragraph of section 2.1. Scribbling over some "pristene" (sp?) code is irrelevant if you can easily recover it (which you can with good source control.)

    Re: 3.8 Unit testing -- my experience with this is a bit depressing. Unit tests always start out being a good thing, but over time, they are an extreme PITA to maintain. Unit testing is a good thing for what I consider *totally generic modules*. The reason being that truly generic modules do not evolve over time, while other code invariably does.

    Unit testing can only be effective if there in an enforced automated testing mechanism. I.e., a failure causes an automatic and non-negotiable rejection of code checked into the tree. I have found it remarkably difficult to convince people that such a policy is worthwhile. (SGI used to use such a mechanism, and, of course, it worked wonderfully for them.)

    Section 3.9 and 2.4 Belong together. How is 3.9 a team skill?

    Re: 5.2 How to Manage Third Party Software Risks

    In my experience, this is trivial -- rely on track record. Its more indicative than anything else. If the software has already shipped and has a history, then there is no problem. If it has not yet shipped (and you are hoping that it will in time for you to use it), then you are going to get version 1.0 software at best and more likely you are providing a beta test environment for the third party developer. Just put yourself in the shoes of the third party developer. In what way will they maximize the take away from their involvement in a relationship to sell you software? Remember business relationships can tend to dominate technical ones.

    Re: 5.4 How to Communicate the Right Amount

    In here you write: It costs its duration multiplied by the number of participants. Please underline and boldface this. It amazes me how managers don't understand this.

    Re: 6.1 How to Tradeoff Quality Against Development Time

    Remember that a good *design* will be resilient against poor code implementations. If good interfaces and abstractions exist throughout the code, then the eventual rewrites will be far more painless. If its hard to write clear code that is hard to fix, consider what it is wrong with the core design that is causing this.

    Re: 6.2 How to Manage Software System Dependence

    The harps back to a concept I referred to above as *totally generic modules*. These are just libraries that provide useful functionality and can take input without making any non-trivial assumptions, and contains no dependencies whatsoever.

    An example of this is the C run time library. A good example that will help make this clear is that the C run time library is able to provide a quicksort implementation without knowing anything about the underlying array it is sorting.

    State-less, assumption-free, zero-dependency code is very valuable. Its maintenance and development will be finite in cost, while its utility is on-going. Imagine the cost of rewriting the C library every time you use it.

    Impressing this upon programmers will help them recognize the value of reducing dependencies.

    Re: 7.2 How to Utilize Embedded Languages

    Ony option you seem to have avoided is the possibility of embedding pre-canned languages. The real problem with embedding a language is that useful language design is harder than you might think at first. People's aversion to using/learning it is bad enough, what happens when they uncover a flaw in your language that is fatal to its design? People who design real languages put a lot of work in them, that cannot be trivialized. Whipping up an embedded language is unlikely to yield the most stellar results.

    That said, there are currently numerous options for embedded other pre-canned languages. Python, Lua and Ruby come to mind. Before going off on some adventure of trying to design your own language, consider whether or not you are going to be able to do a better job than what you could do by embedding one of these languages. From my personal experience, I can tell you that Lua can be embedded in a few hours, and has probably the smallest learning curve of any language in existence.

  11. Thank you Michael ... on Top of the Crops 2002 · · Score: 1

    ... for putting this story in the correct category. You might like to educate some of the other editors here about which category UFO/Paranormal stories are supposed to be posted to.

  12. Re:power on Ask Kevin Mitnick · · Score: 2, Insightful

    Of course he couldn't start WW II by whistling into a telephone ... for crying out loud! Please don't send this question to Mitnick, it will only confirm to him the utter ignorance of /.

  13. Re:Why are we helping him build his business? on Ask Kevin Mitnick · · Score: 1
    • Kevin is famous for breaking into systems. In point of fact, he broke the law breaking into systems.
    Actually Mitnick is famous for cracking into Norad and being on the FBI's ten most wanted list. Both reported by hack writer John Markov for the NY Times, and both absolutely false. For people who have bothered looking into the details of the case, the things he did are hardly worthy of the imfamy that has been thrust on him.

    • He broke the law. Should we help him "make up for lost time" by helping him profit on his life experiences? I don't think so.
    His punishment did not fit the crime; the corrupt judge (Pfaelzer) and prosecutor (Painter) have never had to face up to their travesty of justice. Should we ignore such details when pronouncing judgement on what we think Kevin is or is not really guilty of? I don't think so.

    • Kevin broke the law, and did his time. Can't he just get a straight job like the rest of us and move on? Why must he be a hero? Why must /. get behind him?
    Because there is more to the story than "Kevin broke the law". He is not a hero, and I don't think he claims to be. He is celebrity, because it has been thrust upon him by John Markov of the NY Times. Kevin was punished unjustly, and has nothing to show for it except his faculties and his status as a minor celebrity. We get behind Kevin for the same reason we got behind Dmitry.
  14. Re:Making that a question on Ask Kevin Mitnick · · Score: 1
    • There are some people who feel that it is unfair for you to use your reputation as an infamous cracker to sell books and build your new consulting business.
    And do these people also think it was unfair of John Markov to GIVE him this inappropriate reputation?

    • They argue that you are being given a level of free publicity and exposure that other law-abiding citizens simply would not receive.
    Britney Spears (and any other celebrity whose photos make it to the tabloids) has more free publicity than most law-abiding citizens too. What the hell is your point?

    • Deep in your heart do you feel that it's unfair you are getting all this extra-special treatment but are willing to accept it anyhow because you need whatever help you can get?
    Hmmm ... lets see, 5 years of his life erased by a corrupt judge, then forced to avoid technology for another 3 years on the outside, and a criminal record, in exchange for a very modest amount of celebrity. If he can make positive use of this celebrity, more power to him.

    • Moderators: this is not a troll. I think this is a legitimate question that many people here would like answered.
    Uhhh ... I'm afraid it IS a troll, even in the moderators can't figure it out.
  15. Re:Skill sets? on Ask Kevin Mitnick · · Score: 1

    Well his computer network skills have probably fallen a bit behind, except to the extent that he can read about them. However his other skills probably have been unaffected (telephone system details and social engineering.)

  16. Re:Which OS? on Ask Kevin Mitnick · · Score: 1

    Sun was one of the people on the other side of the case against Mitnick. Apple, Microsoft and Intel were not.

    BTW, why did you leave out the possibility of using Linux? His GF is part of Tech TV which has given Linux actual real live television airtime. It seems he could probably absorb himself into the Linux community fairly easily.

  17. Re:Life Without the Internet on Ask Kevin Mitnick · · Score: 4, Informative

    He answered the question on the radio show Off The Hook (see the 10/16/02 show.)

    Although he cannot use the internet himself, he is allowed to observe other people who are using it, and talk about the webpage as they view it. Technically he has not been allowed to direct the persone browsing the web, but they sort of work around that via a series of "yes-no" questions.

  18. Re:Thoughts on Ask Kevin Mitnick · · Score: 4, Interesting

    Kevin is embarking on a project to leverage his social engineering skills. Look here:

    http://www.defensivethinking.com/

    He's going to be spending some time explaining his methods -- as opposed to using them.

  19. Re:No Offense meant, but.. on Ask Kevin Mitnick · · Score: 1

    Kevin has responded to this in other forums. Spending 5 years in jail (much of it in solitary confinement) is enough to leave a very strong impression on him. I don't think he'll ever want to cross paths with law enforcement again, and leaving "hacking" behind him will be necessary to be consistent with this.

    It will probably be tough for him, because of things like the DMCA, and the continued ineptitude of the legal system in the US, it means that just doing something simple like writing his own email client, or search engine (for example) might expose him to further abuse from the FBI (via that hack writer, Markov.)

  20. Update: ... on UFO Evidence From SOHO Satellite · · Score: -1, Flamebait

    Timothy has been tarred, feathered and ejected from the /. staff.

    God damnit. It was only a dream. Timothy -- let me guess. You got your education in america didn't you? You are part of that pathetic majority of people who *believe* aren't you?

    I will never get over the embarrassment of belonging to the same species as you. You are a monster, an ogre, a malformity. I barf at the very thought of you. You have all the appeal of a paper cut. Lepers avoid you. You are vile, worthless, less than nothing. You are a weed, a fungus, the dregs of this earth. And did I mention you smell?

    Try to resist the urge to post from your urges. Because of the existence of your older posts, evidence that you are a nincompoop will still be available to readers, but they will be able to read /. without the constant reminder.

    On a good day you're a half-wit. You remind me of drool. You are deficient in all that lends character. You have the personality of wallpaper. You are dank and filthy. You are asinine and benighted. You are the source of all unpleasantness. You spread misery and sorrow wherever you go.

    I cannot believe how incredibly stupid you are. I mean rock-hard stupid. Dehydrated-rock-hard stupid. Stupid so stupid that it goes way beyond
    the stupid we know into a whole different dimension of stupid. You are trans-stupid stupid. Meta-stupid. Stupid collapsed on itself so far that even the neutrons have collapsed. Stupid gotten so dense that no intellect can escape. Singularity stupid. Blazing hot mid-day sun on Mercury stupid. You emit more stupid in one second than our entire galaxy emits in a year. Quasar stupid. Your writing has to be a troll. Nothing in our universe can really be this stupid. Perhaps this is some primordial fragment from the original big bang of stupid. Some pure essence of a stupid so uncontaminated by anything else as to be beyond the laws of physics that we know. I'm sorry. I can't go on. This is an epiphany of stupid for me. After this, you may not hear from me again for a while. I don't have enough strength left to deride your ignorant comments about unimportant trivia, or any of the rest of this drivel. Duh.

  21. I knew it ... on UFO Evidence From SOHO Satellite · · Score: 1

    Its just like the Raeleans told us. They are monitoring us in flying saucers piloted by clone babies.

    Gooooogle girl!

  22. Lets get to the meat of the matter ... on MIT Spam Conference Conclusions · · Score: 4, Informative

    As usual, nobody is reading the article, and hence everyone misses the real meat. Ignore the silly web-zine hack writers and just go here:

    http://spamconference.org/

    The talks are online.

  23. A little armchair analysis ... on The End of the Free PCI Device List (Update) · · Score: 1

    Who does this hurt? -- Linux (and other alternative OS) developers. Make no mistake about it, it hurts them *A LOT*. While current known PCI device interfaces are unaffected, any new devices that come out will be harder to develop drivers for.

    Who is benefitted or otherwise neutral to this website going down? Intel, IBM, *MICROSOFT*, and a few other big name vendors on the PCI-SIG group.

    Using the same logic that tells me oil is at the heart of the reason why Bush wants to attack Iraq, I am lead to suspect that Microsoft is behind this cease and desist letter.

    Attn. theRegister/cryptome/theInquirer: There are many people that are part of the PCI-SIG group, surely there must be a whistle-blower among them.

  24. Try this more up to date page on Hacker's Delight · · Score: 1

    That page is old, and not kept up to date. Try this one for some more exotic, well explained and up to date stuff.

  25. Mod above to "-2 full of shit" on AMD's Fab 30 Revealed · · Score: 2

    I really wish apparently technical essays here were not scored by a god damned popularity contest ...