Threads for thunderbottom

    1. 2

      Back when I was in academia I used to refer to this really good, short explanation of bloom filters:

      The article does have an “Advanced Topics” section covering the number of hash functions and the size to use for a bloom filter. I hope you find it to be somewhat useful.

    2. 2

      I’ve been moving my server on Hetzner cloud from Ubuntu to NixOS, bit by bit, everyday. The only real reason that I’m doing this is because I’ve always wanted one definitive way to manage my system configurations—I have NixOS running on my X1C6 (configs, somewhat due for a git push)—and it has this tool called NixOps, which lets you deploy NixOS configurations to other Nix machines and then manage them remotely. It lets you do all the things NixOS can do, and comes with even more configuration options for NixOps (like deployment keys). It’s been going very well so far.

      Although, I have had some gripes: like not being able to set the system to autoUpgrade, since it causes all the services on my server to vanish (relevant issue). Also, some services like oci-containers have very little documentation, but is useful for declaratively managing docker containers. Kind of a bummer that you have to dig through the code to find gems like these.

      Other than that, it has been good to be maintaining a (mostly) common set of system/service configurations. I might write a post sometime on my NixOS/NixOps configuration. Till then, if you are interested, you can read this excellent post on NixOps by @cadey which inspired me to move my setup.

    3. 3

      Opening up my old T430 to figure out why it constantly beeps on boot. I’ve tried re-seating the RAM and even replacing it, but nada! nothing worked. If anyone has had any experience with this before and could guide me about it, that would be pretty helpful!

      1. 2

        Maybe this list of beep codes could help you isolate the problem:

        1. 1

          Very helpful! Thanks a lot.

          Hm, according to the list, it says that the laptop’s motherboard is dead. What I find amusing is that while I hear a continuous beep, I can also see the laptop’s boot-up screen; which kind of means that the motherboard isn’t really dead. I think the only way to find out is to reseat all of the laptop’s internals and see where it takes me.

          1. 2

            Can you test the voltage on the bios battery while it’s open?

            1. 1

              Unfortunately I don’t have a multimeter with me. Could a bios battery failure be the cause for “Unable to detect boot disk”? If so, then I can try getting a replacement battery for this.

              1. 2

                I wouldn’t be surprised! And it’s a very cheap battery available everywhere.

                1. 1

                  Alright, I’ll try that as well and let you know how it goes. Thanks a lot for the help!

      2. 1

        I have x200, it beeps on low battery, maybe you have some issue with power measurements during boot? I guess you can turn off beeping on low battery in BIOS.

        1. 1

          Could be, although the thing is that you could run this laptop without a battery—by directly connecting it to a power source—and it still keeps beeping constantly. I doubt some connector inside the laptop has run loose.

    4. 2

      Planning to write a Cloudwatch Exporter for Prometheus in Golang (yet another yet another cloudwatch exporter?). Have been using the Cloudwatch Exporter by Prometheus at $WORK, but we have a lot of metrics which makes the scraping very slow! We have also tried Grafana’s Cloudwatch datasource, which is just as slow if not worse (and we need alerts). The other exporter (yace), is written in Golang and looks pretty good. But, as a personal preference, I’d like to write something that’s native to VictoriaMetrics over Prometheus (mainly for simplicity and performance benefits).

      Other than that, I hope to spend some quality time with my family. I also have a leftover library that I need to finish, clean up, and write a Telegram bot for, but that probably is a post (and work) for another weekend!

      1. 2

        Make sure the exporter behaves properly. I’ve came across a faulty prometheus exporter for RDS which did not close connections and resulted in 6k month additional bill because this behaviour led to many concurrent cloudwatch API hits per second.

        1. 1

          Ah, tough luck! Seems like the exporter connected to the AWS APIs by itself instead of using an SDK/wrapper and then forgot to close the connections. In my case, this issue is taken care of since I am using the AWS Go SDK, which handles all connections to AWS.

          Also, if you do not mind me asking, how long was it before you figured out that it was the exporter that caused your bills to go up by that amount? 6k seems like a lot for API calls.

          1. 2

            Also, if you do not mind me asking, how long was it before you figured out that it was the exporter that caused your bills to go up by that amount? 6k seems like a lot for API calls.

            Took me three months. There was a lot going on in that AWS account at the time. My first guess was that the “CloudWatch” cost spike was due to AWS EKS auditing logs (multiple clusters). The third month I close all CloudWatch logs and saw that the day-to-day expenses didn’t drop significantly, so I start digging and ended up to this exporter. Fun fact: I removed the exporter without notifying the team that requested the installation, it’s been ~1+ year, no one noticed.

            1. 1

              Damn, that’s sadly pretty amazing. AWS is a maze that one can get easily lost in.

              Fun fact: I removed the exporter without notifying the team that requested the installation, it’s been ~1+ year, no one noticed.

              Haha, so is there some replacement for the exporter that is being run for the metrics? Or yeet and no monitoring?

              1. 1

                The RDS nowadays offers the performance insights which is okay-ish for that use case. There are standard alerts based on CPU, RAM and Network, so it’s all good ;-)

    5. 3

      Upgraded to Fedora 33 on my work laptop right now. The upgrade was very fast and smooth (~5-7min), but I ended up with a broken wifi. Downgrading the linux-firmware packge to 20200918-112.fc33 fixed it. In case if anyone is wondering, my laptop has an Intel Wireless 9560 chipset (iwl-7260 firmware). Not the first time that an update to linux-firmware has broken the wifi for me, though.

      On the brighter side, the system actually does feel smoother now. DNF is somewhat faster too (placebo?), and the UI looks more polished than before.

    6. 5

      I think this is a good marketing idea. At least now some people head about you. :) If it was intentional, my applause 👏 If not, meh 😒

      1. 5

        If it is marketing it should be elsewhere.

      2. 3

        I feel it is more of a marketing post, since there’s nothing of importance that it talks about. There’s no mention of how it happened, and instead just has a piece of code thrown into the post that shows tables are being dropped. Even the “What have we learned? Why won’t this happen again?” part does not really state why it wouldn’t happen again. The entire post feels poorly written, stating the obvious points like have backups, do not hardcode, do not use same passwords everywhere; which, even if, is very common and should be known, does not provide any significant context in this case.

        1. 5

          I would agree, after reading the article, I felt reading the subject line gave about as much information. Of particular note is the lack of root cause understanding, which makes many of those mitigations questionable. He says they don’t share passwords, for example, and yet somehow they worked. I think a far more informative post for many of us will be the real answer as to why this happened. “Don’t share passwords, also if you use package Y, be aware that it replicates the password to all environments” or some such.

      3. 2

        I dunno. Having heard of them is one thing, but hearing that they appear to be at least somewhat incompetent, and possibly alcoholics is not really a positive thing for me.

        Not all publicity is good.

    7. 1

      This was a good read. Thank you.

      Although, have you tried AdGuard Home? I have been running it on my Pi 3B+ through docker and it works like a charm! It has default support for DNS-over-TLS, per device configuration, is definitely way lighter on resources than PiHole (thanks to Golang), and also has a single configuration file that makes backups and setup migrations a breeze. For someone wanting to have a network-wide adblock running on a smaller, less powerful hardware, I think it is certainly better than setting up PiHole.

      1. 1

        I haven’t had a chance to try AdGuard yet, but I have heard lots of good things about it.

    8. 2

      Great article! Although this link was posted here before. Here’s the discussion on this topic from around a month ago.

      1. 4

        Since the article was written (and discussed), Golang switched to using [] for generics, which is the correct choice.

      2. 1

        Oh, I missed it when it was posted the first time! It seemed strange that Lobsters didn’t warn me that the article was already posted, given that it’s just a popular topic.

        1. 1

          So I figured that the other post contains a different link that resolves to the same URL. I’ve added a comment on the GitHub issue for this.

    9. 6

      Learning golang, and moving my old xkcd telegram bot from python to go. So far, I’ve added a basic inline replier. I’ll be trying to add indexing or search to the comics this weekend. I’m currently looking at bleve for implementing the search API. If someone has any pointers or suggestions, I appreciate it. It has been fun writing stuff in go so far!

    10. 2

      Trying to use poole to set up a blog for myself.

    11. 4
      • OS: Linux (btw I use Arch Linux)
      • Editor: NeoVim, using neovim-qt
      • Terminal: GNOME terminal if I need a terminal outside of NeoVim
      • DE: Cinnamon as my desktop environment
      • Browser: Firefox Developer Edition
      • Music: Pragha and YouTube (sometimes using mpv)
      • Shell: Fish
      • Email: Fastmail, I just use the web interface since it is actually fast. I do compose my Emails in NeoVim

      This is what my desktop looks like:

      This is my NeoVim setup, which I run in full screen most of the time.:

      1. 1

        that is a really neat font, love it! could you please tell me which one it is?

        1. 4

          The font I use for NeoVim is Source Code Pro, the desktop font is Noto Sans Regular.

          1. 1

            sweet! thanks a lot :)

      2. 1

        What’s the color scheme you use for NeoVim? I have my font size a bit bigger with the color scheme I use now (different editor, but still), but it seems perfectly legible in your screenshot.

      3. 1


        Any particular reason for prefering that to nvim in a terminal?

        1. 2

          neovim-qt has a significantly lower input latency compared to running NeoVim in a terminal. I no longer have the data sadly, but most terminals (including GPU ones like Kitty and Alacritty) had something like 2-3 times the input latency. The worst are libvte terminals, which for me had a latency of around 80-90 ms. neovim-qt in turned hovered somewhere between 10 and 20 ms.

          1. 1

            Ah. I use a low latency terminal and DE, so I would probably not benefit much. xterm has 2ms latency (90%).

    12. 3

      I’ll be seeing a friend and eating with him at a Japanese restaurant. Quite excited to see him after a year! Then on Sunday I plan on fixing some part of this side project I have been working on to help with the testing process at work.