skysight-inc/HackerNews huggingface dataset:
You arguably don't need that many data structures in a game engine, almost everything is tightly packed in linear arrays. Even hash-maps are frowned upon. The single most used structure I've seen in engines is the plain old array because of cache locality. Everything is pre-sorted, pre-looked-up and pre-crunched so the main use-case is a straightforward linear traversal with as little branches as possible. Also templates can greatly affect compilation times which are already horrible on projects of such magnitude.

On the last AAA game I worked on we had very tight memory constraints and running about a dozen threads. Almost all of them used the minimum stack size except for the main thread. There were still a lot of stack allocations, but only for very small temporary objects and when the call stack was known to be shallow. Using megabytes for stack sizes would consume a noticeable percentage of the available memory which was direly needed elsewhere.

I've seen one game using shared_ptr and it was far from being great. There's a big overhead to it when compared to custom allocators. You can't easily optimize for cache locality with shared_ptr (as far as I know!) and working around enable_shared_from_this can be a real pain. With custom allocators you can easily optimize according to the use-cases.

Finally, templates are required to know their type at compile time, which for things like allocators is just not possible in many cases. For example, we used a bump-the-pointer allocator for a frame's temporary values which could be of any type but still needed cache locality. We also used a fixed-size allocator when avoiding memory fragmentation was more important than cache locality. Both would be impossible to do on anything but void*.
> Evolution needs death to work.

Wouldn't it be, "evolution needs birth to work"? Death only helps evolution insomuch as it helps birth. Death often does help birth because old genes aren't hanging around using up all the resources and preventing the birth of new genes.
Master Tag Manager with Google's Analytics Academy
This is good food for thought. Yes, working through a niche has been a good "in" for some languages.
If you're new to Elixir, I highly recommend Dave Thomas' book "Programming Elixir"

https://pragprog.com/book/elixir/programming-elixir

From the website:

"You want to explore functional programming, but are put off by the academic feel (tell me about monads just one more time). You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers."
Things to know about the next iPhone
But there are no "international legal means" without the ability to threaten consequences. "International legal means" more or less just means your ambassador asks the foreign country nicely to release you. That's why every version of a "world court" is a joke; nations voluntarily decide if they want to pay attention to its judgments. If your nation has no ability to threaten consequences, I guess the only thing you could do is offer bribes. You might be able to bribe some corrupt banana republics to give your members immunity to their laws, but are you really going to bribe the UK to allow your members to bear arms, or bribe Canada to allow your members the freedom of speech?
These people are crazy... Somebody must know that it costs money to develop these things and the rate at which cheap devices shipping from china and India is only going to increase, right? Or have they plugged their ears and eye sockets with money from RIAA and MPAA?
this is a reply to vvanders comment, for some reason i cant reply directly to his comment, so ill reply to myself..

they didn’t really "fix" it, instead they added a method called std::vector<T>::shrink_to_fit() which i'll admit its not the most elegant way, but it works.

what it does is, it resizes the capacity() to be the same as the size(), deallocating all the extra memory.
One of the objections to even adding the Bill of Rights was that it would be taken to limit rights to only those listed. The Bill of Rights and later amendments do not encompass all rights, thus things like privacy do not need to explicitly be listed to count as a right.

My point was of the exact opposite. That the rights it clearly does list are still ignored and have holes punched in them until they look like Swiss cheese (just look at all the different sorts of gun bans in different areas).
(much) stronger reverence for the 1st Amendment != Anarchy.
Electric Arc Furnace Tapping and my guess for "Pulpi" would be "Pulpit" (as in: Control Room Pulpit Operator).
What didn't you like about Austin?
Low-cost Raspberry Pi robot with computer vision
Multzam!
This is just a landing page, it's not ready for a "Show HN":

https://news.ycombinator.com/showhn.html

If your work isn't ready for people to try out yet,
please don't put "Show HN" in the title. Once it's ready,
come back and share it then.
this is an awesome read, thanks for sharing. I wonder how this can be applied to my career in software development?
For those wondering what happened - water has nowhere to go and explodes.

