Readit News logoReadit News
spacemadness · 3 years ago
One devious form of bullshit is always using the simplest of examples to prove out an architecture pattern and call it a day. I’ve lost count on how many times I’ve seen patterns with glaring open questions and pitfalls the author avoids. Then the cacophony of likes follow from folks who’re likely very early in their career or hobby and don’t know any better. This is very prevalent on iOS development blogs as authors rush to write their blog posts after every WWDC.
factorialboy · 3 years ago
The fundamental deficiency with our society is that we value talking about X more than performing/implementing X.

This is true for most fields, including programming.

Most teams have folks to do the heavy lifting, and a small percentage of folks who talk about it.

The talkers are considered more valuable than the doers, within the organization or without.

These are our thought leaders, influencers, architects, you name it.

I am not complaining, this is a game we are all playing. It took me far too long to recognize it.

hirvi74 · 3 years ago
> The fundamental deficiency with our society is that we value talking about X more than performing/implementing X.

I am so guilty of this. I spend so much time on here and other platforms just mindlessly consuming and participating in discussions about software engineering, new technology, best practices, etc.. So much so that I basically barely program anymore (except for my job where none of this information is important for irrelevant and complex reasons).

I have ideas and projects I want to work on, but I think my brain has be rewired over my life to the point that I get the sense of reward of finishing something by actually just procrastinating/reading and not working towards whatever goal.

It's like information sugar -- sugars are easiest for the body to convert into energy. The body likes sugar because it can get "what it wants" while expending the least amount of effort. My brain has apparently has implemented the same logic when it comes personal projects.

humanrebar · 3 years ago
Kind of?

In practice, communication is essential. We expect closed feedback loop in our technological systems. Turns out that systems made of humans also need feedback loops.

So I don't know if communicators are treated as "more valuable". Maybe. But it might be fair to treat to treat systems lacking closed feedback loops as missing value. In some cases, they may be borderline useless.

Point being, a great piece of tech needs [1] someone to demonstrate its value. Especially technologies that require many people to maintain them. That's how we close feedback loops in communities and organizations.

[1] OK. Technology-based performance art or side projects are possible. Just don't be shocked if nobody cares and the die off when original creators trade them for other interests.

ChrisMarshallNY · 3 years ago
I’ve learned to wait a couple of years for dubdub hype to subside, and “lessons learned” to be shared.

I get tired of the “write an app in five minutes” demos. As someone that regularly works on ship apps, I can report that there is a world of difference between academic demos, and something that can be shipped.

jrott · 3 years ago
At this point I’d rather see the how to fix it when things go wrong demo. Of course very few tools can show that either because it’s messy or it’s to hard to show all the pieces.
ilyt · 3 years ago
I feel like classic object oriented tutorials talking about fruits and apples with no connection to actual apps you'd build are ones to add to this pile
crabmusket · 3 years ago
Coming up with good examples of inheritance is hard. Instead of teaching with bad examples, that should have been a warning that inheritance should be much less commonly used.
rcurry · 3 years ago
Oh man, who can forget the interview questions back in the nineties. I go to an interview after spending all week writing trading systems in C++ and it’s always “let’s say you are building a car, how would you structure the classes?”

LMAO, I always failed. Good times.

MrVandemar · 3 years ago
In the same vein, I'd love to see more articles about recursion that don't even mention, let alone demonstrate, solving factorials. There's gotta be something else.
manmal · 3 years ago
Coming up with protocol oriented programming was probably one of the bigger disservices Apple has done its developers. There are still people who think everything needs a protocol, or it isn’t soundly structured.
nyrikki · 3 years ago
I may be wrong on this but weren't the fruit analogies originally meant to describe the difference between class based and prototype based languages and then it was extended to actually teach the concepts in a way that didn't work?

I remember my professor using them to try and teach pre-standard C++ and when I pressed him to explain actual use cases I figured out he didn't understand himself.

I have the feeling it was meant as a bridge for lisp programmers moving to class based languages but that may be because we learned lisp first.

Anyways that context is the only place I found value in it.

up2isomorphism · 3 years ago
Actually these are not bad examples per se if what you want is to understand objects oriented concepts, the problem is that for many scenarios OOP is just a bad model for them.

Deleted Comment

raincom · 3 years ago
You zeroed in on the core element of bullshitting: trivializing complexity into sound bites, simplest examples.
brailsafe · 3 years ago
I've been learning SwiftUI for MacOS to explore the plausibility of a particular idea I had, and I do think there's some truth in this. So far, I've found it best to seek out more robust, somewhat complete examples that use a particular API in a more realistic context, as well as many other discrete tidbits of information wherever they may be found.

In this case, that's the hackingwithswift blog posts, the hackingwithswift youtube tutorials that follow the blog posts, swiftbysundell, and a number of other independent developers that have fairly lengthy but digestible detailed tutorials on specific APIs; using all of it feels a little like the process of getting a fingerprint registered on a new phone, where you get decent coverage and breadth quickly but then fill in the gaps.

However, I don't think this is unique to WWDC or swift or iOS, it's just that those platforms typically demand only the newest versions of iOS or macOS or even unreleased hardware to get much value out of them, so I can't imagine you'd be implementing them any time shortly-thereafter.

msla · 3 years ago
https://www.pbm.com/~lindahl/real.programmers.html

> The academics in computer science have gotten into the "structured programming" rut over the past several years. They claim that programs are more easily understood if the programmer uses some special language constructs and techniques. They don't all agree on exactly which constructs, of course, and the example they use to show their particular point of view invariably fit on a single page of some obscure journal or another-- clearly not enough of an example to convince anyone.

So it isn't a new phenomenon.

jvans · 3 years ago
The devil is always in the details and it's too easy to present a high level intelligent sounding argument that ignores all the important complexity.
faizmokh · 3 years ago
I feel you. I dislike when people following VIPER pattern blindly just because they read a few articles on Medium.

What's the point of adding multiple layer of classes if your code is still tightly coupled together.

KnobbleMcKnees · 3 years ago
Uber's "RIBs" come to mind.
Foobar8568 · 3 years ago
Performance benchmark on ORM/framework/whatever is a funny matter on that specific point.
BiteCode_dev · 3 years ago
True, but most content in general is bullshit.

Most scientific publications is BS published for the sake of pumping your numbers.

Most student memoire is BS to pass the exam.

Most financial analyses, most TV journal reporting, most tweets, most books are BS.

Ever read doctors or lawyers specialized magazines? Most pages are BS on top of BS.

Paid content, content produced to fill space, making volume, low quality authors trying to make it, agendas every where, and of course automated crap.

Why do you think HN is so successful?

The concept?

The tech?

Of course not.

It's the quality of moderation, and the fact they used their ability to publish their BS to the front page with moderation. Just enough to help them, but not so much as to destroy the average HN quality.

Dedication to quality on the long run, and restrain in milking the cow. This show visions, and it's hard.

j_french · 3 years ago
Many years ago a friend of mine proposed a theory of his (I use the word "theory" in the loosest possible sense here, more student dorm than lab) that sounded a lot like this. In his version, most of everything is shit. Most music is shit, most movies are shit, most pizzas are shit. Only a minority of any given thing is actually of high quality.

I haven't seen much over the years to convince me that he or you are wrong

saulpw · 3 years ago
90% of everything is crap. -- Sturgeon's Law
systemvoltage · 3 years ago
HN has decent technical discussions and some really good historical/personal anecdotes. Otherwise, it falls short and lacks in ideological diversity. And there is also bullshit here.
shwaj · 3 years ago
What wound proper ideological diversity look like? Or, which ideologies are underrepresented which would make this a better place, in your opinion?

