Live data from Hacker News

Drop millions of allocations by using a linked list

github.com

131–140 of 158 posts

Re: Drop millions of allocations by using a linked list

#131
post #3

Ruby people discovering algorithms ducks

> Ruby people discovering algorithms ducks

This was not a good comment to post to HN. When you toss a Molotov cocktail into an HN thread and "duck", here is what we are going to get:

  web programming people aren't familiar with even basic CS

  I stand before you as a counterpoint to your foolish generalisation

  Oh cute, a web dev. You've just reinvented 1975 [...] 
  Would you like a pat on the head?

  Stop whining

  your comment is bullshit

  you deserve a slap
For any large group like "Ruby people" or "web programming people", HN has many users who either identify with being part of that group or identify with not being part of it. Given the numbers, there will always be a few who are having a bad day or feeling defensive or what have you, enough to respond angrily when someone posts a slur. Then their counterparts feel attacked, and down the whole thing goes.

Social padding prevents disputes like this from turning ugly, but we don't have that on HN. Even when you know another user from their comment history, that's not much information. Imagination fills in the gaps and then we imagine the other in the worst light. That's why the community here is fragile.

To be a good community member, please don't post things that could easily set the thread on fire. If after editing them out, your comment has nothing substantive left, please don't post it.

Re: Drop millions of allocations by using a linked list

#132
post #44

Semi-related: does anyone know why installing gems is so ridiculously slow? What is the thing doing? Downloading tarballs, yes, but then? It's a dynamic language; there is no compilation or verification! Why can I install Ruby packages using apt almost immediately, when gem/bundle install takes half a coffee break? I'm growing more impatient with the years. I have measured out my life with slow software. We talk abou…

> Semi-related: does anyone know why installing gems is so ridiculously slow? What is the thing doing? Downloading tarballs, yes, but then? It's a dynamic language; there is no compilation or verification!

Source gems that include C extensions may well have compilation; there is also, IIRC, automatic doc generation in the usual, default gem installation.

> Why can I install Ruby packages using apt almost immediately, when gem/bundle install takes half a coffee break?

Because the apt packages are prebuilt for your OS and architecture, they don't need to resolve platform constraints, possibly build after download, and do doc generation after download.

Re: Drop millions of allocations by using a linked list

#133
post #17

Earlier quoted context omitted.

Annnndddd.... what reaction do you expect? "Oh, please come and do web development so we can bask in the glow of your self-righteousness and infinite knowledge of computers." /snark (apologies for being offensive, but good lord, what a silly statement - unless I missed the joke) I stand before you as a counterpoint to your foolish generalisation, and guess what, I know plenty of other people that don't fit your stere…

"Oh cute, a web dev. You've just reinvented 1975, but this time without algorithmic analysis. Would you like a pat on the head?" /snark Bluntly, web devs often screw up in the fundamentals of algorithmic operations and data. Web dev comes out of the horrific slap-it-up-i-tude of the HTML/Perl days of the mid-90s, and its tooling is still incredibly shoddy compared to desktop development. And the really fun part is? W…

I think you over-estimate the average skill of non-Web devs, and over-estimate the attention paid to performance even by groups who probably know what they're doing.

One example, from Chrome: https://groups.google.com/a/chromium.org/forum/#!msg/chromiu...

Re: Drop millions of allocations by using a linked list

#134
post #131
post #3

Ruby people discovering algorithms ducks

> Ruby people discovering algorithms ducks This was not a good comment to post to HN. When you toss a Molotov cocktail into an HN thread and " duck ", here is what we are going to get: web programming people aren't familiar with even basic CS I stand before you as a counterpoint to your foolish generalisation Oh cute, a web dev. You've just reinvented 1975 [...] Would you like a pat on the head? Stop whining your com…

Thank you.

Re: Drop millions of allocations by using a linked list

#135

Earlier quoted context omitted.

//TODO: //FIXME: ;)

Wink all you like, but I get a lot of value from greppable, well written fixmes directly in the source they pertain to. If I’m working on a feature and I discover some odd misbehaviour, there is often a comment right there in the source, explaining precisely what I need to do next.

Agreed. A # TODO: or # FIXME: lives in the code for all to see. I use ticketing & project management tools as well (Pivotal, Trello, others), but these tools are more useful for "X needs implemented and has measurable priority or Y needs fixed ASAP".

Things that we know need to be addressed, but the priority level is "when we have time" are better served living in the code. They tend to get lost in project management and ticketing systems, whereas they live until the code dies if they are in the code.

Re: Drop millions of allocations by using a linked list

#136

Earlier quoted context omitted.

"social changes from the pricing policy changes of marginal EC2 instances" sounds ridiculous when given this context, right? It changes when the context are not "marginal EC2 instances" but instead energy and resources burning machines, used (often) by ignorant software developers and their organizations allowed and actually encouraged, partly even actively driven into such purely self beneficial behavior models. For…

It sounds ridiculous because Amazon doesn't really control anything. The only result of their pricing change would be the switching to a competitor. It changes when the context are not "marginal EC2 instances" but instead energy and resources burning machines, used (often) by ignorant software developers and their organizations allowed and actually encouraged, partly even actively driven into such purely self benefic…