Same reason you don't put out an oil fire with water:

https://youtu.be/eaabUEqAhfU?t=131
Young people tend to severely underestimate how much luck and timing play into success.

When I read, "When I was in 9th grade...and Googled..." I realized why the article sounded like it did.
When I studied undergraduate quantum mechanics (physics dept, many years ago) one of our homework problems involved oscillation of the ammonia atom. Ie, the three hydrogen atoms form a triangle, and the nitrogen atom is in a superposition of states above or below the hydrogen plane.

Iirc, given some estimate of the relative potential energy barrier formed by the hydrogen atoms, we showed that the nitrogen atom would effectively oscillate between the up and down states and calculated the frequency of oscillation.
Science of the handshake and its primal origins
I think the lack of demand for it has been an indicator that ranges with additions are just enough. We're currently looking at adding optional primitives to ranges in a Design by Introspection manner to support bulk streaming of data.
About the reply issue: its simply HN's mechanism to prevent flamewars from escalading quickly. The deeper a comment is the longer you have to wait after it is posted to be able to reply to it.
The UK's Dystopian New 'Advertising Eyes' Stare Right into Your Soul
Europeans are free to self harm to their hearts content.
All of our servers and daemons at Cronitor have been built using Python. I know you're asking just about these two languages but i would consider a language with a bigger library and user base. It takes discipline with language features but we've had a lot of success writing stateless daemons that are under heavy load 24/7. It's been far easier to think from a fan-out pov vs worrying about every clock cycle wasted by, for example, the garbage collector.
https://www.youtube.com/watch?v=-RYCXDUt2m8
OpenWRT vs. FCC – Forced Firmware Lockdown? [video]
Sorry, haven't been a mac user for a couple years (has it been that long!) so maybe things have changed, but what is Finder other than a file manager?
How Uber, Yandex.Taxi and Blablacar Work with Suppliers and Customers
I don't know enough about the internals of the languages to speak on that, but here's what has influenced my decision on choosing Elixir:

Community: smart people (who I respect) in the Ruby community are getting really excited about (and choosing) Elixir. People like José Valim, Dave Thomas, Bruce Tate, Chris McCord, etc.

BEAM and OTP: The Erlang VM and OTP have been battle-tested at Ericsson. It's known for having 9 9's of reliability and scaled WhatsApp to millions of simultaneous connections.

HEX: like Rubygems was for Ruby, Elixir/Erlang has a budding package management system via Hex. Hopefully this becomes the canonical source for libraries.

Phoenix: Rails popularized Ruby and became the framework of choice for quickly and pragmatically developing CRUD apps. Phoenix has Rails-like conventions in building an Elixir app and has built in support for websockets. This framework is built for today's technology.

Syntax: Coming from Ruby, the Elixir syntax is approachable and understandable. It's easy to jump into without having much prior knowledge.

Kinda subjective, but those are reasons why I'm excited and choosing Elixir to build future projects upon.
> Unfortunately this initial simplicity introduces unexpected complexity, things like deep dup and deep merge are now needed.

Not if your data structures are immutable, which is exactly what he is advocating.
I really like the insight in this article. It really boils down to being mindful of what you're trying to achieve versus established wisdom on how to achieve it. My grandfather used to say "There are many roads to your destination, try to pick one with a good view." Which, to be honest, I didn't appreciate until I watched the paths my kids chose to get to their destinations.

That said, people who choose to take short cuts (cheating, plagiarizing, or other work avoidance strategies) always annoy me, especially when they are successful at it. So where do you draw the line? Do you try to get into Harvard on your merits or do you have your Dad's company endow a chair there? The latter is certainly something not everyone can do.

Really like the outside activity ideas though, I had no idea that becoming a radio amateur in High School would have looked so favorable on my college applications. I just did it so that I could talk to people across the country for free (long distance telephone calls were expensive then :-)
Because problem solving isn't finding the right action so much as finding the right perspective.
That doesn't make sense unless you have knowledge of what our specific maximum age should be.

