Ask HN: What services should be included as UserApp add-ons? - <AUTHOR>

We recently launched UserApp (www.userapp.io), a User Management SaaS, and have now begun working on add-on functionality.
The question: If you were using UserApp, then what services would you see as "must have" for your business?
Some services that we are looking on integrating:
1: Sync users to newsletter/email services (MailChimp, Campaign Monitor, Customer.io)
2: Payment processing (Stripe, Braintree, PayPal, Coinbase)
3: Welcome email and password reminders (Sendgrid, Mandrill)
4: Social login (Facebook, Twitter, Gmail)
5: Referral program
6: Launching soon page (LaunchRock)
7: Analytics (MixPanel)
If you have any other ideas on what we should integrate, please share :) <comment><AUTHOR> OP here.

Point taken!

Payment processing, social login and welcome/confirmation emails is on top of our list!

The "launching soon" page is thought as a nice 1st step for people that haven't launched their app yet but still want to get users into UserApp. But we're not going to become like another LaunchRock, so no need to worry :)

<comment><USER2> Launch soon could be nice, maybe do a partnership with some themeforest designers to cross promote.

</comment></comment><comment><USER3> Would like to see payment processing + welcome emails addons

And please don't add launching soon page, its unnecessary. It's a user management service, not an swiss army knife

</comment><comment><USER4> Would like social login as an add-on.</comment>


Ask HN: Bootstrap similar frameworks - <AUTHOR>

Which "toolkit designed to kickstart development of webapps and sites" that "includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation" do you use, if any. <comment><USER2> Being a big fan of Blueprint CSS, I've been finding it very useful on that purpose. Give a try. <http://www.blueprintcss.org/>

Or keep searching on Quora & Stackoverflow. Here is an example that might be working for what you've been searching. [http://www.quora.com/Are-there-any- web-2-0-UX-UI-development...](http://www.quora.com/Are-there-any-web-2-0-UX- UI-development-frameworks)

