Minutes 2024-11-14: Difference between revisions

m
added link for Chomsky hierarchy
(initial commit)
 
m (added link for Chomsky hierarchy)
 
(7 intermediate revisions by the same user not shown)
# Came from RedTeam meeting on LLM jailbreaking
## WonWe won cool stickers!
## LUG is getting stickers #soon
# Ron's talk on Regex!
## What is an alphabet
## Strings are a '''finite''' series of characters
### We typically use "w" to represent strings, for "word"
### LambaLambda (<code>λ</code>) = empty string
## Languages are represented by "L"
## Machine takes strings (''w'') and determines if it's in the language (''L'')
### <code>∅</code> = empty set =<code>{}</code>
### <code>r = hello</code>
#### onlyOnly accepts the word "hello"
### <code>r = a * b</code>
#### <code>L(r) = {"a", "b"}</code>
#### The language contains both "a" and "b"
### Kleene star (''*'') [https://en.wikipedia.org/wiki/Kleene_star] [[https://archive.is/ApuRV archive]]
### Kleene Star (''*'')
#### Only way to represent an infinite number of an expression
#### <code>r = a*</code>
###### <code>L{∅} = {}</code>
###### <code>{"d"} ∪ {} = {"d"}</code>
###### You cannot append "nothing" (AKA <code>∅</code>) to a string, but you can append an empty string (AKA <code>λ</code>)
## grepGrep + Regex
### grepGrep uses an 'extended' version of regex
### <code>[]</code> - "any of", <code>[abcd]</code>, <code>[0-9]</code>
### <code>[^]</code> - "none of", <code>[^aeiuo]</code>
### <code>|</code>= +
### <code>+</code> - 1-or-more
#### theThe Kleene star is essentially '0-or-more'
#### 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 <code>:%s| \+| |g</code> (you need to escape the <code>+</code> in vim)
## Live demo!
### Grepping for strings inside hamlet
#### <code>grep hamlet <filename></code> - searching for the string "hamlet"
#### <code>grep 'z.*z' <filename></code> - matching any number of characters between two z's
##### Specific behavior depends on the implementation, most are 'greedy'
###### Ron's own term, meaning they grab the first instance of a match
##### For a line with "zzz", the expression <code>z.*z</code> would likely match "zz" on a line that had "zzz", but some implementations ''may'' match "zzz"
###### Note from post-meeting: both Grep (<code>-G</code>, <code>-E</code>, <code>-P</code>) and ripgrep return "zzz", so maybe it's the other way around?
#### Matching all lines with 13 words in them
## Common Extensions
#### Matches text without being part of the matched text
#### Replacing all instances of "John Smith" with "Jack Smith" in a text file that also has "John Cena"
### Replacing all instanced of "hamlet" with "bamlet" using <code>:%s/hamlet/bamlet/g</code> in vim
## Language Theory
### What makes a language regular?
## Regular Automata
### Limited state, can only read input once
## Chomsky hierarchy [https://en.wikipedia.org/wiki/Chomsky_hierarchy] [[https://archive.ph/w6HQw archive]][[File:Chomsky-hierarchy.svg|alt=Image of the Chomsky hierarchy|thumb|331x331px|Chomsky hierarchy]]
## Chomsky's Hierarchy
### Regular expressions are at the bottom of this pyramid
### Context-free, Context-sensitive, and Recursively enumerable expressions sit above regular expressions, in that order
### Turing machines above all of those (not pictured)
### Regular expression cannot replace your programming language
### Some regular language implementation decide languages that '''aren't regular!''' >:(
## Does Tech teach anything that covers beyond context-free in undergrad?
### no :(
# What WM does Ron use?[[File:Ron Xmonad Screenshot.png|alt=Screenshot of Ron's XMonad setup|thumb|515x515px|Ron's XMonad setup]]
# What WM does Ron use?
## Xmonad [https://xmonad.org/] [[https://archive.is/IEYAl archive]], customized in a "weird way exactly to his liking"
### A true gentoo user
# Why do people call gentoo a "meta-distribution"?
## They call themselves that [https://www.gentoo.org/get-started/about/] [[https://archive.is/FqmsU archive]], but they're really more like a regular distribution
## Only time Josh ever heard of "meta-distribution" was in reference to Bedrock Linux, since[https://bedrocklinux.org/] it's[[https://archive.is/6v9Er aarchive]], distrosince you can install other distributions inside ofit
# Does Tech teach pumping lemmas in CS curriculum?
## They were supposed to
## Josh doesn't remember it
## Consensus was it was likely taught and Josh just forgor
# Allen continues his ventures in gaming on one of the GLRC servers
## Why?
## How are you going to get around anticheat?
### "idk"
# Domino's BOGO deal for more LUG Pizza parties? [https://store.dominos.cards/45683] [[https://archive.is/PKPk5 archive]]
## WMTU is using this for K-Fest
## Might make sense for us to use it too, even if we'd be buying fewer pizzas than them
# Wrapped up briefly talking about recent FOSS drama
## Stallman report [https://stallman-report.org/] [[https://archive.is/QjlKO archive]]
### Drew report [https://dmpwn.info/] [[https://archive.is/Jev2r archive]] (lol)
### Drew report
## Linus is back to his old self on the Linux mailing list
### Russian maintainer stuff [https://lore.kernel.org/all/CAHk-=whNGNVnYHHSXUAsWds_MoZ-iEgRMQMxZZ0z-jY4uHT+Gg@mail.gmail.com/] [[https://archive.is/msHvh archive]]
### Russian maintainer stuff
### Bcachefs driver shenanigans [https://lore.kernel.org/all/172816780614.3194359.10913571563159868953.pr-tracker-bot@kernel.org/T/#t] [[https://archive.ph/apHhh archive]]
### BTRFS filesystem
### Recent drama surrounding Rust support in the kernel [https://lore.kernel.org/lkml/20240828211117.9422-1-wedsonaf@gmail.com/] [[https://archive.is/cRIjN archive]]
# eboardEboard Taco Bell trip
[[Category:Meeting Minutes]]