"Last longer" is a fairly equivalent way of saying "wasn't killed early".
Worked literally for a decade. But I suppose anything can happen.
Funny tidbit. I spun up a DO box (luckily it wasn't too important) to do some tasks on.

I set the root password (over ssh) to something random but only 8 characters. I meant to change it to use only keys, of course, but the machine was compromised in under an hour!
Your Chances of Dying Ranked by Sport and Activity
Apple TV Said to Have Motion Sensitive Remote Control Targeted at Casual Gamers
Silicon Valley is more of a suburb than metropolis. Though SF is probably similar to NY with respect to dating prospects.
Re: gin, thanks for the tip. I feel like this one makes more sense in development than in production, would like to avoid side effects (first HTTP request restarts the server), also an extra proxy layer.

Re: web framework. Absolutely, no intention to reinvent the wheel. Just informative to rewrite various pieces in the initial stages to get a better grasp on the language/patterns.
"time on the phone with your girlfriend is generally not."

Maybe avoiding gender specific comment, should be part of your ethics as well?
My question: Why?
I mean, why this decision for your personal career?
What Wittgenstein learned from his time in elementary-school classrooms
Need tab lock/protect, tab title rename
Agree with 'dozens of books a year' but there are thousands and thousands of good books out there and one has to triage.
We had a perfectly working internal IRC system at work. For some managerial reasons, the decision was made to 'keep up with the trend and adapt to new softwares, firstly by moving on to Slack'.

I am young, in my mid-twenties. I like new. I like Slack too. But I honestly couldn't see any reason why we moved to it. We pay slack probably more than what we needed to maintain our own old tiny IRC box. But money aside, there are real issues with Slack that are just not there with hosting your own IRC.

The major one being privacy. For a field that is almost religiously against abuse of privacy, we sure as heck don't seem to have an issue with all of our work conversations being stored on another company's server.

Another quip I noticed was archiving. While my IRC allowed archiving without any limits, there are limits imposed on how much archives you can have access to on Slack. Of course, its customizable, but for that first time you're looking for something said 6 months ago by an ex-employee, you realize that there is no way to go back. You set your preference and learn to move on, cause well, its a different company after all. And you're paying for it.
The income :o). Well, just kidding. I think the best thing about Facebook is its people. They are really really good, and that's felt at all levels.
"The storm was scary, but at least we don't live in Chicago."
The possibility they may suffer harm is generally not sufficient to confer standing.
It has to actually occur.

This is precedent set by the supreme court in http://www.scotusblog.com/case-files/cases/clapper-v-amnesty...

Courts do not decide cases based on speculative future injury.

"To establish Article III standing, an injury must be "concrete, particularized, and actual or imminent; fairly traceable to the challenged action; and redressable by a favorable ruling." "
Best Cities for Small Businesses
Interview with Nenad Rakocevic about Red, a Rebol-inspired programming language
For those of you who want to argue about standing here, your argument is with the supreme court, not the lower courts :)

http://www.scotusblog.com/case-files/cases/clapper-v-amnesty...
ebaum actually just copied everyone's stuff. The original start of this fun was ytmnd.com, created by Max, the same person that actually developed 4chan's test servers before it was launched. Ytmnd was too complicated for many folks (to make an animated gif and an mp3 that would sync together) so people flocked to the 'anonymous' boards. It's too bad really, because ytmnd was a lot of fun.
Dropbox Badge
The Postmodernism Generator
This is pretty cool. However, outside of abnormal OS installations or something crazy like that, what is the actual use for this?
My father in-law worked in a foundry and gave me a tour. Just about everything in there can kill you, from the 'pot' to the gantry crane. About the only safe place was the room with the green sand moulds.
This is great, it would be better if you could zoom in to a state. You would be able to see migration patterns within cities and regions.
Probably not; D is not a particularly suited language for being a backend target. To be fair, neither is Javascript; it got in that position by accident.