Focussing on Javascript UI libraries could also work. [http://speckyboy.com/2010/05/17/15-javascript-web-ui- librari...](http://speckyboy.com/2010/05/17/15-javascript-web-ui-libraries- frameworks-and-libraries/)

</comment><comment><USER3> Twitter Bootstrap is good -> <http://twitter.github.com/bootstrap/></comment>


Jawbone of Earliest Modern Human Out of Africa Discovered in Israeli Cave - <AUTHOR> https://www.nytimes.com/2018/01/25/science/jawbone-fossil-israel.html <comment><USER2> Every couple of months, we find new fossil evidence that "rewrites" the history of our species.

At what point is the theory just wrong?

<comment><USER3> The theory is always 'wrong' if 'correct' means fitting the data perfectly.

Having to adjust the parameters of the model and having to change the fundamental aspects (e.g. humans came from Africa) are different things.

<comment><USER4> It's interesting how you chose the oppose of "wrong" with "correct"; my first thought was "right".

Right/wrong is most commonly used in a moral framework. Correct/incorrect seems more apt during application of an observed value to an expected value.

<comment><USER3> You're right

</comment></comment></comment></comment><comment><USER5> One of the laws of archeology is "There's always an older find"

</comment><comment><USER6> It seems in the past couple years, scientists keep finding new artifacts that shake our current understanding of our roots.

We live in a fascinating time!

<comment><USER7> >That does not mean that this person contributed to the DNA of anyone living today, he added. It is possible that the jawbone belonged to a previously unknown population of Homo sapiens that departed Africa and then died off.

From the article

</comment></comment><comment><USER8> As far as I can tell, the entire "Out of Africa" model taken for granted within the MSM is being treated with increasing skepticism/nuance by scientists actually studying the facts on the ground, leading to these odd & increasingly ancient "first modern out of Africa" stories which may be confusing the public more than they're illuminating the history of human populations.

Razib Khan had a good short primer on this topic a little while back [1], excerpt:

 _The data for non-Africans is rather unequivocal. The vast majority of ( >90%) of the ancestry of non-Africans seems to go back to a small number of common ancestors ~60,000 years ago. Perhaps in the range of ~1,000 individuals. These individuals seem to be a node within a phylogenetic tree where all the other branches are occupied by African populations. Between this period and ~15,000 years ago these non-Africans underwent a massive range expansion, until modern humans were present on all continents except Antarctica. Additionally, after the Holocene some of these non-African groups also experienced huge population growth due to intensive agricultural practice.

To give a sense of what I'm getting at, the bottleneck and common ancestry of non-Africans goes back ~60,000 years, but the shared ancestry of Khoisan peoples and non-Khoisan peoples goes back ~150,000-200,000 years. A major lacunae of the current discussion is that often the dynamics which characterize non-Africans are assumed to be applicable to Africans. But they are not._

[1] [https://www.gnxp.com/WordPress/2017/04/28/beyond-out-of- afri...](https://www.gnxp.com/WordPress/2017/04/28/beyond-out-of-africa-and- multiregionalism-a-new-synthesis/)

<comment><USER9> Can you recommend a good primer on what we know about evolution and the history of our species, and the supporting evidence?

I thought _The Selfish Gene_ would be this, but it seemed primarily focused on more abstract/philosophical questions, like group selection vs. gene selection. I'm more interested in concrete information about what our DNA and the fossil record can credibly establish. I want to know what facts are indisputably known, and which are more speculative.

<comment><USER10> It sounds like there's precious little certainty to be had [1]:

 _So far, nobody has recovered ancient DNA from archaic human skeletal remains in Africa. The 2000-year-old Ballito Bay boy is not the oldest, but there are no DNA results from truly archaic specimens, like the Kabwe skull from Zambia. As a result, we don't have the kind of record within Africa that geneticists have built for Neanderthals and Denisovans in Eurasia..._

 _Morphology does not tell the story of modern human origins...Did short faces and rounded braincases really make a difference to the survival and success of modern humans? Maybe they were chance legacies of the population that gave rise to our gene pool. We don't know._

Conclusion:

 _We have to discover more fossils. That's the way that we will start to solve these new problems and shed light on old mysteries._

[1] [https://medium.com/@johnhawks/the-story-of-modern-human- orig...](https://medium.com/@johnhawks/the-story-of-modern-human-origins-just- got-more-complicated-9e435bea24f6) via [https://news.ycombinator.com/item?id=16234903](https://news.ycombinator.com/item?id=16234903)

<comment><USER11> Short faces and rounded braincases would affect the surface-to-volume ratio. This would help with cold-weather survival.

</comment></comment></comment></comment><comment><USER12> Will it conclude who the owner of Jerusalem is?

<comment> castle-bravo Homo Erectus, obviously.

</comment></comment><comment><USER13> Melanated people (aka Africans, which is a European term) were the first Hebrews and Arabs. "Africans" who migrated East to China, then back migrated after they went through mutation, and mixed with the original people. But of course, no one would believe it unless, well, you already know. Hopefully all the "pseudo-scholars" who spread this knowledge can rest easy now. Most of them died broke while these "discoverers" will die wealthy and famous. Of my post is perceived as racist, so what. I didn't hurt nothing but feelings.

<comment><USER11> The current population of Syria is the closest genetic match to Egyptian mummies.</comment></comment>


Ask HN: iPad 3G Radiation - <AUTHOR>

Do we need to be concerned about radiation from 3G even when in Wi-Fi Mode. For children is it better to get Wi-Fi model <comment><USER2> I recently read 'Physics for Future Presidents', and recommend it.

From the perspective of 'am I going to get cancer from cellular signals', the book leans very strongly to the no. According to the book, the average person has a 20% chance of getting cancer. when you start adding in factors such as being exposed to low levels of radiation from say a dirty bomb, that percentage goes up to 20.5%. It's a tiny number.

Apparently this is why it is so hard to define what is actually causing cancer and what isn't. Even if there is a 1% chance that using an iPad is going to give you cancer, that is only 1% on top of the 20% chance you already have. So you COULD avoid using your iPad, but you've limited the minor portion of your chances.

We are bombarded by radiation all the time. You can't get away from it. I'm not saying you should bathe in plutonium daily, but don't lock yourself in a bubble either.

Look at it another way. Of Steve Jobs and Bill Gates, which one do you suspect lived the healthier lifestyle, and which one got cancer? Take good care of yourself, eat your veggies, a low fat diet (but not too low) and most important get excercise (that goes for your kids too). But I personally don't believe we need to fear the radio waves which surround us.

</comment><comment><USER3> Why would you be concerned about 3G radiatiom at all? I don't think cell phones cause any problems for children.</comment>


Google Is Partnering with WordPress to Develop a News Publishing Platform - <AUTHOR> https://www.searchenginejournal.com/google-is-partnering-with-wordpress-to-develop-a-news-publishing-platform/286333/ <comment><USER2> A useful link where you can submit your application for early-testing:

[https://newspack.blog/](https://newspack.blog/)</comment>


Show HN: My first Stripe site - Fifty Dollar Deadline. - <AUTHOR> https://www.fiftydollardeadline.com

<comment><USER2> I think it's a pretty cool idea but I'd really be really concerned as an end user that you're not just going to take my $50 and walk.

I'm sure you don't have that intention at all but you're basically asking people to hand over $50 to a dude in a street and then come back 1-6 months later to collect it.

You should incorporate some type of escrow service and explain to people that their money is safe there.

Also I'd be curious to see how many people don't just lie to get their money back.

<comment><AUTHOR> Hi rartichoke, thanks for your comment.

Yes, I don't really believe it'll take off - but it was worth a try for a day's work. Plus I got to use Stripe for the first time, which is so much nicer than PayPal.

FDD is a sort of Chicken-and-Egg website - if thousands of people used it, it would be trusted. But they don't, so it's not.

P.S. Feel free to set yourself a deadline - I am a real person, and I _will_ give you money back.

<comment><USER2> That's why I recommended to use an escrow service to hold the money. You take a small hit (%) from using it but then the money is held at a reputable third party place.

It's a big win if it means more people will sign up because they are confident their $50 is secure.

<comment><AUTHOR> Could you recommend a good escrow service? There are lots when you Google.</comment></comment></comment></comment>


How to Write a Thesis (1977) - <AUTHOR> https://thereader.mitpress.mit.edu/umberto-eco-how-to-write-a-thesis/ <comment><USER2> > If you do not know the definition of a term, avoid using it. If it is one of > the principal terms of your thesis and you are not able to define it, call > it quits. You have chosen the wrong thesis (or, if you were planning to > pursue further research, the wrong career).

This seems like good advice for life, not just your thesis.

</comment><comment><USER3> I have read the book and it's charming; as with much of what Eco writes, it's going to be of interest even to people who are not the target audience (students writing theses). Sometimes seemingly specialty books have the most interesting general lessons.

</comment><comment><USER4> When reading this article...

...and the article a few days back

"Writing a Ph.D. thesis with Org Mode"

[https://news.ycombinator.com/item?id=20435576](https://news.ycombinator.com/item?id=20435576)

My mind thinks about all these people reading articles instead of _writing their thesis_.

<comment><USER5> One of them may even be writing a thesis on HN comments (and commenting on HN rather than writing their thesis).

<comment><USER6> Back to work!

Any interesting findings?

</comment></comment></comment><comment><USER7> Full text: [https://b-ok.cc/book/2515965/9017f1](https://b-ok.cc/book/2515965/9017f1)

<comment><USER8> Thank you.

</comment></comment><comment><USER9> I own a heavily marked copy of this book in spite of having never written a thesis. It contains great advice for any long-term research oriented endeavor. As the article points out, not only will it help you get through the slog of momentous, detailed research without collapsing, it also contains sound advice on how to clear your head and prose before communicating your results.

Eco's recommenced note taking system also superb. It's no surprise he was able to write so prolifically.

</comment><comment><USER10> Is much of this applicable to writing a dissertation? Is there anything it's missing for writing a dissertation?

Edit: ah, found my answer in chapter one (quoted it below). All of it should be applicable, as the "thesis" that this refers to is known as a "dissertation" outside of Italy. Perfect! I've been wanting to learn the PhD research process without bothering with the matters of financing a PhD and the deadlines.

> outside of Italy, the thesis proper generally applies to the doctorate, a > degree pursued by those students who wish to specialize and pursue academic > research in a particular discipline. Although the doctorate has various > designations in different parts of the world, we will use the common > abbreviation "PhD." ... In universities around the world that traditionally > grant the PhD, the thesis usually refers to a doctoral thesis, known as a > "dissertation." This is a piece of original research through which the > candidate must demonstrate his scholarly capability of furthering his > discipline.

</comment><comment><USER11> He was lucky not to have seen "theses" written in my home country Turkey. 90% of them are copy pastes. I saw many PhD theses quoting wikipedia. Ridiculous.

<comment><USER12> In all fairness, it's really due to universities not focusing at all on _teaching_ research. Having studied (and taught) at a research university in the Netherlands, I can tell why my friends... well, didn't give a shit about their theses. For them, it simply is a longer essay with a predefined structure and some guidelines on the exact word count and referencing style.

It's sad, but it's not really about Turkey. It's global, and caused by the universities not caring themselves, and not teaching students how to write.

</comment></comment><comment><USER13> A stirring defense of lucid and unpretentious writing, in a context when it is most needed.

</comment><comment><USER14> Some great advice! Is there something like this more specific to computer science theses?

<comment><USER15> [http://www.ccs.neu.edu/home/shivers/diss- advice.html](http://www.ccs.neu.edu/home/shivers/diss-advice.html)

</comment></comment><comment><USER16> I would have enjoyed reading the rest of that, but unfortunately a pop up appeared in the middle of the page as I scrolled down. I automatically close any page that does this. I can't figure out why anyone thinks it is reasonable or appropriate to do that. Would you go up to someone in a library who is reading something and ask them if they want to subscribe to some crappy mailing list? Certainly not!

<comment><USER17> If you invited me to your library, where you have books you have paid for, I would not consider it rude if you interrupted me for a few seconds with this request.

Heck, if you DEMANDED I give you my email before coming in, I think I would accept the exchange.

Just click the X and be on with your day. This does not seem like a ridiculous request at all.

<comment><USER16> I have clicked on my last X for the day. This is getting to be worse than the X10 camera pop up ads from years ago. I'm a person, not a conversion or an eyeball, and if someone offers me a document I expect to be able to read it without being harassed. It's a sad state of affairs when even MIT, an apparently esteemed university is only publishing information for the sake of the grift, rather than to stimulate the public intellect.

<comment><USER18> > This is getting to be worse than the X10 camera pop up ads from years ago.

Oh, the waves of nostalgia!</comment></comment></comment></comment>


Forget self-driving car anxiety: In the early days human drivers were the fear - <AUTHOR> https://timeline.com/forget-self-driving-car-anxiety-in-the-early-days-human-drivers-were-the-fear-55a770262c10#.vf6ekg4kz <comment><USER3> Eventually - maybe in 20 years - humans won't be even allowed to drive.

I'll bet they even ban hobbyist driving - like those who 'still have old cars' and want to drive on those 'old car roads'.

Statistically too dangerous. Far more dangerous than anything else we really do - certainly more than smoking. And when it's no longer a 'necessity' ...

Do you remember those movies before the 1960's when they get in cars and they don't even have seat-belts - and we 'gasp' ... 'OMG' ...

I think our grandchildren will gasp when we tell them we drove cars. They will think we were crazy and uncivilized, we'll call them wimps.

You'll want to teach your grandson to drive, your daughter in law will be upset and call you a crazy old man :)

<comment><USER4> "Eventually - maybe in 20 years - humans won't be even allowed to drive."

I don't see that happening for a century. Unless you subsidize the cost of purchase of a new car for everyone who has a car now, and associated costs of owning a new vehicle.

Where I'm from(Poland) the average age of a car is 16 years. Buying a new car, even if it's something very cheap like a Fiat Panda, is still a huge deal.

Why would you care about what purchasing power is like in Poland you ask? Well, because at the moment I can drive my car literally around the world, without modifying it an inch. If some countries start banning manual cars, then suddenly you can't cross certain borders anymore - that's almost idiotic. If the ban of manual cars is going to happen, it will need to happen almost worldwide at the same time, and that's absolutely, definitely, completely not happening in the next 20 years.

I actually think your example with cars without seatbelts is great, because it illustrates what will happen with manually-driven cars - instead of banning them, they will eventually become so rare there will be no need to ban them, just like you can still drive your 1950 car without seat belts or airbags.

<comment><USER3> \+ There will be EU wide standards for 'self driving' just as there will be a 'North American' one.

\+ They will make them cheap. The AI is software, it's a commodity, and the parts (i.e. LIDAR) will be cheap by then.

\+ In 20 years you won't likely be able to drive your old car in France, and no offence - they will probably mock the Polish for still having 'real cars' :).

But you're right - 20 years is too soon.

20 years to 'almost everyone in driverless cars'. 30 years to banning humans. 45 years to banning them even from driving hobby cars.

Add 15 years for East Europe and Russia.

Add 30 years for poor places.

<comment><USER4> "45 years to banning them even from driving hobby cars."

Again, I don't think this will ever happen, just like we haven't banned horses on normal roads - there's just so few of them that it's not an issue. Likewise, if in 50 years 99% of cars are self-driving, it won't matter an inch if you want to drive yourself in your antique. If you find someone who will insure you in it, fine, go ahead, don't see why they would be banned - <USER2> driving cars will probably do a good enough job of avoiding manual cars anyway.

<comment> yoz-y I am quite sure that once most of the cars will be autonomous, we will start building autonomous-only roads. With faster speed limits and so on. Manual cars will not be allowed on those, and then progressively more and more roads will become autonomous only. Hopefully the first to become as such would be all roads in cities.

Just like horses which you cannot bring to a highway.

<comment><USER4> You can't ride a horse on the motorway in the UK(speed limit 70mph) but you can happily ride one on a dual carriageway - which also has a normal speed limit of 70mph.

And cities autonomous only? So what about bicycles? Or tricycles? Or hand drawn carriages(rickshaws etc)? Would those roads have high walls around them ,stopping pedestrians from entering?

And finally - where would the money for that come from? Even very rich countries(I live in the UK) struggle to maintain their roads to a high standard, something simple like adding new pedestrian crossings can take years in planning and approvals, but somehow, we would modify all our roads to suit one specific type of vehicle?

I'm really sorry if I'm being cynical, but I really do have a feeling that this self-driving-car utopia is not going to happen.

<comment> yoz-y I think bicycles and other lightweight vehicles are fine. My main problem is that myself, as a pedestrian and a cyclist I am sharing the road with several- ton metal beasts which are driven by annoyed, angry and tired people. I would feel much safer knowing that the pilot of a car next to me is concentrated on the one thing which it is supposed to do.

I think however that at least for several years (decades) the autonomous vehicles must be able to work on the roads we currently have.

As a disclaimer, I would say that I am actually pro-ban of personal vehicles in city centers today. I really do not see a point of anything that is not an ambulance, fire truck, bus, a taxi or a delivery truck on a road. Why people wake up soon in the morning only to then be stuck in an over than one hour commute when a subway ride would take 20 minutes tops is really beyond me.

Banning all cars first and then progressively let autonomous vehicles (as part of a fleet) in would be a win situation in my opinion.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Just this morning on my bicycle ride to work, I was nearly run down by a taxi making a blind entry into a large road and doored by a 10-year-old. The fear of cars is not "old school" but very much real. This is not to mention the aggression that drivers go and build up in their small bubbles. I am always prepared to get off my bike and take them up on their threatening offers. I look forward to less aggressive, more responsive computer-controlled vehicles.

<comment><USER6> Looks like you're just as aggressive, waiting for someone to finally "offer" threats.

Cyclist are no angels, either. I always find it fascinating how they clamor for at least a meter space next to them when cars are passing, but when traffic is slow (not standing still – that's a different story), mere centimeters to my side mirrors are enough to pass cars themselves.

I think a drastic re-education of traffic participants would be necessary: de- emphasize small, inadvertant and temporary infractions and punish vindictive and deliberately dangerous behaviour much more aggressively.

<comment><USER7> > Cyclist are no angels, either. I always find it fascinating how they clamor > for at least a meter space next to them when cars are passing, but when > traffic is slow (not standing still – that's a different story), mere > centimeters to my side mirrors are enough to pass cars themselves.

Right, this is because a car that's moving faster than a cyclist and traveling close can drag the cyclist off their bike. A cyclist that is moving faster than a car cannot drag a driver out of their car.

<comment><USER6> You're not understanding the point, which has been elaborated many times now in this subthread: Nobody is talking about the cyclist being dangerous to the car driver.

But if the cyclist touches the car, he can be dragged off. No matter who was passing the other and who was faster. Only the contact matters.

<comment><USER8> I think they understand the point quite well. You're just ignoring that there's a huge difference between causing danger to yourself vs causing danger to others.

</comment></comment></comment></comment></comment><comment><USER9> Human drivers are still dangerous. Every year, around a million people worldwide are killed due to automobile accidents. [1]

Meanwhile, in the United States alone, there are around 5 million vehicle crashes annually.[2] Although automobile safety has increased, I am curious as to whether our accidents per-capita has stayed the same.

Also, we have to consider the interaction effects between decisions taken by human drivers and self-driving algorithms. I have a feeling that they might be deleterious initially, but should be able to improve after some iteration.

[1] [https://asirt.org/initiatives/informing-road-users/road- safe...](https://asirt.org/initiatives/informing-road-users/road-safety- facts/road-crash-statistics)

[2] pdf: [https://crashstats.nhtsa.dot.gov/Api/Public/ViewPublication/...](https://crashstats.nhtsa.dot.gov/Api/Public/ViewPublication/812006)

<comment><USER10> I was going to say, "were the fear?" Try driving a motorcycle in traffic in the USA! People are downright homicidal.

<comment><USER11> I'm a big fan of the 'look twice, save a life concept' but motorcyclists can be more adequately described as suicidal than the typical driver can be described homicidal.

I've been in a few situations where I had to work very hard to not kill/injure someone because a motor cyclist was being completely reckless. It is super annoying to have motorcyclist squeeze around you on both sides on a one lane ramp merging info traffic. Or a motorcycle sitting in my blind spot without even the decency to stay near the center of the lane.

Its not really different from any other driver, except the complete absurdity of driving among cars at car speed with literally no safety mechanism beside plastic wrapping your head should demand a heightened level of defensive driving.

<comment><USER10> There are definitely the types that seem to think the streets are a racetrack and are very wreckless. I'm one of the 'other' types and I ride like a grandma and try to stick to open roads.

BTW, there are good reasons why motorcyclists don't always drive in the center of the lane. One main one is to position the bike so you are visible in the left mirror of a driver you are passing on the left, meaning you ride in the 'right track' of the lane. Another is oil and gas tend to be spilt in the center of the road, and most bikes don't have ABS. Riding in the left track will help prevent a driver passing you on the left from cutting their pass short into your braking zone. It all depends on the surroundings and riding defensively.

<comment><USER12> I'm a motorcyclist as well and I too tend to ride quite defensively. Another reason to avoid the centre of the lane is that the arrow markings tend to be slippery at times - especially on wet roads. The biggest factors, though, are the ones you mention - to be visible in the mirrors and to avoid fluids that have leaked from bigger vehicles - which usually is in the centre of the lane.

</comment></comment></comment></comment></comment><comment><USER13> The problem is _still_ human drivers, and it will remain so as long they're blended imperfectly with autonomous systems. I don't know how much clearer this issue can be, but humans _suck_ at driving. We're just no good at maintain a constant vigil in those circumstances; we evolved to use time like that to power down the hungry brain.

<comment><USER14> I don't think the main human behavioral problems are limited to cars.

The things that frustrate me most during driving are equally present when running on a trail, waiting for a subway train or observing cyclists, for instance. They are:

1\. Not knowing where the heck you are and what you are doing. Many people seem utterly unaware of themselves and the effect that their actions have on others.

2\. Refusing to either speed up or move out of the way (doesn't really matter which of those you do but if you refuse to do _both_ then you will become a huge obstacle, whether it's a sidewalk or a road).

3\. Believing you are better at multitasking than you really are.

If you're blocking a sidewalk, you're exhibiting poor "driving" in a walking scenario. If you're blocking the entrance to the doors, you're exhibiting poor "driving" in a train station. If you're prioritizing your texting and interfering with me, you're exhibiting poor "driving" in just about any situation (driving or walking or social for that matter).

Automation is not required to fix the biggest frustrations with driving: rather, human beings need to start paying a lot more attention EVERYWHERE in life and being a lot more reasonable to one another.

<comment><USER15> The real problem is people who think that being slightly inconvenienced, say, by someone moving slower than they are on a sidewalk is somehow comparable to a driver who takes risks with the lives of everyone else around them in order to get to work a few minutes sooner.

<comment><USER16> I disagree, and I identify with the parent's comment quite a bit. The parent to your comment wrote a cogent "unifying theory" for explaining how humans are simply poor at situational awareness in general. Whether it's parking your shopping cart in an inconvenient place for passerby while you pick out a few oranges or driving significantly more slowly than you're expected to in the fast lane, the parent's narrative is compelling for connecting these behaviors.

Now, "unifying theories" tend to be rather simplistic, and the parent did exactly publish a replicable study, but you didn't really rebut the thrust of the argument. Instead, you claimed the parent is the problem for expressing the argument in the first place. Even if the behaviors are not comparable in final effect (and I agree with you, they aren't), they are comparable in cause. On the face of it, there do appear to be strong, outward similarities in the frustrating obliviousness (or willful apathy) of people who inconvenience others while walking and people who inconvenience others while driving. One might result in death and the other might not, but that's really just a matter of nuance. The behaviors are fully comparable, it just happens that one takes place in an environment which is fundamentally more lethal.

As an aside, I find my reactions are comparable as well. One of the most bloody frustrating things I frequently encounter is someone who suddenly stops their shopping cart in such a way that it blocks traffic, then walks away from it to roam for produce.

<comment><USER15> the problem I had is that I interpenetrated this as OP considering things that are merely annoying as just as important (or more important) than things that are really quite dangerous.

That could, of course, be an incorrect interpretation of what was being said; I certainly agree that the immediate emotional response tends to more negatively weight things that are annoying and slowing me down more than things that are actually dangerous, which is part of why I think it's so important to say something about this sort of thing, and to make sure you change that weight.

Guns get a lot of press and a lot of emotion; really, a lot of emotion that I think would be better focused against cars. If there's not a gun in your house, you are _dramatically_ more likely to be killed in an auto accident than by a gun. (or, if you want to put it another way, as an American, if you remove suicides, you are a lot more likely to be killed by a car than by a gun.)

</comment></comment></comment></comment></comment><comment><USER17> The punitive laws were a reaction to a clear and present danger. Cars were hitting and killing people (particularly children). The eventual solution was for pedestrians to stay off of the streets. Parents were made responsible for keeping their children off the streets.

It is interesting to note that at least one of these laws seems to be returning. Reducing residential speed limits to 30 km/h is a trend now and is done to increase pedestrian safty. Driverless cars will of course also be so restricted. If it turns out that driverless cars are actually safer for pedestrians then pedestrians will return to the streets. Then "The motor-car is not to be made as useful as it should be.." will be an issue again.

<comment><USER18> >> If it turns out that driverless cars are actually safer for pedestrians then pedestrians will return to the streets.

To the tiny residential streets, maybe, but they never really left those. I walk my dog on the street in my neighborhood (no sidewalks). The bane of our walks are the stealthy electric things. With those around you are much safer at night when you can see their lights around corners. We will never see pedestrians taking back the main roads. The separation of pedestrians and cars is more efficient for both. Our cities would grind to a halt if every truck and ambulance was suddenly stuck to a walking pace due to pedestrians out for a stroll.

Motorcycles and bicycles also aren't going anywhere, not for decades. Telling those groups to give roads back to pedestrians, to put away their favorite two-wheeled toys and stick to a walking pace ... Bring a helmet when you tell them it's all over.

</comment></comment><comment><USER19> _now we 're worried about people driving with the aid of a second (artificial) intelligence_

To the contrary, I haven't heard anyone complain about collision-avoidance systems; the paranoia comes in when the possibility of cars being driven by a _single_ (artificial) intelligence is discussed.

</comment><comment><USER20> I know a little bit about AI and the things it needs to drive, and i know horses well.

There is no comparison, a horse is _much_ smarter then any AI i seen [0].

Look at the traffic closely and observe all the edge cases and all the details that an AI couldn't handle properly. Like potholes, paint, animals and people coming from beyond cars parked on the street, works on the road, a dust cloud, a gravel road with big puddles, and idk what else. On top of that the thing is that going over 40kmh is not driving, it's ballistics.

So far i have seen that a car can be driven by an AI from A to B in good conditions, but i have not seen it drive in more difficult conditions (some are common in my city).

[0] [https://www.youtube.com/watch?v=A6kIPi11sl8](https://www.youtube.com/watch?v=A6kIPi11sl8)

<comment><USER3> I suggest in many ways you are right.

BUT - cars will eventually be better than horses.

Why?

Because they have a) the tech is very specifically geared to do things related to driving and driving only b) it's not inclined to 'emotions' or 'spooking' and finally c) it has tech the horse cannot have - it will be able to see further out, communicate with other cars 'real time', it will be able to make crazy probabilistic calculations in real-time with respect to 'what best to do in a negative scenario'.

I think it will take a long, long time to get through those corner cases, and probably a few disasters between now and then, but in 20 years maybe it will be crazy safe.

</comment></comment><comment><USER21> Human drivers are still a fear for me. It seems that it's every other day that I read about people being killed in the streets by cars. Just this weekend a driver mowed down six cyclists. One is dead. [http://www.cbc.ca/news/canada/british-columbia/richmond- cycl...](http://www.cbc.ca/news/canada/british-columbia/richmond-cyclists- accident-1.3839054)

I think the concerns of these 19th century legislators were warranted and we made a massive mistake in promoting cars as the default form of transportation for everyone. We've unnecessarily exposed ourselves to an incredible amount of danger when there has always been other safer transportation solutions possible.

It's not too late to reign things in. Autonomous cars will help, but solutions exist today and there's no reason to not start working on making the streets safer right now. Cities need to limit speeds to 25 mph like NYC has so that crashes, when they do occur, are less likely to be fatal. Cities also need to provide more transportation alternatives such as public transit and protected bike lanes so that city staff can create smaller and safer roads without affecting people's ability to travel.

</comment><comment><USER22> I put thousands of miles a year on a big, loud, Harley-Davidson motorcycle.

I've been in two wrecks. The last one left me with several broken bones and the inability to walk for a few months, although I did gain the amazing ability to set off metal detectors everywhere!

Human drivers are my worst fear.

<comment><USER23> Your big loud bike can actually be pretty hard to hear when the windows are up and music is playing. It's gotten to the point where I keep my windows rolled down and my music low when traffic is heavy enough for lots of bikes to be lane splitting, because otherwise it's almost impossible to know they're coming.

<comment><USER22> Lane splitting is just crazy, in my opinion. It's not legal where I live (midwest US) but I see people doing it every time I'm in California. I don't think I'd do it even if it were legal.

<comment><USER24> It's actually a lot safer in places that are more congested and have a lot of stop-start traffic. For example, here in the UK, if you sit at the back of a queue of traffic on a motorcycle a truck might not see you and rear-end you. Getting rear-ended by a truck isn't great on a car, but on a bike? Not good.

Instead if you filter and split lanes and get to the front of the queue of traffic you're not only safer but also out of the way of that wave of traffic, since you're on two wheels and can accelerate away much faster than the rest of the traffic. This then allows you to have a buffer behind you.

</comment></comment></comment></comment><comment><USER25> [https://www.researchgate.net/publication/236825193_Street_Ri...](https://www.researchgate.net/publication/236825193_Street_Rivals_Jaywalking_and_the_Invention_of_the_Motor_Age_Street) is a good telling of struggle between human drivers (and driving clubs, and car dealers) and other humans for the streets, or [http://99percentinvisible.org/episode/episode-76-the- modern-...](http://99percentinvisible.org/episode/episode-76-the-modern- moloch/) covers the same material.

To ensure computer drivers behave better than human drivers, re-legalize walking in the street. Also, ban human drivers.

<comment><USER23> I think human drivers would do just fine if the streets didn't separate out pedestrians, bikes and cars. The problem is they fall into certain modes of thinking where they're only focused on the other cars. The only times I've been hit (and it's been three times), has been a driver making a left or right turn, seeing no cars coming from the relevant direction(s) and jamming down on the accelerator only to realize there was a pedestrian in their way.

<comment><USER26> Many small streets in Japan mix pedestrians, bicycles and motor vehicles [1]. They may have a white line to indicate the difference between pavement(sidewalk) and road but it's really just a suggestion in practice. Cars on these roads tend to be more cautious and aware of all over road users. Pedestrians are also more aware of there surroundings because there is no illusion of safety that curbs can sometimes give.

[1] [http://nomano.shiwaza.com/tnoma/blog/archives/20060601/m/dsc...](http://nomano.shiwaza.com/tnoma/blog/archives/20060601/m/dsc00913.jpg)

<comment><USER27> The picture you linked is by no means a "small street" by Japanese standards. Small streets in Japan don't have a line in the middle, and most of them aren't large enough to have two cars crossing each other without effort.

</comment></comment></comment></comment><comment><USER28> Time and time again history has shown that you can't just retrofit old laws to stuff that's "similar enough". Because the new technology is never the exact same. Computers are not telegraphs. Email is not postal mail. Cars are not horse-drawn carriages... Law reuse is harmful because it loses nuanced differences in how these technologies operate and are used. I really think a lot of problems are linked to that, such as with drug laws. I would say we need a reform but that would require changing the DNA of the judicial systems, and like this article notes, ingrained prejudices.

<comment><USER29> I think our legal system does change over time with case law and interpretations of existing laws in new mediums.

Though this does have the unfortunate consequence of lagging behind which can sometimes be severe.

<comment><USER28> The problem is that often this case law is created looking at similar cases as precedent. Instead we should be creating new laws from scratch or else like you said we'll always be playing catchup while areas with more reasonable/reactive laws prosper. However that's antithetical to how current American law works though so it would require changing the whole DNA of the system.

</comment></comment></comment><comment><USER30> What I worry about is how can we define accountability. At least you could sue a person if you got into a car accident and got injured (happened to several people I know). Suing a huge corporation and getting bullied around, settling for less, etc. sounds possible, but can happen too with people vs people. How do you even make a case when you likely don't understand what actually happened or could even prove what happened (crypto, copyright laws)? I'm all for reducing risk, but machines will make mistakes and I don't know what happens next.

<comment><USER31> History seems to have shown the opposite, in transport.

Trains are engineered to absurdly high safety standards and every time there is a crash, it's widely publicized and an in-depth investigation is required along with suggestions for systemic changes to prevent repeat events, and the companies are required to pay large settlements:

[http://www.npr.org/sections/thetwo- way/2016/10/27/499592760/...](http://www.npr.org/sections/thetwo- way/2016/10/27/499592760/amtrak-reaches-265-million-settlement-over-deadly- philadelphia-crash)

At the same time, trains are vastly safer than personal cars. Yet when a driver kills someone, police can barely be bothered to attend the scene and rush to excuse the driver and let traffic flow again.

The safety standards on vehicles are such that billions are spent on engine development yet we tell people to watch out for the "blind spot" in that trucks mirror contraption. We're soon going to have autonomous driving AI yet trucks are roaming city streets that are unsafe by design and regularly claiming lifes. I don't see Volvo and MAN settling with anyone over that.

<comment><USER32> _At the same time, trains are vastly safer than personal cars._

Most likely because trains essentially only travel in one dimension almost all the time, along a very well-defined path.

<comment><USER31> That's the point. For their base (and empirical) level of risk, there are huge binders of safety regulations for trains. Yet cars, which pose a vastly higher risk, are basically unregulated and safety is commonly ignored for what are peripheral concerns.

</comment></comment></comment></comment><comment><USER33> In the current days, human drivers are the fear.

</comment><comment><USER34> He really should have credited the Reddit photo colorizer whose image he uses. He credits Getty for the others. [https://www.reddit.com/r/pics/comments/1ex763/auto_wreck_in_...](https://www.reddit.com/r/pics/comments/1ex763/auto_wreck_in_washington_dc_1921_colorized_by_me/)

<comment><USER35> I struggle to imagine what sort of wreck would result in the rear (chained) tire ending up under the front of the car like that? This wouldn't be the only staged aspect of this picture: why is some random dude sitting in the driver's seat?

</comment></comment><comment><USER36> Not everyone drives equally safely. For many drivers, switching from manual to a self-driving car will increase their probability of a collision. Maybe in the future this will not be the case, but until self driving cars are proven safer than the most cautionary drivers, some people will increase their risk by switching.

</comment><comment><USER37> How can a computer ever be as intelligent as my alcohol soaked brain

</comment><comment><USER38> I started getting scared of autonomous cars when that guy accidentally got sent to the libertarian island on Silicon Valley</comment>


Ask HN: Is there any particular reason to go for SSL EV Certificate? - <AUTHOR> After the latest Symantec incident, I was left wondering if there is any real benefit getting one of their fancy certificates. Their Extended Validation certificates cost ~ $1000.<p>I looked around and most consumer sites, even ones that accept payment like Amazon don't. However most banking firms and payment processing firms like Stripe and Paypal do. If someone could shed light on the added real benefit, that would be great. <comment><USER2> EV means the visitor gets assurance about the __organisation __they 're connected to, rather than the __domain __they 're connected to.

I suggest you look at [https://certsimple.com](https://certsimple.com) \- 1/4 the price you mentioned.

</comment><comment><USER3> EV Certs help websites to enable green bar in the browsers with company name and address. Giant companies with higher amount of traffic prefers to get EV for eminent assurance. If you are using third party payment portal on your site still you should enable SSL to protect login, address, credit card data, etc. I get certs using coupons [https://www.cheapsslcouponcode.com/coupons/ev- ssl-certificat...](https://www.cheapsslcouponcode.com/coupons/ev-ssl- certificates) which always helps me to save bucks.</comment>


After nearly 20 years, Yahoo Games is shutting down - <AUTHOR> http://www.gamasutra.com/view/news/267912/After_nearly_20_years_Yahoo_Games_is_shutting_down.php <comment><USER2> I use to love Yahoo Spades with Cases Ladder. It was all Java based. I first started playing on my PowerMac 6100/60 over dialup in 1996.

I can see why they closed it. The idea of running Java in the browser on the desktop is kind of antiquated with everything moving away from both the desktop to mobile and everyone moving away from Java in the browser.

</comment><comment><USER3> There is a site inspired by yahoo games with multiplayer classic card and board games to play online [http://www.playok.com/](http://www.playok.com/) If you liked yahoo games, you should like it too.

</comment><comment><USER4> Wow, I'm really sorry to see it go. I learned to play Bridge there.

I would have assumed Yahoo Games was mature enough that it could pay for itself kept in maintenance mode. Was that not the case, or were the expectations for growth?

</comment><comment><USER5> Ah! I was just today planning to log in and play Go on Yahoo Games, given the recent news.

I recall the community there being quite active. Does anyone have a favorite online Go site?

</comment><comment><USER6> [https://news.ycombinator.com/item?id=11267987](https://news.ycombinator.com/item?id=11267987)

</comment><comment><USER7> First I've heard of it, and I've been online and into games for all those 20 years...

</comment><comment><USER8> 20 years!?!? OMG I am getting old.</comment>


Supreme Court to Decide Standard for Proving Invalidity of a Patent - <AUTHOR> http://www.eff.org/deeplinks/2010/11/supreme-court-decide-standard-proving-invalidity

<comment><AUTHOR> Similar: Hacker News thread on engadget.com article: <http://news.ycombinator.com/item?id=1951662></comment>


Ask HN: What's your favorite way of getting a web app up quickly in 2020? - <AUTHOR> What services and technologies do you use when you'd like to quickly build a web app which may never be more than a prototype, but may also turn into something real?<p>A big aspect of what I'm wondering is about automatically setting something up for keeping local/production environments in sync, quickly deploying to production, and not having to mess with a bunch of server configuration things, user accounts, security, etc. <comment><USER2> Multi-accounts or coincidence?

[https://news.ycombinator.com/item?id=22001317](https://news.ycombinator.com/item?id=22001317)

</comment><comment><USER3> I replied in the [duplicate, triplicate?] post [https://news.ycombinator.com/item?id=21992736](https://news.ycombinator.com/item?id=21992736)</comment>


Advice to Young Web Developers - <AUTHOR> https://tumblr.beesbuzz.biz/post/621010836277837824/advice-to-young-web-developers <comment><USER2> > _Browsers change. Relying on browser-specific behavior means you're relying > on that one browser at that one point in time. Code to the standard, and > test everywhere._

I wish this was listed at the top of the list, in the middle, and at the end. It's super annoying when a site or application isn't "supported" because it wasn't tested in a separate browser (i.e. non-Chrome browsers).

I know it's not always easy with a fair amount of nuance which the Chrome Compatibility post[0] touches on, but developing the web platform should be done openly, with the browser vendors working together to be compatible with each other and not introduce developer or user inconvenience. Otherwise you end up with web ownership and a fragmented platform.

[0] [https://news.ycombinator.com/item?id=23563525](https://news.ycombinator.com/item?id=23563525)

<comment> non-entity Nothing pisses me off like getting a message that some website only supports Chrome in 2020

<comment><USER3> It's so sad that it became "acceptable" to not test in Firefox (as estimated by the number of sites I randomly encounter that don't work in FF but do in Chrome) right around the time that Firefox Quantum happened and Firefox became good again :(

<comment><USER4> Firefox must have performed poorly on Windows / MacOS in the past, because Firefox on Linux was never actually that bad.

I've used Firefox for 15+ years now and never had the problems that people talk about.

<comment><USER5> I left Firefox in 2011 because it was unusably slow on my macbook. My recent experience has been that it is much faster and I am considering switching back.

<comment><USER6> It's the snappiest browser at the moment and I love its render as text function and automatic ad blocking on mobile. I've made a permanent switch on mobile, but I tend to miss the Chrome dev tools whenever I use it on a computer.

It's also wonderful that the browser is truly privacy conscious.

<comment><USER7> I know productivity takes a hit when you switch tools but FF dev tools are great, it just takes some getting used to

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Seems like a list of every web development ideal that gets upvoted on Hacker News.

Still, I think the list can pretty much condensed down to one point:

Use whatever technology is appropriate for this site or web app.

Because a lot of developers seem to have a 'when all you have is a hammer' attitude towards web development. They learn React/Vue/Angular/whatever, then seemingly decide everything they will ever build will use that framework, regardless of whether it's the right tool for the job.

A blog doesn't need to be an SPA. A static business site that never gets updated and doesn't do anything remotely interesting doesn't need to be an SPA. Your documentation doesn't need to be an SPA.

It's like that guy who was recreating CPanel as a WordPress plugin/install. Sure, you could do things that way, but may want to rethink whether this is really the best architecture to build a server control panel in.

<comment><USER9> I can't count the times I've started to write some basic internal tool with React only to rm -rf everything 1 hour later and replace it with 20 lines of jQuery/vanilla js

<comment><USER10> Such an underrated comment.

I think theres some validity to "you're the most productive with whichever tools you're most comfortable/familiar with", but I think people don't realize the levels of abstraction that come with web development.

( My learning path was: Angular 2 -> 7 + sucking at CSS, Angular + Tachyons (learning how to style), -> Angular + Custom CSS for everything, to Vue + Custom css -> Plain HTML + Plain CSS. )

Its like the more you learn the more you understand the boilerplate of libs/frameworks, but also understand what these large tools accomplish for you, and then you learn to appreciate how powerful & simple the "vanilla" web can be if you open your mind to it.

</comment></comment></comment><comment><USER11> As a web developer, I frequently see these posts about how we should write (or at least transpile to) HTML because it's so much simpler, and the browsers can render it so fast, and it's the right thing to do etc etc.

But they all miss the point: writing with client-side JS based frameworks (React, Vue, whatever) is easier, faster, more versatile. If you have the option of writing an SPA, it's simpler quicker to build this way, and so easy to deploy.

Sure, it renders slower. I've just signed my 25th professional client, and I have never yet had a client who even _mentioned_ rendering speed, let alone was willing to make any trade-off for it.

Server-side rendering or writing raw HTML are over-rated.

<comment><USER12> If you want site longevity, HTML is the way to go. It's fine if you clients aren't expecting to maintain their website for the next 10 years, go ahead and use the JavaScript framework.

Tell me that React websites today will still be around in 10 years time. With constant upkeep and maintenance, maybe. If a website is just a static website, not making it plain HTML is a disservice. The layers of abstraction _will_ take its toll.

<comment><USER13> So much this. There is tremendous value in longevity. Writing content which is guaranteed to be unusable in a few years is anathema to me.

On my website I have pages which date back to 1993-94. Still readable just fine. I used to post those links to mailing lists back then and they still get regular hits from people in that community because I've also maintained the URLs constant.

<comment><USER14> In my personal life I serve HTML, CSS and native, gracefully degrading JS (if any), for the same reasons.

In my professional life though, I realised that 95% of the things I build will be changed in the next year or so. We often inherit projects that were only just finished, and our first task is to start changing it entirely.

So I aim for robustness of maintenance rather than robustness of the finished product. It's inevitable that it will change, but I can anticipate that in the same way a well engineered car can anticipate it's maintenance cycles.

</comment></comment></comment></comment><comment><USER15> 1) Nobody has any idea what they're doing 2) If you think you know more than your manager – you are absolutely right 3) HN is 3 years ahead of mainstream, but 10 years behind the edge 4) React was made by an OCaml programmer 5) if you want to be that good, learn emerging languages (all of them) 5) don't optimize for money too soon, if you follow these instructions you will quadruple soon enough 6) Whatever your problem is that is holding you back – drinking, eating, whatever – fix it today 7) Learn Clojure

<comment><USER16> I like your list, but I'd suggest:

8) learn a statically typed language with a good type system

Even if you end up preferring mainstream language X, learning a language that makes you think in expressions rather than operations, and a language that makes you think in contracts rather than knowing the runtime state in your head, is invaluable for learning how to design, structure and maintain a codebase

<comment><USER17> What you say sounds interesting but could you give an example of "think in contracts" compared to and example of "knowing the runtime state in your head".

Personally I have never really seen the advantage of staticaly typed languages over say Python, but I do rely on the strict typing supplied by a database instead.

<comment><USER16> What I mean is that static typing makes interface boundaries (modules, function parameters and return types, data structures) explicit, and those boundaries are enforced automatically. Those boundaries become a contract, where a provided interface and its call sites must agree on in order to be run. This is like a million little unit tests you get almost for free (obviously you have to write the types, but they're usually declarative and very expressive).

But it also serves as documentation of how any part of your program's state is structured at any point. To the degree a type system is sound, and to the degree your types are appropriately detailed, you can be assured the documentation is correct and up to date as long as the program compiles. This allows you to eliminate the question of "what does this data look like?" when you're reading code, and focus more on things like whether the logic is implemented correctly.

Since you mention it, I'll add that Python does have (optional, gradual) static typing, and a lot of work has gone into the type system in recent versions. It's worth spending a little time adding some static types in a project and seeing some of these benefits. When I last worked in Python, you had to run `mypy` to actually fail on static type errors, I don't know if this is still the case. But you could also use an IDE (like PyCharm, surely there are others) which will at least surface static type errors while you work.

<comment><USER17> I have been using Python type hinting recently, but I don't find it such a big game changer. Maybe I am just used to writing code without it and it will become clearer if I use it more. Like I say I don't like having an untyped database, and the benefits there aren't things that are obvious straight away.

<comment><USER16> When I last worked in Python, I also didn't get much benefit, but I wasn't using either mypy or an IDE that warns on type errors. While obviously a different language, it wasn't until I worked with TypeScript in VSCode that I really came to appreciate static typing. And after a few years, I don't think I could go back to working without it.

</comment></comment></comment></comment></comment></comment><comment><USER18> Hi, if possible, could the link please be updated to point to the original post at [https://beesbuzz.biz/blog/2934-Advice-to-young-web- developer...](https://beesbuzz.biz/blog/2934-Advice-to-young-web-developers) ? The Tumblr automatic crosspost isn't really intended to be the canonical version, and I wouldn't mind getting a server load test while we're here.

Thanks!

<comment><AUTHOR> Sorry about that, Fluffy. Your Tumblr feed is listed first in my reader and was moved to submit it almost immediately after reading it. Nice to see you, BTW. Since I never post about my life anywhere I end up just being a lurker in yours, but I'm glad to be.

</comment></comment><comment><USER19> The source post ([https://beesbuzz.biz/blog/2934-Advice-to-young-web- developer...](https://beesbuzz.biz/blog/2934-Advice-to-young-web-developers)) is a bit more readable. The list looks like, well, a list.

</comment><comment><USER20> There are two that stand out to me:

> Always validate your data server-side; anything that comes from the client > is suspect.

At least sanitize in a way that won't break the server but will throw an error. For internal applications and side projects it's ok to just respond with a 40X or a 50X and move on.

> To the developer, "isomorphic" code breaks down the barrier between client > and server.

"Breaks down the barrier" sounds great, but it's actually has been rather detrimental. "Isomorphic" is confusing even to the senior developers. Having a very clear delimiter of what runs in the server and what runs in the client is essential, and it makes your application much simpler to reason about. Take `isomorphic-fetch` for example... a request from a server to another API server has very different requirements and nuances than a request from a browser to a server.

<comment><USER21> OTOH, if you use Flow or Typescript, it is amazing to be able to share type- safe interfaces across the stack (not code). I suppose you could get this from any compiled-to-JS language too.

<comment><USER22> The realization that this permits end-to-end fullstack type safety and allows some awesome things (like surfacing breakage at compile time in response to changes to the data model) is a quietly brewing revolution.

<comment><USER23> This is in constant tension with the point that GP is making though.

If you're not _very_ careful with your software architecture, you can inextricably tie your frontend and backend applications together. Depending on the size of your product, or why the growth plans are for that particular frontend/backend app end up being, this might not be a problem.

If it becomes one, though, then every bad technical design decision made in that `common` set of modules or packages ends up hurting you as it gets unspooled from (at least) two components that likely have very different architectural idioms.

<comment><USER22> When you really stop and unpack this, you can see that this is a non-issue. Adding an object or a field to the schema (the most common operations in a growing schema) never interfere with dependents and can be performed independently of client adoption.

The remaining coordination issues can be solved by documenting or using e.g. a '@Deprecated' decorator in Typescript. And, of course, you can always just remove a field to see where the code has dependencies on it (where code breaks during compilation).

The concerns about shared code may apply in some cases, but the global schema is not one of them, in my experience. I do agree it takes a bit of extra thinking to do this correctly but it's really not that difficult.

</comment></comment></comment></comment></comment><comment><USER24> > To the developer, "isomorphic" code breaks down the barrier between client > and server. To a malicious client, it means they have control over the > server too.

Huh? I don't follow this. Sharing some helpful util functions between the frontend and backend doesn't allow malicious clients to control your server.

<comment><USER18> What I was trying to (clumsily) say is that when people develop "isomorphic" code they tend to forget that some of it runs on the client and some of it runs on the server and the interface between the two cannot be trusted.

Form validation is a common example of where things can break, like someone injects malicious data that's already been validated by the client-side code and then the server assumes that the code has already been validated by the client.

And if you don't even _know_ which code is running where, that makes it even more dangerous.

<comment><USER25> Hmm I guess since it's advice to young developers they might make that mistake but any slightly experienced developer knows not to trust anything client side. Not validating data from the client isn't exclusive to isomorphic code.

</comment></comment></comment><comment><USER26> That's unfortunate: the back button doesn't work on the linked site.

Young developers, if you can spare a moment, try to learn what REST (and HATEOAS) really meant:

[http://intercoolerjs.org/2016/01/18/rescuing- rest.html](http://intercoolerjs.org/2016/01/18/rescuing-rest.html)

[http://intercoolerjs.org/2016/05/08/hatoeas-is-for- humans.ht...](http://intercoolerjs.org/2016/05/08/hatoeas-is-for-humans.html)

</comment><comment><USER27> And make sure the back button works?

</comment><comment><USER28> > Infinite scrolls are inhumane. People need to be able to reach "the end." > There are forms of eternal torment described in religious texts that are > less mean.

If I had to pick just one, it would be this.

<comment><USER29> Infinite scrolls are ugly, but i'm not sure artificially "paginated" text is better. The worst thing about infinite scrolls is that you cannot search for a word in the whole document (just on your visible part of the screen, and a screenful below that).

</comment></comment><comment><USER30> Ironically, it uses tumblr, so the damn back button is captured (try getting back here).

This is my fave:

 _> Infinite scrolls are inhumane. People need to be able to reach "the end." There are forms of eternal torment described in religious texts that are less mean._

<comment><USER18> I had posted this to my own blog at [http://beesbuzz.biz/blog/2934-Advice-to- young-web-developers](http://beesbuzz.biz/blog/2934-Advice-to-young-web- developers) and it looks like it was the Tumblr auto-crossposted version that got submitted here. That's unfortunate.

EDIT: I've updated the Tumblr version to make this a bit more clear.

<comment><USER31> HN doesn't use markdown: [https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)

<comment><USER32> I use markdown on HN, partially out of protest, partially because it looks fine enough when rendered as plain text (by design).

</comment></comment></comment></comment><comment><USER33> If you step back from modern fullstack web development, it is stunning how much accidental complexity is needed to accomplish anything at all.

<comment><USER6> Another thing I painfully realized: It that is not a good idea to document HTML in HTML.

<details> <summary> It's not a good idea </summary> really. &lt/details>

</comment></comment><comment><USER34> I do appreciate the author's emphasis on accessibility! However, as you read more bullet points, you start to realize that the author is really just venting about how much they hate modern javascript development (SPAs, VDOMs, client-side rendering, etc.). It gets pretty obvious about 10 bullet points down that this is the overwhelming theme of the post.

</comment><comment><USER35> Not that any of this advice is bad - a lot of it I agree whole-heartedly with - but it overestimates the amount of influence developers, let alone junior developers, have on the final design of a corporate site. If management/design want infinite scrolling then that's what they get, whatever the developers say.

</comment><comment><USER36> Advice: don't make everything slow as shit please. Note, this most likely means writing your own trim left function and not depending on zillions of libraries. If you can't write something as simple as this, please don't! Just output a static web-page that loads ultra fast. Thanks young web developers!

</comment><comment><USER37> > If you must do an infinite scroll (and you don't), make sure that there's > nothing you need to reach at the bottom.

The most ignored

</comment><comment><USER38> > _Even if you need to preserve client state between page loads (for e.g. > music or video playback) you can let the browser do most of the heavy > lifting by fetch()ing a new page and replacing your content container at the > DOM level._

Anyone knows of some easy to learn example of such DOM replacement?

<comment><USER39> Yes, look at the examples at [https://htmx.org/](https://htmx.org/)

</comment></comment><comment><USER40> Unfortunately I think it's going to be a long time before web apps stop using dark patterns like infinite scroll. It's not good for their bottom line.

<comment><USER41> With infinite scroll, there is no bottom line. /s

<comment><USER42> lol thank you

</comment></comment></comment><comment><USER43> This sounded more like a anti-SPA post. Maybe the title should be "Reasons for not building a SPA".

<comment><USER44> SPAs are an anti-pattern.

Let's rebuild html rendering, navigation history, forms, etc, all with Javascript, because it's the hip thing to do.

<comment><USER45> You're not using that word correctly, since this is not a pattern it's an architecture.

Please don't misuse words, especially in a negative context to mean "something I don't like", it cheapens the word in legitimate cases.

No comment on whether SPAs are worth anything though, I reserve my opinion.

<comment><USER46> architecture doesn't contain patterns? architectures don't follow certain patterns?

you've never seen certain architectures that smell because they're not following an established pattern?

</comment></comment></comment></comment><comment><USER47> Agree we should deliver the html directly to the browser in most of the cases. SPA are often abused and some 'webapp' sites need to load for more than 10 seconds to download the js files...

On the other hand, we want to deliver reactive experience. LiveView is an interesting approach. It returns the html with all content at the initial GET request, and apply partial UI update from the server. It processes the user interactions and application logics from the server. This way you don't need to explicitly maintain web API at all, because the render and update functions can directly access the data repository on the server. And we don't need to do validation twice. Liveview is implemented in Elixir and Typescript, also saw similar implementation in php and python.

</comment><comment><USER48> Excellent list. I would add: sometimes it's tempting to rewrite an entire site or application to get away from a world of problems, but you could just as easily be walking into another set of issues at the expense of lost time and existing code value if you aren't careful.

</comment><comment><USER49> What about "don't mess with scrolling"?

</comment><comment><USER50> As someone who uses a SPA (React) for webapps - I find it very useful. I run into issues that wouldn't happen if building purely html/css/vanilla js and when that happens I fix the issue.

The biggest benefit of using a framework IMO is that you're given a fairly strict structure to work within, which makes organization a lot easier. For someone who isn't a master, having some rules "baked in", helps a lot.

That being said, I wouldn't use React to build a static page/site, that makes no sense.

</comment><comment><USER51> People are motivated to learn and build what inspires them. Some started web dev because they wanted to make the type of projects they saw in chrome experiments that only run on the latest version of Chrome. Some people see very complex SPA apps and are inspired to make complex tools that can't just be done with HTML. Some get into web dev because they had a passion for browser and flash games. This list isn't wrong but also doesn't take into account the huge variety of web developers.

</comment><comment><USER52> Sorry, it's not usually up to young web developers on whether to use a SPA or not, nor whether to prioritize accessibility.

Advocating accessibility is nice though, so do try.

</comment><comment><USER53> Advice to Young Frontend Web Developers: Use React. HTML is not a rich enough framework to do client work.

Second article in a row here advocating for HTML purism. That is where I jump in and talk about how React changed my career in 2015. Since then, my life has had a measurable impact because of how easy building apps became thanks to React. There is no app where I would consider not using React including landing pages.

<comment><USER54> What kind of software application is a landing page? When you call it a "page" it makes it almost seem like a document of some kind...

</comment></comment><comment><USER55> > Use polyfills to support browsers that don't yet support the standard you're > using.

Unless your target users can't switch their browser (it happens), I tend to feel this is slowing new browser adoption. Developers keep coddling users by making sure everything works, and users have no reason to upgrade. Make their obsolete browser function like an obsolete browser and they might just update.

</comment><comment><USER56> This was a very nice article. It was one of the best web-related articles I've read in a long time. I liked it.

</comment><comment><USER57> This is a good list. Not great, and not applicable when you're at a crappy organization with bad traditions--likely many young web dev's position. This is much more useful to me now that I'm in a good position at a great company with a good culture.

</comment><comment><USER58> > The web is built around server-side rendering.

Grr... I read through the EmberJS tutorial and thought everything was very cool; only to find out that the whole thing is rendered with in-browser Javascript.

</comment><comment><USER59> this article feels lacking in nuance, strong claims that aren't universally true lead to bad reasoning.

to any "young developers" read I would say not to blindly adopt these opinions without understanding them.

</comment><comment><USER60> 100% agree with the sentiment that client side rendering is overused.

</comment><comment><USER61> Ah, the good ol' KISS - complexity kills.

</comment><comment><USER62> Why so much hate for infinite scrolls? What if your content is "infinite". I can't see a better way to handle that.

<comment><USER63> The infinite scroll problem I feel comes up most that if there was a useful piece of information in the middle of an infinite scroll it is likely impossible for you to return there with any sort of reliability. You can't save the URL because it probably doesn't encode anything useful about where you are in a most cases. You can't logically organize 'where' this information is because its location is pure happenstance. It is pointlessly ephemeral. I can't start on page 5, I can't start on page 100. I have to scroll and just pray I get to get lucky which is the function of a slot machine, not someone who's trying to present me information. If I _really_ wanted to get that much more content I am more than happy to click the next button.

<comment><USER62> You can have infinite scroll + pagination buttons

</comment></comment></comment><comment><USER64> Funny, this website broke my ipad safari browser's 'back' button. Double-tap required.

</comment><comment><USER62> I feel like posts like this are just somebody missing the web how it used to be. I mean the Web IS an app platform now.

<comment><USER65> I didn't get that sense from the post. I took that they were advocating for basic HTML/JS when appropriate. A reminder that it's still a valid way of doing things.

If you're building an app, yeah use React.

If you want to put some contact info on the internet, there's no reason it can't be vanilla HTML.

Or at least that's how I read it.

<comment><USER62> Looking over the article again, I'd say your right. It was the statement "The web is built around server-side rendering." that made me feel that way. As a whole you're right.

However, I didn't think everyone was out making landing pages with React and VueJS. Maybe they are.

</comment></comment></comment><comment><USER66> Why are infinite scrolls so demonized? I like them, especially if they update the url so you can go back to the same spot. Everyone loved it when Reddit Enhancement Suite did it way back in the day, but now Facebook does it so it's evil.

</comment><comment><USER67> _" The web is built around server-side rendering."_

That's the React definition of "server side rendering", where HTML gets generated on the server. Real "server side rendering" would mean generating an image server side and shipping that.

<comment><USER68> "rendering" in a web context is pretty commonly interpreted as "creating the html document". It is not specific to React.

</comment></comment><comment><USER69> I personally don't think this is great advice, but this is exactly the type of advice that will get upvoted here.

</comment><comment><USER70> "Give people consistent but random stimulus and you will be habit-forming. Getting people hooked on your product might seem like a good idea, but the tobacco industry feels the same way."

DO NOT Listen to this. Make your site as addictive as possible. It can only help you win at life. More users = more impact = more money = better life. So long as it's not porn, your website won't be as bad as tobacco.

<comment><USER71> I think this is a little tone deaf to the target audience. Not all developers want to aspire to extracting the maximum amount of resources from users. Some, especially beginners who want to code, just want to build something and build it well.</comment></comment>