skysight-inc/HackerNews huggingface dataset:
Adding more roads and highways to cities doesn’t seem to reduce gridlock. If anything it releases pent up demand for driving.

One of my favorite demonstrations of how impactful public or alternative transit options can be is this image[1] which shows the amount of space taken up by 69 people in cars, on bikes as well as a bus.

Space for transportation in urban areas is so limited that we can’t continue to grow in the same way without new options outside of using more cars with only 1-2 riders.

[1]: https://www.flickr.com/photos/danielbowen/7999510360/
What people explicitly say is their reasoning isn't necessarily their reasoning; especially in an investor/recruiting hype presentation.
Ha, interesting that the project describes themselves that way!
Bastion: Fault-Tolerant Runtime for Rust Applications
> The growth rates for FY19 were, Q1: 76%, Q2: 76%, Q3: 73% and all the way down to 64% this quarter.

Must be nice having 64% growth be a worrying number.

Microsoft went all in marketing Azure, this isn't too surprising to me. They don't mess around when they launch products/services. Their marketing to corporate CTO/CIOs is a well tuned machine.

They even tried to hit up startup devs which didn't go over as well.
> return d || a && !(b || c);
Gait Recognition AI Can Identify Mood by How You Walk
I think there are good use-cases for SPAs (Google Maps, for example), but the majority of cases that I've seen aren't good ones, and the extra complexity involved in managing state etc. far outweighs any marginal gains in not re-instantiating JS.
Greater prevalence of congenital heart defects in intense oil and gas areas
I am not aware of any guides that teach you how to make websites by framework. All of them teach by hand.
Hmm I wonder if it is just an adaptation (humans mean their staples are about and it gets selected for) - or if it is something mutagenic. The fact it is the same enzyme makes me wonder.
Exactly this. There have been numerous occasions I could answer a question or at least add some helpful information. But I couldn’t because I didn’t have enough reputation, with no helpful way to get it.

I think they have it backwards. They should prioritize answering questions and adding comments, not asking questions.
If the first action in a relationship is one of distrust, it doesn't feel right...
Interesting. Am I missing something? I went to https://nixpulvis.com/math/01-fibonacci and it appears to be effectively the same as what I have for MathJax -- pushing the raw LaTeX commands into a specially-labeled HTML element, and then loading the MathJax JS from cdnjs.cloudflare.com in order to process and render them client-side.
Does this mean that small teams usually produce better code than bigger teams?
If they had not disrupted any users with the integration and turn people off of G+ they could have pulled it off. I guess they'll try again in 15 years.
I see lots of responses to this article asking "why client-side navigation?". I can share my own experience with building an app a few months ago, and how/why I switched to a client-side single-page app..

The app is this: https://osmlab.github.io/name-suggestion-index/index.html

It is a worldwide list of brands that have been seeded with OpenStreetMap data, and which volunteers have linked to Wikidata identifiers. We use this data in OpenStreetMap editors to help people add branded businesses. Pretty cool!

1. We had data in `.json` files (but not too much data) and we wanted to show it to people working on the project so that they could review the brands.

2. I spent a day or two and built a static document generator. It took our data and spit out an `index.html` and few hundred `whatever.html` files. This worked really well. As the article says, "browsers are pretty good at loading pages". A side benefit - Google is really good at indexing content like this.

3. Then users made the obvious request: "I want to filter the data. Let me type a search string and only show matching brands. Or brands that appear in a certain country".

4. OK, SO.. If your data is spread out over a few hundred files, short answer - you can't do this.

5. But the data is _really_ only a few megabytes of `.json`. I spent a few days to learn React and switch to a single-page client side app so that we can filter across all of it. The new version uses hooks to fetch the few `.json` files that it needs, `react-router` to handle navigation between the index and the category pages. It works pretty ok! Most people would stop here.

6. The first version with client-side filtering performed good enough, but not great. The reason was because, as users type these things happen: The filters get applied, the React components get a new list of brands passed in as props, and React re-renders these new lists to the virtual DOM, and eventually, slowly, the real DOM.

