Recent submissions

Comment · 3 years ago
There's a huge difference between: - Don't use this, it's harmful to you, and - Don't use this, it won't make things actively better.

Study after study has shown that it is extremely, almost absurdly difficult to lose weight and keep it that way in the long term.

If "not actively causing long term weight loss" is the only criteria for advising against something, then we should be advising against a heck of a lot more things that are perfectly fine.

It's phrasing like this that causes people to go on crusades against random foods, rather than actually using moderation in all things.

Comment · 3 years ago
In one case, the same person did the same thing to us twice in a row - interviewed, got an offer, then got "counter offered" from their existing company the next day. Pretty confident that they're just interviewing as a negotiating tactic.

But honestly, in general, if someone interviews around then decides to stay at their existing company for more money, they're probably not the folks I'd be likely to hire regardless. They're not looking for new learning opportunities, or new ways to grow, they're maximizing for some other value structure. And best of luck to them with that, I'm sure they'll find plenty of companies where those values are the expectation and norm.

You're "playing the game", but I build teams out of folks who aren't game players. :)

Comment · 3 years ago
Small counter-opinion here; if I interview a candidate, offer them a role, and find out that they have been using our time only to get a better deal from their current employer, then I will most likely choose not to interview them again in the future.

If you have engaged with me in bad faith (pretending to want a job with us when you actually don't) then I would be very uncomfortable endorsing you to join one of my teams in the future.

By all means, interview around. And if you get a better offer and accept it, then I will cheerfully congratulate you and wish you the very best of luck! But if you're operating in an area where the pool of potential employers is small, make sure you don't burn too many relationships in the process.

Comment · 3 years ago
This class of users is also some of the most easily scammed.

These folks, who need "less security", are the exact same who will tell a stranger their password over the phone simply because they said they worked for Google. Scammers can use data from an email account to write convincing fake communications that lead to folks losing their life savings.

Teaching folks that their data isn't important enough to turn on security, is teaching them to fall into scammer's traps.

Comment · 3 years ago
I'm highly dubious of any research that equates "went to a top tier university" with "is highly intelligent" as its only metric. Especially one that also says "but outside America that's not true".

Could it be that people who come from backgrounds that value attending a top tier school as a status symbol also come from backgrounds that (can afford to?) pursue a biollionare-making career? And that in countries where the billionaire class do not value top tier schools so highly, fewer billionaires went to top tier schools.

Could very easily be classic correlation.

Comment · 3 years ago
Comment · 3 years ago
Something that you might want to consider, but which hasn't really shown up in the comments, is... Do you actually _want_ to do the finishing?

Are you taking on these projects because you want the end result to exist, or because you just really enjoy the initial phase of learning and discovering and mapping and planning? If you are getting joy/mental stimulation/a creative outlet from this, then perhaps it is serving its purpose already.

Sometimes, doing something you love, even if you leave it incomplete or do it poorly, is exactly what you need to refresh you. Maybe your hobby isn't building software. Maybe your hobby is just... Dreaming up new projects, and learning about new technology. And if this is your hobby, and not your job, maybe you don't actually need to finish projects at all. Leave the finishing to your day job.

Comment · 3 years ago
There are still professional, high quality hand knitters in the world.

Of course, having people hand knit garments used to be the only way to get a knitted garment at all.

Then we invented industrial knitting machines, and those hand knitters found their roles had changed. Instead of knitting a whole garment, they would be closing up the toe on the socks, or doing finishing work on a sweater. Of course, companies didn't need anywhere near as many knitters under this system, so a huge proportion of them lost their jobs.

Then the knitting machines got better. They could close the toes on the socks themselves, could do most of the finishing work automatically. Some of the remaining knitters became industrial knitting support workers, but most of the actual knitting jobs dried up.

But there are still professional, commercial hand knitters, even today! They test hand knitting patterns for the hobby market. Make the samples up for photographing, and make sure that all the sizes come out right.

They number... Dozens? Maybe? And most of them treat it as a side gig, despite being the absolute pinnacle of hand knitting talent, since it pays terribly.

A job doesn't have to have been totally replaced to be effectively replaced. As we find ways to hand over larger and larger pieces of the work to an automated system, the number of real roles in that field diminishes, until it eventually becomes infeasible as a career choice.

This is what a lot these digital content creation jobs are heading. Gradual obsolescence.

Comment · 3 years ago
Some input: The organism's environment.

Outcome should be: The organism successfully produces offspring

Natural selection is doing exactly what you describe.

Comment · 4 years ago
It depends on the intent of the advice.

If the advice is intended to let you "win the game", or "get ahead of the competition", then yes. If everyone is doing the same thing, then using it isn't going to provide you with any particular advantage over anyone else. "Add these words to get to the top of Google results" is doomed to eventual failure.

If the advice is intended to help you improve your quality of life, or improve at something specifically for the joy of being better at it, then being well known will not dilute it. "If you're feeling sick, then you should drink more water and rest" is just as valid now as it was when it was a new and revolutionary insight.

Comment · 6 years ago
A familiar dream, that kind of misses the actual challenge of programming is not the syntax. HTML really doesn't take long to learn - at least, not the kind that's being produced here. The hard part is unambiguously describing what you actually want. That's what code is, at a fundamental level - a way of describing exactly what you want in a way that cannot be misinterpreted.

Consider the instructions.txt given; 'This is an application called "My Bikes".'.

Okay, so what does "called" imply here? Is this what you want displayed in a title bar? Or is this the name that should be used for links to this application? Or is this text that should be displayed in large type at the top of the page? Or is this the name you're going to refer to it as in other "instruction.txt" files, when you want to link or reference this app? Or is this the label that should be used when someone adds their app to their phone home screen? Or something else entirely? I would argue that any of these would be valid interpretations of the phrase, but I'd bet that at least some of them would not be what the author originally intended (or even considered) when they wrote the phrase.

Consequently, you might find that you need to say something more like 'This is an application. The browser title bar should be "My Bikes". The displayed heading should be "My Bikes" in large, sans-serif font. When other pages link to this page, they should use the link text 'EricaTheGreat's Bikes'..." etc, etc.

And you can bet that pretty soon, users of this language will start complaining that "I have to type so much to get even the most basic things going. Could I just simplify it down to something like 'title bar: "My Bikes", heading text: "My Bikes", heading size: large, heading font: sans-serif"... "

Well look at that! In making this statement unambiguous, we've just created a very verbose programming language!

It remains as ever a delightful dream, but unfortunately one that doesn't actually solve the real problem - that natural language uses a lot of words to say things that are ambiguous and ill suited to producing the desired outcome.

Comment · 6 years ago
Why would someone pay in advance for something that they will get for free at the same time as everything else? Fundamental limitation of capitalism is that one of its goals is to acquire the maximum amount of value for yourself, while losing the minimum amount. Even the most successful Patreon users rely on "Patreon exclusive content" for their supporters to be able to make some kind of livable money.
Comment · 6 years ago
So... If I smash in the windows of a Nike shop, steal all the shoes, then give them to homeless people, I'm excused? No crime here?
Comment · 6 years ago
That's a tricky precedent to set though, isn't it? If you do sufficiently good work elsewhere in your organization, you can break the law without penalty? That's like McDonalds claiming that they should be allowed to mistreat their workers because they also run a children's charity.

Doing a right thing doesn't grant you immunity when you do a wrong thing. And there was no question that what they did was illegal. Many thousands of people told them that the moment they announced they were planning to do it, they didn't even need legal counsel to point that out. They did it anyway.

Comment · 7 years ago
This. Absolutely.

If something fails six months after release, who ends up paying the penalty?

Are your developers on-call for production issues? Will they be woken up at 3 in the morning, expected to solve customer issues caused by one of those corner cases? Or if it's someone else on call, will your developers experience the wrath of the person who _was_?

If a production issue occurs, does the person who produced that code get pulled off whatever new they are now working on, because "they're the best person to fix that issue"? Even if they've "moved on and up" and their new work is more interesting or prestigious than the project that has the issue?

Is their failure publicized across the whole business?

If data is corrupted because of a corner case, do your developers have to go through tedious processes to repair that data (with angry customers causing frustrated managers to breathe down their necks)?

Do they have to defend and justify to all of their peers why their code broke production because of a "corner case" that they were fully aware of and chose not to handle?

And even more importantly, if they build the 80% first, what guarantee do they have that you will let them write the last 20%, and not just move on to the next thing? Consider - if they build the corner cases first, they've guaranteed that they'll get all the scoped work done (because you won't ship without the other 80%), but if they front load that highly visible 80%, they will almost certainly get pulled off the project before they get to handle those corner cases.

All of these things are very strong motivators for teams to do exactly what you're asking them not to do. As a (presumably) product focused person, your reward happens as soon as your product is in customers' hands. You are rewarded for a product that is released quickly. But developers are frequently penalized for that.

When you ask your development team to focus on releasing incomplete software, you're asking them to treat _your_ success as more important than _theirs_.

That doesn't mean that what they're doing is necessarily right. You need to set up an environment where your teams' success is aligned to the thing you most want to have happen. Change the rewards and penalties in your company, and behavior will change itself.

Or, failing that, negotiate a compromise position between your desire to get something to market, and their desire not to continue paying the price for that speed for the rest of their tenure at the company.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton