Live data from Hacker News

Minimalism – An undervalued development skill

volument.com

121–130 of 179 posts

Re: Minimalism – An undervalued development skill

#121
Usually product owners and business are the biggest enemies of engineering minimalism

- [PO] A/B testing says button must be outside table

- [DEV] But that makes the code unreliable and overcomplicates things the framework is not designed to do that, maybe if we include a regular link...

- [PO] BUT AB TESTING, ACQUISITIONS, CRITICAL MISSION, bla bla bla

Re: Minimalism – An undervalued development skill

#122
> If you want a cheap trick to make a difference — here's one: minimalism. Focus on the bare essentials and get rid of the rest. It's an easy way to differentiate, because most others are doing the opposite: tons of crap.

For a moment I thought this was about real life minimalism.

Re: Minimalism – An undervalued development skill

#123
post #118

Love it. I've been thinking [0] about this a lot lately. My rule of thumb these days when tempted to introduce a new dependency is try to build it from scratch first. I might spend 1 hour or 1 day, depending on my estimates of the costs/savings in the long term. I often find I just don't need the dependency. Sometimes I do, but after trying to build it myself I can fully justify why (to myself and others), and also u…

> I do want to mention that these articles always point out downloaded code size as a primary factor in the decision, but I rarely see any data showing how the reduction in code size translates into an improved user experience, based on the principles of human perception. In my experience, the really big gains come from techniques like background fetching. Size is a huge factor when you're on a limited data plan. May…

Not saying you're wrong, but again I never see these claims backed by data. My guess is most people eat their data plan with video and Spotify, not overweight JS.

Re: Minimalism – An undervalued development skill

#124

I have super mixed feelings on this. Minimalism makes for a clean, easy to understand codebase, that avoids some of the performance pitfalls associated with bigness. But sometimes it’s easy to build 80% of what you need, and then massively difficult to get to 100%, and the ease of getting to 80% can lead you astray. For instance, I can write a pretty fast matrix multiplication algorithm in maybe a few dozen lines of…