7. It's really easy to build React code like this, and many people do. But it is better to avoid DOM changes in the first place. I changed the components so that the lists stay the same, but filtered things just get classed as hidden `display:none` instead of being added and removed from the DOM, and performance is much better now.

Anyway hope this is helpful to someone!
It's self-fueling phenomenon and reasons are plenty. My random thoughts:

- Everyone who thinks about themselves as doing "frontend" needs to do hot tech of the day because that's what everyone talks about in the internets (FOMO). If you leave the race, you can't fill your CV with buzzwords and won't find a job in a few years (would you hire a Java developer who still writes Java 4?)

- New people come in and that's the reality they start with and it feels normal. They never wrote a clean piece of HTML+CSS by hand.

- When you're in a company where all people have they minds set up on a given tech because of the reasons above, it's impossible to suggest an alternative tech to the currently fashionable one. You can't tell dozens of people to do a career suicide. Anyway it's typically a very small group (or a single dev) who choose the tech stack and architecture for new projects, and they typically have a very limited time to do so. Going with the flow is the "safe" option.

- Hiring: you don't want to use unpopular unsexy tech, because you won't find candidates, who will fear to take it to not work in a non-future-proof tech stack (COBOL job anyone?)

- Sometimes you just have to do something complex which requires a ton of JS anyway (any highly interactive widgets/apps) and then having a single well-understood framework is better than gluing together many things in a random way.

- Finally, doing complex stuff in a huge team is tricky. To make stuff not collapse, the developer experience is generally favored over user experience.
It is currently unclear how much control car owners will have over the activation of these microphones, or if indication is given that they are active.

Given that eCall has been mandatory for over a year, I'm surprised at how little coverage it got, and how little information there is on it.
Yeah, looks like the report is hidden now. Unfortunately it wasn't captured in the wayback machine.
Has it not been clear this whole decade that Sony has been killing it on the console gaming front?

The exclusives alone.....
The comments on that video default to sorted by new. You can change it to sorted by top. The uploader chooses the default sort, but the default for the default is top.
Yeah, that's how type systems work in most languages. That's why we have them: they prevent mistakes before you even run your code :)
> well, of course you could break up the UTF8 string in bytes and stick with a `std::array<std::unique_ptr<Node>,256>` structure. Is this how people do it (supposing normalizing the string is not an option)?

There are lots of options, but to a first approximation, yes, that's standard.

The key is to think of a trie as a special case of a finite state machine:

1. Your transition table should be a single contiguous block of memory. Namely, going from state s1 for byte b should be something like `trans[s1 * 256 + b]`. This reduces the amount of pointer chasing at search time.

2. With a small runtime cost (typically imperceptible for a large enough FSM), you can map your 256-sized alphabet down to a set of equivalence classes. e.g., Only to a set of bytes that discriminate a match. So your transition lookup becomes `trans[si * num_equiv_classes + equiv_class(b)]`. Although, this is harder to pull off if your trie supports mutation.

3. Instead of storing state identifiers in your transition table, you can store premultiplied state identifiers, which avoids the additional stride calculation at search time. So your transition lookup then becomes `trans[si + equiv_class(b)]`.

Those all mostly apply to dense representations. But if memory is more important, then you can use a sparse representation. In a sparse representation, the size of each state is variable, which means moving to the next transition is more costly. But it uses much less space.
> You're making the claim that cultural beliefs are what's important to Western "civilization" and their interplay with states are irrelevant

No, I'm making the claim that one of those cultural beliefs is that the state doesn't tell us what to believe. Of course states exist and we have to deal with them, but that doesn't mean we have to let them tell us what to think.

> You're also claiming that tenets of Western Civilization now exist and didn't at some time before

I'm claiming that those tenets have evolved over time, so we shouldn't expect to see them in the past in exactly the same form we have them now. But that doesn't mean there's no relationship between the tenets we have now and the ones in the past.

