Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Comment Re:Analysis of Miguel's article (Score 2, Informative) 747

> I think .Net is a platform with technical merit
I have yet to see it. Really.

Might I suggest that you have yet to look?

C# and the CIL bring to the table:

  • Language independance: Build a class in Python, call it from Ruby. This is available today, not in the theoretical future.
  • Functional programming: lambda expressions, etc., conspicuously missing from java
  • Declarative programming: Linq -- seems like a silly idea until you've used it a few times, and you see how it can drastically improve performance on the back end, and code quality on the front end.
  • Your choice of strongly typed and dynamically typed mechanisms: Build a class using strongly typed semantics in the interest of verifiability, but make use of it in a dynamically typed application in the interest of development speed.
  • Speed: C# apps run nearly as fast as complied C; indistinguishable in many important cases.

If mono hadn't been an implementation of a standard proposed by Microsoft, it would have been hailed as god's gift to programmers.

Comment Re:don't listen to Stallman (Score 1) 747

He has no idea what the relationship between C#, CLR, .NET, and Mono is.

So you disagree with RMS: fine. But you're doing yourself a grave disservice by dismissing him as someone who doesn't know what they're talking about. Love him or hate him, he's a sharp guy who knows his stuff.

Stallman is a sharp guy who knows lots of stuff. But that doesn't mean he knows this stuff. RMS has a proud history of running on about things he disagrees with on principle without taking the time to fully understand them.

No one can be expected to understand everything about everything, and restricting someone with views as strong as RMS to only talking about things he fully understands would be an unacceptable handicap.

Comment Re:A matter of credibility (Score 2, Insightful) 747

There most definitely is a logical argument. In a word: patents.

Not really. You're just as likely to run afoul of a MS patent (even one relating to the .NET project) while working with Java or C. While patents are indeed a serious problem, the risk is not any greater using Mono.

MS already tried one legal tack to go after OSS, namely the SCO lawsuit. There's no reason to think they wouldn't try another.

The SCO lawsuit was perpetrated by SCO, not Microsoft. While MS was happy to see it happen, they weren't behind it, and contrary to some /. conjecture, weren't funding it.

Perhaps you're thinking of something else?

Comment Re:Glory! (Score 1) 333

May I be the first to say "amen"? I've been very dissatisfied with the 2.6 kernel and its schedulers on the desktop, CFS in particular. CFS seems entirely braindead for desktop use compared to the older schedulers in 2.4 and yes, even 2.2.

Oh yeah, and which other scheduler's, if any, did this guy write?

Actually, he wrote CFS. Or rather, he wrote the original implementation of CFS. Ingo Molnar re-wrote his implementation and announced it as if he had come up with the idea. At least, from Con's perspective that's what happened. That's why he left Linux development, and why he has no intention of trying to get his scheduler into mainline.

Comment Re:WWTBD? (Score 1) 389

This post is the utmost of absurdity. You create a strawman that is an awful piece of code, and then talk about why it sucks -- well, yeah it sucks, you deliberately crafted it to be so.

I realize that no one is going to read this now, but FWIW, here's an actual example from one of the most well-respected python projects in circulation:

def render_to_response(*args, **kwargs):
Returns a HttpResponse whose content is filled with the result of calling
django.template.loader.render_to_string() with the passed arguments.
httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)

You recognize it? Yep, that's one of the most commonly used functions in the Django project.

Comment FWIW (Score 4, Interesting) 624

Sheriff Joe has been in an ever-escalating power-war with the rest of the government in the various cities, counties, and state of Arizona. In the past few weeks, the plot has slightly thickened as there has recently been some evidence of, and outcry regarding, misconduct on the part of the Sheriff's office in regards to personal use of state funds. I won't bore you with the details, but the reaction of the Sheriff's office hasn't been one that, shall we say, increases public safety.

I can't even imagine why the Sheriff's office would want to seize the records relating to law enforcement within the state, but I'm sure he has a Very Good Reason.

Comment Re:WWTBD? (Score 2, Insightful) 389

What would the boss do? Maybe he'd come to the conclusion that Java and C# are for professionals while Python and Ruby are for hobbyists?

It is.

Dynamic languages are fast and fun, but writing maintainable code in Ruby or Python takes an absurd amount of time and discipline. Take the following real-world, not-at-all-uncommon example. Imagine you have the function "get_results", and you want to quickly determine what all the parameters do. So you have a look at the code:

def get_results(**args):
color = args.pop('color','red')
return generator(color=color).encode(_fetch(**args))

Totally, completely, useless. So you end up following a series of rabbit holes trying to track down the actual usage of these parameters -- and even when you think you've got it all figured out, you still can't be certain because the complex interaction of possibilities in a dynamic language means that you never know what details will end up later being significant.

