1. 1

    I’m unfamiliar with Mark Seemann, his writing or his credibility, can someone vouch for him in terms of using the massive article series he linked to as solid reference material? Given the intriguing nature of this post I’m considering reading his “Code That Fits in Your Head” book, but am also curious as to whether that is good.

    1. 1

      Given the intriguing nature of this post I’m considering reading his “Code That Fits in Your Head” book, but am also curious as to whether that is good.

      Well, there’s one way to find out – but it will cost you upwards of $40 or a quick web search for reviews.

    1. 1

      Knowing how good the first part was made me automatically bookmark this one as a supplemental reference material. Massive kudos to the author for what is already a brilliant series!

      1. 1

        Does anyone know of a similar tool for Python-based projects? It looks like it could be fairly handy, if not a tad overkill.

        1. 2

          I’m not familiar with a library that provides the --changelog feature out of the box, but it seems like a pretty solid idea to do that.

          1. 1

            If you are talking about python projects installable via pip, you can ship the CHANGELOG.md file with the build. read here after that, you can just write a similar regex for fetching the version numbers as well

          1. 7

            This reminds me very much of a very early web page (like 1996 or so) called something like “How to Install an HP laser printer as told through interpretive dance” and just had photos of some dude making silly poses while he installed the printer.

            Every now and again I’ll try to find that page on the Wayback Machine but I haven’t found it yet.

            1. 2

              I’m on a hunt for a satirical video where someone (I vaguely remember the name Eric/Erik) claims to offer a way to speed up your internet connection using tinfoil or something. It had that quintessential early 2000s music and feel along with it, and was produced with a modicum of quality.

            1. 21

              This hits on a bugbear of mine where people say “just do X and then just do Y, simple enough”; emphasis on the word “just”. It’s almost never just a matter of “just” and a lot of seemingly trivial tasks end up down rabbit holes where a bulk of the venturing could have been avoided by a slightly lengthier planning process, or “thinking more about it” process if one is averse to the concept of planning.

              Reminds of the (unattributed?) saying:

              Weeks of coding can save you hours of planning

              1. 17

                To be fair, sometimes, hours of coding can save you weeks of planning as well.

                1. 5

                  Wholly agreed. My own experience has unfortunately gravitated more towards the “just this and just that” mentality.

                2. 4

                  You’re not alone - I reference this piece often when people overuse “just”. https://alistapart.com/blog/post/the-most-dangerous-word-in-software-development/

                  1. 6

                    At some point it occurred to me that whenever I used the word “just” in a code review comment, it was a sign that I wasn’t being as constructive and helpful as possible. Now when I catch myself using that word, I stop and consider whether my comment could come off as condescending or flippant even if that wasn’t my conscious intent. The answer is “yes” often enough to keep me vigilant about the word.

                  2. 2

                    Ha ha ha - had not heard that one. As a marketer, I always roll my eyes when people say (and they often do!) “can’t they just build that in, like, 2 hours?”

                  1. 1

                    As an aside: does anyone know if it’s possible to somehow default to the exact time a message was sent/received instead of the, for example, “5m”? I know I can long-press the message and see additional information through the message details, but I’d much prefer to always just see the time.

                    1. 7

                      I recently read “A Common-Sense Guide to Data Structures and Algorithms, 2nd Edition” by Jay Wengrow and it was fantastic! Thanks to that book I finally got to a level of understanding of the matters at hand after previously thinking they were these incredibly math-y topics. They’re not, and if you feel the same way then do give this book a read. It’s very well written and it will most likely be a real page-turner.

                      1. 1

                        Slightly devil’s advocate: perhaps they are maths-y, but this book gave you an explanation of the maths that was vastly better than what you’d seen before. ❤️

                        1. 2

                          That’s a great way of looking at it! I’m slightly bothered by how many seemingly complex topics like chemistry and physics seem overly complicated to me, but are just a matter of having someone who can ELI5 down to the nuts and bolts.

                      1. 2

                        As someone who has never delved that deep into the process of documenting (i.e. creating UML diagrams and keeping ADRs): what is the amount of time it takes to get create and maintain such a seemingly comprehensive set of documentation and how often have you seen the value looking back?

                        1. 3

                          I’ve been using https://archive.today/ for the longest time, which essentially does the same thing minus the changing of the visual layout. Plus, it’s good for other sites as well like The Economist. It can be a bit slow to archive if the page hasn’t been archived before, but other than that couldn’t be happier with the premise.

                          Since your version seems to be significantly faster: do you foresee adding support for other sites as well that may implement per cookie “free” articles?

                          1. 2

                            Thanks, I hadn’t heard of archive.today. I don’t have any plans to build anything similar for other sites. All the code written here is built for medium, so building support for other sites would be effectively a whole new project which I’m not looking for right now.

                          1. 3

                            It’s also worth mentioning that when you’re in the debugger (at least with pdb), then calling the pp command provides automatic pretty-printing through the pprint module without having to import it specifically. This is something I only found out about recently and while it’s definitely not as wide-ranging as Rich’s, it’s still very handy in my eyes.

                            1. 1

                              👀 Thanks ! I always complained about pdb without actually thinking about reading its documentation. I also just learned about ll or retval and I am definitely trying it today !

                            1. 10

                              The author of this project truly represents to me the level of wizardry that’s possible with computers. It’s absolutely mind-boggling the amount of knowledge a person has to have built up to even start tackling something like this.

                              There is also a YouTube channel where the author streams work that’s being done that I couldn’t readily find from the main website.

                              If you ever read this, project author: you are doing an amazing job and I so hope that this project succeeds in every regard!

                              1. 5

                                There’s an additional benefit to the author’s usage of square brackets in the “Separate parameters and messages” section: should the variable ever be empty, for whatever reason, then seeing a pair of empty brackets in the logs is very helpful in determining potential issues. I’ve wrapped mine in single quotes preceded by a colon for quite some time now and it’s been extremely useful.

                                Another helpful thing I’ve discovered is using logfmt right from the start as when you need to process the logs by something that natively supports ‘logfmt’ then you don’t have to go back and start making changes to the logging code nor writing any complicated parsing rules for your existing logs.