> Its also kind of interesting you'd identify individual liberty as one of the tenets of such a mythologised civilisation, when slavery existed in that civilisation for the vast majority of its theorised existence.

Yes, the tenet of individual liberty has evolved just like all the others.
In my experience PHP is the CGI of 2019.
Because Perl scripts were only one application of CGI, which was intended to be a generic interface between the web and any sort of backend. The thing that became Oracle Web Application Server for example started life as a direct interface between a web server and an Oracle database called WOW for Web-Oracle-Web. There were others. Pretty soon the “application server” took over that role as a thing in its own right, and instead of a Perl script directly invoked by the web server you would have a JSP or something.
My setup: AMD ryzen tower with 32GB ram and multi port PCI NICs running Debian. Internet comes into the onboard NIC, and I VLAN out the NICs to downstream devices. Server itself doesn't run anything directly, instead I use nspawn "VMs" connected to the same VLANs as necessary. I rsync to a raspberry pi with a USB HDD at a relatives house.
> I will have to disagree and state that I think that years of guerilla war in the South would have been preferable to the actual outcome.

This is an interesting hypothetical. I don't agree that it would have been preferable to what actually happened, because I'm not as much of a fan of the radical Republicans and the impeachment of Johnson as you seem to be. But these are judgment calls about which I think reasonable people can disagree.
I have shipped a trie into production that used std::unordered_map to store children and it performed quite well.
Media galleries (carousels) were client side things at least since the original xhr implementation in IE5. Maybe well before that if changing the src of a img let the browser load the new one from the server. I can't remember.

But sites were small and even loading all the page again was not that bad.

By the way, Rails Tutbolinks [1] are a way to get the same result with the server rendering only the html body and the js code in the browser swapping it with the current one.

[1] https://github.com/turbolinks/turbolinks
And you know what? You're both right. So give the user an option to remove the feature, and honor their choice.
Your statement comes across as rather heartless. What about those of us who entered in the last 5 years just because they were ready to settle down in an area they liked?
I hate infinite scroll with a passion. I've often been quite a way down someone's interesting Twitter feed and lost my place somehow, then just given up and gone somewhere else in frustration rather than trying to scroll down a few hundred tweets, waiting each however-many tweets for the next batch to load, just to get back to where I was.
I like this concept. I wonder if there’s a word for it. Any Germans want to help out with a fifteen syllable wonder?
Works from Europe. Too good to be true. Guess will be regionlocked or taken down soon.
I can never understand how people are complaining about this stuff. You willingly and knowingly sign a contract with the terms stated right there. Whose fault is that? The Chinese?

If you signed a contract handing over your large profitable company in exchange for some magic beans who exactly is the bad person here?

Don't sign the contract if you don't agree to the conditions. The real people to blame for IP transfer don't seem to cop a single mention by most.
> The problem with economic theory is that it assumes people are rational.

No, it doesn't. [0]

> There is absolutely zero historic record to support that.

Yes, there is. [1]

> Until economics embraces reality it's foolish for the rest of us to hold a false god so high.

Sorry to be kinda blunt here, but I'd like to appeal to you to try to maintain a higher standard of discourse on HN.

[0]: https://en.wikipedia.org/wiki/Behavioral_economics

[1]: https://en.wikipedia.org/wiki/New_Keynesian_economics
> Second, the most valuable skill a programmer can have isn't technical, but rater social: empathy.

couldn’t agree more!

but the term you’re really looking for is perhaps a strongly developed theory of mind. whereas empathy really is referring to emotional awareness.

the worst and also most annoying programmers i know, to a person, consistently fail to see other points of view. their way is the right way, period. they tend to actually be smart, and right about very many things in a small problem domain. i dare say their raw intelligence is a double edged sword.
> Furthermore, you don't lose state, which makes things much more simple.

Or not... I think about infinite scrolls with no proper paging.
Apache Groovy's apparent rise from #81 to #15 on Tiobe's index [1] over the past 12 month is disturbing, though. If it doesn't have the downsides of Python, then why would someone fabricate its popularity in a search engine?

