Live data from Hacker News

Woodworking as an escape from the absurdity of software

alinpanaitiu.com

481–490 of 545 posts

Re: Woodworking as an escape from the absurdity of software

#481
post #450

Earlier quoted context omitted.

> Code is not art, it's instructions. I'll slightly disagree here because code needs to be read by a computer and by your human teammates. There are times when I'm frustrated because prettier is making a necessary but unintuitive choice and causing my code to become harder to read. But those are rare, and I would never trade them for the guarantee of readable code the other >99% of the time.

> I'll slightly disagree here because code needs to be read by a computer and by your human teammates. I still don't think that makes it art and this is why: art can't be simplified. Code can. Take that to it's extreme and you see that code can be simplified down to nothing without anything being destroyed. Art can't. Maybe you could say that the act of programming (or simplifying) is an artform, but that's not what…

> Take that to it's extreme and you see that code can be simplified down to nothing without anything being destroyed.

I disagree. The thing being destroyed is readability and common understanding with your fellow programmers.

Re: Woodworking as an escape from the absurdity of software

#482
post #114

There is a talk 'Programming With Hand Tools' by Tim Ewald, where the author explains why he uses hand tools (as opposed to electric tools) in his woodworking hobby and how this might be reflected back to programming.

Being involved with software professionally and woodworking as a hobby, I can recommend that talk. The parallels he draws are so good that I was almost angry with myself for not seeing them before watching that talk.

Re: Woodworking as an escape from the absurdity of software

#483
post #399

Earlier quoted context omitted.

> I would say 99.999% of all modern work is "surrogate activity" (an activity that is directed toward an artificial goal that people set up for themselves merely in order to have some goal to work toward.) That's one of the most absurd hyperboles (or the most detached-from-realiy statements) I have ever seen. That would mean only one out of 100,000 people is doing "real" work. Or if you spread it evenly, less than on…

You're probably right, it was a made up number to make a point. The point being that if you are not growing your own food (or hunting it) you're probably engaged in "surrogate activity" for a living and not directly satisfying your physical needs. Would you say more than 1/100,000 people in today's world grow and or hunt for their food daily?

Now you're moving goalposts at breathtaking speeds. Previously, you defined surrogate activity as "artificial goal that people set up for themselves merely in order to have some goal", i.e. definitely not producing anything useful. Now suddenly it's supposed to be anything "not directly satisfying your physical needs".

Re: Woodworking as an escape from the absurdity of software

#484
post #48

I have to laugh because I find almost all programmers are like this. They are almost always people who like making things. A lot of them are musicians too. I find DIY to be similar - you get a physical result, you use your hands to make something, the satisfaction is almost always about pleasing your own sense of what you want. Ok there's the wife too but .... I also like feeling that I can cope with certain jobs eve…

Confirmation bias. I have seen multiple different programmers developers etc that such a generalization just puts a smile on my face. Age, family status, location, family influences probably have more to do with the selection of a hobby rather than the text modification job alone. The last decades rendered us more or less exceptional and people like to play with this satisfactory idea. But programmers are no different to electricians or plumbers or architectural technicians, etc.

Re: Woodworking as an escape from the absurdity of software

#485
post #450

Earlier quoted context omitted.

> I'll slightly disagree here because code needs to be read by a computer and by your human teammates. I still don't think that makes it art and this is why: art can't be simplified. Code can. Take that to it's extreme and you see that code can be simplified down to nothing without anything being destroyed. Art can't. Maybe you could say that the act of programming (or simplifying) is an artform, but that's not what…

> Take that to it's extreme and you see that code can be simplified down to nothing without anything being destroyed. I disagree. The thing being destroyed is readability and common understanding with your fellow programmers.

My point was that removing code (not just reformatting it) without changing behavior is a gain, not a loss. Art is the opposite.

That tells me that the code itself is not important; the task/instructions the code performs is the important part. Therefore code is a utility, not an artform.

Yes I want written instructions to be understandable to humans, so my code conforms to tool-enforced formatting standards 100% of the time, not subject to artistic interpretation.

Re: Woodworking as an escape from the absurdity of software

#486

Earlier quoted context omitted.

