That’s not why I did it
weaversew.com
weaversew.com
> 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.
The jargon! Is this what tech talk sounds like to outsiders?
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.
Typically you'd be operating on a lot of data of some kind and gain a lot in productivity by being able to keep all of it (ideal case) or large chunks of it (sampling, LRU cache, etc) in memory all at once.
Having more RAM also enables some workflow changes. You can aggressively point things like intermediate compilation steps or testing databases to a ramdrive. Any time you're doing anything moderately expensive you can cache the result in RAM to make it cheaper to use next time. When choosing algorithms you can bias heavily toward time in any time-space tradeoffs.
> Do you think most developers can benefit with this much RAM?
I'd wager they could use more than they have typically ;) But no, 512GB seems excessive to me for most developer use cases with today's software. In my current job I haven't had a single use case for that much, and there have only been a few instances where 128GB would have been much more productive than what I have.
[1] as mentioned here for instance https://techterms.com/definition/secondary_memory
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.
- People outside the field likely have enough concept of weaving (or fabrics) to know what the terminology might refer to.
- Weaving terminology is woven into our language(s). Before the industrial revolution, that was a huge labour industry - it was part of family/daily life.
- Words like 'sett' and 'weft' are clearly domain-specific and could be looked up. That's far less clear for 'language' and 'array' and 'map'; non-specialists are unlikely to recognise they are being used in a domain-specific way. Is a 'hash map' a type of map?
Understanding some of the words is far from understanding jargon. Even if you know all the words, you still don't know why this is an important topic to discuss. Which things there are carrying weight, and which things are more a throwaway to add color.
FWIW, it's quite clearly written for anybody who weaves. It seems unclear to you because you don't know the field. (Jargon extends to what kind of sentences and sentence structures you encounter)
Sett is the spacing between the warp threads, and I had a hunch about what makes it 'differential' but that turns out to be wrong and so I have no clue what it means.
Shetland wool is [a] Scottish wool. At one point half of the UK's exports were wool, so that makes it kind of a big deal. That's all I've got from being in social circles with fiber folk.
That depends on the direction of the fabric through, it's probably clearer to the uninitiated to say that the warp is the fixed "structure", and the weft is the "filling" thread you draw over/under the warp.
I believe that if you’re going to weave anything, professionally, you’ll pick the loom that’s the width of the shortest dimension of your design, for purely practical reasons. I briefly worked as a mechanic in college, and what separates the pros from dilettantes like me is speed. I’ve heard similar tales from other skilled laborers. “portrait vs landscape” I understood to be very much a speed issue with looms.
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. :)
So, yea, you are the "tech" guy, but this is not necessarily an exultation
So yeah .. weavers form a "discourse community" - https://en.wikipedia.org/wiki/Discourse_community
Thanks for sharing.
[0]: https://tworingsoft.com/blog/2017/08/29/looms-and-computers....
> 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...
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.
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.
(for those who don't want to click: guy constructs horrible factory monstrosities and tests the limits of the game's physics)
I envy you that experience :)
> 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!
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.
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.
When writing C or C++, never compare against true.
Too lazy to look it up right now, but my recollection is that in C, 0 is False and anything else is True.
int a = 47;
if a is true
if a == true is false
if a == false is false
int b;
b = a == true; b = 0
b = a != true; b = 1
b = a == false; b = 0
b = a != false; b = 1
In more weakly typed languages null/NaN special cases and type conversion rules make it very hard to safely rewrite `if (foo != true)`.
For example, an int with the value 42 is logically a "truthy" value, but the test "if (foo != true)" will succeed. Someone who would write "if (foo != true)" very likely didn't know that, and should have written "if (!foo)".
On the other hand, blindly fixing bugs like that has a good chance of changing the program's behavior, and possibly breaking it.
(All this assumes that the identifier "true" is visible. In C, this requires "#include <stdbool.h>" -- unless the programmer defined it explicitly.)
"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.
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.
Today in "Unexpected WH40K quotes"...
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.
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!
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."
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.