Live data from Hacker News

Code is run more than read

olano.dev

181–190 of 325 posts

Re: Code is run more than read

#181
post #13
post #11

Because we as programmers need to know how to progam: learning trumps all. Thus: learning > biz > user > ops > maintainer > author There was that bit dev > * meaning resume-driven development, but in reality it is learning > * And that's the conflict programmers experience in corporate structures, for example the hassle programmers experience when they interview for a position. Employers know it too but they try to s…

My gripe with most programmers that they keep re-learning the same narrow set of skills while ignore the rest that actually makes someone a efficient expert.

Which would the rest be? Asking genuinely as a 4 YOE dev

Re: Code is run more than read

#182
post #86

Earlier quoted context omitted.

I like the argument that observes "if you subtract 0.99(9) from 1, you get a number in which every decimal place is zero". The geometric series proof is less fun but more straightforward. As a fun side note, the geometric series proof will also tell you that the sum of every nonnegative power of 2 works out to -1, and this is in fact how we represent -1 in computers.

How can the sum of a bunch of positive powers powers of 2 be a negative number? Isn't the sum of any infinite series of positive numbers infinity?

In an introductory course to String Theory they tried to tell me that 1+2+3+4+... = -1/12.

There is some weird appeal to the Zeta function which implies this result and apparently even has some use in String Theory, but I cannot say I was ever convinced. I then dropped the class. (Not the only thing that I couldn't wrap my head around, though.)

Re: Code is run more than read

#183
post #161

Earlier quoted context omitted.

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 a…

> if "neither of the two compared entities is greater or lesser than the other" then they are equal. Not in a partial order. For example in this simple lattice structure, where lines mark that their top end in greater than their bottom end: 11 / \ 01 10 \ / 00 11 is > to all other (by transitivity for 00), 00 is You can actually see this kind of structure everyday: unix file permissions for example. Given a user and…

Yes, or for more familiar examples: coordinates and complex numbers. the "default" less-than and greater-than don't have any meaning for them; you have to define one, which may be "imperfect" (because one can't do better), hence the concept of partial order.

Re: Code is run more than read

#184
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-... )

The example z_1 ≹ z_2 for complex numbers z_1, z_2 is weird. Imo it would be clearer to state |z_1| = |z_2|, that is both complex numbers have the same absolute value. > To conclude, the ≹ symbol plays a crucial role in providing a middle ground between the traditional relational operators. As a PhD student in math, I have never seen it before. I do not believe that it plays any crucial role.

It sounds like the symbol "≹" just means "incomparable", which is a well-known concept in math. https://en.wikipedia.org/wiki/Comparability

This symbol for it may be useful, but it's the concept that matters.

Re: Code is run more than read

#185
I'm glad to see something approaching ethics discussed:

> There’s a mismatch between what we thought doing a good job was and what a significant part of the industry considers profitable, and I think that explains the increasing discomfort of many software professionals.

"Discomfort" is quite the understatement. This leaves so much unsaid.

I will add some questions:

- What happens when your users are not your customers (the ones that pay)?

- Does your business have any ethical obligation to your users -- all of them -- even the ones that do not pay?

- What happens when your paying customers seek to use your business in ways that have negative downstream effects for your users?

For example, what if:

- Your platform makes fraud easier than the existing alternatives?

- Your platform makes it easier to misinform people in comparison to the alternatives?

- Your platform makes it easier to shape user opinions in ways that are attractive (habit-forming) but destructive in the long-term?

All of these have proven to be successful business models, over some time scales!

Given the reality of the dynamic, should a business pursue such an exploitative model? If so, can it do so more or less responsibly? Can a more ethical version of the business mitigate the worst tendencies of competitors? Or will it tend to become part of the problem?

A key take-away is clear: some classes of problems are bigger and more important than the business model. There are classes of problems that can be framed as: what are the norms and rules we need _such that_ businesses operate in some realm of sensibility?

Finally, I want to make this point crystal clear: a business inherently conveys a set of values: this is unavoidable. There is no escaping it. Even if a business merely takes the stance of 'popularity wins', that is in itself a choice that has deep implications on values. Political scientists and historians have known for years about the problems called 'tyranny of the majority'. Food for thought, no matter what your political philosophy.

I don't know 'the best' set of ethics, but I know that some are better than others. And I hope/expect that we'll continue to refine our ethics rather than leave them unexamined.

[Updates/edit complete as of 8:03 AM eastern time]

Re: Code is run more than read

#186
post #57

Earlier quoted context omitted.

That depends on the application and the use case, but good performance and good readability aren't mutually exclusive. Easy to read software might not always be the most performant, but it's far easier to improve performance in an easy to read codebase than it is to make a hard to read but performant codebase easier to read.

Yeah, that's right. I just feel that latency is sometimes missing from the discussions re. developer efficiency vs paying more for compute.

I see far more examples of per premature optimization (resulting in horrible code) than performance problems.

Re: Code is run more than read

#187
post #87

I think the corollary to the title (to turn it around on the author) is not 'Code is read more than written' but 'code that can't be read won't run for long'. Disclaimer: Experienced sysadmin trying to make a lateral move to development and as such a complete noob.

> code that can't be read won't run for long There's plenty of ossified code people are scared to touch because they don't understand it, but stake their business on it :)

I (very briefly) worked in a startup whose business was search (on a certain domain) and they had no tests for their "Search.java" file (the real name was 300x longer, because java devs…).

I had found some operations to tweak the scoring, except that some were multiplications by one, so I removed them. But I got told to not touch them because they wouldn't know if I had broken it until some customer complained.

The CTO told me off for my completely irresponsible behaviour.

Re: Code is run more than read

#188
post #37

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.

so: theory > /dev/null

pragmatism > theory

Re: Code is run more than read

#189
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-... )

The jargon from category theory for this phenomenon is - partial ordering.

It really is an interesting thing. In fact, as human beings who by nature think in terms of abstract, non-concrete units (as opposed to mathematically precise units like a computer program), we tend to compare two related things. They might belong to the same category of things, but they might not be eligible for direct comparison at all.

Once you internalize partial ordering, our brain gets a little more comfortable handling similar, yet incomparable analogies.

Re: Code is run more than read

#190

Earlier quoted context omitted.

Proprietary software you don't have sources for (say e.g. a third-party library), or just about any black-box system, are counterexamples to your corollary.

Well sort of, I can't read the binaries but I expect the vendor to have source and maintain it properly right?

I've had a coworker commit a binary on git and keep the source on his machine.

I'm sure it has happened more than once.

Post reply on HN