skysight-inc/HackerNews huggingface dataset:
FTA:

>>A pedestrian struck by a large van is three times as likely to die as someone hit by a car at the same speed. Pedestrians struck by large SUVs are twice as likely to die.

So why is the article title not "Large vans triple pedestrians' risk of death"?
If all cars were autonomous you could change how roads are built. They could become more like sewer pipes, sunk at least partly into the ground. Car designs would change and become more cylindrical and without windows. The car interior would be covered with displays. Travel videos will become a thing.

You can see why you might want to start practicing with boring machines and hyperloops. These things aren't just for Mars.
What's more efficient? What's more resilient? An army all walking at the same pace taking their cues on orders or a crowd of autonomous individual, all adjusting pace etc... Based on their local condition (terrain, speed of who's in front...).
The basics of HOF are not foreign concepts at this point (e.g. map, filter). But FP amplifies the degree and nature in which they are used.

for example learning to use folds or transducers. Learning to avoid mutation etc
There's probably some version of a peer-to-peer "swarm" that gains some benefits though.
I wonder if some kind of detachable "trailers" might be the answer here. For normal driving, you'd have a single-passenger pod (with maybe enough cargo space for a bag of groceries or whatever), but you could hook on extra passenger or cargo pods as needed.
I'm not an expert on Spanish law. (Are you?). I don't know whether merely voting is illegal or not at the level of individual people. But the issue seems largely moot, as it wouldn't be feasible to prosecute individual people for voting.
"All models are wrong; some models are useful. "
Image discussions are an awesome addition. Def need them enabled for issues though.
Ok, I noted on my TODO to expand this to an actual article... I'll probably post an Ask HN to asks people for more examples from each category after I add a few.

Yeah, getting to a good definition of UX vs. UI that everyone could agree on would be great ;)

I'd start with UX defined as "what the users actually ends up doing while using your UI, the actually followed user journeys, the workflows they lead to, all this from the user's subjective perspective (hence the 'experience' part)". Also relating all this to goals and talking about "conversion" etc. would be about UX. And the general feeling of "this really helped me get the job done" that the user gets after using something. Heck, even customer-service can be part of UX if your product does something so complex that having users regularly and often interact with customer service is part of the "regular usage pattern" (think stuffs where CS is not just where you complain, but where you may have talks with reps about "special shipping and assembly arrangements" etc.)

