Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Comments

top

Apple's App Store Needs a Radical Revamp; How Would You Go About It?

DickBreath Two things.... (249 comments)

How can Apple retain total, maniacal control by giving up some control?

about a week ago
top

Interviews: Ask Bjarne Stroustrup About Programming and C++

DickBreath Re:Defining subsets of C++ (425 comments)

While I personally like to deeply understand the languages I program in, I don't think it should be necessary for an average programmer to have to understand the entire language specification in order to use the language.

If you can't just grab some code online and expect it to work on your compiler, then this is a major design fail in the language.

I can understand a language having unspecified aspects, poorly specified aspects, or things that are well specified to act in a compiler defined manner. However those should be extremely obscure features that an average programmer, and average code would never use.

Even better, don't have any compiler dependent behavior in a language. Compiler extensions should be okay -- and they, by design, should cause a compile time error on a different compiler -- or alternately have a way of being ignored so you can stack compiler specific blocks together in a single source file. Although having a source file that only supports a specific list of compilers also seems like a bad idea.

I'm glad it is not an issue in the languages I use.

about a week ago
top

Interviews: Ask Bjarne Stroustrup About Programming and C++

DickBreath Re:Why is C++ such an utter pile of shit? (425 comments)

Yes, I should have put a smiley. And as another poster points out, I should not have put the semicolons. But It's been awhile since I used C / C++.

about a week ago
top

Interviews: Ask Bjarne Stroustrup About Programming and C++

DickBreath Re:Defining subsets of C++ (425 comments)

> We don't need sub-sets of languages. We _already_ have those when programmers don't use all the complicated and over-engineered parts of C++.

