Hacker News new | past | comments | ask | show | jobs | submit | pbh101's comments login

Agree. Another item here that is contextual: what is the cost of a bug? Does it cost millions, do we find that out immediately, or does it take months? Or does it not really matter, and when we’ll find the big it will be cheap? The OP joining a new company might not have the context that existing employees have about why we’re being cautious/clear about what we’re changing as opposed to smuggling in refactors in the same PR as a feature change.

I’m going to be the guy that is asking for a refactor to be in a separate commit/PR from the feature and clearly marked.

It doesn’t justify everything else he mentioned (especially the comments piece) but once you get used to this it doesn’t need to extend timelines.


My understanding is that it is Procida’s work at Divio that was then later spun out into Diataxis, with Divio permission.

Source: https://www.hillelwayne.com/post/problems-with-the-4doc-mode...



Thanks. I already had "something about Diataxis" somewhere on my blog agenda before the HN post, and between this and the rest of the comments and the article I feel like I have a lot more material now.


The Map interface pre-dates Optional and does not return Optional, so it won't return an empty Optional but rather null.

To be more clear:

    Map<K, V>.get(foo)
returns a `V`, not an `Optional<V>`. If your `V` is `Optional<WrappedV>`, cool, but that doesn't change that `Map` either finds or doesn't find a V.


The parent certainly knows this. Additional methods could be added to `Map` which return `Optional`. I am annoyed by their absence every day.


Maybe. They didn't seem to communicate any specific knowledge of the Java standard library. Agree an

    Optional<V> get(K) 
sounds like an 'obvious' addition, though also I've found that when something 'obvious' isn't added to Java since 1.7, the explanation proffered makes sense to me.


Java doesn't have return type function dispatch.

If you had something like:

    var x = map.get(k);
The type of `x` could not be inferred.

The best they could hope for is a signature like `Optional<V> getOpt(K);`. Which wouldn't be terribly bad as Java currently has an annoying get definition in the `Map` interface because it predates generics (The current signature is `V get(Object)`).

Regardless, if they do want to change the interface, it'd probably be best if they waited for Valhalla to land. One of the problems with `Optional` as it stands is it creates a load of GC pressure. If `Optional` is converted into a value class then there will be effectively no overhead to returning it everywhere.


This is a great answer. Don’t assume without all the info; the real story may be more complicated… maybe the interviewer was playing dumb? Phrase in a way that isn’t accusatory or assuming in the slightest (maybe ‘cool approach I see… I really enjoyed the great convo we had about a similar approach…’)

This is a mature way to handle the situation and potentially a conversation re-starter, probably not to the current position but perhaps to a connection in the industry.


> Don’t assume without all the info; the real story may be more complicated… maybe the interviewer was playing dumb?

Indeed. I raised a specific idea involving a specific other company at my job interview. The CEO seemed impressed by the suggestion but also cautious about implementing it, and wanted to know what I thought they'd get out of it. Shortly after starting the job, it became quite clear that the parties had been talking to each other for a while...


Agree on all the above except that iCloud sync seems to have been rock-solid for years now.


I set up SVN for myself before Git and IMO Git is definitely easier.


The alternative theory is that any word starting with a vowel sound is exceedingly uncommon after ’a’ in its training set, so it doesn’t need to plan ahead, just predict the distribution of the most likely next words and choose.

Which is my understanding of how they work and the dynamic at play.


The one where Google pays them $20 billion a year?


Gambling can have many externalities too, starting with the families of gambling addicts.


Yeah but much less so than with hard drug addicts. When was the last time a roulette addict took a shit on your car or chasing people in the park? Or a roulette addict being even allowed in the casino having soiled himself?

Of course they could have externalities too, but their blast radius is mostly contained to their near circle of family instead of the entire society.


I think you'd be surprised at the number of people who wear diapers to the casino so they don't have to take a break from the machines.


Yeah but that's a conscious decision, not one do to mental illnesses.


Huh, I think you're splitting hairs at that point.


Splitting hairs? Really?

So to you there's no difference between someone voluntarily and consciously choosing to wear a diaper so he can continue doing an activity for longer without toilet breaks(some video gamers do that too), and someone who is soiled himself because his mind can't control the bowel movements due to being fried by hard drugs?

Yeh, they're technically both addicts, but gambling addicts tend to harass less people and cause less overall ER calls, petty crime, trash, feces in the neighborhoods, than hard drug addicts.

One is a much greater annoyance to general people on the street than the other. What actual arguments do you have to refute this other than just calling it splitting hairs?


> Yeah but that's a conscious decision, not one do to mental illnesses.

You tried to establish mutual exclusivity between conscious decisions and mental illness.

I refuted that.

Never said the impact on society of your examples were similar.


Apple didn’t create contactless payment infra in the US either. The contactless interface was already there, had its own logo, usable by tap cards, etc.

Some retailers eg CVS turned off tap payments when Apple Pay was introduced.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: