I've learned that Greatest X of all time usually just means, greatest A-hole of all time.
Because they absorb so much energy from the universe in order to fulfill their self serving destiny that they cannot help but be viewed as selfish. They quite literally demand the respect that they receive.
Call it the theory of conservation of human energy.
There's no doubt that Federer and other great sports figures are well mannered and handle their success with extraordinary grace. However, if your definition of a-hole includes 1) being ruthlessly competitive and/or 2) believing you are better than your competition (even if that hasn't been convincingly demonstrated), I'd wager many of these figures would fit the bill, Federer included.
Personally, I find 2) unbearably obnoxious, but it's something I'm willing to forgive if they provide evidence in the affirmative, as Federer certainly has. I think we have to permit a certain amount of elitism, because it would be dishonest to expect that these players refrain from acknowledging their positions within the respective pantheons of their sports.
Matz mentioned off hand at the last Ruby Conf that Nobu has been experimenting without the GIL. It's scary because running code without the GIL will expose a lot of existing concurrency bugs that have been safely hidden thus far. A lot of code works fine with the GIL, since it prevents the full parallelism that would exercise all possible race conditions, so it's unlikely they'd remove it in anything other than a major release, i.e. Ruby 3.0
An other issue, the one CPython has hit repeatedly when trying to remove the GIL — and the big sticking point for the core team in general — is that single-threaded performances of a naive interpreter suffer a lot when splitting the GIL: instead of a single lock which is taken and released relatively rarely, the interpreter has to juggle with many small locks which it has to acquire and release much more often. When David Beazley looked back on the GIL-less patch for CPython 1.4[0] he measured performance hits of 4x~7x.
Though in the case of CPython most of the cost comes from the refcounting. MRI is not refcounted so the performance hit of finer locking would probably be lower.
This is where JRuby / Truffle is exciting - JRuby's been exciting for a long time and never quite reached it's potential, but with these latest projects it could become the main ruby implementation - and these complex issues are already largely solved in the JVM.
I really doubt jruby will ever become the main ruby implementation, as awesome as it is. The fact is that too much of the ruby ecosystem is built on calling out to C, and jruby officially abandoned cext shimming a while back. And while ffi is good, it's often not nearly as flexible.
There's also the fact that because of slow startup times, the modify/test cycle can be quite frustrating compared to working with MRI.
The truth is that the vast majority of ruby applications never reach a point where the steady-state post-warmup performance of jruby with pure ruby outweighs the fast-startup moderate performance of mri+cexts. And ones that do reach that point often have a better case for moving to something else anyways (including other jvm technologies that can now be shimmed on via jruby and eventually replace the whole thing).
Truffle can reach faster performance in pure-ruby than MRI+cext. Agreed though, it'll be a uphill battle to change the interpreter of choice, and JRuby will have to have much faster startup to get it to work
That's awesome - so it'll have a JVM of sorts bundled within it but that's totally hidden, it runs just like MRI? How does memory usage compare - running JRuby on a 512mb dyno would be sweet.
What you + the jruby team is doing is truly awesome, at some point I'll have to try my hand at contributing to it :)
Yeah, but it's not just bundled - to me that it sounds like we just link against a JVM library to produce a binary. What we do is to compile the Ruby interpreter, the JIT compiler and the JVM runtime in one big step - whole program analysis.
Creating MRI/CPython/Perl5-style VM without GIL is not much harder than creating the same thing with GIL. But the problem is that converting existing implementation to not use GIL is comparable amount of work.
I agree, and I would argue that this type of development is more economic. People want cars because they will take you everywhere. Why are the futurists arguing for an outmoded dense city life, just so they can stare at their iPhones on the bus? Just look at the price of land or housing in dense areas and how they inevitably become centers for the wealthy.
I think the individual has always struggled against the system. It's just nature.
I'm just surprised anyone would be excited about Singapore. You need to get a permit to give any kind of free speech in the 'free speech area'. Unsurprisingly, they don't grant permits to people who want to speak their mind.
>You need to get a permit to give any kind of free speech in the 'free speech area'.
This information is out of date. They changed the law on that some years ago.
The 'free speech area' (Hong Lim Park) is just the only area where you can have a demonstration WITHOUT applying for a permit.
The normal anti-free speech laws applying (i.e. you're not allowed to incite racial hatred in Hong Lim Park either), but you're allowed to go there and demonstrate without a permit (with a few restrictions). IIRC, they held the pink dot rally there.
They had a protest against immigration somewhere up in the north east too. They allowed that to happen (protest application was clearly approved) even though they were protesting government policy and closely allied with the opposition parties.
These protest laws and their application aren't really a whole lot different to what you see in the west these days. You think the West does free speech better? Check out what they did to Occupy.
Dwarf fortress is amazing, the algorithms it must use must be pretty interesting, it would be interesting to piece it out and open source it.
Dwarf fortress also benefits from completely simplified UI. Meaning it can go really deep without worrying about how the rocks are generated. Does magnetite look like pyrite?
It already looks like the scope of No Man's Land has gotten out of hand, maybe it will offer some of the joys of dwarf fortress, but not if it's purely visual.
The author open sourced his last game, Liberal Crime Squad, and its... The work of a madman. IIRC it was one ~40kloc C++ file full of globals and switch statements 6+ levels deep.
I'm sure someone's cleaned it up some now, but it made me wonder if that (unpredictable spaghetti code) is what's required for truly dynamic behavior, the kind that you see in DF and (to a lesser extent) LCS.
This. There's a reason Toady won't open source Dwarf Fortress, and I think it is mainly because he is embarrassed. Toady has a masters in math, not CS.
Because they absorb so much energy from the universe in order to fulfill their self serving destiny that they cannot help but be viewed as selfish. They quite literally demand the respect that they receive.
Call it the theory of conservation of human energy.