[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)