Seriously. Python Black is a godsend. I don't have to waste brain cells on formatting minutiae, just right-click and go "format my code, please." It's consistent, it works, and IDGAF about the details. The only formatting that drives me up the wall is people using K&R braces in C# or Java. It's not 1970 anymore, and we're not all typing on green-screen terminals. It's like people fetishizing vim or emacs over modern…

..huh? But either way, should you ever be annoyed by K&R again next time you work with C#, you can trivially change it by setting csharp_new_line_before_open_brace = none in .editorconfig and running dotnet-format tool against solution files.

K&R doesn't just mean the opening brace isn't on its own line, it also means single-line blocks have no braces at all. Always using braces but not putting the opening one on its own line is 1TBS (not the best name, but I don't know what else it's called).

Re: Woodworking as an escape from the absurdity of software

#487

Earlier quoted context omitted.

..huh? But either way, should you ever be annoyed by K&R again next time you work with C#, you can trivially change it by setting csharp_new_line_before_open_brace = none in .editorconfig and running dotnet-format tool against solution files.

K&R doesn't just mean the opening brace isn't on its own line, it also means single-line blocks have no braces at all. Always using braces but not putting the opening one on its own line is 1TBS (not the best name, but I don't know what else it's called).

You can omit them too (at the risk of legibility in some conditions).

All these are configurable (and not enforced by default but you can definitely do so with .editorconfig).

It is also fairly popular in C# to use expression-bodied members where they have just a single expression/statement e.g.

    class Test {
        public int Property => 42;
        public void Method() => Console.WriteLine(42);
    }

Re: Woodworking as an escape from the absurdity of software

#488
post #35

Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies, for prestige and safety, and ended up unfulfilled in their jobs. Most big companies are not good if you want to solve problems and build stuff. Especially "the enterprise", where software is seen as a cost center so the less of it the better. The effort of managing up e…

A lot of software jobs are "bullshit jobs" - creating unnecessary or unused software (or particular features).

Re: Woodworking as an escape from the absurdity of software

#489
post #315

Earlier quoted context omitted.

> How you choose to add whitespace to your code is not a meaningful outlet for creativity. I'd like to mildly disagree. Using whitespace to group functionality together in "paragraphs" and aligning the horizontal indentation in the clearest possible way is not too far away from editing a short story to make it flow better. Earlier today my linter rearranged multiple "key: value" one-liners into two-liners and the end…

Yeah, it's proto-editing, but with such limited degrees of freedom in the activity your creative options are pretty limited and as time goes on and on the endeavor starts to look like this: https://xkcd.com/915/

Interesting, I can't tell if the comic is about "people will become obsess and develop taste in what they see every day", or "people will develop preferences to separate themselves into groups".

Re: Woodworking as an escape from the absurdity of software

#490
post #35

Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies, for prestige and safety, and ended up unfulfilled in their jobs. Most big companies are not good if you want to solve problems and build stuff. Especially "the enterprise", where software is seen as a cost center so the less of it the better. The effort of managing up e…

I’m very lucky. I work on a very small software team, with a very flat structure, where my boss, with a very high level of trust, tasked me with replacing several very old parts of the product stack using my best judgment and choice of languages/tools. He also appreciated that during the interview, I mentioned that my work must be oriented towards customer value; that is the ultimate goal of any of our work. I am often privy to client feedback. However, I am also protected by a hard communications firewall from direct contact with those customers, as well as the much larger field tech and sales side of the company. My job thoroughly satisfies my creative and technical needs, such that I do not pursue much programming or high-skill crafting outside of work.

Nobody believes me when I tell them this. Software is so thoroughly corrupted by the low-trust managerial paradigm, where massive hierarchies are built to justify high-paying managerial positions that end up reducing the efficiency and productivity of great programmers, that it’s simply taken for granted: We should never trust engineers to make independent decisions, to schedule their own pursuit of tasks, to pick the right tool for the job, to do this all with customer value in mind.

Who knows? Maybe I’m the exception and engineers don’t deserve to be trusted. In which case we have a very, very big societal problem. All I know is that our software team performs very esoteric group interviews, and our style seems very good at sniffing out pretenders and exploiters.

Post reply on HN