You bring up a good point, but I think the takeaway is that you need to be thoughtful about the process, not necessarily that one way or the other is always right. How often are breaking changes introduced to the APIs of OpenBLAS or LAPACK? I would guess approximately never (I could be wrong though. I'm actually surprised and a bit disturbed how much activity the GitHub repos are still getting). Beyond that, how much…

I believe there's work to be done for each new CPU architecture (Broadwell, Skylake (AVX-512), Cascade Lake, let alone ARM or other architectures). The code needs to be updated for things like L1 cache size, number of registers per core, and number of adders per core. So there will likely continue to be frequent work on BLAS implementations until there's some very smart optimizing and profiling compiler (which is related to what ATLAS does I think).

Re: Minimalism – An undervalued development skill

#125

.. This would make sense if it worked. There's a fine line between "not-developed-here syndrome" and minimalism-as-you-mention-it. If you can account for all the problems with the basic functionality the original big library tried to solve, this might work. But, if you're rediscovering all the problems again, and trying to solve them again, it's probably not the best use of your time. Further, if something is big eno…

There is indeed a fine line between NIH and minimalism. They have a strong correlation. You have to compromise between unnecessary features/bloat/crap or simply do it yourself. It's often surprising how easy it is to make something from the scratch. Hence NIH.

It's not that fine a line. There's tons of space in the middle and I find a steady supply of coworkers who love to write code and hate to use libraries who never bother to understand half of what the libraries they do use are capable of. I may be slightly unusual in my habit of trying to find new uses for the tools we already have, but I'm not abnormal. This is something mature people should be doing as a matter of course.

This "everything sucks (from my myopic viewpont)" thing is like a bizarre form of learned helplessness. And I say that as someone who complains a lot about the quality of tools and libraries. Only about 10% of the time do I think that means we should write our own. 40% we should pick a different tool, and half the time we should try to convince the author to fix the worst aspects (when the problem is deeper than a PR can address).

Code you wrote is easier to understand for you. Of course you're going to be more productive with your code but what about everybody else? Are you making any compromises for the comprehension of others? Do you remember nothing about middle- and high-school coaches complaining about 'ball hogs'?

The optimists think all of their code is amazing and bug free and hence cheap. But it costs everyone else time, respect (either for you, or themselves), but perhaps most importantly, resume material and independent support options. You are hijacking the project to fluff your own ego.

For me, the worst quartile of my jobs have been NIH that turned into codependent bullshit drama, and it causes a pretty intense histamine reaction (as is evidenced in my phrasing in this comment) for me with people who are not self-aware enough to allow at least the possibility that maybe 50 people who have been thinking hard about a problem for five years are better equipped to solve it than you can in a week of bravado, followed by months or years of dodging responsibility for the problems you created by substituting your judgement for the rest of the team and the entire Internet. Just get over yourself and be a team player for once in your miserable narcissistic life.

Re: Minimalism – An undervalued development skill

#126
post #4

At a recent job, people were advocating for ginkgo, a non-standard "reinvents the wheel" type of testing framework in golang. If you don't know golang, it has near perfect tooling out of the box, including a standard test framework. I joined on the brink of this decision i.e. moving to ginkgo. I was the first and only person to ask what does ginkgo do that "go test" does not for us ? Nobody could really answer that.…

God. I had to take over R&D of a service at work and despite the rest of our division already using 2 unit testing libraries and 3 testing idioms, they picked a fourth and a totally different reporting tool.

To be fair, one of those I introduced, because the oldest one we were using was demonstrably broken and prone to human error. I followed it up by shopping it around and getting others on board. One guy I deputized got a promotion in part from finishing what I started. The old one is just barely hanging around due to inertia and fear of breaking changes, but the coverage (% of overall, and I'm pretty sure LoC as well) continues to dwindle.

These guys picked a new one and then did nothing. Never talked about it, never pitched it to anybody, just forked our testing process. If that was the biggest problem with this code I'd just roll up my sleeves and fix it, but they broke so many other rules too - ours and ecosystem rules - that this is the least of the problems with the code. I might get around to looking at it in six months. I've been working on it for three months already.

Re: Minimalism – An undervalued development skill

#127
post #71

Earlier quoted context omitted.

Is it HN's hug of death? I see the same on my PC.

It was a JavaScript error on the commenting component due to a comment from a user that removed their account. Now fixed. Thanks!

Do you appreciate the irony that your article that brags about writing your own comment system was taken down by a bad comment?

Re: Minimalism – An undervalued development skill

#128
post #63

Reductionist garbage. Their "minimalist" sentry clone literally does nothing as presented on the page. There must be a back end that stores errors and an interface to view them, etc. There's a reason most apps are complex: because the world is complex. Making software that does nothing and pretending it's as useful as real software in the name of fashion, "minimalism" is frankly unimpressive and uninteresting. There…

Alton Brown complains about single-use kitchen tools. I find his theories on implements to be very sympathetic to my own. Invest materially and mentally into a few good tools and learn to wield them properly. Don't half-ass two things. Whole-ass one thing.

For one of my hobbies I have a little speech about how you could get started with only 5 specific tools. And the punchline of that story is that it's actually 4 tools + 1 duplicate. Because the 4 are that useful on their own, and one of them wears out much faster than the rest.

Re: Minimalism – An undervalued development skill

#129

There seems to be a bug in the comment form on their site. It gives me the option to edit/delete the last comment and when it asks me to create an account, it shows me someone else's email address. I feel like this is the major reason for not rolling your own.

The email address issue is now fixed. We'll fix the edit option visibility issue a little later (Christmas time happened)

Bugs should not be a reason to give up rolling your own stuff, but I'm sure you didn't mean it that way.

Thank you for reporting this issue!

Re: Minimalism – An undervalued development skill

#130

If you value minimalism, then why doesn't the page load any text when Javascript is disabled?

"chickenshit minimalism" https://idlewords.com/talks/website_obesity.htm#minimalism

That's a good reference article indeed. I remember that. Seems Chickenshit Minimalism is defined as "the illusion of simplicity backed by megabytes of cruft" — which is not in play on the article. But yeah... need to make that page work on non-JS browsers. Thanks!
Post reply on HN