That said, just as a related aside, there's the Daniel Murphy's magicport program that translates real projects from C++ do D semiautomatically (Daniel used it to translate the D compiler itself; we recently committed to bootstrapping).
Quantum Computing Playground
I use XtraFinder: http://www.macupdate.com/app/mac/42067/xtrafinder
I would definitely love to see range primitives support bulk streaming!

How about adding a byte buffer concept alongside with ranges? I'm thinking an API similar to Netty's ByteBuf but using D's compile-time capabilities instead. These would be valid ranges as well but offer direct byte access on top.
Boy do I disagree with these.

You're probably going to see more senior Agency people grumbling about startups for two reasons:

1) Agencies are getting priced-out of the market for talented designers. Go on glassdoor and compare how much mid-level designers at agencies make compared to tech companies. It's close to double. As an aside, #7 is really rich. There are tons of design firms out there who utilize of 1099 designers (some with masters degrees!) who gross less than 38K a year for full-time work. Mike's Mule isn't one of those companies, but the design industry isn't without it's own 1099 abuses.

2) The startup world requires "product designers" who have a specific set of design skills that agencies aren't well equipped to provide. Namely- ongoing data-driven product development (as opposed to "Just enough research"), systemized/componentized view of design (as opposed to "The customer is always right/Take what I have created for you or I'll walk like Saul Bass"), and a more collaborative "agile" workflow (As opposed to waterfall). Based on my experience as an engineer working with agencies, they are reluctant to allow their designers to directly interact with engineering teams -- we always had a PM or an senior designer (who wasn't on our project) act as this mediator, putting us in a time-boxed meeting when in reality we just needed to sit down with 1 designer and just work through a few issues over <1 hour.

Because of this, agencies aren't just losing talent: They're also losing potential clients. Startups tend to prefer tight-knit product teams, where the designer is (or at the very least SHOULD BE!) a major component.
It's fitting that they're so similar, since both states seceded from Mexico and then formed republics.
Benchling (YC S12) is hiring full-stack engineers to build GitHub for biotech
your customers opinion of the product matters more than everything else. two of YC's founders Paul n Jessica are married .
"Interestingly enough, track 12 does not only contain information pertaining to the last use, but also to the use before that."

This might explain why the system sometimes asks you to "Swipe again" when going through the turnstiles. maybe the write failed?

In the 90s the system had tokens. Someone figured out a cheap way to game the system using inexpensive South American coins..

https://news.google.com/newspapers?nid=1955&dat=19951206&id=...
10,000 Udemy Courses for $15 Each, Save Up to 95%
As a mostly-non-programmer who doesn't know anything about D/Go/Rust, that's my favorite thing about D, is the web page :)

To my memory it's basically generated static content. That's why it handles high load with such grace, and is so fast even on the slowest devices. I don't know the complexities behind that, but damn, I wish more sites did it.
The best two-pane file manager on any platform remains Directory Opus.

http://www.gpsoft.com.au/

It got its start on the Amiga and is now Windows-only.

Full disclosure: I wrote a review of it on another site two years ago.
Telomere shortening would be one example which, if there is no mitigation possible (and we don't have one or know that one is possible) is a pretty hard limit.

That's why I said "some evidence" not "strong evidence", we haven't proven that there is an unavoidable hard limit, but a) we have no evidence that there isn't and b) we know of several mechanisms that look like they may be hard limits.
On the last point of passing it on. The key is to find secrets with network effects on awareness. Secrets that degrade in utility as more people know them are the weakest form. Stronger are those that get better as more know them. Even stronger are those that accrue even more value when you explain to people it gets stronger as it spreads.
It is depressing because it makes dubious assumptions about what is valuable-- as though not getting into MIT or Stanford means "failure".

