HNHacker News
TopNewBestAskShowJobs

scott_s

34,207 karma · joined March 2, 2008

Computer science research and systems software development.

http://www.scott-a-s.com

submissionscomments
scott_s··on Drop millions of allocations by using a linked list (2015)
No, and that would make a great empirical study. (Maybe there has been one! I should check ISMM over the past decade, someone may have done it already.)

From first principles, the biggest difference is that manual memory allocation can't move live objects around. But manual memory managers do still have the ability to be smart on deallocation, to the point that calling free will sometimes cause things to happen that would be similar in a garbage collector.

scott_s··on Drop millions of allocations by using a linked list (2015)
Often, yes, you're better off just using the general purpose memory allocator.

I think the replies to your comment are unfairly giving you a hard time. Modern memory allocators are quite good. Before spending the time to roll your own allocation strategy, first do the experiments and analysis to convince yourself that memory allocation is even a performance problem. Once you've done that, do some work to implement a naive allocation strategy yourself and compare it against the standard allocator. If you're not outperforming it by a lot, work on it for a week. If after that week you're still not outperforming the standard allocator by a lot, just use the standard allocator.

Yes, sometimes optimizing for your exact use case can yield performance benefits. Buuuuuut... the chances that your use case actually falls out of what the general allocators have been designed for is small. And the people implementing the general purpose allocators are really good. They've optimized things you're not even aware of yet.

One random tidbit actually in favor of doing your own allocation: malloc and free are (in most compilers, I believe) always going to be function calls. Sometimes the benefit you get from rolling your own is just the benefit of eliminating a function call and inlining allocation code. ¯\_(ツ)_/¯

scott_s··on Drop millions of allocations by using a linked list (2015)
As someone who worked on memory allocators in a past life: cosign. Size-class based allocation for small objects is how modern memory allocators have worked for a long time now. I'm genuinely baffled by how many people think that the bump-pointer allocation for same-sized objects is unique to garbage collection.
scott_s··on Little OpenMP* Runtime
OpenMP is not object-oriented. It is the correct version of what you alluded to, with 24 years of meeting the needs of the high-performance computing community.
scott_s··on Little OpenMP* Runtime
First sentence:

> LOMP, short for Little OpenMP (runtime), is a small OpenMP runtime implementation that can be used for educational or prototyping purposes.

scott_s··on Bastion of the Turbofish (2020)
And I have never internalized it! This is me, but for `typename` and `template` in expressions: https://xkcd.com/1168/
scott_s··on Bastion of the Turbofish (2020)
It's a straight-forward rule that (I think) I have mostly internalized. But coming from C++, I was initially mystified.
scott_s··on Bastion of the Turbofish (2020)
As someone who has been interested in Rust for a long time but has only in the past few weeks had the opportunity to use it in non-trivial ways, which of course then involves lots of documentation reading: Thanks, Steve!
scott_s··on Bastion of the Turbofish (2020)
Yes, and googling around for this rule is what landed me on this epic poem and test.
scott_s··on IBM has cut its blockchain team down to almost nothing – sources
And the point myself and others are making is that you can get that without using blockchain. Blockchain is a specific technology that requires proof-of-work among distrusted actors for modifying a cryptographically secure distributed ledger. It sounds like you just want a cryptographically secure distributed ledger.
scott_s··on Bastion of the Turbofish (2020)
If you're wondering, "What is the turbofish?", it is the awkward syntax Rust requires when specifying generic arguments in an expression, such as:

  Vec::<u8>::new()
scott_s··on IBM has cut its blockchain team down to almost nothing – sources
Then you don't need blockchain. Once you have trust among the participants, you don't need blockchain.
scott_s··on IBM has cut its blockchain team down to almost nothing – sources
How?
scott_s··on Let's Not Dumb Down the History of Computer Science (2014)
That is an absurd take. For all fields, most people are on the outside. Historical work for most people - produced by those on the outside - is how our society and culture understands itself.

I recently finished an excellent one volume history of the Civil War, "Battle Cry of Freedom." It was written by James McPherson, a historian. This book has informed my understanding of not just the Civil War, but also the lead up to it. I believe this context is essential for understanding where we are now.

scott_s··on Sealioning
Good faith.
scott_s··on Why isn't differential dataflow more popular?
Myself and a few others have done a lot of research on performing sliding window aggregations updates without recomputing everything. Our code is on github, and the README has links to the papers: https://github.com/IBM/sliding-window-aggregators
scott_s··on Have we already been visited by aliens?
Ballooning spiders as well.
scott_s··on Impact of travel and circadian disruption on athletic performance
ESPN had an excellent piece in 2019 on how grueling the NBA travel schedule is for players, mainly in how it disrupts their sleep: "NBA exec: 'It's the dirty little secret that everybody knows about'", https://www.espn.com/nba/story/_/id/27767289/dirty-little-se...

