< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #232 - August 20, 2023

Here are the top threads of the week, happy reading!

Top comment by leksak

Adult Children of Emotionally Immature Parents

I'm a person that struggles with boundary-setting and have spent numerous years in relationships that have left me as less-than I was before. Imagine people-pleasing to an absolute fault, and being more of a chameleon that adapts to avoid conflicts. This has led to problems of identity, and deriving my sense of worth through others which isn't healthy.

Fortunately, I do not have the same problems professionally and part of my people-pleasing skills have been put to good use there.

However, history continued and continues to repeat itself to this day. I'm more than half-way into this book and am not only seeing patterns from my childhood, my relationships with my parents, and my early relationships (platonic & romantic)

It's been eye-opening, and I consider it my first step in breaking this trend.

Top comment by toomanyrichies

I'm writing "The Impostor's Guide To The Shell". My theory is that reading popular open-source codebases, and Googling stuff you don't understand until you grok it, is a great way to overcome impostor's syndrome. The goal is to take a reader from thinking "Maybe a 10x engineer could understand that library, but I never could..." to "Oh, that's all it does?".

The guide covers things like:

- shebangs

- exit codes

- parameter expansion

- file permissions

- how to look up docs via "man" and "help"

- And a lot more.

The codebase I'm starting with is a Ruby version manager (written in bash) called RBENV. I've published it onto a platform called HelpThisBook.com, a platform to help authors get feedback from early readers (co-created by Rob Fitzpatrick, author of "The Mom Test", "Write Useful Books", etc.). Instructions on how to leave feedback should be given when you open the link below.

https://helpthisbook.com/richie/impostors-guide-to-the-shell

Top comment by frfl

Bit of a tangent, but what has been everyone's experience so far in 2023 trying to find a new job? I got really interested in this and have been passively researching it (HN, reddit posts).

My conclusion, so far, is unless you've got strong connections it's hard right now to find a job. Most job posting, as OP mentions get hundreds if not thousands of applications. Other times, I've personally also notice, candidates with perfect skill/experience matches get the same generic rejection ("we respect your experience but we're going to go with another candidate") or worse getting no response at all. There have been mentions of pseudo job posts (ie companies are just falsely advertising positions they are not actually look to fill). Ultimately, a really crappy situation for those looking for a job. Even experienced people, think 7,8,10+ years of experience, are seeing similar things unless they have a strong connection that get them to the final stage(s) of the internet process.

Happy to provide a links to relevant online discussions and articles about this situation if anyone is interested. Let me know.

Top comment by kramerger

I tried to read some of them to see what has changed. I really tried...

If any lawyers from the future are reading this: It was impossible for me to see what I was agreeing to. Furthermore, I was not given a chance to not agree with these (unknown) changes.

Top comment by tivert

> 2. I no longer feel the need to hire juniors. This is a short-term positive and maybe a long-term negative.

> A lot of stuff I used to delegate to fellow humans are now being delegated to ChatGPT. And I can get the results immediately and at any time I want. I agree that it cannot operate on its own. I still need to review and correct things. I have do that even when working with other humans. The only difference is that I can start trusting a human to improve, but I cannot expect ChatGPT to do so. Not that it is incapable, but because it is restricted by OpenAI.

I think this point bears repeating.

The threat of these models isn't that they'll go all Skynet and kill everyone, it's that they'll cause a lot of economic devastation to people who make a living through labor requiring skill and knowledge, especially future generations of skilled labor. Then there will be a decision point: either the senior-level people who thought they were safe get replaced by a more-advanced model, or they don't and there's a future society-level shortage because the pipeline to produce more senior-level people has been shut down (like the OP is doing).

The only people who will come out (relatively) unscathed are the ownership class, like always.

Of course, this is inevitable because it's impossible to question or change our society's ideological assumptions. They must be played out until they utterly destroy society.

Top comment by lun4r

You could consider apiculture. Yes, that's right, beekeeping. You might wonder how this is relevant to your 11 years of development experience, but let me explain.

Beekeeping can offer a relaxing, nature-oriented antidote to the stresses of coding, and moreover, there is a burgeoning market for smart apiary technology. Bee mortality rates have increased over recent years for numerous reasons, and technology is beginning to find ways to address these problems.