Obviously this is not about one provider of such easily affordable computing power.

Sure, the servers are more efficient than they used to be, and as stated elsewhere yes, because they are shared they are more efficiently used than machines which are not shared.

"they're actually cheap, both in terms of energy and resources."

... well I disagree with this: they are cheap to us because we don't pay adequately for them: not for the energy, the labor and not for the rare earth elements f.e. All of which quite conveniently is actually payed for in just very few regions of the world: by the people there.

Sure "the market" came up with this prices but the same market simply ignores certain kinds of costs, which are not visible to us. One name for those is: externalities. One of those is the "total energy budget" needed to build and dispose such a machine and the power needed when running the quite often ineffective apps. I'd add a whole bunch of political / sociological costs to that.

And yes, I know that the real "power benefits" of optimizing code just don't add up into a significant number today. I think this is due to the externalities we don't pay for. I can imagine a world where it would be economically justifiable to pressure for effective code. Today only the very big fish actually feel the need to make some of their code effective. The others just consumer what is already prepared for them: the machines already running at the centers.

As of the impact of the switch: I did NOT calculate. So you are technically right (probably ;) and only as far as you chose (maybe not consciously) the boundaries of your model ;)

When a few years ago the power consumption of data-centers appeared in the world wide energy consumption overviews, I guess "we" knew, yes they are a big deal.

Cheers

Re: Drop millions of allocations by using a linked list

#137
post #115

Earlier quoted context omitted.

Smugness: the dark-side of hubris. Hubris being one of the three virtues [0]. I like to remember the past of computer programming as though it was once friendly and receptive to people of all skill levels. I owe quite a lot to the geeks who came before me and answered my stupid questions, gave me powerful tools to learn with, and accepted my contributions; flawed as they were. Without making a few mistakes along the…

You can be proud of your achievements without being smug. Also, hubris being a virtue is crap. It may be decent for your self esteem but it makes you miserable to be around. Case in point: Larry Wall.

Agreed, hubris is not a virtue.

Merriam-Webster - hubris - "a great or foolish amount of pride or confidence"

It's just a synonym used for arrogance and smugness. Humbleness is a virtue.

Re: Drop millions of allocations by using a linked list

#138

Earlier quoted context omitted.

It sounds ridiculous because Amazon doesn't really control anything. The only result of their pricing change would be the switching to a competitor. It changes when the context are not "marginal EC2 instances" but instead energy and resources burning machines, used (often) by ignorant software developers and their organizations allowed and actually encouraged, partly even actively driven into such purely self benefic…

Obviously this is not about one provider of such easily affordable computing power. Sure, the servers are more efficient than they used to be, and as stated elsewhere yes, because they are shared they are more efficiently used than machines which are not shared. "they're actually cheap, both in terms of energy and resources." ... well I disagree with this: they are cheap to us because we don't pay adequately for them…

Sure, we don't pay for the full costs of running those machines.

But we also don't pay for the full costs of the stuff needed to have programmers optimize those programs.

A watt used to run an EC2 instance would become more expensive in the world you're suggesting - but so would the watt used to power the light while the developer worked on optimizing the code, or the watt used to power his car, etc.

So unless there's any particular reason why the costs of running EC2 instances are particularly less "priced in" than other costs, I see no reason to think the balance between the two options would change significantly.

When I say they're cheap, I mean relatively. Whether they're cheap in absolute terms (which is what you're arguing) is irrelevant to my argument.

To make an analogy, a bowling ball still weights more than a feather, even if you measure it on the Moon.

Re: Drop millions of allocations by using a linked list

#139
post #59

I'm not a ruby dev, so I guess maybe my perspective is not that great on this particular issue... but hats off to the dev with the fix, indeed this is how free software collaboration is supposed to work in my opinion. Even the dev with the fix wasn't rude about the original problem, he seemed pretty humble about it actually. If you think the Ruby guys are such shitty programmers you should be able to dive into their…

>so either give them a pull request or STFU

Most people have neither the time nor inclination to fix problems with the language they use. If I buy a power saw and it turns out to be a POS, I just won't buy that brand again.

Re: Drop millions of allocations by using a linked list

#140

Earlier quoted context omitted.

"Oh cute, a web dev. You've just reinvented 1975, but this time without algorithmic analysis. Would you like a pat on the head?" /snark Bluntly, web devs often screw up in the fundamentals of algorithmic operations and data. Web dev comes out of the horrific slap-it-up-i-tude of the HTML/Perl days of the mid-90s, and its tooling is still incredibly shoddy compared to desktop development. And the really fun part is? W…

I think you over-estimate the average skill of non-Web devs, and over-estimate the attention paid to performance even by groups who probably know what they're doing. One example, from Chrome: https://groups.google.com/a/chromium.org/forum/#!msg/chromiu...

It's less about skill and more about culture, knowledge, and the valuation of wisdom/knowledge within that culture.

but, yeah, I've seen some awful non-web code. :)

Post reply on HN