In order for the thing to be maintainable, the comments would have to outweigh the code by a factor of about 3 to 1, and the documentation needs to be rigorously maintained so that it stays in sync with the code. If you're the original author, then no problem! You wrote the function, so you know what it does. But in a corporate setting with a team of 5 programmers and average turnover, this is a nightmare.

Languages like Java and C# are significantly more verbose and explicit than languages like Python. You're forced to spell everything out in excruciating detail or the thing just won't run. It's like being FORCED to write documentation as part of your program: functions and parameters need to be explicitly declared, class structures can't change shape during execution -- all the important decisions about the shape and usage of your code needs to be decided and written down, and can't be changed without updating all your definitions.

Python and Ruby are "fun" because they don't make you work. There's a cost to skipping all that work, though.

Comment Re:Hey Miguel (Score 2, Informative) 1008

Tell us how you know that Mono doesn't infringe on Microsoft's patents. Tell us how Moonlight doesn't infringe on Microsoft patents. Clear this stuff up.


I'm not sure you understand how patents work.

Mono is an implementation of the standards on which .NET is built. It shares absolutely nothing else in common with .NET. The Mono team can be absolutely certain that their product does not infringe on Microsoft's copyright on the code, but no one can ever be certain about whether or not their product infringes on anyone's patents. That's what makes patents so scary.

Likewise, Richard Stallman can never be certain that GCC doesn't infringe on Microsoft's patents regarding Microsoft's C compiler, or that Emacs doesn't infringe on any patents in Microsoft Word.

What's worse is that actually researching to see if there is any patent infringement opens you up to more danger, because if you looked, then you'd be subject to triple damages in any court case for knowingly infringing on a patent. This is why the Linux kernel team intentionally avoids researching Microsoft's patent claims regarding Linux.

Mono is neither more nor less susceptible to patent claims from Microsoft than any other project; be it Python, Ruby, Java, AbiWord, or Gnome-Terminal.


Submission + - Domain Registration Lost 1

Tyler Larson writes: "It seems that official Ruby On Rails website ( has turned into a parked advertising page. The WHOIS record for the domain lists the registrant as "Next Angle", administered by " LLC". David Heinemeier Hansson filed two years ago for a trademark on the phrase "ruby on rails," and he may or may not be able to use it to reclaim the associated domain name. It seems clear, however, that if BuyDomains has legitimately taken ownership of the domain--which currently has a Google PageRank of 7/10--they will not let it go without either a drawn-out fight or a very large payment.

For many organizations, their domain name has become their identity. What precautions do you take to make sure it doesn't get taken from you? What sort of contingency plan can you implement in the case that it does?"

Submission + - Potential conflict of interest in Pirate Bay case

Tarantulus writes: It seems the taste of victory for the music industry has become slightly bitter, after the Judge who sentenced the Pirate Bay crew to a 30m Krona fine has been discovered to be a board member of the Swedish Association for the Protection of Industrial Property and a member of the Swedish Copyright Association.

Of course he denies any bias, yet a juror in the case was dismissed for membership of the very same organisations.

IANAL but I'm guessing that appeal may not be necessary now..

Comment Re:Too late FBI (Score 1) 629

Because clearly the appropriate response when the behavior of a single party might or might not have decreased the potential revenue on a product for a single entertainment company is to do millions of dollars worth of damage to hundreds of other unrelated companies.

The FBI: think of it like heart surgery with a backhoe.

Comment DJB threw his hash in the ring, too (Score 2, Interesting) 146

MD6 by Rivest and Skein by Schneier et. al. seem to be getting a lot of attention, but another celebrity cryptographer, Dan J. Bernstein, also has a hash in this race, called "CubeHash."

DJB continued his tradition of offering cash rewards for people to find security problems with his code, giving out (so far) monthly prizes of 100 Euros to the most interesting cryptanalysis of CubeHash.

So far, the primary criticism of CubeHash is that it's slow, running some 10 to 20 times slower than many of the others in the competition. Dan brushes off this criticism by stating on his site: "for most applications of hash functions, speed simply doesn't matter."

To be honest, when compared efforts like MD6 and Skein, with their mathematic proofs of security, VHDL and other in-hardware reference implementations, and their amazing optimizations in both speed and efficiency (Skein can process half a GByte of data per second on modern hardware, and consumes only 100 bytes) -- entries like CubeHash seem to have that longshot underdog appeal, like a New Zealand soccer World Cup team.

Slashdot Top Deals

When a Banker jumps out of a window, jump after him--that's where the money is. -- Robespierre