It doesn’t seem like a monoculture to me: depending on the topic there is usually at least two or three significantly different viewpoints. I guess it wouldn’t hurt to have more, but it doesn’t jump out at me as a glaring deficiency.

thefourthchime · 3 years ago
I think you're going a little bit far, but I tend to agree. My reasoning for this is, to look back on experts from the past.

Unless it's a hard scientific fact, a law of physics, most things are really just opinions that people tend to agree with. Remember Leaded gasoline? How about DDT or Asbestos? How about Freud? Of the thing the bible likes to talk about, slavery.

Even in the 25 years, I've been in programming, it seems like all "Proper Way To Do It" have all aged about as well as milk on a hot day.

The only thing I follow is keeping stuff simple.

manmal · 3 years ago
> The only thing I follow is keeping stuff simple.

Some other things I’ve kept around:

- Complex systems must develop out of a simple system (there’s a clever quote I can’t find right now) - also known as “make it work, then make it better”

- Bugs shall become test cases

- Bug reproducibility should be maximized (crash tracking / good logs, sacrifice performance if necessary)

- Fail fast

- Composition over inheritance (arguably a subjective one, but I’ve never regretted doing it)

mattkrause · 3 years ago
I wouldn't say that any of those are bullshit per se.

Leaded gasoline reduced knocking/increased compression in contemporary engines, asbestos is a top-notch insulator, and DDT did kill a lot of bugs. Each just has really unfortunate side-effects, most of which were known at the time--if not appreciated widely enough.

Solvency · 3 years ago
Opinions people tend to agree with us too charitable and simple.

It's called corporate propaganda. It's all around us.

tensor · 3 years ago
This is grossly reductive. There is a huge spectrum of quality in content. Most of what you describe, formal studies by experts, is on a much much higher tier than the 99% of content most people read.

Comparing informed formal studies to the uninformed opinion pieces most of the tech crowd reads and implying they are somehow the same is borderline supporting disinformation.

There is absolutely a big spectrum of quality in the higher tiers of content too. People in those domains spend countless evenings discussing it.

But the vast majority of people are not reading anything at that level. The typical tech blog is closer to talking about what kind of sandwich you like for lunch than anything that will advance the field.

valval · 3 years ago
I’m not sure what you mean by reductive in this case. 90% of kids’ plays are crap while 90% of Broadway shows are crap, with no need to compare those two domains.
anticristi · 3 years ago
I tend to think of any kind of contemporary creation as BS. We are the filter who will decide what will become test-of-time validated legacy.
shortrounddev2 · 3 years ago
I think HN is a madhouse. Any article I click on, there's things I've never heard of that sound like made up techno-jargon, like programming languages which I've never seen used in a real job, let alone met anyone who uses them

But I go to the comments and there's 150 people who all know every intimate detail of this technology already. Experts in the subject.

I think most of you all are faking it

phkahler · 3 years ago
HN ia is read by experts in any number of fields from biotech, to medicine, physics, farming, or nearly anything else. If there are 150 people programming in Zig, most of them likely read HN. The more niche the tech, I think the higher the odds the users are here. But to your point, I don't know why some of these things rise to the front page in the first place.

My current frustration is links to blog posts. I'm starting to ask myself "who is this person and why should I care about their opinion?" It's one thing to link research, or even a book, but a few of the blogs lately.... The topic sounds interesting, but the content sometimes makes me realize it's just some dudes blog and not professional advice. I'd kinda like some kind of (opinion) tag on those.

milsorgen · 3 years ago
I think you touch on a good example do why discernment is such a valuable skill, a skill that should forever be practiced and honed. I don't mind reading some dudes take on things for even if he's wrong he might drop an item or two that gets me thinking. For instance I've been reading (and re-reading) Robert Henri's The Art Spirit which if you judge the book by its cover is focused on painting yet I find ideas and advice that I can apply all across my life to great benefit. I've read a lot of blogs on here that may or may not be filled with good information but within many of them I have found what I find to be great ideas.
samtho · 3 years ago
There is very little in the blogosphere of 2023 that isn’t just some rando’s hot takes or a regurgitated idea that consists of a few Wikipedia pages sent through a word spinner.