And if Groovy is so "ruthlessly" Java-syntax compatible, why doesn't it have lambda syntax over 5 yrs after they were added to Java?

[1] https://www.tiobe.com/tiobe-index/
Probably. I usually only go to McDonalds at airports becouse they have the same price there as at some murky downtown parkinglot.
The BBC used to have a policy of wiping tapes for reuse, seems crazy in retrospect but there you go. Sometimes people just don't realise what they've got.
Yes. I don't know why HN likes to pretend they're exceptions to patterns and processes that came about for a number of reasons.

In this specific case, the hand crafted HTML that I've come across in my lifetime is usually absolute garbage. I can normally see how the developer who wrote it thinks they're being clever or nifty, and dare I say it "clean", but it usually falls short and causes more harm than good.

So imagine we as an industry organically build tools to address this. 10 years later it's pretty good, but like 5 major websites still handcraft things because they have complicated user experiences with a broad user base.

We then get dork heads who see this, believe they're part of the exception, despite not having anything remotely close to the userbase or requirements of these websites, refuse to understand why certain things are the way they are, and think they're above these processes and frameworks despite not having invested any real time or effort into the skills necessary to justify not using these frameworks or fabricated HTML.

And the worst part is it's just HTML. And we still get it wrong.

TL;DR Programmers think they're better than they really are. Use the frameworks.
This has been and still is one of my main quests, too.

I have tried almost everything: Evernote, OneNote, Google Kepp, lastly Wenote (Android), Dokuwiki, etc.

Currently I'm jumping between Notion and Telegram (saved messages).

I'd be more than interested if something 'better' emerges. Or, when I know code, I'll probably start my own as a side-project.
When education is used as a hiring filter, it’s usually at the resume stage, where other signals are week. Once you’ve reached on-site it’s about what you know and can do, not what pieces of paper you possess.

Being self-taught as a programmer myself, and knowing what’s involved in that, I’m a little bit in awe of anyone who managed to learn programming with no more than an elementary school formal education. I can’t speak for random FAANG interviewers, but hopefully they’ll also be suitably impressed.

Maybe save it to share until you’ve already wowed them with your skills, rather than sharing up front, which might cause them to evaluate you based on biases or stereotypes?
IMO the statistics in your link are severely wrong and don't reflect the real-world situation.

I live in Austria and the underground economy here is way WAY bigger than 8.2%.

Most small restaurants/bars/cafes here are cash only and rarely(never) hand out receipts. Also, tips are a large source of income for workers in the service industry and many are paid under the table.
Most people in Bulgaria are more concerned that the breach gives new weapons to scammers. There are a handful of groups that scam old people to transfer money pretending to be their relatives in need. There are groups that steal properties or even companies by doing a transfer with fake documents (then the property is resold of course).

The finance minister said on the TV these are anyway illegal activities with or without the leaked data. The problem though is that nobody was imprisoned for such crimes for ages, just like there are no politicians going to prison in the last ten years. Guess how many people believe him now.
And Hulu was originally launched as someone's personal homepage.

https://web.archive.org/web/19991023065011/https://www.hulu....

Wonder how much they sold the domain for.
NLP Joe Rogan and Rap Lyrics Area51 MindUploading BCI AI/Algorithms Singularity
It really depends on how things are set up at your ISP.

In college, we had dynamically assigned, but publicly accessible addresses, so I used a dynamic DNS service to tie the domain name to my computer. I used freedns.afraid.org (mentioned by someone else), though other options exist and many routers integrate with a couple services out of the box (often dyndns.org). You can check if this will work by finding out your public IP (type "what's my IP" in a web search) and checking if that corresponds to the IP on your router (should be the WAN IP). If it is, you're probably set, but you'll need to check to see if your ISP blocks any ports. To check, just set up something on your computer and mess with the port forwarding settings on your router to point to it, and then test accessing it from outside your network (easiest is to start a webserver and try to access it from your phone while running in data).