Achievement does NOT necessarily require playing a nasty, zero-sum competitive game.
How do you get around the combination of your IP + UA being fairly unique?
I use AWS, Heroku, DigitalOcean every day because they fulfill a need, for cheaper than I could do myself. What's to "think" about it? What do you "think" about car washes?
The same way doing metaprogramming with syntax tools, parse transforms and what not is nowhere close to a macro system.

I'd wager that's because no one has written tooling to make it compelling to the common programmer. Same with release management for a long time, and hot code reloading. I'd understand if you said that basic substitution macros are nowhere close to actual AST macros, but Erlang has far more than that.

Take a look at Elixir's agents or tasks and explain how it doesn't lead to more readable and cleaner code than the GenServer equivalent in Erlang for the cases they fit.

Those are sugar. It's not like you can't define your own behaviors in Erlang. People do it all the time, there's so many good libraries that go beyond stock OTP. I should really switch an entire language because of default libraries?

This sentence is specially ironic given that Erlang inherits from Prolog, which is quite different semantically from Erlang

Only traces. The Prolog influence of Erlang is severely overrated by a lot of people these days.

Also Erlang is pretty much a very dynamic language.

It ain't no Smalltalk. The runtime is very dynamic, and the typing is loose, but the Erlang language itself not so much, which I think is a strength.

I am a Haskell developer, I hate Ruby syntax and I programmed Erlang for a year.

Good for you, chap.
Sure, I meant in the sense that its seen as really obscure and hard to learn. A lot of people see vim in the same way.
Winzip 9 Serial Number with Crack Keygen Free Download
Hot Sauce: Moving Past Tabasco
Working Class Hero – John Lennon (Best Acoustic Version)
On Passion
Austin really isn't representative of, well, nearly anywhere else in Texas.

This has good and bad aspects.
For what it's worth, Austin is one of the most liberal places in texas. I don't think its a good comparison.
The joy of inter-generational drinking
Eating at the Bar: The Best Thing You Can Do on a Solo Trip
About gin, you're right, I think. But what else to use in case the app crashes? A simple shell script to restart the executable whenever it crashes (even though it shouldn't)? :) And what about hot code reloads? You'd have to stop the app for a second there, and replace the executable yourself. You'd also probably interrupt whatever the app was doing at the time, which could turn out pretty bad.
> Clojure gives you the tools to make simple abstractions easy to build and understand.

I understand if you don't want to take the time, but I would love it if you could you give an example of an abstraction that you can build in Closure that you would consider "easy to understand", yet which couldn't be built just with, say, anonymous functions, structs, arrays, and simple loops?
Working Class Hero - John Lennon (Best Acoustic Version) (youtube.com)
https://www.youtube.com/watch?v=6dsZW70cuBA
That's much closer to reality. Death is mostly a timeout, not a wearout, and this has evolutionary benefits. Medicine has made great progress on wearout and damage problems, but hasn't yet made much progress on the timeout issues, the ones which degrade the self-repair mechanisms over time.

This will probably be solved eventually, although it may only work for new organisms created from genetically engineered DNA.

Bear in mind how new our understanding of how life works really is. The role of DNA wasn't understood at all until 1953. DNA manipulation is still at the "hack and see what works" level; designing and editing DNA from first principles is not yet here.
How to Win Tinder
Curious if you could tell us more about what you've worked on with Guile/Racket in a production environment?
If I had to guess, it would be the author's apparent desire to "optimize" life -- specifically by optimizing how much you will be paid, or how you will be perceived by others. For example, he states "right now a degree in computer science is a ticket to a decent life," with the implication that it's not unreasonable to study computer science solely as a means of achieving financial security. So the depressing aspect is the thought of people directing all their energies towards "gaming the system" as effectively as possible.
The minor point at the end regarding the definition of "moralizing" reminds me of The Physician and the Priest.

http://www.jhuger.com/the-physician-and-the-priest

Things which had a visible adverse effect on these early societies tended to be encoded in religion. Slingerland's interpretation of mucking with the river as a moral hazard as opposed to a random taboo is exactly the kind of things the Physician came to find.
Having Their Cake and Eating Ours Too