The truly interesting blogs are those who are written by known subject matter experts with success in their field and something interesting to say such as original research or personal observation resulting from what they are an expert in.

echelon · 3 years ago
> I think most of you all are faking it

The world is huge. We're all traversing different areas of interest and expertise.

It makes sense that there are lots of different types of domain experts in our field. This is a great place where they tend to congregate together.

freetinker · 3 years ago
My thoughts exactly. Unsure why your comment is being downvoted…
InexSquirrel · 3 years ago
I honestly read that as a sarcastic comment, but maybe that's just my bent.
roncesvalles · 3 years ago
"There's no way humans are that smart" is the worst form of anti-intellectualism.
thebigwinning · 3 years ago
This. Just wait until you meet someone familiar with everything you know much deeper and it's not even their main thing.
rramadass · 3 years ago
>I think most of you all are faking it

There is a lot of that of course; but ...

It is also the nature of the medium (i.e. short pithy comments) which makes one come across as an "Expert" without the writer having intended it.

The way i deal with it is to treat comments strictly as data/pointers/advice which i then look up in some detailed book on that domain. In other words, don't take anything at face value but do your own study.

Finally it also seems to be the case that HN has more exceptions to your statement than is found at other sites i.e. we have more outliers showing up here.

isaacremuant · 3 years ago
> I think most of you all are faking it.

I think you're insecure about the extent of things you know nothing or so little about.

It's normal but not an attractive trait to project.

epylar · 3 years ago
I think the original comment was light hearted humor
shortrounddev2 · 3 years ago
I was joking dog chill
NoMoreNicksLeft · 3 years ago
> I think most of you all are faking it

Not here. I have finite fakery capacity, and I need 100% of it for my day job.

rldjbpin · 3 years ago
i thought that this was an open secret.

Dead Comment

WesolyKubeczek · 3 years ago
I’ve noticed this pattern happening on tech blogging pattern, dev-dot-to being not the least:

“I’ve been through a web dev bootcamp 6 months ago and I’m three months on my first tech job ever, and here is my enormous trove of wisdom I’m about to bestow upon you.” What follows is, at best, very superficial, and at worst, just plain wrong and bad stuff.

This is recent. Back when I’ve been more active in hackintosh communities, one would very often encounter tutorials clearly made by people with no clue who just cargo culted it through, pass their cargo culted thing on, and have the chutzpa to call themselves “experts”.

Oh, and there are mediocre journalists (or sometimes even vloggers with no training) who start thinking about themselves as experts on something all of a sudden and start touring radios, podcasts, and TV shows, giving opinions left and right, these are probably the worst.

alephnerd · 3 years ago
> mediocre journalists (or sometimes even vloggers with no training) who start thinking about themselves as experts on something all of a sudden and start touring radios, podcasts, and TV shows, giving opinions left and right, these are probably the worst.

Us vendors pay for those and have some random journalism grad or ChatGPT ghostwrite it.

B2B SaaS and Enterprise Sales absolutely depends on SEO from a brand and pipeline creation perspective due to legacy marketing leadership and perverse incentives.

This is starting to change (a la Product Lead Growth, Persona Segmentation, Direct Sales, etc), but to paraphrase Max Planck, GTM Strategy only advances with every retirement.

jlengrand · 3 years ago
" On est toujours le con de quelqu'un, et tant pis pour lui". -> "We are always someone's jerk, and so much the worse for him".

Agree with the article, I just wished it wasn't conflating "bullshit / actual harmful content" as much with "stuff that is valid, but in a given context".

200% that nothing online, (nor IRL to be fair), should be taken as universal truth. I see that same at conferences, with certain topics/fads/trends being absolutely overrepresented compared to what's actually happening on the ground.

