HNHacker News
TopNewBestAskShowJobs

bionsuba

489 karma · joined May 16, 2012

[ my public key: https://keybase.io/jackstouffer; my proof: https://keybase.io/jackstouffer/sigs/HqoDTxnkiEc9LP0lis2zczS_CLmGRaPGSyBXdWUzmHI ]
submissionscomments
bionsuba··on Facebook’s Walled Wonderland Is Inherently Incompatible with News
Hideo Kojima keeps getting proved right:

    But in the current, digitized world, trivial information is accumulating every second.
    Preserved in all its triteness.
    Never fading, always accessible.
    The digital society furthers human flaws and selectively rewards development of convenient half-truths.
    You exercise your right to "freedom" and this is the result.
    All rhetoric to avoid conflict and protect each other from hurt.
    The untested truths spun by different interests continue to churn and accumulate in the sandbox of political correctness and value systems.
    Everyone withdraws into their own small gated community, afraid of a larger forum.
    They stay inside their little ponds, leaking whatever "truth" suits them into the growing cesspool of society at large.
    The different cardinal truths neither clash nor mesh.
    No one is invalidated, but nobody is right.
    Not even natural selection can take place here. The world is being engulfed in "truth."
bionsuba··on Atom 1.12 released
"International Keyboard Support"

And it only took them two and a half years!

bionsuba··on Mozilla has stopped all commercial development on Firefox OS
Sharp readers will note the tell for cognitive dissonance of deliberately misrepresenting my position twice in a row
bionsuba··on Mozilla has stopped all commercial development on Firefox OS
No, they shouldn't enter a market by trying to out do the established players at their own game. Microsoft didn't dethrone IBM by making a better mainframe.
bionsuba··on Mozilla has stopped all commercial development on Firefox OS
This outcome should have been obvious to everyone involved. The fact that it wasn't raises serious doubts about the Mozilla leadership.

You can't compete with Android by being slower, less responsive, and ship with less features.

bionsuba··on China is challenging the idea that censorship thwarts online innovation
I never said anything about Trump. We're talking about his supporters.

You cannot make blanket statements about the intentions of tens of millions of people.

bionsuba··on China is challenging the idea that censorship thwarts online innovation
> we're not all xenophobic Trump supporters, not even most of us

If one wishes not to be generalized, that person should abstain from doing it to others.

bionsuba··on Post Ghost Shutdown: An Open Letter to Twitter
The sad truth is (in the case of Reddit anyway) that allowing people to freely publish their opinions on your platform hurts your brand and your advertising revenue.

This is why /r/creepshots was taken down, despite being completely legal and within the Reddit rules. It damaged the brand.

Same reason why the "hate speech" against Islam was taken off of /r/news.

bionsuba··on Heavy Metal and Natural Language Processing
Fantastic article.

I wonder if the clustering method can be used/is used by apps like Spotify to create a list of "related bands", as the graph at the end was fairly accurate.

bionsuba··on We built voice modulation to mask gender in technical interviews
Yeah, but who cares?

I'm not making a normative statement here, I'm simply stating the fact that no one will come after you if you do this. Companies and colleges say all the time that they're looking for a specific ratio of races and genders and nothing happens to them.

bionsuba··on Microsoft to acquire LinkedIn for $26B
Yeah doing things without the user's permission is great. I just love it when my computer does a software breaking update for me.

Microsoft: Enjoy the safety (and the ads), because you have no choice.

bionsuba··on Gawker Files for Bankruptcy, Will Be Put Up for Auction
"A racist billionaire[1]"

Penn Jillette has a great saying on this (paraphrasing):

"Unless the person has explicitly said they're racist, claiming someone is racist requires the power to look into someone's heart, which no one has. The KKK and stormfront are very open that they are racists, and you can call those people racist because they say they are. You cannot make these sorts of claims without putting words into other people's mouth".

And you're putting words in someone's mouth. According to that article, Thiel believes that affirmative action is not helping the poor or disenfranchised, but is rather helping the middle and upper class people. Extrapolating racism from his statements is a giant leap in logic.

bionsuba··on A Grain of Salt
I, too read the article.
bionsuba··on Thiel shows why tech billionaires are the new robber barons
No one ever said it would.

There's a term for this (I forget it now), but what this person is doing is setting up an easy target to be torn down by creating a ridiculous opinion no one has. Then the author can be seen as the victor; it's really dishonest, and it should make everyone question the veracity of the whole article.

bionsuba··on Python 2.7 Retirement Countdown
That's incredibly naïve. Python 2 will be around and have new software written with it for at least a decade to come. Keep saying "Python 3 is the future", that will surely make companies invest in switching. Meanwhile ford still uses 40 year old IBM mainframes with COBOL, and will continue to do so until they are physically unable.
bionsuba··on The Looting of ShapeShift
Would you call a communist a hypocrite for buying food at a grocery store?
bionsuba··on Obama at SXSW: ‘Absolutist view’ on digital privacy cannot prevail
I've seen this argument against crypto currencies before and I alway found it bizarre. Do you honestly believe that the government's ability to tax you is predicated on it's ability to see how much money you have in your bank account and the ability to take that money? Taxes existed long before electronic records of money.
bionsuba··on GCC: Improve on memory cost in coloring pass of register allocator
"walter has not contributed a single patch to GCC i can find in the past 10 years (It may be longer, i stopped looking) :)"

It's worse than that. Because LLVM and GCC are copy-lefted and his compiler has a proprietary backend, he forces himself not to even look at their code in order to make the lawyers happy.

bionsuba··on List your accomplishments
In other words, the audience is completely emotional and is unable to see the good traits of someone because they don't like their politics.

HN everyone

bionsuba··on CodeReddit: Cover UI for Reddit at Work
80% of the article is still true. The biggest:

* It's 2016 and PHP still doesn't have a module system, Python had one in '91, Perl had one in '94, Ruby had one in '95

* inequality operators still have no === equivalent

* sorting is still indeterministic when you have null values because NULL < -1, and NULL == 0

* arrays are the only containers in the language and they simultaneously act as sets, lists, and associative arrays which fucks up almost all array functions because you don't know what they will do

* PHP has had exceptions for almost 10 years now and a lot of functions still require you to use their specific error function to tell if it failed. So if you don't call say json_last_error, your code will SILENTLY return the wrong thing

bionsuba··on Using D and std.ndslice as a Numpy Replacement
"how do I know that the calculations aren't actually optimized away in all that code I can't understand? E.g. what happens if you make f0() return the means array instead of being a void function?"

If you can't understand the code, how did you know it was a void function. Please stop with the hyperbole, it's not adding anything to the discussion.

Updated code:

    import std.range : iota;
    import std.array : array;
    import std.algorithm;
    import std.experimental.ndslice;
    import std.datetime;
    import std.conv : to;
    import std.stdio;

    enum testCount = 10_000;

    auto f0() {
        auto means = 10_000_000.iota
            .sliced(1000, 10000)
            .transposed
            .map!(r => sum(r) / r.length)
            .array;
        return means;
    }

    void main() {
        auto r = benchmark!(f0)(testCount);
        auto f0Result = to!Duration(r[0] / testCount);
        f0Result.writeln;
    }
Results:

    Python: 14.1 msec
    D:      41   μs
    D is 343.9x faster
"Given the same number of lines (or characters), are you sure you can't write equally fast Python code?"

IMO program size is an almost meaningless statistic outside of code golf challenges. LOC is not an indicative measure of code readability, usefulness, or organization.

For example, your Fortran code was 11 lines while the D function (with the return) is eight lines.

"I tested the Fortran version on a slightly slower computer (got 14.7 msec on the Python version). Fortran runs at 0.7 μs, i.e. > 55x faster than D, with less code that's more readable to boot."

Just goes to show why Fortran is still used in a lot of scientific areas.

But two things:

1. Fortran is a much simpler language than D or Python and is much harder to do multipurpose work in it (so I'm told from Fortran programmers, I don't know Fortran myself). So when your program needs to do anything other than number crunching, it's normally done in a separate language. Using D you can have everything in one code base.

2. This article was about Numpy and std.ndslice because those are two areas that I know about and Numpy is a very popular library. Bringing up Fortran's speed here is like commenting on how much faster C++ is in a thread about Ruby.

Also, readability is a subjective idea; I believe the D code is more readable than the Fortran you wrote. Different strokes.

bionsuba··on Using D and std.ndslice as a Numpy Replacement
"Increase the array sizes by at least a factor of 100 to get anything meaningful."

Ok, let's do that and see what happens:

    python -m timeit -s 'import numpy; data = numpy.arange(10000000).reshape((1000, 10000))' 'means = numpy.mean(data, axis=0)'
D code

    import std.range : iota;
    import std.array : array;
    import std.algorithm;
    import std.experimental.ndslice;
    import std.datetime;
    import std.conv : to;
    import std.stdio;

    enum testCount = 10_000;

    void f0() {
        auto means = 10_000_000.iota
            .sliced(1000, 10000)
            .transposed
            .map!(r => sum(r) / r.length)
            .array;
    }

    void main() {
       auto r = benchmark!(f0)(testCount);
        auto f0Result = to!Duration(r[0] / testCount);
        f0Result.writeln;
    }
Results

    Python: 14.1 msec
    D:      39   μs
    D is 361.5x faster
bionsuba··on Using D and std.ndslice as a Numpy Replacement

    you're benchmarking is python's speed of array instantiation vs. Ds mathematical speed. Its obvious that D will win.
Not true, the D code also has the overhead of array initialization. std.array.array is called which allocates the results of the range into an array on the GC, which everyone bemoans as being slow as a dog.

Plus, I don't see why this is an invalid benchmark when this is perfectly normal Numpy code, the kind that you see all the time. That was the reason behind the benchmark, to find some common piece of Numpy code and see how equivalent std.ndslice stacked up. I don't see how it's fair to say "Python is really slow at this one thing, so it's not fair to compare it to D in that area".

bionsuba··on Using D and std.ndslice as a Numpy Replacement
How is this clickbait? Did I in any way misrepresent the content of the article?

If you don't like D and don't want to use it move on to the next item on the front page.

bionsuba··on Using D and std.ndslice as a Numpy Replacement
As I stated in the article, I did not include the array creation in the benchmark in order to be fair to Numpy with its slow initialization times. The only python code that I benchmarked was the numpy.mean line.
bionsuba··on Using D and std.ndslice as a Numpy Replacement
The benchmarked code is ALREADY a comiled C function called from Python and it still lost.
bionsuba··on Using D and std.ndslice as a Numpy Replacement
I completely understand that for existing projects it might not make sense to switch, but as I say at the start of the article

    why you should consider D for your next numerical project.
bionsuba··on Using D and std.ndslice as a Numpy Replacement
Considering that in the benchmarked example, only one like of Numpy code was used which already uses compiled C, I have a hard time believing that that would catch up to using all compiled code.
bionsuba··on A Dead PC Game That Can't Come Back
The author of this article apparently feels the need to state every important point twice.

  Last week, Night Dive founder Stephen Kick and director of 
  business development Larry Kuperman emailed me to let me 
  know that while they had indeed planned to re-release No 
  One Lives Forever and its sequel, they'd hit a wall and 
  been forced to give up. ... Night Dive is currently 
  abandoning its efforts to revive No One Lives Forever.
bionsuba··on Fermilab Experiment Finds No Evidence That We Live in a Hologram
For those of us who do not wish to give page views to Gawker: https://archive.is/ybW22
← PreviousPage 2 of 5Next →