And UI would be "what and how can the user possibly do with your interface, what are the actual interface elements that actually dictate these "how" and "what" of the user's actions, things like responsiveness, intuitiveness (matching user's previous expectations), information density, discoverability". So you can talk about "user satisfaction/enjoyment" here, about "intuitiveness" etc. (but these don't necessarily mean 'higher conversion' or making the user more productive!) Also accessibility comes here. And think things like "is this button big enough to be tapable" or "it that option in hover-only menu that is impossible to access on mobile devices" or "is that other thing a keyboard only shortcut that tablet users will likely miss" etc. These are obviously independent form how things look: the design can be horrible, but everything can be easy to find/tap/click etc.

Graphic design is obviously "how things look" and this also affect the "how easy is to find things", to it does affect both UX and UI... but, there is a big "but" here: designs that receive awwards and are perceived as beautiful tend to have functionality harder to find, and more confusing user journeys. Think about the "ghost buttons" that people used and still use... but have been proven to decrease conversion quite a lot! ...but now the trend might have reverse because users are finally getting used to them. Like, do you really want to be playing this fashion game that can hurt conversions when you don't expect it in a resource constrained startup?! If you're Apple, you can "reeducate users' aesthetic tastes" and stuff which is cool, but you're not Apple. So better under-design a bit just to be safe :)
I often wonder if there will be a massive shift in views of the world that will belittle the last 200 years.
All the talk about `printf("%d\n", a);` and it's invalid due to a certain part of a language. From list of undefined behaviours (J.2).

> In a context requiring two function types to be compatible, they do not have compatible return types, or their parameters disagree in use of the ellipsis terminator or the number and type of parameters (after default argument promotion, when there is no parameter type list or when one type is speciﬁed by a function deﬁnition with an identiﬁer list) (6.7.5.3).

> disagree in use of the ellipsis terminator

printf is called with the following implicit type signature (due to not including stdio.h)

int (char *, int);

However, the actual printf signature is as follows.

int (const char *, ...);

While char * can be used where const char * is being used, int is not a valid replacement for ellipsis terminator. As such, the correct answer is that it's undefined behaviour.

(of course, most implementations will allow this code, but strictly speaking as a language lawyer it is undefined behaviour)
> We need a strong social net that works for everyone, not equal opportunity at work for old folks

Why set these two things at odds?

It’s hard to imagine a better way to avoid having large numbers of destitute old people to worry about than finding a way to enable them to take care of themeselves. That is, providing opportunities for employment. If that makes you uncomfortable, consider the alternatives before you reject it... e.g., higher taxes — perhaps much higher, depending on demographic trends — to pay for warehousing indigent old people Naturally, budget pressures will make it debatable whether these warehouses are actually humane, so you’ll have that to deal with as well. (You may think twice about exactly how hard your standard are once you realize you’ll be entering the same system.)

By the way, if you want to be scientific you won’t want to draw strong conclusions about employing old people from the fact that fluid intelligence begins to decline fairly early in adulthood. First, fluid intelligence is just one component of general intelligence in that model. The other component increases or is basically flat up to retirement age. Second, these measures of intelligence are not that great for predicting job performance in general much less for the small overall decline associated with aging. Here’s some reading if you’re inclined to dig into that a bit [1]. Also, keep in mind an employer isn’t choosing from a random selection of people, where the weak effects of age-related IQ differences might nudge you between two otherwise equivalent prospective hires. They are choosing between a group of carefully selected, screened, interviewed, tested candidates with a career of experience (however long that is for each individual). To make age itself a significant factor in a hiring decision is to believe you are profoundly incompetent at hiring since you must believe your other information gathering techniques are pretty much worthless.

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4557354/
No one wants to be called the next Yahoo, so even a whiff of competition means the startup gets acquired. This considering FAANG companies have so much cash on their books, not to mention ease at which credit can be had.
Somebody once ran into Vladimir Putin at some diplomatic cocktail party when he was just a mid-level KGB guy, and they asked him what he did. Answer: "I mingle."
This reminds me of when Pando went to Demo Day and saw no interesting companies and a bunch of knock offs https://pando.com/2013/03/26/y-combinator-demo-day-2013-stil.... They completely missed Zenefits, Teespring, and a few others.

I’m not convinced that the dominant YC companies looked obviously dominant at their early stages; they only seem dominant in retrospect.

As for why the giant companies at YC are still the dominant winners, it’s because the winners just keep growing. We don’t have a sense of scale; when Airbnb was a $500m company it was YC’s poster child. Now Airbnb is worth many billion dollars, and of course it still is the poster child, while companies like LendUp are valued at $500m but are not even talked about.

It’s not that because YC and startups are less successful, it’s that some are so incredibly successful you stop paying attention to the successful ones.

If the measure is valuations coming out of YC, Airbnb raised at a $3m valuation. A lot of YC companies raised $3m at a $14m+ valuation, but that’s more an indication of the market than of the likelihood of success of those companies.
This was one of the questions (unarticulated at the time) that kept me away from value-based (immutable) programming for a long time.

The answer is straight forward: you use unique identifiers instead of references. A lot of your code would become similar to how you write SQL queries. You always use `id` to cross-reference entities. You can use whatever enumerable functions are in the language - List.find, Map.find etc.

Now if you want to mutate a leaf node inside a tree, well that question is itself invalid. You can't "mutate" a "value". Can you say mutate the number 12? Or the letter 'B'? Imagine every complex data-structure was atomic like this: the array [1,2,3] always remain [1,2,3]. You can't mutate it because it is one single value; you can get information from inside it, but that doesn't mean you can go and change it. If you do want to change it, then you "transform" it into a new value. So instead of using `array.push` in Javascript, you'd use `array.concat` which provides a new value. Or even better you always use the rest operator `{...oldHash, someKey: newValue}`.

This also means your complex, large tree structure is a "value". You can't mutate it. You can however transform it into a new value. So if your leaf node has to change, then it means what you now have is an entirely new value. The old value still exist; any variables that pointed to the old value still point to that, because, duh, values don't change. Rich Hickey has articulated all this really well in his talk "The Value of Values" (https://github.com/matthiasn/talk-transcripts/blob/master/Hi...)

You'd now be rightly vary of the space-time implications of copying over large sets of data everytime you want it changed a tiny bit. This is solved in functional languages by using structural sharing. When you get a new tree value with just one node changed, the runtime would actually share most of the tree structure, and newly create just the one we want changed. It'll update the reference pointer of the root node, and the entire path that goes from the root till the leaf that changed. This means if you do a shallow comparison between the new tree value and the old tree value, you'll immediately know they're different. You can also safely assume that the entire path till the changed leaf has a new reference and you can do quick shallow comparisons.

This is however an optimization and implementation detail. We're able to do this because structural sharing still allows us to keep the semantic model of everything is value for all practical purposes yet have the benefits of immutability.

OCaml lets you do both though - it supports the imperative place-oriented way of programming and value-oriented programming. It encourages value-oriented programming through its syntax and runtime library, but when you need it (for performance reasons), it is there for you.
I apologize for the confusion. My response was half directed towards the post of Nabla9.

"If I read physical book or printed article and underline it, leave coffee stains on the paper etc. I'm working with actual physical object. When I achieve the paper in a map, I can often recall where the book is stored physically and even the coffee stains and notes in the paper."

Thus my response on highlighting.

So what is it about paper or e-books? The debate is between paper and lcd? I was thinking there is something more tangible that makes one more appealing than the other. No? Which is why I stated why I lean towards one more than the other. A practicality rather than a hidden nuance. Which I'm assuming is the real reason?
That’s right. The small business SAAS biz in niches.
For C++ especially, most of these conventions and techniques co-evolved with the language, so requiring the compiler to produce an error for failing to follow them would be a breaking change. You might be able to configure your particular environment to produce more errors than the standard requires, which is what some of the mentioned warning flags are about. GCC and LLVM both support syntax like this to flag specific warnings as errors: -Werror=reorder (this specific one will error out if member variables aren't declared and initialized in the same order).
His opinion already changed when he hit 30. I can't find the article but a few years ago he stated something like he wishes he could take that quote back and doesn't believe in it anymore.
Yeah, there would be advantages in the cars exchanging data, but you could have that while still leaving the final decisions up to the individual car (rather than being dictated by a centralized controller).

That's more or less what ants and bees do -- they exchange information with each other, but each unit is still quasi-independent.
The Four Pillars of Cloud-Native Operations – The New Stack
There is also the fact that Tesla purchasers tend to be from high socioeconomic classes, even more so than the baseline (extremely predictive) education / occupational category / credit score triptych would indicate. Most insurance risk predictors map directly to SES.
Point 3 seems to be a case where correlation does not imply causation. Basing an advertising campaign with an oblique reference to the issues at Uber* doesn't mean the campaign is effective.

* most people I talk with are only vaguely aware there are issues at Uber, including many drivers, Uber users, and non-Uber users.
the problem might be you could make a decision that is advantageous for you but not for the company
It doesn't have to be centralized. If you think of the cars as data packets and the roads as cat-6 cables, then you can see how redundancy and alternate routing can be built in.
This is a very interesting question. To me, understanding in isolation some random function deep down in the code somewhere is not really something I do. Maybe that's why I prefer dynamic languages. And other people like to be able to do that, and therefore prefers static languages.
A huge number of the slides are small incremental changes to a base slide. Things like adding each bullet point, callouts, individual newlines and edits to make code changes easier to follow, etc..
This is a fallacy within technical circles: that the world will somehow immediately recognize the intrinsic value of a feature/addition as soon as it becomes public and that it'll therefore spread on its own merits. It's good to always keep in mind that history is littered with perfect technologies that failed miserably. Creating the perfect mouse trap without placing it where it'll catch mice is useless.

P.S.: Been there, done that.
How does an "Hello world" request on localhost take an average of 50~100ms using any framework ? 1ms would already be too much. Something seems way off with this benchmark.
Yes, because if the loop is not always-executing, it may be cheaper to not initialize the complex object, even if it is safe to so.
Except they're not the same products are they... often cheap imitations.
Yet another way to analyze the situation is to look how big successful startups grow before they sell to one of the big ones, and how many of them are sold each year.

Big internet giants can reap the benefits of the startup scene by picking up promising startups early on before the valuations growth. Just hint that they might provide free alternative that is just good enough, might drop the valuation of a startup

When the Microsoft was the scary monster in software business in the 80's, all software startups had to have Microsoft strategy. What to do when MS shows interest. Show them a demo before product is ready and they have several ways to shut it down or buy it off and kill it.
I don't loathe it but the site wasn't usable. Thanks.
I suspect llgo and gccgo do this already
Known tech is quicker onboarding. Not all business have the capacity to train devs on new Lang's, but if your company does have that extra capacity then sure, no problem.
> One-shot learning will get solved.

This is nonsense. I would challenge you to show any few-shot learning work that isn't basically some form of transfer learning in disguise.

Few-shot learning is super useful if you're in a position where you don't have much data, but will never compete with huge stacks of data.
State of Privacy in Statically Generated Blogs
The Aldi Nord campaign launched last year. I remember because I'm amazed by the campaign's bad typography whenever I see one of the posters in a shop.
Ask HN: How to stay up to date with academic research?
I know (from my MBA studies) that there are a lot of academic papers in the domain of marketing, decision making, game theory, etc' with very practical implications for startups. Is there any newsletter or a magazine that curates or reviews those? If not, I would gladly pay for a subscription if someone builds this.
Well, if you're doing microservices you're usually nullifying most of the benefits of this kind of architecture if you're just deploying them on war files on a single application container.
You absolutely are. You name dropped Amazon as some sort of proof that Amazon is used at scale, completely misrepresenting the scope of usage. Simply put, Clojure at Amazon is an insignificant and inconsequential symptom of a massive service oriented architecture with tens of thousands of software developers across four continents making independent decisions on how to write their tiny services.
Thanks for this pointer. It appears to have python bindings for the sqlite VFS layer and virtual tables too. That would be fun to experiment with.
It seems like no one is talking about the obvious move here: becoming an engineering manager.

Can anyone share their two cents and pros/cons of being an EM vs IC? Any regrets?
Fowler did a very brave thing. Most people who do "blow the whistle", however, end-up with nothing more than a termination and blacklisting.

People like to think that silicon valley corporations are very different than their traditional counterparts, they're NOT. HR will always, always, ALWAYS protect top-performers and the interests of the company in front of literally anything else, especially individual employees.

I think more folks should read "Corporate Confidential." Yeah, it's not backed up with "research," but the arguments are compelling and it cogently explains how Susan Fowler's situation could happen at almost any other large company.

Uber will perhaps be able to avoid another giant sexual harassment fiasco, but they're not going to fundamentally change as a result of this and neither will any other company.
Why's that a bad thing? Increased density in cities means more space for nature in the countryside.
Apple cables are too thin and grossly overpriced.

Family probably went through at least half a dozen.

Never had a plain USB cable disintegrate on me IIRC.
Actually I was surprised to see JP Morgan there. I don't watch it closely but they seem a recent addition. Their "Kapital" system is based on Cincom Smalltalk. I wouldn't speculate they are porting it. Facilitating a viable open source Smalltalk alternative may just for negotiating power with their incumbent Smalltalk.
http://www.cincom.com/pdf/CS040819-1.pdf
Xbox One X – The World’s Most Powerful Console Ever
Maybe it's a good motivator for SpaceX, but let's look at the macro picture. Blue Origin has zero commercial flights in its history. It is far behind SpaceX. But if BO displays operational expertise and can execute on its plans, it will be an exciting competitor.

Then again, if BO has some setbacks like SpaceX has had (delays, launch failures, etc) then it might not shake up the industry as much as we hope.
Paying someone with 30 years experience more than someone fresh out of school isn't age discrimination.

Just because someone has worked 30 years, doesn't mean they have 30 years of experience. They may have 5 years of experience 6 times or even worse stopped learning anything new 15 years ago.

I'm in my mid 40s and I've hired developers who are older than I am and had 10+ years of C# but have never done a unit test, didn't understand the concepts of continuous integration/continuous deployment, didn't know Linq (introduced in 2008), Web API (introduced in 2011), and didn't even know WCF.

I needed developers and thought with their experience with different technologies they would be able to adapt. I was hiring based on Joel's "smart and gets stuff done".

Was I wrong. Older developers who haven't kept up with the trends for the last decade and haven't kept up with the changes in technology are worse than young developers who don't know.

As far as the pay ceiling, yes I've reached a ceiling as a developer. But not as an architect who both keeps up the latest shiney frameworks and has a deep understanding of the fundamentals.
How is it not cleaner and simpler to just use something of a builder pattern?

srv = NewServer(addr).WithTLS(crt,key).WithRateLimit(30).WithPool(10).Start()
if srv.Err() {
// Handle
}
I'd read about gappa in here : https://hal.inria.fr/hal-01534533/document and then https://hal.archives-ouvertes.fr/hal-01522770/document . Seems they're building on the work done with gappa.

My guess (bystander and user of the tech) is that it'll stay hard for 5-10 years (slow progress of research projects, lots of lead bullets, and far more cores on our dev machines...). If you're motivated and are ready for semi-automated proof you can probably use lemmas (pre-proven properties) in Spark but if you can't find your lemmas in the Spark toolset, then good luck with Coq or Isabelle.

Some encouraging stuff is going on in the FP static analysis world though, with projects like herbie (based on sampling only IIRC), the Tocatta lab, and I've heard some good things about numalis (start-up).

Edit: seems Gappa can be integrated through why3, and seems they did some work on collabaration with alt-ergo so it seems it should be usable through Spark. Something to check in the next release :-D.
I don't quite understand your question. Isn't entity relationship modelling an abstraction over the database rather than something separate? In Clojure raw SQL with something like HugSQL is more idiomatic than anything resembling an ORM though you can try to use Clojure as a simpler way of accessing Java classes, in which case all the usual suspects are available.
> e.g. the tech for AlphaGo was made by a startup.

Making the next AlphaGo is far less accessible than making the next AirBnB. The gold rush where we're basically sticking a web/mobile app on a business and off to the races is ending.
Totally agree. This is not something I would have considered as a child, but it seems clear that some decentralization is needed. I think the proper solution is definitely some kind of p2p protocol with cars exchanging information.
How would you drain these pipe/roads? Most current roads have a positive camber to aid drainage.
The safety benefit is from the automated emergency braking system, which Tesla has coupled with the Autopilot package. It's not from Autopilot itself.