strangattractor · 3 years ago
I interpreted "bullshit" to mean fluff. Much of the content I encounter appears to be regurgitated trivial examples from tutorials. Entire websites are dedicated to this. The goal generally appears to generate some type of influencer status or get money from ads. Few people offer helpful content that provides a deeper understanding or solves a tricky problem. Probably because they can't.
Little_Kitty · 3 years ago
You get a lot more views for a video on how to index a column in MySQL than for how to approach evaluating your needs and choose a suitable database. The latter would be outdated in a few years as new technologies emerge, while the former can be padded with enough fluff to show two adverts. So we end up with the content you know today, rather than what you'd really like to see. It's good to remember this and interact with those who do publish the latter content, plus it makes the algorithm feed you more content that's worth your time.
Lacerda69 · 3 years ago
"helpful content that provides a deeper understanding or solves a tricky problem" is a lot if work to create, even if you know the solution or can solve the problem easily.

I can empathize with people who dont spend their limited free time on explaining others how to solve problems out of the goodwill of their heart and I am eternally grateful for the tiny minority that does this.

quenix · 3 years ago
I think a more natural translation would be “You are always the idiot to someone else. And too bad for them.”
mplanchard · 3 years ago
^ this. Idiot is a much better translation for con than jerk, and it also makes the saying make more sense.
jlengrand · 3 years ago
Thanks!
zeroonetwothree · 3 years ago
Not every decision has to be done with maximum research. That’s usually a waste of time. It’s more efficient to try a couple things until something works and move on (“satisficing”). A key skill you learn over time is why decisions actually matter. But it’s not inherently bad that there’s no good reason for something, it really depends on the context. And sometimes things that had good reasons turn out bad anyway because the assumptions proved wrong or circumstances changed.
PragmaticPulp · 3 years ago
> Not every decision has to be done with maximum research.

I’ve been at a couple companies that wouldn’t take any proposal seriously unless you showed up with a list of citations to blog posts, books, or even podcasts.

The root cause was a management structure that wanted to do everything with a maximum of evidence.

It opened the door to a lot of terrible decisions winning for no reason other than someone found a blog post that Google does it this way, or Uber wrote a blog post about this, or Martin Fowler wrote a post about that.

The most egregious abuse was when a team that had to deal with maybe 100 logins per day spent over 6 months researching how to build their auth system to match Big Tech. They could have picked any off the shelf solution and been done in a week, but instead it became an endless boondoggle of research, presentations, proposals, and committees. Several people were even planning conference talks around it, so it started to evolve into whatever would sound best for their talks.

That was my cue that I was at the wrong type of company.

ilyt · 3 years ago
Or in general wanting to do "what industry does", not the solution that people they pay and work with actual product and their customers invented.

> The most egregious abuse was when a team that had to deal with maybe 100 logins per day spent over 6 months researching how to build their auth system to match Big Tech. They could have picked any off the shelf solution and been done in a week, but instead it became an endless boondoggle of research, presentations, proposals, and committees. Several people were even planning conference talks around it, so it started to evolve into whatever would sound best for their talks.

To be entirely fair, after dealing with the reverse way of solving it ("just the simplest solution that works", which was just a bunch of static passwords per app) I'd say spending a bit extra to start with good solution for auth in your 50 man company will save a whole massive amount of pain when company grows both in internal service count, users, and compliance requirements.

hitekker · 3 years ago
I’ve been at the flip side where a few google searches would have contradicted much of the fun complexity proposed by the developers of the system. Or the PMs “talked to the users”, didn’t write anything down, and then demanded features that weren’t used at all.

Just enough research should be the theme for any decisions of great consequence.

jfengel · 3 years ago
A good life lesson in general. My version of it: "most of the most important decisions you make in life will be made in the basis of insufficient information."