We don't need sub-sets of languages. We already have them when compilers don't fully implement the entire language. (Rewind to mind 1990's.)

about a week ago
top

Interviews: Ask Bjarne Stroustrup About Programming and C++

DickBreath Re:Why is C++ such an utter pile of shit? (425 comments)

There are optimizations you can use to improve your experience with C and C++.

Just insert these into your header files for both time and space improvements in your compiled code.

#define struct union; // uses less memory
#define while if; // makes code run faster

Now how can you say bad things about a language that is so easily improved?

about a week ago
top

Interviews: Ask Bjarne Stroustrup About Programming and C++

DickBreath Re:How do you feel about the haters? (425 comments)

> . . . all of this passion only exists because people are using ${SOMETHING}.

I feel passionate about SCO (in a strongly negative way), but not because they are important, popular, or their products widely used. I feel passionate about Clojure (in a positive way) despite that it is not presently one of the top programming languages. How many people use something can be irrelevant to the legitimate reasons people feel passionately about it.

about a week ago
top

Cisco To Slash Up To 6,000 Jobs -- 8% of Its Workforce -- In "Reorganization"

DickBreath Re:Thanks Edward. (206 comments)

Blaming Snowden for NSA abuses is like blaming Al Gore for Global Warming.

It is shooting the messenger.

If that messenger didn't tell us, some other messenger would have sooner or later. It was inevitable.

People only keep secrets (like global warming) when they feel it is their patriotic duty to do so for love of country. When they see widespread abuse, contrary to the values of a democracy, little or no oversight, and their peers feel the same way, it is inevitable that somebody is going to blow the whistle about global warming. If it hadn't been Snowden, it would have been someone else, eventually. This was never going to stay secret forever.

about a week ago
top

The IPv4 Internet Hiccups

DickBreath Re:Betteridge (247 comments)

The Mayans had predicted that we would run out of IPv4 addresses in 2012 -- and they were right.

about a week ago
top

Programming Languages You'll Need Next Year (and Beyond)

DickBreath Re:So much Fail. Ignore. (315 comments)

Faster is both a characteristic of execution runtime, and time required for software development / maintenance. That development time has become a major important factor. Time to market. Beat competitors. Also programmer time is now vastly more expensive than hardware time. Just throw a few hundred gigabytes of RAM and a few racks of CPUs at it. This is still WAY cheaper than adding another programmer. (And more programmers add a certain drag factor on the development.)

But overall, with an outstanding GC, and with JIT compilers that are the work of over 15 years of research (see JVM), you can achieve excellent performance. (See elsewhere in this slashdot where I describes some of the amazing things the JVM does. Also Google for why organizations, like Twitter, switched to Java. It may seem counter intuitive, but the results are real.)

about three weeks ago
top

Programming Languages You'll Need Next Year (and Beyond)

DickBreath Re:So much Fail. Ignore. (315 comments)

Yes, that!

Would you rather have your next whizbang software package one year sooner, but with let's say, 75% of the performance? Or would you rather wait an extra year (or more years) for a version that has somewhat faster execution? You can substitute any reasonable number for the 75%, like 50%, and this question might still get the same answer. Not only is software delivery faster, but less buggy. You can write bugs in high level languages, but you tend to write fewer of them because the abstractions are designed to protect you from certain classes of bugs. Structured programming to avoid GOTO spaghetti. Type checking. GC. Functional programming. Immutable variables. Immutable data structures. Automated reasoning. Logic programming. Computer Algebra Systems. Automated theorem provers. Etc. Pick whichever level of abstraction is suitable for your project. C is not perfect for everything, but it is simply wonderful for certain things. But that can be said for other languages as well.

about three weeks ago
top

Programming Languages You'll Need Next Year (and Beyond)

DickBreath Re:The programming language for the next 20 years. (315 comments)

Entire operating systems are written in C -- as they should be.

But C is a low level language. Not the best tool for writing applications.

Higher level languages and managed runtime systems have gained so much traction for a reason. They are very productive to use. They protect you from simple mistakes. The relieve the burden of memory management. GC simplifies library APIs by making the question of who should dispose of what become irrelevant. We could still be programming in assembly language instead of C. Why aren't we? Why aren't OSes written in assembly? Because C is more productive and higher level. Similarly, there are higher level languages than C, and they have their place. C is not the end all of abstraction.

about three weeks ago
top

Programming Languages You'll Need Next Year (and Beyond)

DickBreath Re:So much Fail. Ignore. (315 comments)

So much fail about Garbage Collection.

GC is not about forgetting to free memory. It's about higher level abstraction removing the need for the programmer to do the bookkeeping that the machine can do. Why don't we still program in assembler? Because it's less productive. It's about productivity. As data structures become extremely complex, and get modified over time, keeping track of the ownership responsibility of who is supposed to dispose of what becomes difficult to impossible, and is the source of memory leak bugs. In complex enough programs, you end up re-inventing a poor GC when you could have used one that is the product of decades of research.

The article fails to understand that you can also run out of memory in a program using GC. Just keep allocating stuff without and keeping references to everything you allocate.

Reference Counting is not real GC. Cyclical data structures will never get freed using reference counting.

One of the major, but under-recognized benefits of GC, which the article fails to mention, is that GC allows much simpler ''contracts' in APIs. No longer is memory management part of the 'contract' of an API. It doesn't matter which library or function created an object, nobody needs to worry about who is responsible for disposing of that object. When nobody references the object any more, the GC can gobble it up.

On the subject of Virtual Machines, the article could mention some of the highly aggressive compilation techniques used in JIT compilers. So every method in Java is a virtual call. But a JIT compiler knows when there is only one subclass that implements a particular method and makes all calls to the method non-virtual. If another subclass is loaded (or dynamically created on the fly) the JIT can recompile all methods that call the method such that they are now virtual calls. Yet still, the JIT may be able to prove that certain calls are always and only to a specific subclass, and so they can be non-virtual.

The JIT compiler in JVM can aggressively inline small functions. But if a class gets reloaded on the fly such an the body of an inlined method changed, the JIT will know to recompile every other method that inlined the changed method. Based on the changes to the method, it may or may not now make sense to inline it -- so the decision on whether to inline the method can change based on actual need.

The HotSpot JVM dynamically profiles code and doesn't waste time and memory compiling methods that do not have any significant effect on the system's overall performance. The profiling can vary depending on factors that vary from system to system, and could not be predicted in advance when using a static compiler. The JIT compiler can compile your method using instructions that happen to exist on the current microprocessor at runtime -- something that could not be determined in advance with a static compiler.

All of this may seem very complex. But it's why big Java systems run so darn fast. Not very many languages can have tens or even hundreds of gigabytes (yes GB) of heap with GC pause times of 10 ms. Yes, it may need six times the amount of memory, but for the overall benefits of speed, the cost of memory is cheap.

about three weeks ago
top

London Police Placing Anti-Piracy Warning Ads On Illegal Sites

DickBreath Re:pre-crime (160 comments)

Copyright enforcement and due process seem to be mutually exclusive.

You could even say copyright enforcement is mutually exclusive with justice and proportionality.

about three weeks ago
top

London Police Placing Anti-Piracy Warning Ads On Illegal Sites

DickBreath Re:IP Crime? (160 comments)

Look, crimes actually CAN be committed using computers.

Don't believe me? Just ask anyone who has been hit over the head with a computer.

about three weeks ago
top

Dutch Court Says Government Can Receive Bulk Data from NSA

DickBreath What about a mutual spying arrangement? (109 comments)

If we pay you to spy on our citizens, because we're not allowed to do it ourselves, then will you pay us to spy on your citizens because you cannot do that yourself?

It's good for the global economy because money changes hands. (Nevermind that no actual goods or benefits to society are procduced.)

Everyone is happy. (Nevermind citizens in the global police state.)

about a month ago
top

Dutch Court Says Government Can Receive Bulk Data from NSA

DickBreath Re:At least they're open about it. (109 comments)

They can be open about it because the citizens no longer have any recourse against them. Voting? Don't make me { laugh | cry }.

about a month ago
top

Lenovo Halts Sales of Small-Screen Windows 8.1 Tablets Due To "Lack of Interest"

DickBreath Re:Lenovo is overpriced (125 comments)

Lenovo is a Chinese maker.

And they are offering these at low prices -- in the developing world -- because nobody in the western world wants this Windows 8 crap.

about a month ago
top

Lenovo Halts Sales of Small-Screen Windows 8.1 Tablets Due To "Lack of Interest"

DickBreath Re:Never liked small screens with any OS (125 comments)

It's not the size of your screen, it's how you use it.

But I guess that line is only said by people with small screens.

about a month ago
top

Lenovo Halts Sales of Small-Screen Windows 8.1 Tablets Due To "Lack of Interest"

DickBreath Re: Why and how is it "fortunate"? (125 comments)

They have to firesale those devices in developing countries. In the US, the EPA isn't going to let them just bury them in a big hole in the ground. The Windows 8 software might leak into the soil causing a massive ecological disaster.

about a month ago

Submissions

top

Apple Bounceback patent FINAL rejection from USPTO affects Samsung damages

DickBreath DickBreath writes  |  about a year ago

DickBreath (207180) writes "I knew when Apple won against Samsung that it was just a little bit too soon for Apple to start counting those billions. According to Groklaw Apple's '381 patent has received a final rejection from the USPTO. This will have a huge effect on the damages Apple won in the Apple vs. Samsung I which is still in appeal. Apple and Samsung are squabbling over whether the Apple vs Samsung II trial should wait on the outcome of the appeal of Apple vs Samsung I."
top

Hell Freezes Over: SCO vs IBM trial back on again

DickBreath DickBreath writes  |  more than 2 years ago

DickBreath (207180) writes "It looks like the lawsuit SCO started back in March 2003 against IBM (but really against Linux) is back on again.

SCO first filed this clue-challenged lawsuit in March 2003. SCO claimed Linux was contaminated with code IBM stole from UNIX and that it was impossible to remove the infringement. Therefore, said SCO, all Linux users owe SCO a license fee of $1399 per cpu — but since SCO are such great guys, for a limited time, you can pay only $699 per CPU for your dirty infringing copy of Linux.

Of course, Novell claimed and later proved in court that SCO doesn't even own the copyrights on UNIX that it is suing over.

IBM claims there is no infringing code in Linux. SCO never provided evidence of the massive infringement it claimed existed. The source ordered SCO three times to produce its evidence, twice extending the deadline, until it set a FINAL deadline of Dec 22, 2005 — which came and went — with SCO producing nothing but a lot of hand waving. Meantime, SCO filed for bankruptcy protection in September 2007 because it was being beaten up in court so badly with the court going against SCO."

Link to Original Source
top

SCO is Toast! Court Rules: Novell owns UNIX.

DickBreath DickBreath writes  |  about 7 years ago

DickBreath writes "Judge Kimball has ruled in the SCO vs. Novell. See it here on Groklaw.

SCO does not own Unix copyrights. Therefore, SCO has no standing to sue IBM re: Linux.

Example of standing: Jane cannot sue Bill for sealing John's tires. Jane does not have standing. (although John has standing to sue Bill for stealing his tires.)

SCO does not have standing for the lawsuit it filed against IBM back in Mar 2003. SCO was hoping to win $5 Billion from IBM, and then charge every Linux user $699 per cpu.

There is not yet an outcome in the IBM case. But I would be willing to bet we'll see some action RSN."

Link to Original Source

Journals

DickBreath has no journal entries.

Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>