{"batchcomplete":"","continue":{"lecontinue":"20211105162741|75","continue":"-||"},"query":{"logevents":[{"logid":85,"ns":0,"title":"NAT Traversal","pageid":78,"logpage":78,"revid":263,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2024-04-09T23:01:38Z","comment":"Created page with \"This is basically a short paraphrase of what is in [https://tailscale.com/blog/how-nat-traversal-works/ Tailscale's NAT Traversal post].  NAT traversal utilizes the trait that a stateful firewall allows **Outbound connection and the returning connection to the same IP:port**. For UDP, if you know the source and destination IP:port, you can establish a direct connection by sending packages to each other.  Case 1: both source and destination are public IPs, only with a sta...\""},{"logid":84,"ns":0,"title":"Learn You a Haskell for Great Good!","pageid":77,"logpage":77,"revid":262,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2024-04-09T18:58:46Z","comment":"Created page with \"The book is [https://learnyouahaskell.com here]\""},{"logid":83,"ns":0,"title":"Functional Programming","pageid":76,"logpage":76,"revid":260,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2024-04-09T18:50:52Z","comment":"Created page with \"[Learn You a Haskell for Great Good!]\""},{"logid":82,"ns":0,"title":"Orgmode","pageid":75,"logpage":75,"revid":252,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2023-07-31T17:12:47Z","comment":"Created page with \"Org mode is a generic structured text file format that can be use to literal program todo lists and related tasks.\""},{"logid":81,"ns":10,"title":"Template:Quote","pageid":74,"logpage":74,"revid":237,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2023-07-16T21:26:33Z","comment":"Created page with \"<blockquote class=\"templatequote\"><div class=\"Bug6200\">{{{text|{{{quote|{{{1|<noinclude>{{lorem ipsum}}</noinclude><includeonly>{{error|Error: No text given for quotation (or equals sign used in the actual argument to an unnamed parameter)}}</includeonly>}}}}}}}}}</div>{{#if:{{{sign|{{{cite|{{{2|<noinclude>TRUE</noinclude>}}}}}}}}}  |<div class=\"templatequotecite\">&#8212;{{{sign|{{{cite|{{{2|<noinclude>[[Someone's full name|Someone]]</noinclude>}}}}}}}}}{{#if:{{{source|{...\""},{"logid":80,"ns":0,"title":"Discipline and Punish","pageid":73,"logpage":73,"revid":234,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2023-07-16T21:11:47Z","comment":"Created page with \"== Notes ==  === 1. The Body of the Condemned ===  * Foucault started by discussing two different styles of punishment - [https://en.wikipedia.org/wiki/Robert-Fran%C3%A7ois_Damiens https://en.wikipedia.org/wiki/Robert-Fran%C3%A7ois_Damiens] and Faucher's young prisoners in Paris.\""},{"logid":79,"ns":0,"title":"Large Language Model","pageid":72,"logpage":72,"revid":229,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2023-02-06T16:59:33Z","comment":"Created page with \"Placeholder.\""},{"logid":78,"ns":0,"title":"Ventoy","pageid":71,"logpage":71,"revid":228,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2023-02-06T02:55:52Z","comment":"Created page with \"[https://www.ventoy.net/ Ventoy] is a multi-iso USB booting tool. It allows a user to simply copy an ISO to the directory and boot from it without wiping the entire USB disk.  == Creating a USB disk with cidata ==  == References == <references />\""},{"logid":77,"ns":0,"title":"Ruby","pageid":70,"logpage":70,"revid":224,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2022-01-08T19:11:30Z","comment":"Created page with \"[https://i.stack.imgur.com/1Vuvp.png Flowchart for Ruby subprocess options]\""},{"logid":76,"ns":0,"title":"Sed","pageid":69,"logpage":69,"revid":221,"params":{},"type":"create","action":"create","user":"Hoppinglife","timestamp":"2021-11-09T18:45:12Z","comment":"Created page with \"<code> sed -i 's/SEARCH_REGEX/REPLACEMENT/g' INPUTFILE </code>\""}]}}