[HN Gopher] Be sceptical of your own work (2009)
___________________________________________________________________
Be sceptical of your own work (2009)
Author : creer
Score : 79 points
Date : 2023-08-15 18:21 UTC (1 days ago)
(HTM) web link (terrytao.wordpress.com)
(TXT) w3m dump (terrytao.wordpress.com)
| glonq wrote:
| My favorite thing is stumbling upon a piece of project
| documentation, exclaiming _" who the hell wrote this crap?"_,
| then discovering that it was me.
| LanceH wrote:
| I've had this happen enough I don't use git blame.
|
| Only once have I looked at something and thought, "cool
| solution, I would never have thought of that", but apparently I
| did.
| renewiltord wrote:
| The classic case is if I write tests, then write code and the
| tests pass first time I better break the code and make sure the
| tests definitely fail for a good reason.
| delusional wrote:
| If you want a structured and rigerous version of this it's
| called mutation testing. It can be quite slow, but also very
| informative when evaluation how well tested a piece of code is.
| creer wrote:
| The counterpoint in software is that it's still useful to
| temporarily solve a narrow problem - and never need to return to
| that issue. How do you denote that in your code?
|
| I have used multiple dispatch where a sub-type is deliberately
| handled, and the rest is left with "Nice try, you would have to
| implement that first", and tests in library functions with the
| same rude response. And I have used strictly defined grammars on
| the input. ... and I still have lots of TODO list items not
| correctly protected from in the code. What else do you use in
| non-trivial cases? Much deeper or beyond program argument checks?
| JohnFen wrote:
| I use a combination of things, depending on the nature of the
| temporary measure.
|
| I use TODO comments to document that this part of the code
| needs to be revisited.
|
| I write a warning to the log file whenever the temporary code
| executes.
|
| If there are things left unimplemented, but there's an
| interface to them, then I put code in that's guaranteed to fail
| at runtime. If the language is C or C++, I'll use something
| like assert(false).
| beebmam wrote:
| What I do:
|
| 1. Add TODO items when I'm in flow
|
| 2. When I'm not in flow, I search TODO items in code/notes I
| own
|
| 3. Add a basic task in a project management tool with no
| estimations for each TODO item
|
| At least then it's in a system to be triaged at some point.
| nomel wrote:
| For me TODO is more literal, reserved for things that must be
| done. So, I use SMELL if it's unsane. If it's somewhat
| broken, I use BUG, and file a low priority issue. For both, I
| put long explanations, in the code, for the future reader.
| [deleted]
| weinzierl wrote:
| _" Ninety percent of what I do goes in the trash anyway. But
| that's part of the job. I'm not going to show that to people,
| because if I don't like it, how can I expect anyone else to like
| it?"_
|
| _" I can understand when I like it and others don't, but if I
| don't like it myself, I don't want to offer it to others, because
| that risks that they might actually like it."_
|
| _" Jean Patou, the designer, the fashion designer, from the 20s
| once said:"_
|
| _" Never make an ugly dress, someone might buy it."_
|
| -- Karl Lagerfeld
| arduanika wrote:
| "The first principle is that you must not fool yourself and you
| are the easiest person to fool"
|
| - Some guy who showed up as an extra in the Oppenheimer movie,
| playing the bongo drums
| kurthr wrote:
| Shirley, you're joking!
| fm2606 wrote:
| I'm not and don't call me Shirley
| creer wrote:
| One such direction software people ARE familiar with is
| refactoring. At some point we do recognize we have a mess on our
| hands and it's time to rewrite it on more sane foundations.
| dexwiz wrote:
| Sounds like great advice when working on the bleeding edge, but
| kinda terrible for general use. If you are constantly undermining
| your own self confidence in routine tasks be prepared for a
| depressive episode.
| IggleSniggle wrote:
| I think that would depend on whether you view your work as
| producing "argument proof results" or just "results." In other
| words, producing high volume low-quality "trash" may easily
| undermine self confidence more than producing low-volume high-
| quality "diamonds."
|
| In either case, the way you frame it matters much more than the
| process. But I can agree that _expecting_ either "high quality
| high volume" or aiming for "low quality low volume" are both
| likely paths to a depressive episode.
|
| Personally, I'd rather small flawed diamonds. The fact that
| they are diamonds nonetheless gives me pride. The fact that I
| can produce greater quantities of them than flawless gems keeps
| me employed (which also gives me self-confidence).
|
| Ultimately very subjective, regardless
| tomjakubowski wrote:
| > If you are constantly undermining your own self confidence in
| routine tasks be prepared for a depressive episode.
|
| I disagree that self-skepticism implies undermining your own
| self confidence. With regular practice, it should bolster your
| confidence in your ability to find mistakes (a valuable skill),
| and in your ability to produce final outputs with fewer errors.
|
| I guess it's in how you phrase the skepticism: are you
| skeptical of your ability to do the work, or are you skeptical
| that your work is free of mistakes? There is a difference.
| aatd86 wrote:
| Agreed. "The goal is to get to the truth, the goal is not
| about winning arguments."
|
| Being confident in being able to unravel truths, being able
| to improve but skeptical of current self because of potential
| ingrained biases and potential cognitive faillability.
| haswell wrote:
| To me, skepticism is an _orientation towards_ not believing
| something. Kind of a posture or position. This, to me, is
| what seems like a bad way to go about life.
|
| Maybe a better way to frame this is that someone should be
| honest with themselves. Be aware of their fallibility and use
| that awareness to inform decision making.
|
| There is definitely a dark side to being overly skeptical by
| default. It can harm or hinder relationships, unnecessarily
| reinforce existing patterns/beliefs and deepen blind spots,
| and I think a failure mode involves obsessive compulsive
| tendencies + anxiety about the quality of one's work.
|
| I've been on the "clinically unhealthy" side of this mindset,
| and it's ultimately about balance and framing. The same can
| be said for optimism, which can become just as dysfunctional
| if not balanced with a healthy dose of reality.
| hinkley wrote:
| Critique the work of others as well. A lot of impostor syndrome
| goes away when you realize that 80% of the people who you thing
| are better than you are cutting corners you won't, and that
| takes up time. Someone else is cleaning up after them.
| creer wrote:
| Even in day to day programming, it's too easy to throw
| something together and see it work and call it a day. A dose of
| scepticism toward a "solution" is healthy. It's not like
| software doesn't come with bugs grossly often. Probably grounds
| for extra self confidence even.
| JJMcJ wrote:
| Missing cases, the "Oh, it does fail if the size of the input
| is divisible by 256" feeling.
|
| Or the O(n*this-exponent-is-way-too-large) algorithms that
| seem fine with a ten item input but not so nice with 10,000
| items.
|
| Or the incomprehensible build script that you (meaning me, of
| course) just kept adding things to with no systematic naming
| or sections.
|
| Just three that have bitten me in recent memory.
|
| Even the simplest and most routine tasks can get messed up
| sometimes.
| tiffanyg wrote:
| If anything is evident from the internet, and HN as an example,
| the lineage of "Ancient Skeptics"* is as extinct as Jimmy Hoffa.
|
| Anyway, as the great philosopher Rene Descartes said, regarding
| "skepticism": I think, therefore, I put des cartes before da
| horse.**
|
| * https://plato.stanford.edu/entries/skepticism-ancient/
|
| ** This comment is bad, and I should feel bad ...
| https://youtu.be/jG2KMkQLZmI
| [deleted]
| syats wrote:
| This article contains an excellent description of the work of a
| mathematician. It should be part of any curriculum in the field.
| creer wrote:
| The discussion notes are awesome too. Lots of examples raised.
| lacoolj wrote:
| isn't the word "skeptical"?
| JohnFen wrote:
| Both spellings are correct.
___________________________________________________________________
(page generated 2023-08-16 23:00 UTC)