Live data from Hacker News

Code is run more than read

olano.dev

141–150 of 325 posts

Re: Code is run more than read

#141

Hey, author, if you end up reading this thread: put the conclusion on a sticker. I'll put one on my laptop and give a bunch to friends. For anyone that didn't make it to the end, the conclusion was: user > ops > dev biz > ops > dev biz ≹ user

In the long run user > biz, otherwise users will be using a product of a different biz via the enshittification cycle.

There are enshittified monopolies and oligopolies, with lots of moats.

Re: Code is run more than read

#142

Earlier quoted context omitted.

I would imagine trying to compare a purely imaginary number (3i) to a real number (3) would suffice.

An imaginary number wouldn't obey the stated constraint of being real.

No, but if the parent's question goes beyond "how can this happen with reals" to "how can this happen with numbers in general", this answers his question.

Re: Code is run more than read

#143
post #132
post #26

Earlier quoted context omitted.

That would be nice, but people keep hiring based upon specific programming languages and other programming specific skills.

Out of my last five positions, only two required a programming language I’ve already used before professionally. You just have to know enough to pass the screening and no competent interviewer will reject you based on lack of experience if you are a good fit otherwise. Hence the other skills, like basic soft skills, leadership, systems and ops knowledge and office politics matter more in the long run.

I mean, that's more information for companies than me. And yes, every job I've been made an offer for and accepted has been much, much looser on the exact languages or actually looked at my submitted code samples if they were interested in understanding if I could actually write code.

One of the worst examples was Amazon. They gave no indication ahead of time, but I was presented with a coding test with only a small subset of languages. My chosen language was F# because that's what I was most comfortable with but of course it was unsupported in their online tool. I solved a problem using discriminated unions, pattern matching, and pipelines. The interviewers were very confused, a bit antagonistic that I'd choose anything other than Java (even though no one told me ahead of time that there was a limited selection), and proceeded to show their lack of knowledge. For example, the interviewer kept bringing up a violation of the open-closed principle in my code. However, as I explained to them, that principle is only really applicable to object-oriented code. Since I was using a union data structure and pattern matching, that principle is not really applicable, as the functional approach is a transpose of sorts from the OOP approach. But I just got blank stares and an automatic deflation in the room of the interviewers communicating that they were ready for the interview to end. What was mind-blowing about it is that my resume lists nothing but functional oriented programming languages, with not a single example of Java, and I have plenty of code examples posted. But yet, I get asked some dumb question about reading a file using some terrible online coding platform.

Re: Code is run more than read

#144
post #8

For many of us, running our code 1 billion times will cost less than a few minutes of a developer's time. Hell, I could spend $200 for a month of server time on AWS and run a lot of my (web API) code 100 billion times. Optimizing for human readers is always better until you're working on something that proves itself to be too slow to be economical anymore.

Also, for my compiled code (in Go), the code that I write is not the code that the compiler generates. I can write simple code that's easy for {{me in 3 months}} to read and let the compiler do the fancy stuff to make it fast.

For what it’s worth, Go might not be the best example here as its compiler does very little (hence the fast compile times).

Some LLVM-based language would fit the bill better, like Rust, C (also true of the intel compiler and gcc), C++, etc.

Re: Code is run more than read

#146

> There’s a lot of software being produced that just doesn’t care about its users [... caused by] a mismatch between what we thought doing a good job was and what a significant part of the industry considers profitable [... so] perhaps we should take a stronger ethical stand not to harm users. Or, we could ditch the "biz" part. It just so happens that software not written to serve business interests tends to also res…

To ditch the biz we have to make dev and ops accessible to ourselves. Nobody does that. Making a proper login form still requires a team and a week.

The biz sits there rubbing its hands, watching us making the means of production more and more complex and expensive to use, so that it has a complete monopoly on creating software.

Devs are so used to relatively big paychecks from the biz that unconsciously tend to ignore these issues.

It’s not implementing dark patterns and cookie popups that makes you on the biz > * side. Tolerating the complexity of software development is. “Biz > complexity > *”. Push the complexity to the right as much as possible to ditch the biz.

Due to developer deformation it should be explicitly stated what the complexity is:

- Pointless “constant evolution” (version.major++ in less than 5-7 years, previous versions abandoned),

- Embracing epoch-breaking changes (2/3, ESM)

- Low-level as the norm (scaffold, config, listen, route, ddl, connect, hash, jwt, css, setstate, useeffect, fetch, … in place of business logic)

Re: Code is run more than read

#147
Some users are not using a system because they like it but because their company bought it.

In those situations biz > user by definition and the developers end up having to cater to the needs of the middle managment of their customers rather than the needs of the actual users. The price of not doing this is failing to win the contract. Users then get locked in to whatever crap you have time to provide for them while you're really busy implementing new features that middle managment like.

You essentially only need a nice looking login screen and some sort of reporting and the rest.....doesn't matter much.

I am being a bit cynical but it does pay as an engineer to know if that's fundamentally the kind of company you're in.

An online retailer, for example, is hypersensitive to its users and I know of at least one that has different versions of its website for different countries because they know that Germans like X and Americans like Y - small changes make a huge difference to sales.

Other companies have no sensitivity to the usability of their products because the people who buy their products are never the users.

Re: Code is run more than read

#148
post #66
post #33

TIL of ≹, which "articulates a relationship where neither of the two compared entities is greater or lesser than the other, yet they aren't necessarily equal either. This nuanced distinction is essential in areas where there are different ways to compare entities that aren't strictly numerical." ( https://www.mathematics-monster.com/symbols/Neither-Greater-... )

I was so hoping I could win the day with 0 ≹ -0. But alas, 0 == -0 and 0 === -0.

NaN ≹ NaN

Re: Code is run more than read

#149

So, the author hijacks a perfectly good rule of thumb to build their grand theory of everything. It is all nice, clean, and wise, and besides the tortured turn of phrase is just rechewing of popular truisms.

> the tortured turn of phrase

Usual reminder that many people in our industry are not native speakers and don't live in an English speaking country, and yet they make the effort to write in English, which may explain the "tortured turn of phrase".

> just rechewing of popular truisms

And yet these "popular truisms" are particularly well put together in a coherent way, which makes this post a useful reference.

Re: Code is run more than read

#150
post #33

TIL of ≹, which "articulates a relationship where neither of the two compared entities is greater or lesser than the other, yet they aren't necessarily equal either. This nuanced distinction is essential in areas where there are different ways to compare entities that aren't strictly numerical." ( https://www.mathematics-monster.com/symbols/Neither-Greater-... )

That article is misinterpreting the meaning of the symbol. It isn't useful in mathematics because it is a contradiction in terms: if "neither of the two compared entities is greater or lesser than the other" then they are equal.

The author of the original article uses it correctly - think about it more in regards to importance for their example.

The business is no more or less important than the developer, but they are NOT equal.

It doesn't have to mean importance though, just the method by which you are comparing things.

Monday ≹ Wednesday

Come to think of it, it should be called the 'No better than' operator.

Post reply on HN