As programmers we may be used to the notion that we can optimize if we know enough. We often can't. Decisions won't get better with more information because it's still insufficient. All you can do is use your best judgment -- of when to use your best judgment. And live with the consequences.

That doesn't help you make the decision. But it can help you avoid spending too much time kicking yourself over it.

Enginerrrd · 3 years ago
So I come from a background of Civil Engineering. We basically don't do ANYthing arbitrarily. There's a reason for basically every aspect of a design. Sometimes there are competing criteria that leave it to humans to decide, but honestly it's rare. Usually the constraints drive the design from concept down to minute details.

Within the constraints and criteria, there's codes and manuals that cover almost everything.

It's always seemed to me that software has really suffered from a lack of this approach.

Is it the best way to maximize innovation? No, but in some ways, you might be surprised how much placing heavy constraints on a project will drive innovation.

vrnvu · 3 years ago
I was in a meeting one day, explaining some tech decisions I had made. At one point, my manager interrupted me, looking pale and completely out of place. He asked, "I don't get this approach. Can you share with me the tech blog where you read about this?"

(...)

I couldn't help but think: would a random blog post from the internet have more respect and authority than my own decisions and explanations?

antod · 3 years ago
Being as generous as possible and without other context, I would interpret that as a request for some background info you trust that they could use to catch up on those concepts in their own time without derailing the meeting by getting you to explain it. Especially if most others present probably already understand it.

Or at least that is how I would've tried to convey it if I was your manager.

Noumenon72 · 3 years ago
It would to me. When you are doing something no one has written about, it makes me think "We must be doing something impossible or we haven't identified the true problem to solve. It's unlikely we have a problem no one else has ever had." I've spent so much of my career gluing frameworks together that writing my own code feels like a code smell. Whenever my coworkers have written something new I spend 80% of my time fighting it and wishing it was a pattern or library.
kazinator · 3 years ago
Most of the time, you should not be inventing your own equivalents of off-the-shelf algorithms. (Let alone something like crypto.)

How much you evaluate the borrowed alternatives (or whether you even evaluate alternatives) entirely depends on how much that choice matters in the situation.

Situations in which the choice doesn't matter are very common, and in situations in which it doesn't matter.

The scientist isn't concerned with "does it matter" but with "does it make an observable difference". But the latter concern is often a luxury or idle preoccupation for the engineer.

Writing code is mostly a kind of engineering; more rarely is it science.

Engineers usually select existing materials and patterns of putting them together to put together a solution.

Engineering isn't entirely creative in every detail, like painting or music. Even painters and musicians reuse from others.

"Why did you resolve this G7 chord to a C?"

barbariangrunge · 3 years ago
Counter point: writing things from scratch once in a while sharpens your skills and helps you make better decisions in the future about tradeoffs, and let’s you evaluate different implementations without having to resort to a search on hackernews, stack overflow, or GitHub to find out what the trendiest option is

Take exercise for example: it’s all unnecessary work, but it makes you stronger so that you maintain your fitness longer and so when you need to be strong for something, you’re ready

geophph · 3 years ago
Agreed. I also like calculus as an example. First you gotta write out derivatives by hand, then you learn you can “drop the exponent then subtract one from it.”

Doing it the long way without the shortcuts helps you understand it better inside and out I’d think for when you do use existing code.

I find sometimes it’s fun to write out a program to do something without any (or at least very minimum) imports just to see how I’d solve it (for a reasonably real use case). Helps to better understand the concepts / tricks the “real” implementation might use.

Some fun examples: building an animated UI spinner “by hand” or setting up a sub-pub implementation for passing data around my app.

kazinator · 3 years ago
If you're not making something from scratch in every development assignment, probably, get another job.

The article isn't simply disparaging using existing code, but using an existing approach.

Using an existing approach might mean, say, reading a paper about it and writing your own implementation from scratch, using only the paper's description and pseudo-code as an example.

That goes a long way to keeping you on your toes as a programmer, and can exercise some computer science muscle as well.