Live data from Hacker News

Drop millions of allocations by using a linked list

github.com

31–40 of 158 posts

Re: Drop millions of allocations by using a linked list

#31
post #19

Earlier quoted context omitted.

I keep repeating myself on Hacker News, but once more, we've found the difference between Software Engineer and Computer Scientist. One makes things work, the other is a mathematician. Why do we keep conflating the two?

Because you cant be good at either without having an element of the other. Ideally, they overlap.

Ideally they do overlap. But we don't call people who design bridges physicists even though they know a shitload of physics.

Our field is maturing. These difference are only going to become more important.

Re: Drop millions of allocations by using a linked list

#33
post #30

Earlier quoted context omitted.

From working with Ruby guys its normally 1. Make it work 2. Spin up more AWS boxes

Nothing's wrong with spinning up more AWS boxes. If it costs 300$ annually to solve a problem that would cost 5k$ in development to fix, I believe it's a wise choice. Yeah, down the line you will eventually have to do optimization, but you will prioritize.

A agree somewhat, but I've seen 10 box systems that could run on raspberry pie with good code

Re: Drop millions of allocations by using a linked list

#35
post #19
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…

I keep repeating myself on Hacker News, but once more, we've found the difference between Software Engineer and Computer Scientist. One makes things work, the other is a mathematician. Why do we keep conflating the two?

You should be careful with the term engineer. By definition, engineering is the application of scientific and mathematical knowledge to solving practical problems. Without knowing and understanding the science and math behind computing and software, one can hardly claim to be a software engineer.

Re: Drop millions of allocations by using a linked list

#36

Earlier quoted context omitted.

I completely agree that software development is such a vast field that it is completely impossible to be proficient in everything. I am kind of a lamer in web development, for example. But fundamental CS is a different thing. "Annnndddd.... what reaction do you expect?" Admitting your shortcomings and try to fix them is not an option at all? When some central web frameworks do lamest mistakes like making an O(n^2) qu…

Almost everyone does do lamest mistakes at some point, e.g.: goto:fail - https://news.ycombinator.com/item?id=7281378 shellshock - https://news.ycombinator.com/item?id=8365110 I'm sure whoever wrote this would feel a little chagrin when coming back to their code and seeing how inefficient it was (though it got the job done when the lists were small), and they probably would admit their shortcomings, why wouldn't they…

Mistakes come for different reasons: the human brain's limitations; carelessness; bad methodologies; ignorance.

I was talking about the last one here.

"PS Rubygems isn't a web framework, it's a package management tool, so the straw man you're hacking away at is the wrong one."

My statement about web frameworks was not about RubyGems, it was about web frameworks, and it was an example of the state of affairs in web development.

Re: Drop millions of allocations by using a linked list

#37
post #6
post #3

Ruby people discovering algorithms ducks

Really. Every time I whine publicly how web programming people aren't familiar with even basic CS, I get a slap. But really, I should move to web programming. I'll be an expert computer scientist there, probably.

That's a bit strongly worded, but I also see the pattern of people who came into computing from the Web direction rediscovering basic principles of computing and computer science. Similarly, the NoSQL community seems to slowly be discovering why traditional relational databases work the way they do, why supplying correct and durable replicated storage with high performance is difficult, and why some of the features that NoSQL threw out along side SQL itself in the name of simplicity and performance are actually quite useful and occasionally important.

Re: Drop millions of allocations by using a linked list

#38
post #30

Earlier quoted context omitted.

From working with Ruby guys its normally 1. Make it work 2. Spin up more AWS boxes

Nothing's wrong with spinning up more AWS boxes. If it costs 300$ annually to solve a problem that would cost 5k$ in development to fix, I believe it's a wise choice. Yeah, down the line you will eventually have to do optimization, but you will prioritize.

In a certain, quite limited model of economics that could actually be named as "wise".

Once a more holistic view is taken, wide spread total costs and benefits are taken into consideration, once costs are not only defined as money flowing out of my own pocket, once not only "Gesinnungsethik" but also and more importantly "Verantwortungsethik" gets applied, well,

in such a world we would probably wish, that Amazon would change its pricing policy to:

- get the first 2-5 AWS instances almost for free

- and pay for the next few 100 exorbitantly much more money.

We all would benefit from the cultural, technological and social changes this would help to spark, I think.

But who am I to question current culturally entrenched "economic" thinking...

Re: Drop millions of allocations by using a linked list

#39
post #34

Nobody show this to Bjarne Stroustrup https://www.youtube.com/watch?v=YQs6IC-vgmo

AFAICT, this performance bug is not at all related to the linked-list vs. vector issue.

Yes it does: vectors are good for random access, linked-lists are good for doing stuff in the front/back of the list. The performance bug we have here is solved by finding a way to insert stuff at the front/back (and also going through each item in the list); there is no need for random access.

Re: Drop millions of allocations by using a linked list

#40
post #30

Earlier quoted context omitted.

Nothing's wrong with spinning up more AWS boxes. If it costs 300$ annually to solve a problem that would cost 5k$ in development to fix, I believe it's a wise choice. Yeah, down the line you will eventually have to do optimization, but you will prioritize.

A agree somewhat, but I've seen 10 box systems that could run on raspberry pie with good code

I've seen them. I've worked on them. But again, where's the cost/benefit?
Post reply on HN