Slashdot Mirror


User: dkf

dkf's activity in the archive.

Stories
0
Comments
3,983
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 3,983

  1. Re:We need more interface description languages on Why We Need More Programming Languages · · Score: 1

    What we need is a better idl (http://en.wikipedia.org/wiki/Interface_description_language) or more of them. Ones that are performant, and able to do procedure calls, serialization/deserialization, etc.

    If it can do those things, it's no longer an interface description language. The point of an IDL is that it just describes the interface; you can't put the implementation in it and that enforces a clean separation of concerns. That's important.

  2. Re:Pffft. on Why We Need More Programming Languages · · Score: 1

    Fortran's long been known to perform math calculations better than most other languages (though that may not still be true).

    I suspect that has to do with how it lays out matrices (and other higher-dimensioned arrays) in memory, as a single contiguous memory block. Doing so in C or C++ requires doing the index arithmetic yourself, as their native higher-dimensioned arrays are implemented in a different way (more pointers, more flexibility, more cost). Nobody's really done that much comparison with anything else, though I'd suspect that both Java and C# could do quite well too as the extra costs of their runtimes won't matter too much for large-scale math work. Assuming the index arithmetic trick is used, of course. (Python's Numpy just hands off to a lower-level language for this work, which is fine but takes it out of this particular comparison.)

  3. Re:Pffft. on Why We Need More Programming Languages · · Score: 1

    There is no reason to use C rather than C++ besides programmer familiarity or compiler availability.

    And ease of deployment. It's significantly easier to deploy and maintain deployments of C apps than for C++ due to the fact that there is less entanglement across the boundaries of libraries. This perhaps isn't so important a consideration for developers working on early versions of the code, but it sure matters down the line.

    The problem is particularly acute when you've got a class in a public API that the caller is supposed to create and where any of its fields (including those of superclasses) are not part of the API. To see why this bites, suppose the object is allocated on the stack. That means that it has the size of slot in the stack allocated to be the size that the object was at the time of allocation, which in turn means that future versions of the library (that have an extra private field) will do a stack smash. Lovely! You can work around this of course (e.g., by keeping private parts in a heap-allocated object) but they really make everything much less elegant.

    In C, you'd always use the heap for this sort of thing and would just put the allocation in a function in the API. Like that, client code would never need to change at all as the library is updated: it's just so much easier to make a stable ABI with C, and it all comes down to exactly where the responsibility lies. (Yes, there's a small performance cost to this, but it does not seem significant in practice.) Techniques like this have been used to keep real deployed code working for over 10 years despite many updates.

    But before you take me wrong, understand that you can do this with many other languages too (and a lot of the rest simply don't need it). The issue is with C++ and especially with the ways that are presented as idiomatic uses of C++; some of the costs of those techniques are rather hidden but very real.

  4. Re:Talk about missing the point. on Why We Need More Programming Languages · · Score: 1

    Why is it that with these incredibly fast computers we have today that so many things feel like they run more sluggishly than they did twenty years ago?

    Probably because our computers run more background services, and too many programmers don't understand either parallel programming or the cost of copying. OO also doesn't help performance (since it tends to have poor locality of reference in its memory handling); it compensates by making many programs much easier to write and maintain, but the cost is there.

    But the wannabe programmers just say "we can get a faster machine and more memory".

    That worked very well for a long time. Of course, good programmers also take care to manage memory right and use sensible algorithms; those are the sorts of optimizations that are always a good thing (especially when spiced up with a little critical path analysis). The quip about "don't optimize" is to try to stop idiots from spending ages writing horrible code to make a rare code path faster even though it isn't and never will be a bottleneck. (Only ever optimize — below the level of choosing the right algorithm of course — once you have proved that it is needed by measuring that it is worthwhile.)

  5. Re:PC analogy on EFF Asks To Make Jailbreaking Legal For All Devices · · Score: 1

    Unless the EULA requires you to agree to binding arbitration...

    That would be a good example of a clause that I'd expect to be against local law and so be ignored by courts.

  6. Re:TV ain't broken? on TV Isn't Broken, So Why Fix It? · · Score: 1

    Seriously, there is about zero content that isn't badly drawn cartoons, sitcoms/dramas written so as to be palatable to 90-IQ types, straight-up propaganda, or infomercials.

    I agree, but I'm just trying to work out what the TV news counts as. (Probably not "badly drawn cartoons" but it's hard to be sure there.) Could you help?

  7. Re:IBM rules on IBM Makes First Racetrack Memory Chip · · Score: 2

    IBM is the company which gets the most patents awarded. Every single year.

    Sadly, in and of itself that means nothing. Patents vary widely in quality.

    Yeah, but most of IBM's patents are the good ones. Won't say all — someone's bound to find a counterexample — but the vast majority are in areas where patents work fine and have always worked. (For example, if you're doing advanced chip design then you're working in an area where there masses of IBM patents, mostly expired.)

    Patents are a problem only when they are unclear, over-broad, and insufficiently innovative. Alas, too many in the computing area are like that, but IBM's seem to be much less of a problem than most. Try picking on Apple or a patent troll instead.

  8. Re:"People are still...." on USPS Ending Overnight First-Class Letter Service · · Score: 1

    One guy with a hydraulic splitter does more splitting in an hour than a pro with an axe does in a day.

    He'll have to; that's a lot of capital to invest in splitting wood compared to an axe.

  9. Re:Of all time? on Patent Expires On Best Selling Drug of All Time · · Score: 1

    Surely Alcohol is the best selling drug of all time

    But it's a generic.

  10. Re:Pah! on Google Throws /. Under Bus To Snag Patent · · Score: 1

    Slashdot is a cyber-democracy in many ways.

    Especially the moderating- it is far from perfect- but it is better than most of the alternative methods.

    The only other system that I've seen that seems to actually function well is that used by StackOverflow (and related sites) where the big difference is that downvoting costs you karma as well. The amounts involved are small, but really discourage most abuses. (It also helps that there's a separate system for squelching truly irrelevant stuff too, and that the focus there is on answering specific questions and not discussing wider topics like what happens here.)

  11. Re:Google bashing thread! on Google Throws /. Under Bus To Snag Patent · · Score: 1

    That is an unpopular view cannot be heard.

    You can always get your own blog and have an unpopular view where it can be heard as much as it merits. But you can't actually force people to agree with you, or even to give a shit. That was true before the internet too.

    My experience of /. (both reading with lots of filtering and without) is that it is a bit random as to whether a well-written thoughtful post gets voted up at all, but such posts very rarely get voted down. A lot of what some people claim to be "minority opinion" is just badly written, with non-conventional spelling, poor grammar, badly explained ideas, often with no grounding in any measured reality at all. If you have a point of view that it is important to get heard, take the time to write it in a way that other people would wish to read and (particularly because this is a sci/tech community) be prepared to back it up with facts and to show that you're not just doing something obviously foolish like cherry-picking the evidence that supports your position while ignoring the rest.

    Unpopularity is not a sign that you're worth listening to. Writing well, well... it's not either but it is a heck of a lot closer. What I surely don't have time for is muttered rants.

  12. Re:also with the cloud lack of local control is pa on Does Open Source Software Cost Jobs? · · Score: 1

    also with the cloud lack of local control is part of it.

    Now say some says run adobe CS 5 or auto cad with our remote cloud based systems saving you the cost of buying high end systems.

    Now that may work at least for some time up till they force you to the next ver breaking older date files / makeing so you can't save files in a old ver.

    But you're going to get screwed over that way anyway. You got yourself into trouble the day you locked your key data up in a format that only a tools from a single commercial vendor can read. They've already got your data hostage; they've just not jacked up the prices to the max yet. The cloud doesn't change that much; you still want to manage your backups yourself and you want your data in open formats (or at the very least where there are multiple competing commercial vendors).

    Or say NO we can't install plug in X for you.

    Some cloud systems rips your data off.

    You have to download and reload data to move it from one app to a other as some cloud systems run each app in it's own VM that resets to the image on each boot.

    The bandwidth needs add up fast.

    So you can use the cloud badly (and you're a cheap-ass when it comes to bandwidth). Guess that means the cloud is terrible, impossible for anyone to use. Guess all those people using it successfully and efficiently are either stooges or fooling themselves, right? Or maybe, just maybe, you're over-projecting here a little.

  13. Re:I have problems with this on Muslim Medical Students Boycott Darwin Lectures · · Score: 1

    There are people who believe in witches, vampires, lizard aliens, the illuminati, secret underground military bases, secret underground alien bases, Yggdrasil, hell, heaven, purgatory, and valhalla.

    All at the same time? Wow. That explains California!

  14. Re:To all those who oppose it without thinking: on California Going Ahead With Bullet Train · · Score: 1

    Since neither [SF nor LA] has good public transportation they're going to need to be lots of car rentals and lots of parking, something not available at any current train stations. Let's hope they plan that.

    Why bother? That's the sort of thing that the private sector can figure out for themselves easily enough.

  15. Re:To be fair on Lego Bible Too Racy For Sam's Club · · Score: 1

    Evolution does not generate new species within a span of 6000 years.

    I think you're wrong there; there's evidence of speciation rates in higher animals faster than that in some parts of the world (some of the Galapagos finches? I forget exactly) and I think natural speciation has been observed at the 100-year timescale, as I remember seeing it reported recently (and a great many scientists were surprised to have detected it happening). However, what appears to actually be the case is that evolution (by natural selection) keeps species about the same for long periods of time, and then something happens to shake up some aspect of the environment and adaptation happens pretty rapidly.

    Which isn't to say that it's likely everything evolved in 6000 years. That's a stupidly short timescale for the scale of the natural world.

  16. Re:To be fair on Lego Bible Too Racy For Sam's Club · · Score: 1

    Well! Maybe on your planet.

    Due to the binding energy of the nitrogen-nitrogen triple bond, I think you'll find that N2 is not a good oxidation agent anywhere in the universe. (It might be a reasonable building material some places though.)

  17. Re:Steam on The Myth of Renewable Energy · · Score: 1

    You've got slopes though, so hydroelectric storage is practical (pump water uphill when the wind is blowing or the sun is shining; bring it downhill through turbines when the demand exceeds the supply)

    You just need the political will to dam some valleys. They did it in the 60s.

    The problem with the UK when it comes to hydro (of all kinds) is a shortage of suitable sites for large schemes (that aren't already in use). Either the topography is just wrong or the geology isn't suitable; you don't build reservoirs on top of limestone or chalk because you'll never seal them properly, and "mostly low and gently rolling hills" is truly unsuited to large reservoirs.

    That's before taking into account insane land prices and obstructive development control laws.

  18. Re:Just a variant... on Smart Meters Wreaking Havoc With Home Electronics · · Score: 3, Informative

    Medical devices, except when ABSOLUTELY necessary, should NEVER be wireless.

    Where the device is designed to be embedded in someone's body, it absolutely SHOULD be wireless since that allows it to be used without having to route a wire past the skin. RFI is not nearly as big a problem as infection...

  19. Re:Uh, yes. on Tool Kills Hidden Linux Bugs, Vulnerabilities · · Score: 2

    The poster actually provided one. "Enumerate all configurations". Start in every possible start state, run the program and stop once the machine reaches a previously seen state (that'll be an infinite loop, so the machine will never halt given that program and input), or halts. Since the machine can only have a fixed number of states (finite size) either of those two things will within at most N steps, where N is some fixed (probably very very large) number.

    Of course if you actually had a machine large enough (enough memory, CPU, etc.) to do that, you'd want to use that to actually run your program...

    Won't work.

    1. You underestimate just how much state will be required. Really. I've written code to do this sort of detection in the past (where the subject program was provably finite and small) and it took gigabytes of memory to tackle programs with only a few bits-worth of real state. (You can do better by working with a model of the program, but then you've got problems ensuring that the model actually correlates with reality.) Heck, I even found that Google's indexed the papers that I wrote on this and had published 14 years ago.
    2. It's provably impossible to solve in general, since you could use the solution to create a program that only stops if it doesn't and vice versa, which is pure nonsense. Moreover, if you could solve it you could also solve a whole range of advanced mathematical conjectures, as you just use the subject program to encode the search through possible solutions. The general halting problem turns out to trivially encompass just about the whole of mathematics!

    You can get tractable solutions using a ternary logic though: algorithms that say "I don't know" some of the time are eminently practical.

  20. Re:Welcome to the cloud! on Google To Shutter Knol, Wave, Gears · · Score: 1

    Is this the whole Wave with the web interface

    Why would you want that? While it was pretty enough, it was horribly hard to use (and harder still to use well).

  21. Re:This is a surprise on Debt Reduction Super Committee Fails To Agree · · Score: 1

    Note that tax increases accompanied by spending cuts are never a fair trade. Tax increases are generally permanent, and spending cuts are only meaningful till next year's budget is written.

    But sometimes them's the breaks. You've got to pay for what you spend, and can't do it just by borrowing.

  22. Re:Republicans and Taxes on Debt Reduction Super Committee Fails To Agree · · Score: 2

    The big questions should be what service should the government provide, and how should those services be paid for. Those services might or might not include Social Security and a military capable of enforcing the national will anywhere in the world. The payment mechanisms can include various forms of taxation and borrowing, though at the moment the outlook for using borrowing against future revenues (the Reps favored plan it seems, whatever they say) has taken a thorough battering because of the financial crisis so for where there is a desire to provide services then current taxes will have to provide a greater share of the burden of paying for it. Simple logic, really.

    What services should be provided? I have my opinions, but they're not really all that important (and not more so than yours).

    So rather than asking for more or less government spending, how about asking for efficient government programs for a change?

    Trying to get efficient spending is always a good approach, as it lets you do more with less (or just do more, or just do it with less). But it doesn't obviate the need to decide what to spend on, or the need to pay for everything. Nothing is free (but some things win big).

    IMO, there is a need to cut spending (e.g., there's just no need to be fighting lots of expensive wars) and there's a need to raise taxes (as borrowing is currently a bad thing to increase; thanks a bunch, Wall St!). It would also be good to cut social security, but that's an odd counter-cyclical spend anyway; the best way to cut it turns out to be getting as many people as possible into well-paying jobs. Everyone agrees that ending the financial crisis (well, crises and related recessionary period) would be a good thing. Using an alternate approach like just cutting the money to social securty will create other problems; e.g., it's likely to impact more of the economy, such a small businesses that sell to the poor, and it's likely to increase crime levels too (I don't like it and don't in any way claim that it's a simple effect with no personal responsibility involved, but the unemployed are more likely to be involved in crime and thats definitely a real thing).

    I don't have answers. I do know that refusing to give one inch on anything is a poor plan as it makes it harder to persuade anyone else to compromise either. That's just human nature.

  23. Re:Perspectives on MS To Build Antivirus Into Win8: Boon Or Monopoly? · · Score: 1

    Did you have the same worries when MS put a firewall in XP with Service Pack 2 in 2004?

    It was there before. It just wasn't switched on by default.

  24. Re:Anti-Trust on MS To Build Antivirus Into Win8: Boon Or Monopoly? · · Score: 1

    Linux, for example, permits viruses to be written. So does OS X. The reason why viruses do not proliferate on those systems is because they're not a particularly interesting attack target

    LOL you must be new to this "internet" thing or channeling 1995.

    Its not that Linux or OSX are immune, but rather that they are much more resistant; special steps that are removed from their normal practices have to be taken in order to get an infection going properly through the "easy" vectors, which frightens ordinary users off (really!) and prevents much trouble. Other routes (e.g., cracking a service) are tougher because there the service code seems to have actually been audited by sneaky security-aware types at an early stage (and then reaudited regularly) so there are very few actual holes; POSIX-y OSes are generally tough targets for non-social attacks and avoid the worst problems on the social side too.

    The problem for Windows isn't the underlying technology (for all that it is excessively complex) but rather the decades of entrenched bad practice across a whole ecosystem of programs, and fixing that is a lot of work (much of which will upset some programmers that have relied on the Bad Old Ways).

  25. Re:Really? on JavaScript JVM Runs Java · · Score: 2

    This

    This means it could run any language that compiles to byte code.

    shoud read as

      This means it could run any language that compiles to Java byte code.

    Technically, it's running anything that compiles to JVM bytecode. There are a number of languages that do that, one of which happens to be Java. (Yes, JVM stands for Java Virtual Machine and it would indeed be odd if Java didn't compile to it, but Java isn't JVM bytecode, just as C isn't native machine code.)