HN discussion: https://news.ycombinator.com/item?id=21251094

scott_s··on Books helped South African man overcome homelessness
Fundamentally, homelessness centers around being unable to maintain a home.
scott_s··on Books helped South African man overcome homelessness
Seconded on recommendation for "Evicted". Mathew Desmond provides a clear description of the interactions of racism, poverty and homelessness. He has both the stats and real stories of people he profiles. The book deeply affected how I think about those topics.
scott_s··on 'Rent-a-person who does nothing' in Tokyo receives endless requests, gratitude
This reminds me of one of the most insightful quotes about loneliness and grief I read in one of the most insightful essays on loss and grief:

I was reminded of our friend Liz’s insight after she lost her husband to melanoma. She told me she had plenty of people to do things with, but nobody to do nothing with.

From "The Day I Started Lying to Ruth" by Peter B. Bach, https://nymag.com/news/features/cancer-peter-bach-2014-5/

scott_s··on GNU Units
Boost also has a C++ library: https://www.boost.org/doc/libs/1_65_0/doc/html/boost_units/E...
scott_s··on GitHub blocks entire company because one employee was in Iran
When I did some googling, I found an article from 2012 about sanctions enforcement (https://www.itproportal.com/2012/10/26/ibm-questioned-over-a...). I am unaware of new behavior regarding sanctions enforcement, although I know that the current administration imposed additional sanctions. But my understanding is that with existing sanctions, this is what the US government has always done.
scott_s··on GitHub blocks entire company because one employee was in Iran
The government where the commercial company is based expects the company to do so, and will hold that company accountable if they do not.

You may not agree with this situation, but it is how it works. The US government will investigate and penalize companies that violate US sanctions, even if the parts of those companies involved did so entirely outside of the US.

scott_s··on Castlevania III Password Algorithm
As a kid, I was dumbfounded that passwords worked on NES games, and Castlevania III was my first introduction to the concept. I still remember staring at the screen not comprehending how putting in this combination of icons would get me my game back. I knew there’s no way they could manually create a password for every game state, but I also had no conception of discrete states, algorithms and hashing, so I literally could not conceive of how this thing in front of me worked.

It is personally satisfying to finally get a complete understanding (even though I long ago understood it conceptually).

scott_s··on Evidence of “modified gravity” in 150 galaxies bolsters dark matter alternative
> "The ________ theory/hypothesis is fringe, the consensus is ________" is argument by authority.

That is not an argument, so it can't be "argument by authority." It is a framing.

scott_s··on Flanderization
Seinfeld is an outlier, I think, because the characters are purposefully unsympathetic. You like watching the characters, but you don't like them. You wouldn't want to spend time with them. That means you're never rooting for Jerry to find a satisfying relationship, Kramer to finally succeed in a scheme, Elaine to finally leave the group or George to find fulfillment in anything. Rather than making the reversion to status quo painful, it becomes funny and cathartic. The fun basically becomes watching them be and make each other miserable.
scott_s··on Flanderization
Avoiding this was one of the brilliant parts of The Good Place: after the first episode, I thought I knew where the rest of the season was going to go. I was completely wrong, and they fulfilled that arc in the first three episodes. I think the showrunner consciously avoided the sitcom trap of always maintaining the status quo which was satisfying because the situation kept constantly evolving. Which is important, because one of the themes of the entire show is that people can change.
scott_s··on Flanderization
I have a personal theory where the character from 30 Rock, Tracy Jordan as played by Tracy Morgan, is an example of reverse Flanderization. In the first episode, his character has a breakdown and is wandering the Brooklyn Bridge in diapers swinging a fake lightsaber screaming “I’m a Jedi.” It’s hard to get crazier than that. Tracy stays crazy, but the novel stuff because his normality. In the mid-seasons, they have arcs where he hates partying and has never cheated on his wife - despite the image he has created that imply those things.

He never becomes normal, but he starts out over-the-top. When a character starts there, sometimes showing normal behavior is more surprising than trying to be even more over-the-top.

scott_s··on Shitlist Driven Development (2016)
No. But when it's not explicitly mentioned as support, it can appear as an implicit contradiction to readers. We also want the discussion about an article to build on what the article proposes, and explicitly tying comments to the article help with that.
← PreviousPage 7 of 34Next →