Threads for seasidedrum

  1. 5

    I’m learning to do network packet analysis using Wireshark & Golang to work with pcap files.

    1. 1
      • Setup a website for a non-tech side-project
      • Continue learning x64 nasm programming. Been two weeks now, and I feel a bit more confident. Will attempt a few exercism problems
      • Spring cleaning the apartment. Parents are visiting soon!
      1. 2
        • Setup Kali Linux on RPi and play around with it
        • Continue learning x86 assembly programming, using Jo Van Hoey’s book
        1. 2

          Finish studying Agner Fog’s Intro to Digital Electronics manual

          1. 3

            GopherCon 2021!

            Considering some VPN options since I’m getting interested in giving CTFs a try :)

            1. 2

              I don’t think you need a VPN to play CTFs.

              1. 1

                true…. but if I might be doing some brute forcing or something, not really interested in letting my ISP know :)

              2. 1

                What are CTFs?

                1. 2

                  Capture The Flag, pretty much hacking for fun and learning about infosec.

                  Stuff like this: https://overthewire.org/wargames/ but there are also competitions :D

                  1. 1

                    Wow, the link to the CTF wargames is fun. Thank you. Adding this to my weekend to-do.

              1. 4
                • Advent of Code in Go. Been stuck on Day 4, hoping to crack it and move ahead soon
                • Slowly read through the Google Spanner paper for a papers-we-love meetup next week. I am not presenting, but I want to go well-prepared, so that I don’t zone out
                • Continue poking around x86-64 nasm programming aided by Jo Van Hoey’s book. My extremely ambitious goal is to take a crack at Advent of Code problems in x86-64 assembly once I feel comfortable with it eventually
                1. 1

                  Planning to study Git internals for fun https://git-scm.com/book/en/v2/Git-Internals-Git-Objects, and subsequent chapters in Unit 10.

                  1. 5

                    I plan to study Skip Lists in some depth, and try to implement something basic in Go. https://www.epaperpress.com/sortsearch/download/skiplist.pdf

                    1. 9

                      I really wish there were an up to date edition of The New Turing Omnibus updated with some of the advances in algorithms since its publication.

                      I’ve never seen anything that made advanced CS concepts so accessible since.

                      A. K. Dewdney RIP.

                      1. 1

                        Thanks, this book looks very interesting. One of these weekends, reading this is what I would like to do.

                        1. 1

                          Yeah, it’s an all time classic as far as I’m concerned. Old hat if you’ve already got an advanced degree and your head is packed with theory, but if you’re self taught like me and trying to understand how things work, it’s utterly priceless.

                          I see things about skip lists and think “I wonder how A.K. Dewdney would explain this?”

                          1. 2

                            I see things about skip lists and think “I wonder how A.K. Dewdney would explain this?”

                            Nice. Maybe a (Git)book is in order, for newer algorithms, in AK Dewdney’s style?

                            1. 1

                              That would certainly be incredible! Now I just need to retire so I’ll have time to learn all that and write one :)

                              1. 2

                                Good luck, hope you get to do it sometime! :)

                      2. 2

                        Skip lists are a really interesting data structure, but there’s a reason that they’ve largely gone out of use: they have awful performance on modern hardware. If you were to design a data structure with the primary goal of being hostile to caches and branch predictors, you’d probably come up with something similar to skip lists.

                        That’s not to try to dissuade you from learning about them - no one becomes a worse programmer by learning more data structures - but just a warning that they are probably not a good choice in any situation where performance or scalability matter.

                        If you’re looking to learn about a data structure that’s good for modern CPUs and the kinds of tuning that are necessary to make it effective, I’d thoroughly recommend the hopscotch hash table, which is an extension of the ideas from Robin Hood Hashing. Neither is applicable to the same kind of problems as a skip list, but they’re both interesting independently.

                        There’s been a resurgence in learned data structures recently. The oldest example I know of in large-scale deployment is the hyphenation table in TeX: this is created by building short Markov chains that give a weight to hyphenation positions based on two-letter sequences. This ends up with an incredibly dense data structure ( a few hundred bytes) for the whole of English (similar sizes for other languages with hyphenation) that is mostly correct. They then store the 70 or so words that it gives the wrong results for separately.

                        1. 1

                          I agree, skip lists do seem to have poorer performance in comparison to several other data structures. But, they seem to be used in some projects for use cases like DB indexing. And, because I’m learning them just for fun and knowledge, performance & scalability are not immediate concerns :)
                          Thanks for pointing me to hopscotch hash tables and especially Robin Hood Hashing - seems fascinating. I’m going to spend a weekend with this. And, TIL about learned data structures, thanks again!

                      1. 1

                        Am I mistaken for having heard that ECMP is better for large scale data centers? Post makes no mention of alternatives and considerations for pursuing BGP as the chosen standard besides “it’s popular”

                        1. 5

                          BGP distributes routes and sets next hop. ECMP allows multiple routes to a single destination to exist and the router can forward packets across all outgoing interfaces usually in a load balanced way (using a l4 hash usually).

                          BGP is just one protocol to distributes routes. Equal Cost Multi Pathing does not distribute routes.

                          1. 2

                            The longer paper linked in the post seems to mention ECMP, and the positives & negatives of BGMP. Link to the paper: https://research.fb.com/wp-content/uploads/2021/03/Running-BGP-in-Data-Centers-at-Scale_final.pdf