[HN Gopher] Being Slow to Criticise
___________________________________________________________________
Being Slow to Criticise
Author : ColinWright
Score : 89 points
Date : 2022-02-07 11:22 UTC (1 days ago)
(HTM) web link (www.solipsys.co.uk)
(TXT) w3m dump (www.solipsys.co.uk)
| visviva wrote:
| I assume a clever person designed this blog. I wonder what the
| pressures were that made them come out with that solution. :P
| ColinWright wrote:
| I wouldn't say I was clever, but there were, indeed, pressures
| that have led to the way it is, and the way it works. Instead
| of snarky, implied criticism like this, you could simply ask.
| Maybe I could then learn from you and it would get better, or
| maybe you could come to understand why it is as it is.
|
| But I expect you don't actually care, and just wanted to couch
| your criticism in what you think is a clever dig.
| quanticle wrote:
| There's a difference between being slow to criticize and
| completely withholding criticism. I agree that software is
| written by smart people, working under constraints.
|
| But so what? If it sucks, it sucks, and we should call it out as
| such! How will we ever improve anything if we can't highlight
| what's wrong with the current solution?
|
| My go-to example in this regard is the Microsoft Office ribbon. I
| remember, when the ribbon was introduced, I saw a presentation
| from a Microsoft employee (I can't remember if he was a developer
| or a product manager) going over the extensive testing that
| Microsoft did with focus groups to "prove" that the new UI was
| superior to the previous menu-based one. I remembered being both
| very impressed with the ostensible rigor of the process, and
| disappointed with the result. All that work, all that testing to
| delude themselves into believing that a UI where elements moved
| around, and weren't in predictable locations was going to be
| something that users (especially experienced users) would prefer.
|
| And sure enough, even to this day, I still see users (both new
| and experienced) struggling with the ribbon. It sucks! And the
| fact that I _know_ a lot of very smart people worked on it doesn
| 't change that fact. In fact, it makes it worse. It would be one
| thing if such a horrid design were the result of a haphazard
| design process, implemented by incompetents. But it's not. It's
| the result of a lot of very smart people Goodharting themselves
| into believing that they've found the one weird trick to make
| their software both powerful and easy to use.
|
| I strongly believe, that, if in the early days of the ribbon,
| someone had stood up and said, "This sucks!" things might have
| gone in a different direction.
| skybrian wrote:
| If you described how you saw some users struggle, that would be
| useful observation. Saying "it sucks" is a judgement call that
| adds no useful information. There are always people who dislike
| things, so one more stranger saying they dislike it doesn't add
| anything.
| afterburner wrote:
| Sometimes people come to the correct conclusion without
| knowing how. And sometimes people come to the wrong
| conclusion with a painfully detailed process that really just
| led them astray. So maybe gut-level reactions shouldn't
| always be dismissed, and detailed reactions shouldn't always
| be held above gut level ones.
| skybrian wrote:
| Okay, but why trust a stranger's gut reaction over your
| own?
|
| When you post your gut reaction, you are the stranger on
| the Internet. It doesn't matter who you are in real life.
| quanticle wrote:
| Because a stranger has an outside view. A stranger can
| see when something is weird or broken, and shouts when
| that weirdness or brokenness hurts them, versus the
| insider who is numbed by familiarity into taking the
| behavior of the system for granted.
|
| It's not just software, either! There's a common social
| phenomenon known as the "broken-stair" problem, where you
| have a toxic, abusive person in a community, and everyone
| in the community has just gotten used to that person's
| behavior and normalized it. Sometimes it takes an
| outsider to notice that this toxic person is a net harm
| to the community.
| [deleted]
| bachmeier wrote:
| Maybe my memory is failing me, but I don't recall MS adopting
| the ribbon because it was better (even if they said it was).
| The purpose was to patent the ribbon UI, get it in front of as
| many people as possible while MS had a monopoly, and get it
| established as the "right" interface. That would make open
| source competition inferior and would allow MS to charge a tax
| on commercial competitors.
|
| For example: https://www.infoq.com/news/2018/02/Ribbon-UI/
| thekiptxt wrote:
| Sure, but criticism comes in different flavors. "This software
| is difficult for me to use because of X" is a valid and fair
| take. "This software/development team sucks" is uninformed
| criticism if someone doesn't know the full context. For all I
| know, the developer may very well be aware of my situation, but
| there's some reason that X must exist.
|
| I worked for a very large financial services company, and when
| I told people this, they would commonly bring up something to
| the tune of "your app/website sucks because of X!" And the
| response was very commonly: "we know, but we're legally
| required to do this."
|
| I also worked on film projects, and occasionally someone would
| catch some goof (e.g. continuity error) and say "I can't
| believe you missed this!" My (internal) response would be: "I
| didn't overlook this. I have seen this film hundreds of time in
| slow motion during editing. We just didn't have the budget to
| correct it, and it drives me nuts every time I see it. I could
| point out 70 other minor errors that YOU missed."
|
| It always reminded me how often we (myself included) mistake
| our own mental models and experiences for a comprehensive-
| enough understanding that we can pass judgement.
| louwrentius wrote:
| Sorry for not adding anything to the discussion but I really
| resonated with this comment, thanks!
| quanticle wrote:
| I think there's real value in hearing, "This sucks," even if
| there isn't a clear chain of reasoning backing it up. I've
| done a bit of gamedev, and I've found feedback of the form,
| "This isn't fun," or "This part feels boring," to be far more
| valuable than detailed analyses.
|
| Like you said, the user usually doesn't have the full
| context. So if a player comes to me with a detailed analysis
| about why a specific area of the game sucks, it's likely to
| be wrong. Or, even if it's not completely wrong, it's likely
| to miss second and third order effects that have impacts
| later on. So, for example, someone telling me that part of
| the game is not fun because a particular character or ability
| needs to do more damage, be easier to use, require fewer
| resources, etc, etc, is _less_ valuable to me than someone
| telling me, "Hey this thing feels kinda useless." "This
| thing feels useless," is a valuable signal. The detailed
| analysis is basically noise because it misses the fact that
| addressing the problem in the most direct way might ruin the
| rest of the game.
| munificent wrote:
| _> But so what? If it sucks, it sucks, and we should call it
| out as such! How will we ever improve anything if we can 't
| highlight what's wrong with the current solution?_
|
| Declaring an existing solution sucks is not sufficient to
| improve it. You also need to understand the constraints that
| led to that sucky solution and have some evidence that those
| constraints no longer apply. Otherwise, you'll just burn a
| bunch of time reinventing the same misshapen wheel.
|
| _> All that work, all that testing to delude themselves into
| believing that a UI where elements moved around, and weren 't
| in predictable locations was going to be something that users
| (especially experienced users) would prefer._
|
| What are you so certain that it's _they_ that are deluded?
|
| _> And sure enough, even to this day, I still see users (both
| new and experienced) struggling with the ribbon._
|
| Sure, but you don't notice when users _don 't_ struggle with
| it. This sounds like confirmation bias.
| elpakal wrote:
| I generally agree with the points you are trying to make but
|
| > Declaring an existing solution sucks is not sufficient to
| improve it.
|
| Have you ever received poor App Store reviews? In my
| experience a drop in ratings (for example) can drive a whole
| lot work. Sure it can help to understand constraints,
| context, etc but even anecdotal feedback can be helpful.
| munificent wrote:
| Fair. Feedback that something sucks can perhaps incentivize
| an investigation into why. And that investigation might
| turn up ways that it can be improved.
|
| But I think people generally overestimate the positive
| value of just declaring something bad. All the real work
| lies in figuring out why and how to make it better.
| quanticle wrote:
| The ribbon itself was the result of confirmation bias, writ
| large, across the entire organization. Microsoft's PMs and UX
| experts noticed the new users who struggled with the
| hierarchical menus and forgot about the "dark matter"
| majority who found the menu structure adequate to their needs
| and didn't complain.
| highwind wrote:
| I personally like Ribbon over rows and rows of small icons
| without labels. I think of Ribbons like tabs that organizes the
| buttons that makes sense together.
|
| But I'm not a power Office user and that's just my preference.
| droopyEyelids wrote:
| Would you spend a little time sharing stories about other
| things you prefer?
| quanticle wrote:
| The ribbon didn't replace rows and rows of small icons
| without labels. It replaced a hierarchical menu. Now, did the
| hierarchical menu have flaws? It did, insofar as it was
| rather forbidding to explore, and as a result, new users had
| trouble finding functionality by clicking around. That was
| the use case that the Ribbon sought to address.
|
| What the designers of the ribbon did not understand was that
| users have other ways to find functionality. They could look
| up functionality on the Internet. There were even physical
| books which told you which specific menu to click on for a
| particular function.
|
| What the ribbon did was instantly render all those resources
| useless. Moreover, by attempting to constantly surface
| different controls based upon the context of the current
| task, the ribbon made it extremely difficult to make new
| resources and tutorials. You could make a tutorial with
| screenshots, only to have users come to you with screens that
| look nothing like your screenshot, because they just happened
| to be highlighting a slightly different element.
| BeFlatXIII wrote:
| Why didn't Word for Windows ever implement the Mac-like
| feature of a search box in the help menu? Start typing what
| you think the command's name is and then its location in
| the menu hierarchy is highlighted for you.
| lstamour wrote:
| On macOS, you get both the ribbon and the hierarchical
| menu.
|
| Heaven help you if trying to navigate the "ribbon" on an
| iPhone though.
|
| That said, I actually do like the simplified ribbon on
| Office for the web - once you figure out that it too is
| different.
|
| I do kind of have a bone to pick about complaining about
| change for its own sake though. You could say the same --
| all the earlier resources are useless - about the move from
| Windows NT to XP to 7 to 10 to 11 (we'll pretend 8 doesn't
| exist) when buying a new computer. Why not complain that
| your Active Desktop is missing, the desktop sidebar from
| Vista was a poor imitation and gone in just one release,
| Netscape Suite doesn't load webpages due to SSL errors and
| you can't publish webpages from your web browser like you
| used to, and you have to double-click folders to open them
| instead of single-clicking them like back in the old days
| of Windows ME? Sometimes change is just change and you have
| to adapt to the times.
| quanticle wrote:
| _Why not complain that your Active Desktop is missing,
| the desktop sidebar from Vista was a poor imitation and
| gone in just one release, Netscape Suite doesn 't load
| webpages due to SSL errors and you can't publish webpages
| from your web browser like you used to, and you have to
| double-click folders to open them instead of single-
| clicking them like back in the old days of Windows ME?_
|
| I can and I do!
|
| _Sometimes change is just change and you have to adapt
| to the times._
|
| That is _exactly_ the kind of fatalistic attitude
| Microsoft, Google, Facebook, Apple, et. al. want you to
| have. "Oh there's nothing that can be done." "Change is
| inevitable." "I just need to go along and accept whatever
| scraps my corporate overlords deign to throw in my
| direction."
|
| Corporations aren't natural phenomenona. They're not the
| sun, nor are they moon, nor are they the wind. They are
| composed of people, and those people can be persuaded to
| make different decisions if there is a sufficient outcry.
| Just look at Apple's proposal to enable client-side
| scanning for objectionable content. There was a huge
| outcry and Apple walked back its plans as a result.
|
| In the case of the Ribbon, I think one of the factors
| leading to the success of Google Docs is the fact that it
| has the old-school hierarchical menu system that Office
| 2003 had, but which Microsoft refactored into the Ribbon
| with Office 2007. In a way, Google Docs was more familiar
| to Word users than Word itself, making it easy to switch.
| bigwig8702 wrote:
| I think there's two important aspects of this article:
|
| 1) Assume the people who wrote the code aren't stupid.
|
| 2) Be nice to developers
|
| Point #1 is valid, because yes a lot of times intention is
| difficult to suss out and the guy who wrote it might have known
| something you didn't, or maybe the circumstances were different
| when it was written.
|
| Point #2 is just wrong, it goes against the entire principle of
| Egoless Programming. Like you said about Ribbon, if it sucks
| you need to just admit it and either make it better or scrap
| it. It's just software, people don't need to incorporate every
| bug they write into their personal feelings of self-worth. If
| anything developers should embrace criticism, there might be
| lessons there to learn.
| watwut wrote:
| Egoless programming is not about being asshole to developers.
| Nor about stroking own ego by phrasing things in the most
| insulting way possible.
| Jtsummers wrote:
| #2 does not contradict egoless programming. If you think it
| does, well, I'll take a page from your book: You're an idiot
| who has no clue what egoless programming is.
|
| But, more seriously, "egoless programming" requires effort on
| the part of both the criticizer and criticized. The
| criticizer cannot act rudely and then exclaim, "You shouldn't
| be offended, it's just that you're a crap programmer and
| write sucky code!" That's an incredibly unhelpful way to work
| with the vast majority of people. If you don't understand
| why, well, the kindest thing I can say is that you are
| pitiful or maybe clueless. The person being criticized needs
| to set aside their ego, in egoless programming, and accept
| criticism with a minimum of emotional response. But that's
| _hard_.
|
| However, the criticizer needs to be aware of who they're
| speaking to and how they're responding, otherwise they're
| being foolish, at best, or an asshole, at worst. The
| criticizer should act in a friendly manner, collegial, in
| order to be as honest and straightforward as possible without
| pushing the boundary and causing unneeded offense. Offense is
| often an emotional reaction, not a logical one, acknowledging
| that is critical to working with others and achieving your
| objective of egoless programming. You don't get to declare
| one day "We're going egoless people!" and follow it up with
| "All your code sucks!" and expect a successful transition to
| the egoless programming approach.
|
| Egoless programming is a cooperative path that people embark
| upon, not a declared mode of working. For emphasis I'll
| repeat myself: Offense is often an emotional reaction, not a
| logical one. If you want to achieve egoless programming you
| have to work on both yourself: Letting things that offend
| slide off, whether the offense was intended or not. _And_ how
| you work with others: Acknowledge that offense is an emotion,
| and being a rude dipshit is a great way to trigger that
| emotion in others, even if they try not to react with
| offense, so don 't be a rude dipshit, be nice.
| bigwig8702 wrote:
| Oh look, a big angry reaction to a simple assertion that
| you should try to look at code and criticisms about code
| objectively.
| [deleted]
| Jtsummers wrote:
| > Oh look, a big angry reaction to a simple assertion
| that you should try to look at code and criticisms about
| code objectively.
|
| Oh look, an emotional (childishly sarcastic, in this
| case) reaction demonstrating that offense is, well, an
| emotional, not logical, reaction. Which was my point.
| Thank you for playing along.
|
| In case you still don't get it, there's a distinction
| between honest-but-rude and honest-but-nice. My original
| comment was deliberately constructed to be rude, not
| nice, as an illustration of that. Your response is very
| helpful because that's the response people have when you
| provide unfriendly, non-collegial criticism. Even from
| people (like you, I'd presume, since you advocated for
| it) who _want_ to practice egoless programming.
|
| Hell, you can even be nice and _still_ get an offended
| reaction from people, and have to backtrack (if you want
| to avoid unnecessary drama) a bit and work back to the
| point. _Because_ egoless programming isn 't just a
| declared mode of working, it's a process that all
| participants work toward. The one who is speaking and
| criticizing should take a "nice" approach if they want to
| be well-received, even if it's less straightforward than
| they want to be.
|
| TL;DR: Egoless programming isn't an excuse to be
| unfriendly or rude.
| bigwig8702 wrote:
| shashwatak wrote:
| Brilliant :) All too often the "I'm just being honest"
| people are providing shallow knee-jerk feedback, and
| shutting down dialogue. Quality honest feedback is always
| presented with compassion.
| dhbradshaw wrote:
| It's easy to criticize and hard to understand.
|
| Similarly, it's hard to see the cost of criticizing and it can be
| hard to judge the benefit of understanding.
|
| Because of this, we'll see patterns of ignorant criticism playing
| out again and again. Some of the people in the pattern will never
| know any better. Others know better but don't care. Others know
| better but can't pay the price to understand because it's too
| high.
|
| So when you find someone who actually defaults to understanding
| rather than criticizing you've found someone of rare value.
| druadh wrote:
| While I'll never "Show HN". Criticism can be delivered without it
| needing to feel like the gauntlet of pain
| ISL wrote:
| A wise mentor once encouraged me, "Assume positive intent and ask
| lots of questions."
|
| That directive has served extremely well ever since.
| draw_down wrote:
| Absolutely. And people with the best intentions can produce
| crap sometimes. That's just reality. There's a reason for that
| old saying about good intentions.
| trabant00 wrote:
| I delivered crap multiple times during my career. Sometimes I was
| forced to by external factors, sometime I was not in a good
| mental shape, sometime there was no time to do anything more than
| pile some garbage on top and duct-tape it together.
|
| Sometimes I didn't even knew it at the time, I thought I was
| doing fine. Sometimes I delivered a good thing that aged bad and
| turned to garbage or the environment in which it functioned
| changed.
|
| So yeah, I am no longer quick to judge others by the work they
| did especially if I don't know the circumstances. But I am of the
| firm opinion that we should try to be honest and say when
| something is garbage. It might be justified that it is garbage
| and the producer might not have any fault, but it's still
| garbage. We might not have time to take out the garbage, we might
| even sweep it under the rug for a while, or even permanently. Be
| honest though, call it what it is. How else are we going to learn
| to do better or appreciate the gems by contrast?
| is_true wrote:
| I had to write garbage a couple of times. The important thing
| is wrapping it very well so the client can't smell it.
|
| I usually leave comments on garbage so later when I'm doing
| something else I try to fix it.
| roenxi wrote:
| I think it is more that software is going to be "garbage"
| regardless (whatever that means, if the software writer disagrees
| with the user about what the software should do it is unclear who
| has the most right to call themselves correct).
|
| A generally good software system is agnostic about the quality of
| its components. There are going to be bugs everywhere and it is
| important to guarantee outcomes. The pinnacle of this thinking is
| something like TCP creating a reliable connection out of fallible
| parts. It doesn't matter that the parts are unreliable, we get a
| reliable outcome because the system has realistic expectations of
| its components. This instance has overtones of the same thinking.
|
| Also, Chesterton's fence is often a red herring that leads to
| poor practices. It is appropriate to just break things that look
| suspicious if the risk of failure is low. When it turns out the
| strange construction is needed, repair the damage done and add a
| comment or documentation.
| buttocks wrote:
| I recently had a small rant on Twitter about a certain web
| technology; I used the word "crap."
|
| One of the main authors of the tech spotted my post and replied
| saying my rant was offensive and that they had worked hard and
| done the best they could.
|
| It had been a long time since I felt that much shame in myself.
| It could have been me pouring myself into something and then the
| other guy calls it crap.
| onemoresoop wrote:
| Because you have empathy you have learned a lesson. Lots of us
| make that mistake and learn from it. I'm glad you came clean
| about it. Now don't be shy about criticizing, just be more
| thoughtful about it.
| hughrr wrote:
| I triggered Poettering once doing that. I have absolutely no
| guilt
| [deleted]
| bigwig8702 wrote:
| chrislan815 wrote:
| Essentially give people the benefit of doubt.
| lmm wrote:
| So how do you avoid getting nerd-sniped when something really is
| just bad? There's an analogue of the Bullshit Asymmetry Principle
| here; any of us could slap out some code in half an hour (no
| doubt many of us have, myself included) and then any of us could
| spend days or weeks trying to understand why we did it that way.
| Taking the time to understand bad software is, like up-front
| planning, one of those things that sounds worthy and wise, but I
| suspect it's actually a poor use of time on the whole.
| michaelrpeskin wrote:
| Sometimes, it helps to just put in the comments why you did
| something that you know is not optimal. Often you'll write
| "bad" code just because it makes sense. I had to update
| something last week where the requirements changed dramatically
| from when they were written. It's nobody's fault. When the
| requirements were written, we did really understand the
| problem. After the customer got the code in their hand, they
| wanted to extend it in a way that wasn't obvious to us or them.
| I could have done a multi-month refactoring to make it clean
| and pretty, but that didn't make any business sense, so I did
| some surgical changes. To avoid someone coming back next year
| and thinking WTF, I added this to the comment (most of the
| details left out for anonymity)
|
| //...Not how I would design it from scratch, but a nice
| evolutionary change.
|
| Now next year when someone else looks at it (or even next-year
| me), we won't waste time thinking if we should refactor it,
| because it's obvious that we already looked at the pros and
| cons and decided not to.
| darepublic wrote:
| If it's not you someone else may indeed want to refactor.
| They would like a crack at the designing from scratch
| mannykannot wrote:
| > So how do you avoid getting nerd-sniped when something really
| is just bad?
|
| This is not logic, where existence of a counterexample
| invalidates the general argument.
|
| One reason for looking at even genuinely bad code is that it
| may express domain knowledge that you are currently unaware of.
|
| Jon Bentley told the story of a Bell Labs researcher who found
| that his fast and correct algorithm for something or other had
| been "fixed" and "improved" so much that it was no longer
| efficient (a few comments may have helped here - though not
| necessarily - but that is a discussion for another time.)
| awkward wrote:
| The same way you avoid getting sucked into anything - go in
| knowing how much time and effort you're willing to expend and
| cut your losses when you hit the limit.
| marcosdumay wrote:
| Hum... The article puts no effort on determining how much work
| went into that comment's assessment and how useful it was to
| people looking into invest some effort on migrating and learning
| how to use it.
| draw_down wrote:
| Honestly, the software probably is garbage, because more or less
| all of it is. We can accept this without being nasty about it.
|
| Decent or non-terrible software is the surprise and the
| exception, not the rule.
| fristechill wrote:
| Especially now, jammed together as we are in the global village,
| I suspect criticism is something we should only use defensively.
| Even criticism of ideas should be restricted to ideas we _don 't
| like_ but can't seem to avoid. Bearing in mind that if criticisms
| fail then perhaps the idea is a good one after all.
| angarg12 wrote:
| The Principal Engineer community in Amazon has a list of tenets.
| I think one of them puts it very eloquently.
|
| Respect What Came Before
| draw_down wrote:
| andrewqu wrote:
| Any chance you can share some of the other tenets? :P
| rask17 wrote:
| angarg12 wrote:
| Exemplary Practitioner
|
| Technically Fearless
|
| Lead with Empathy
|
| Illuminate and Clarify
|
| Flexible in Approach
|
| Respect What Came Before
|
| Learn, Educate, and Advocate
|
| Have Resounding Impact
|
| Each one has a one paragraph explanation but this gives you a
| taste.
| Foobar8568 wrote:
| >Respect What Came Before
|
| When I was junior, I didn't respect much what came before...As
| I got experiences, I understood this need. I respect what came
| before, often people are surprised when I take that line.
|
| The only problem is when people continue to do shit (even when
| hand carried through everything) and still have Pikachu faces
| when things go wrong, well these people and projects don't
| deserve respect.
| liotier wrote:
| nimitz12 wrote:
| sillyquiet wrote:
| in my opinion, this tendency to label anything less-than-ideal as
| 'garbage' is an outdated leftover of a time when assholish (and
| unrealistic) perfectionism was admired in software engineering,
| or at least looked up to as 'good engineering'.
|
| This binary outlook is what leads to people who don't understand
| the reasons behind why existing code is the way it is to
| criticize. Frankly, when someone does it (and I have done it,
| lots of times, to my chagrin now) its a pretty good marker of
| engineering immaturity.
|
| This is different than looking at something and identifying ways
| it could be better, btw. The latter is value-neutral and
| judgement-free.
| kache_ wrote:
| All software is incorrect in a large enough time frame
| ColinWright wrote:
| Someone sent a comment via the form on the page, but didn't
| provide a valid email return address. What they said is echoed by
| other comments on this page and deserves a reply, so I'll reply
| here. People may, no doubt will, disagree with me and agree with
| them, but there is a discussion to be had.
|
| > _Being slow to criticize, is being slow to correct. Is being
| slow to make you better._
|
| I disagree. Being overly fast to criticize is to risk missing the
| underlying causes, the underlying reasons, and the opportunity
| both to learn and to make the _right_ changes.
|
| > _This is not the first time I hear this argument. My opinion:
| complete and utter BS._
|
| Then we disagree.
|
| > _If I have made bad software, please, let me know AS FAST AS
| POSSIBLE. Criticize me FAST! Let me fail fast!_
|
| If you are there to be asked then I will not simply criticize
| you, I will ask you why you did it that way. It may be that what
| you have done is poor, or badly coded, but it may be that there
| are things you know that I don't know, and it's an opportunity
| for me to learn from you.
|
| If you then don't have a good reason then we have _both_ learned,
| and the code will be better. But if you _do_ have a good reason
| then I have learned, and we can possibly work together to improve
| things within the restrictions that I had not initially seen.
|
| > _This is just apology for mediocre SW._
|
| I think you have missed the point.
| ColinWright wrote:
| Bother ... I've not been keeping track and I've just realised I
| submitted this not so long ago.
|
| Apologies. I was prompted by the submission about "My seatbelt
| rule for judgment" here:
|
| https://news.ycombinator.com/item?id=30237457
|
| Having realised I've returned to delete the submission, but find
| that I can't.
|
| /mea culpa/
| darksaints wrote:
| Reposts are a good thing when done in a non-spammy way. I had
| never seen this before and now I have.
| dgellow wrote:
| It's a cool read, glad you shared it again I missed it the
| first time (~2 month ago from what I can see).
| ojintoad wrote:
| -\\_(tsu)_/- I wouldn't have found this otherwise and it's
| aligning nicely with the latest podcast from Legacy Code Rocks:
|
| https://legacycoderocks.libsyn.com/self-compassion-with-clar...
|
| I appreciate this double post!
___________________________________________________________________
(page generated 2022-02-08 23:02 UTC)