If you can access services on your computer but your ISP blocks ports you want to use, call them and ask if those blocks can get removed. If not, you can get it to work by doing a reverse proxy using a VPS (good providers are Digital Ocean, Vultr, and Linode) to point to the ports your ISP does allow.

If you can't access your computer at all, you have two options:

1. Ask your ISP if they offer static IPs (mine does for ~$5/month)
2. Set up a tunnel from your computer to your VPS (SSH tunnels, VPN, etc)

Most ISPs either offer static IPs or give you a dynamic (changing), but publicly facing IP, so you probably won't need a VPS at all and just need to figure out the dynamic DNS thing.

As for assymetric upload/download, it's really not an issue, sending lots of data one way will just be slower than the other way. There just isn't much you can do about it.
Liquid magnets made possible by Berkley lab 3D printing
Pretty sure not making money is what attracts the most investment money these days.
Hong Kong protests: Police fire tear gas at demonstrators
bookmarked.

i don’t suppose you could publicly share the module? this is a stellar interview question.

or maybe there’s a library of such code? (yes yes, jquery/openssl or your favorite true but not useful reference comes to mind)
Second, the most valuable skill a programmer can have isn't technical, but rater social: empathy. The best programmers I've seen have it and the worst completely lack it.

+10

This is missed by 99% of articles and lists. And most programmers never stop to step on someone else's shoes.
We wrote an article on them earlier this year if you want to learn more:
https://thestreamable.com/news/exclusive-stanford-researcher...
I think the difference is that empathy often correlates with teach-ability, and it's much easier to teach someone technical skills than it is to teach someone empathy.
Back when I had Comcast that was some of the most entertaining stuff to be found on their on-demand service. I had totally forgotten about that thanks for the trip down memory lane.
In addition to influencing Lorenz and Licklider, the LGP-30 was also the machine first used by Kemeny and Kurtz at Dartmouth. Their experience with its interactive programming and their discovery that undergraduates could be enthusiastic and effective programmers inspired them to get a bigger/better computer and create BASIC.
If you enjoy this type of stuff, you may also enjoy some urban exploration videos:

https://www.youtube.com/user/TheProperPeople
That's a branch.

> Then, when I return to the branch, I'll check if the previous commit was WIP (`git log -1`), and if so will reset it (`git reset HEAD~1`).

This is a single commit.
Interactions on dating sites happen prior to a relationship.

Also, I think dating sites are a bit "a market for lemons".
Given the Western way of doing business, it does come as a shock when China spins up a complete clone of your business with government money, including IP and R&D. It's malicious intent. They have no motivation to see the business succeed.

It's not like it's spelled out in the contract: "we will use free loans from the Chinese govt to take your tech, undercut your markets and put you out of business. We have no intentions of letting your business thrive and survive."

We're getting smarter about it but this is way of doing business is very foreign to the West. The West sees investors as capital assets and not active market players. When Peter Thiel invests in a company he is not looking to spin up his own competing clone. He wants the business to succeed. Not so in China, who has a vested interest in running US businesses into the ground.
My apologies. I updated the post! Now it works just fine!
The wild animals have the genes, the ones associated with humans have multiple copies of it.
Comes of making too many buttumptions.
I don't think Node can contain a std::vector<Node>, since STL containers cannot have incomplete value types. But maybe I'm misunderstanding you?

I think absl::flat_hash_map<T, std::unique_ptr<Node>> would be worth considering in this application. Keys and values are stored inline, so the memory and creation costs should be comparable to std::vector - https://abseil.io/docs/cpp/guides/container#abslflat_hash_ma...
I do a lot of TypeScript these days. It's possible to define a type which equates to one or more literal string values. The TypeScript compiler will complain if you try and supply an invalid string parameter. So --at least for TypeScript-- I think this is less of a concern than in the past (and TypeScript is growing in popularity within the JS community). In a more general sense, I agree with the author that the 2nd code sample offers additional clarity.