As a developer, you could design systems to monitor hive health, honey production levels or even bee activity. This data can be used to predict illnesses, optimize honey production, or understand more about bee behavior, providing valuable insights to the beekeeping community as well as researchers.

This unique combination of software development and beekeeping could potentially be a lucrative side gig. Not to mention, a proportion of the honey could be sold for additional profit or used for personal consumption.

So, while it may seem far fetched, your coding skills could help save the global bee population while offering a calming, profitable new hobby.

(:

Top comment by scantis

Strictly in my opinion, prompting is just a transformation from concise to verbose.

You have a short statement, with a description of your problem and the answer is a long text.

Sometimes we prefer verbose, sometimes concise. Sometimes a word already has all the meaning we need, another time we need a long description and examples. Depends on our level of knowledge.

So from my limited point of view, you excell at moving any statement into something you can comprehend easily or that is helpful to you.

That is a nice skill and it should vastly improve your ability to communicate and express yourself.

Like beeing able to use a search engine before, it is very beneficial. Not a skill someone would hire you for, but a skill that aids many tidous tasks.

Again, my limited opinion. Maybe it is more magical and has deep practical applications, that I am oblivious to.

Top comment by SushiHippie

This one executes commands like "$ echo hi" as "echo hi". I have this in my .zshrc, because sometimes copying from annoying code blocks has a "$" in front of it.

  \$(){
    $@
  }
Check what file type a command is. And if the file is a symbolic link, show what type the linked file is.

  fich() {
    f=$(which $1)
    file $f;
    if [[ -L $f ]]; then
      file $(realpath $f);
    fi
  }
For example `fich 2to3` returns:

  /usr/bin/2to3: symbolic link to 2to3-3.11
  /usr/bin/2to3-3.11: Python script, ASCII text executable
Captures all SNI domains.

Stolen from: https://superuser.com/questions/538130/filter-in-wireshark-f...

  tshark -p -Tfields -e tls.handshake.extensions_server_name -Y 'tls.handshake.extension.type == "server_name"'

And these functions extract a tar/zip to a temporary directory and cd into it. Useful to quickly peek into tar/zip files without littering your home/download directory. (/tmp gets cleared after a system restart for me)

  cdtar() {
    if [[ $# > 0 ]]; then
      tmp_dir=$(mktemp -d)
      if tar -xvf $1 -C $tmp_dir; then
        cd $tmp_dir
      else
        rm -rf $tmp_dir
      fi
    fi
  }

  cdzip() {
    if [[ $# > 0 ]]; then
      tmp_dir=$(mktemp -d)
      if unzip $1 -d ${tmp_dir}; then
        cd $tmp_dir
      else
        rm -rf $tmp_dir
      fi
    fi
  }

Top comment by kareemm

I use Synology Photos to back up to my Synology NAS in the basement:

https://www.synology.com/en-global/DSM70/SynologyPhotos

It has mobile apps that back up photos automatically. My wife and I each have the iOS apps running and photos just upload magically to the NAS. Viewing photos is a good experience too. I also use another Synology app to back up my photos from my NAS to AWS Glacier.

Super happy I moved them from Shutterfly.

Top comment by benreesman

It’s very tough to do research-level ML without the whole track. There are exceptions, but if you want to publish papers at DeepMind, you probably want the graduate education.

But if you, like me, are happy to be an “understand and implement the paper” person instead of a “co-author the paper” person, that is eminently achievable via self-study and/or adjacent industrial experience. In fact, it’s never been easier as world-class education is more available on YouTube every day.

3Blue1Brown covers all the linear algebra, calculus, information theory, and basic analysis you need to get started. Ng and Karpathy have fantastic stuff. Hotz is writing a credible threat to PyTorch on stream/YT for the nuts and bolts accelerated computing stuff. Kilcher does accessible reviews of modern stuff. The fast.ai stuff is great.

This is all a lot easier if you can get a generalist/infrastructure role that’s ML-adjacent at a serious shop (that’s how I got exposed), but there’s enough momentum in open source now that even this isn’t a prerequisite.

I say fucking go for it, and if you want any recommendations on books or need someone to ping when you get stuck, feel free to email.