[HN Gopher] That's not why I did it
       ___________________________________________________________________
        
       That's not why I did it
        
       Author : MaysonL
       Score  : 145 points
       Date   : 2020-11-24 05:43 UTC (1 days ago)
        
 (HTM) web link (weaversew.com)
 (TXT) w3m dump (weaversew.com)
        
       | draw_down wrote:
       | A fun read. I do think it's possible to learn this lesson too
       | well, though. Sometimes it really is better to just cut your
       | losses, and the only thing stopping you is pride.
        
         | yobert wrote:
         | I see why this got downvoted because it seems rude at a
         | superficial glance. I vouched for it because I think it's worth
         | discussing a very important distinction here.
         | 
         | What's important isn't that you tilt at windmills or beat a
         | dead horse. Notice that nowhere in the story does either her or
         | her daughter suggest the other do the work to fix it.
         | 
         | The importance is in recognizing what you truly want. Sometimes
         | people don't have the self reflection, perception, or foresight
         | to realize the joy they might get out of some damn hard work.
         | 
         | Also this comment has an interesting vibe in the classical
         | "pride is bad" sense. I think it can be bad in the sense that
         | it usually describes like a narcissist kind of pride when it's
         | used negatively. But this is clearly a justified pride in
         | oneself-- pride in not only overcoming adversity, but enjoying
         | it immensely.
        
           | draw_down wrote:
           | Well, I used the word "sometimes" for a reason, not to say
           | that this story was one of those times. It does feel good to
           | do this kind of involved work sometimes, I completely agree.
           | My admonition is that just because it feels good doesn't
           | always make it the right move.
           | 
           | And yeah, I think it's bad to let pride get in the way of
           | doing what makes sense. Just crazy like that I guess!
        
         | rossdavidh wrote:
         | True that. But, in this case (and many others), the decision is
         | impacted by both the sunk cost fallacy (your point), but also
         | the "I don't like looking at that mess I made so let's just
         | throw it out" fallacy. Just because it makes you feel bad
         | looking at it, doesn't mean throwing it out is the best answer.
         | Sometimes, jumping in and spending the time is the best answer.
         | 
         | Of course, if there's a rule for how to avoid both of those
         | errors, I haven't found it. But it's helpful at least to know
         | that they both exist.
        
         | bonkabonka wrote:
         | I think it might depend on your goals - the old, "The Journey
         | is the Reward" chestnut.
         | 
         | She mentioned a couple of times that she went into the tangle
         | because she wanted to, that she hadn't had to "bail a loom out
         | of a major temper tantrum" in a while.
         | 
         | To be sure, recovering the 1 1/2 yard Shetland warp and other
         | materials would in no way compensate 10 hours of labor - but
         | that presumes there's nothing to learn from the process.
         | 
         | I want to say something surly about how accountants have driven
         | software development to losing its soul in pursuit of dollars
         | but ... that's not going to end constructively. =D So instead
         | I'll just say I really admire the attitude of, "I can fix that.
         | It will take more time than it's worth but screw the economics
         | of it all, I'm going to do it anyway. Fsck you, entropy."
        
       | thedanbob wrote:
       | This is the same reason I enjoy repairing electronics and
       | machines so much. Even if it doesn't look good as new or the fix
       | is a little bit of a kludge, it is incredibly satisfying to take
       | something broken and return it to working order. And like the
       | author, once I get started on a repair I can't stand to stop
       | until it's done.
        
       | legerdemain wrote:
       | Yes, it is very easy to get absorbed in a mindless, repetitive
       | task. You'll feel superficially productive afterwards, but what
       | did it all amount to?
       | 
       | I once spent several hours grepping and changing every instance
       | of `if (foo != true)` in a multi-million LOC codebase. Was it a
       | good use of my time? Not at all.
        
         | rzzzt wrote:
         | What did you change it to?
        
           | muricula wrote:
           | This is pure speculation, but they may have changed it to
           | foo==false. In C a boolean is just a byte which
           | conventionally has the values 0 or 1, but an attacker which
           | controls a boolean can give it the value of 2, and 2!=true
           | and 2!=false. This has lead to real exploits:
           | https://windows-internals.com/exploiting-a-simple-
           | vulnerabil...
           | 
           | When writing C or C++, never compare against true.
        
             | HeyLaughingBoy wrote:
             | I'm not sure that's right.
             | 
             | Too lazy to look it up right now, but my recollection is
             | that in C, 0 is False and _anything else_ is True.
        
               | stonemetal12 wrote:
               | if 47 evaluates the true branch. So in that sense you are
               | correct, however standard C99 (the above mentioned bug
               | uses win32's TRUE which is defined the same way) does
               | #define true 1 therefore 47==true is false, even if 47 is
               | true when evaluated. Therefore:
               | 
               | int a = 47;
               | 
               | if a is true
               | 
               | if a == true is false
               | 
               | if a == false is false
        
           | serial_dev wrote:
           | I'd guess if(!foo). It makes sense in some languages where
           | the value can only be either true or false. It will lead to
           | nasty bugs if the value can be null, or the language has
           | truthy-falsy values and the condition accepts non bool values
        
             | rzzzt wrote:
             | You and muricula's sibling comment is the reason I asked :)
             | Occasionally it is hard to spot the "!" between "if" and
             | "(", and having to figure out if it is an omission or it
             | was deliberate. I was wondering if spelling it out as "foo
             | == false" is worthwhile.
        
               | HeyLaughingBoy wrote:
               | At one job I had, our programming standards dictated that
               | we would have to write "if (false == foo)" to account for
               | the case where someone accidentally types = instead of ==
        
               | zentiggr wrote:
               | That's not rare, anyway... unless the linter can flag ==
               | <bool>, and suggest fixes.
        
         | yobert wrote:
         | I think it can be good for you to do this kind of work once in
         | a while. I like to sort my M&Ms.
         | 
         | But! From a technical perspective, I would never ever do this.
         | It's likely to causes merge conflicts on every single pending
         | branch anyone has. I would recommend only changing the area you
         | are working on. Leave it better than you found it, but don't
         | rock the canoe so to speak.
        
           | legerdemain wrote:
           | This is one good purpose for video games. If you have an
           | uncontrollable urge to do something mindless, at least do it
           | safely in a simulated environment.
        
         | robocat wrote:
         | Definitely not a good use of your time in many languages!
         | Because `if (!foo)` is only equivalent given a language where
         | foo can only be a Boolean type (I'm guessing you were using
         | Java?).
         | 
         | In more weakly typed languages null/NaN special cases and type
         | conversion rules make it very hard to safely rewrite `if (foo
         | != true)`.
        
       | emilecantin wrote:
       | Archive.org link as the site seems hugged to death:
       | https://web.archive.org/web/20201125175036/https://weaversew...
        
       | quickthrower2 wrote:
       | > One of the samples Brianna decided to weave, was exploring what
       | happens when you use differential sett with really slippery
       | rayon, warp and weft, and then slippery rayon warp and a dragging
       | kind of weft like Shetland wool. The sample with the slippery
       | rayon warp, though challenging, was completely successful. She
       | then wound a warp with the Shetland wool, and the idea was she
       | would tie into the rayon warp and repeat the experiment with a
       | rayon weft and a wool weft, producing an additional two samples.
       | 
       | The jargon! Is this what tech talk sounds like to outsiders?
        
         | bonkabonka wrote:
         | Ayup! Totally like that. And I'm sure they have their own sort
         | of correction-reflex for "My computer has 1TB of memory!" -
         | "Oh, you mean you have 1TB of storage." - "Same thing." - "No.
         | It's not. _eyeroll_ "
        
           | drivers99 wrote:
           | In a computer engineering class (but nowhere else really), I
           | heard storage can be called "secondary memory"[1] so they're
           | technically correct, without knowing it.
           | 
           | [1] as mentioned here for instance
           | https://techterms.com/definition/secondary_memory
        
             | aidenn0 wrote:
             | I've not seen it that way, but I've seen memory called
             | "primary storage." Historically storage and memory have
             | been used fairly interchangeably, but when talking about a
             | modern PC, "storage" usually implies disk (or disc, or
             | nvme) and "memory" implies specifically the DRAM.
        
           | korethr wrote:
           | I think I spent more time watching video snippets and reading
           | portions of other articles to give myself a lightning course
           | on weaving jargon, just so I could understand what was being
           | talked about in the OP. And suddenly, why looms look as
           | complex as they do and are able to weave complex patterns
           | makes sense. Why looms were automated makes sense, and I find
           | myself with a new sense of respect for those who learn and
           | master operation of a manual loom. It's not a trivial task.
           | 
           | Still haven't been able to figure out what a "differential
           | sett" is. Searching with quotes on google finds a bunch of
           | stuff talking about '"differential sett"lement'. Or stuff
           | about Egypt. Best guess is that it has something to do with
           | using a number of threads per inch that is different from
           | what is set on the reed, or differs across the breadth of the
           | warp.
        
           | hansvm wrote:
           | Off-topic: one of my favorite dev environments had a half
           | terrabyte of memory, and it was _fantastic_ for prototyping
           | -- we rarely had to be bothered with disk spillover or any of
           | the other time sucks that arise in low-RAM environments.
        
         | IshKebab wrote:
         | It's barely jargon. I think a lot of people know that rayon is
         | a type of fibre, and warp and weft are the directions of weave.
         | I don't know what sett is, but I think it's mostly hard to
         | parse because it's not very clearly written.
        
           | bussierem wrote:
           | It's barely jargon. I think a lot of people know that Haskell
           | is a pure functional language, and arrays and hash maps are
           | both examples of functors. I don't know what a monad is, but
           | I think it's mostly hard to parse because it's not clearly
           | written.
           | 
           | I would challenge you to share this with a non-developer
           | friend and see what they think about that statement. You
           | should consider what your personal experiences are with
           | something before making such rather aloof statements towards
           | others.
        
         | cortesoft wrote:
         | I LOVE hearing jargon from a world I know nothing about, and
         | trying to piece it all together from context.
        
         | rossdavidh wrote:
         | I am a developer, and I was once in a meeting full of
         | scientists who work on gene sequencers. One of them, in what
         | context I forget, referred to me as the "tech guy". I thought
         | to myself, "I'm in a room full of scientists who work on gene
         | sequencing, and I'm the tech guy? I thought I was the least
         | technical person in this room."
         | 
         | I've had similar experiences with people who know the magazine
         | industry, the custom steel door industry, the ad agency
         | business, and several others. They all have their own language,
         | and they all think that I'm the tech guy, and I know I'm the
         | only one in the room who doesn't understand what we're talking
         | about. :)
        
           | nullsense wrote:
           | You were the tech guy. They were the biotech guys/gals.
        
         | Tade0 wrote:
         | I spent new year's eve 2019/2020 with a group of weavers. The
         | jargon is strong in them and to make matters worse, IT borrowed
         | a few terms (like "thread"), so their conversations were
         | especially confusing to me.
        
       | MaysonL wrote:
       | This is my sister-in-law's blog, and it's about weaving,and
       | somewhat technical. But the lessons it teaches cam apply to a lot
       | more than weaving...
        
         | peter_l_downs wrote:
         | Thank you for sharing this, very good story.
        
       | cjcenizal wrote:
       | This was my favorite part, because I'm new to engineering
       | management and this is a lesson I've been learning:
       | 
       | > Brianna did manage to beam and weave the new samples. She did
       | as I suspected have to cull some of the warps in the densest part
       | of the reed. But she learned that on her own. And she also
       | learned that when tying in a new warp, you should use overhand
       | knots. But kids learn by falling flat on their faces and picking
       | themselves up and reevaluating the experience.
       | 
       | People learn when you give them the opportunity to fail. This has
       | been a tough lesson for me to learn because I'm used to
       | successful outcomes being visible -- a feature is complete, a bug
       | is fixed, a project ships. But when someone successfully learns,
       | the outcome is internalized and usually only manifests the next
       | time they take on a similar challenge, so I just gotta wait and
       | see!
        
       | ericmcer wrote:
       | The daughters goof reminds me of a quote from Lawrence Durrell:
       | 'She showed him the difference between knowledge and
       | understanding'.
       | 
       | The idea of this ingrained understanding from experience is so
       | much more intriguing to me than trying to pull knowledge together
       | with the conscious mind. I like the idea of the conscious brain
       | orchestrating the training regime for the subconscious, but once
       | it is time to perform it just steps back and watches.
        
       | 3pt14159 wrote:
       | This is one of my favourite posts on Hacker News of all time.
       | There are so many obvious lessons for the very definition of a
       | programmer of any skill level to learn in this metaphor that it
       | feels hollow in comparison to how beautiful the story is to life
       | itself; even though that secondary comparison is quite valid in
       | its own right.
       | 
       | Thanks for sharing.
        
         | exmadscientist wrote:
         | And for anyone who doesn't realize why your mention of
         | "programmer" is completely appropriate here in discussing an
         | article about weaving, I can only suggest a link:
         | https://en.wikipedia.org/wiki/Jacquard_machine
        
           | rektide wrote:
           | Mariko Kasako had a lovely talk on weaving, punch cards, &
           | her own neat DIY work. Fun talk, some good history there too,
           | with a bit of the modern too. The Jacquard loom is featured!
           | 
           | https://youtu.be/e7wwuZnnM9k
        
         | greenyoda wrote:
         | In particular, this passage about asserting control over chaos
         | resonated with me, as a software developer:
         | 
         | > _I sort of think that it has to do with creating calm in
         | chaos. There is so little in the world that we have any control
         | over. But what happens at our looms, that thing, we have
         | control over. And if what happens on our looms becomes total
         | chaos, then patience, tenacity, and time will make it work.
         | That's why I did it._
         | 
         | Also, here are explanations of some of the weaving terms used
         | in the article:
         | 
         | https://en.wikipedia.org/wiki/Weaving#Process_and_terminolog...
         | 
         | https://en.wikipedia.org/wiki/Warp_and_weft
        
       | renewiltord wrote:
       | Reminds me of a (kinda downvoted and I understand) comment on HN
       | that I take inspiration from when things get tough. Not the same
       | sentiment but there's a stylistic similarity. Paraphrasing,
       | 
       | "You know what made me give up programming? It wasn't that the
       | classes assumed knowledge already. It wasn't that I was bullied
       | for it. It wasn't that I didn't fit the mold of an engineer.
       | Nothing. Nothing made me give up programming".
       | 
       | Reminds me that the world is tough. Societally, making it easier
       | to do some things is worthwhile. But personally, personally if
       | you want something, you just go get it. And damn the rest of them
       | in your way.
        
       | [deleted]
        
       | broberts01 wrote:
       | Privacy preferences seem to be borked
        
       | CarVac wrote:
       | This reminds me of a time when I was working at Target and my
       | manager let me spend an hour to straighten out the shelves for
       | spices, which were horrendously disorganized, with incredibly
       | incorrect inventory counts.
       | 
       | That was one of the most satisfying things I've ever done,
       | sorting every tiny container, counting them, backstocking the
       | excess, marking the empty shelves, straightening the guides...
       | 
       | Pure bliss.
        
         | iamdbtoo wrote:
         | This is the same feeling I get from playing Satisfactory.
        
         | PapaSpaceDelta wrote:
         | If you can gain the same enjoyment vicariously, you might enjoy
         | SouthernASMR's channel - she often tidies up the shelves of the
         | stores that she visits. Here's a playlist of her Nail Polish
         | organisation videos:
         | https://www.youtube.com/watch?v=9TsxWuFsy3I&list=PL7SQKahkOA...
        
         | zentiggr wrote:
         | Every time I/we have gone to the craft store we like, I have to
         | fight the urge to reset the 12 feet of 9, 10 shelves high with
         | all the 2oz paint bottles. All numbered, with placards the
         | length of the shelf, 2 inches per bottle, and omg, just to sit
         | and start at the top left and normalize the whole section...
         | sigh.
         | 
         | I envy you that experience :)
        
         | ericmcer wrote:
         | That sounds great. When I worked grocery we used to joke about
         | getting everything perfect on the shelves and then just sealing
         | the store up.
         | 
         | After long enough the empty shelves, spills, and broken items
         | sort of blended together and the customers who caused them did
         | not matter, like the store itself was alive and we were tending
         | to its habitual needs.
        
         | bvcvbuiy wrote:
         | I love this feeling as well. Reading this I actually realized
         | that is a big part of what I like in my role as a data
         | scientist. You are given a ton of messy data and during months
         | you get a very intimate knowledge about how your data reflects
         | the business processes, you understand every edge case, and end
         | up building a nice data model that allows to answer many
         | question that had previously no answer with a simple SELECT
         | FROM WHERE statement. Very satisfying.
        
       | svat wrote:
       | I'm reminded of a post called _Music and Lyrics in Math Talks_
       | (https://sites.math.rutgers.edu/~zeilberg/Opinion78.html) by the
       | mathematician Doron Zeilberger:
       | 
       | > _Human beings have bodies and souls. Computers have hardware
       | and software, and math talks have lyrics and music. Most math
       | talks have very hard-to-follow lyrics, [...]_
       | 
       | > _But like a good song, and a good opera, you can still enjoy it
       | if the music is good. The "music" in a math talk is the speaker's
       | enthusiasm, body-language, and off-the-cuff heuristic
       | explanations._
       | 
       | > _Sometimes you can recognize a familiar word, and relate it to
       | something of your own experience, whether or not the meaning that
       | you attribute to it is what the speaker meant, and this can also
       | enhance your enjoyment._
       | 
       | I think of this often (e.g.
       | https://shreevatsa.wordpress.com/2009/03/20/music-and-lyrics...).
       | This post here is a wonderful example. Although the _lyrics_ here
       | are beyond my understanding:
       | 
       | > _I decided that the best way out, was to carefully pull the
       | warps that ended up in front of the reed, since they were only 1
       | 1 /2 yards, and resleying them where required (because this was a
       | differential sett warp, there were dents where there were as many
       | as five ends) and then carefully tying them back into the
       | slippery rayon warps that went through the heddles, one by one._
       | 
       | the whole post is clearly pulsing with the kind of _music_ that
       | speaks to a programmer 's soul. I remember one of our CS
       | textbooks, in the chapter running through some history, had half
       | a page on Jacquard's loom
       | (https://en.wikipedia.org/w/index.php?title=Jacquard_machine&...
       | ); evidently the similarity in spirit between programming and
       | weaving runs deep. This is most evident in some paragraphs:
       | 
       | > _I sort of think that it has to do with creating calm in chaos.
       | There is so little in the world that we have any control over.
       | But what happens at our looms, that thing, we have control over.
       | And if what happens on our looms becomes total chaos, then
       | patience, tenacity, and time will make it work. That's why I did
       | it._
       | 
       | > _[...] I did it because there is something intensely satisfying
       | about bringing order to chaos. There is something intense about
       | saving a project. I had my doubts that this was even weaveable
       | [...] I grabbed my 5X glasses, a magnifying OTT lite, and a sley
       | hook and started in. 10 hours later I was triumphant._
       | 
       | ...but really, one can sense this throughout the entire post. I'm
       | glad I read it.
        
       ___________________________________________________________________
       (page generated 2020-11-25 23:01 UTC)