Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minutes 2024-11-14

From MTU LUG Wiki
  1. Came from RedTeam meeting on LLM jailbreaking
    1. We won cool stickers!
    2. LUG is getting stickers #soon
  2. Ron's talk on Regex!
    1. What is an alphabet
    2. Strings are a finite series of characters
      1. We typically use "w" to represent strings, for "word"
      2. Lambda (λ) = empty string
    3. Languages are represented by "L"
    4. Machine takes strings (w) and determines if it's in the language (L)
    5. Finite Automata
      1. Example automata that only accepts an even length string
    6. Regular Expressions
      1. = empty set ={}
      2. r = hello
        1. Only accepts the word "hello"
      3. r = a * b
        1. L(r) = {"a", "b"}
        2. The language contains both "a" and "b"
      4. Kleene star (*) [1] [archive]
        1. Only way to represent an infinite number of an expression
        2. r = a*
          1. L(r) = {λ, "a", "aa", "aaa", ...}
        3. r = (ab + c)*
          1. ab + c matches any instance of "ab" or "c"
          2. (ab + c)* = L{λ, "ab", "c", "abab", "abc", "cccab", ...}
          3. r = (d + ∅)
            1. L(d) = {"d"}
            2. L{∅} = {}
            3. {"d"} ∪ {} = {"d"}
            4. You cannot append "nothing" (AKA ) to a string, but you can append an empty string (AKA λ)
    7. Grep + Regex
      1. Grep uses an 'extended' version of regex
      2. [] - "any of", [abcd], [0-9]
      3. [^] - "none of", [^aeiuo]
      4. ? - "maybe", colou?r
        1. matches both color and colour
      5. |= +
      6. + - 1-or-more
        1. The Kleene star is essentially '0-or-more'
        2. Note post-meeting: I personally use this operator a lot to replace multiple spaces with a single space in text files. For example, in vim, you can do :%s| \+| |g (you need to escape the + in vim)
    8. Live demo!
      1. Grepping for strings inside hamlet
        1. grep hamlet <filename> - searching for the string "hamlet"
        2. grep 'z.*z' <filename> - matching any number of characters between two z's
          1. Specific behavior depends on the implementation, most are 'greedy'
            1. Ron's own term, meaning they grab the first instance of a match
          2. For a line with "zzz", the expression z.*z would likely match "zz", but some implementations may match "zzz"
            1. Note from post-meeting: both Grep (-G, -E, -P) and ripgrep return "zzz", so maybe it's the other way around?
        3. Matching all lines with 13 words in them
    9. Common Extensions
      1. Groups
        1. In Grep, need to use -P flag for "Perl" mode (-E for "extended" does not allow you to use groups)
      2. Lookaround
        1. Matches text without being part of the matched text
        2. Replacing all instances of "John Smith" with "Jack Smith" in a text file that also has "John Cena"
      3. Replacing all instanced of "hamlet" with "bamlet" using :%s/hamlet/bamlet/g in vim
    10. Language Theory
      1. What makes a language regular?
      2. if it can be described using a Regular Expression!
    11. Regular Automata
      1. Limited state, can only read input once
    12. Chomsky hierarchy [2] [archive]
      Image of the Chomsky hierarchy
      Chomsky hierarchy
      1. Regular expressions are at the bottom of this pyramid
      2. Context-free, Context-sensitive, and Recursively enumerable expressions sit above regular expressions, in that order
      3. Turing machines above all of those (not pictured)
      4. Regular expression cannot replace your programming language
      5. Some regular language implementation decide languages that aren't regular! >:(
        1. ^(a(?1)?b)$
        2. More akin to "context-free" expressions
        3. Ron will literally murder them (very real and true)
    13. Does Tech teach anything that covers beyond context-free in undergrad?
      1. no :(
  3. What WM does Ron use?
    Screenshot of Ron's XMonad setup
    Ron's XMonad setup
    1. Xmonad [3] [archive], customized in a "weird way exactly to his liking"
      1. A true gentoo user
  4. Why do people call gentoo a "meta-distribution"?
    1. They call themselves that [4] [archive], but they're really more like a regular distribution
    2. Only time Josh ever heard of "meta-distribution" was in reference to Bedrock Linux [5] [archive], since you can install other distributions inside it
  5. Does Tech teach pumping lemmas in CS curriculum?
    1. They were supposed to
    2. Josh doesn't remember it
    3. Consensus was it was likely taught and Josh just forgor
  6. Allen continues his ventures in gaming on one of the GLRC servers
    1. Why?
      1. Free power
    2. How are you going to get around anticheat?
      1. "idk"
  7. Domino's BOGO deal for more LUG Pizza parties? [6] [archive]
    1. WMTU is using this for K-Fest
    2. Might make sense for us to use it too, even if we'd be buying fewer pizzas than them
  8. Wrapped up briefly talking about recent FOSS drama
    1. Stallman report [7] [archive]
      1. Drew report [8] [archive] (lol)
    2. Linus is back to his old self on the Linux mailing list
      1. Russian maintainer stuff [9] [archive]
      2. Bcachefs driver shenanigans [10] [archive]
      3. Recent drama surrounding Rust support in the kernel [11] [archive]
  9. Eboard Taco Bell trip