From e4653a3bea0c030b1c17db62474e5d44c22262b1 Mon Sep 17 00:00:00 2001 From: Correl Date: Thu, 8 Dec 2022 15:20:49 -0500 Subject: [PATCH] updates --- 20211201125024-home_intercom_replacement.org | 2 +- 20220209144915-tutor.org | 211 +++++++++++++++++ ...28233501-building_electronics_projects.org | 1 + monitor-layout.png | Bin 0 -> 14385 bytes openapi-core-exceptions.svg | 38 +-- qrcode.png | Bin 0 -> 21318 bytes sailmaker-network.svg | 221 ++++++++++++++++++ tutor-sets.png | Bin 0 -> 30696 bytes validation-and-sanitization.svg | 44 ++++ 9 files changed, 497 insertions(+), 20 deletions(-) create mode 100644 monitor-layout.png create mode 100644 qrcode.png create mode 100644 sailmaker-network.svg create mode 100644 tutor-sets.png create mode 100644 validation-and-sanitization.svg diff --git a/20211201125024-home_intercom_replacement.org b/20211201125024-home_intercom_replacement.org index 555a9f7..fd1540c 100644 --- a/20211201125024-home_intercom_replacement.org +++ b/20211201125024-home_intercom_replacement.org @@ -4,7 +4,7 @@ #+title: Home Intercom Replacement #+filetags: :project: * Home automation controls -- Interface with Home Assistant to control lights and miscellaneous sensors. +- Interface with [[id:5aeea464-e1ed-46e4-9293-87edaf385051][Home Assistant]] to control lights and miscellaneous sensors. * Audio and video calling - Consider leveraging [[https://github.com/jitsi/jitsi-meet][Jitsi Meet]], an open-source video conferencing system. * Customizeable user interface diff --git a/20220209144915-tutor.org b/20220209144915-tutor.org index cc9e6ff..e3b9df4 100644 --- a/20220209144915-tutor.org +++ b/20220209144915-tutor.org @@ -1,5 +1,7 @@ :PROPERTIES: :ID: e79ad4ee-17d0-44f9-8270-2f19b65bc949 +:header-args:sql: :engine postgresql :dbhost reason :dbuser tutor :dbpassword tutor :database tutor :exports both +:header-args: :eval no-export :END: #+title: Tutor @@ -207,3 +209,212 @@ https://www.topdecked.com/decks/alive/833c308f-219f-4624-8b32-1adedcb477f0 : commanderDeckList -> DeckList -> Either InvalidCommanderDeck CommanderDecklist : Deck = Deck [PreferredCard] + +* Identifying and ordering sets +#+name: sets +#+begin_src sql + SELECT s.set_code + , s.name + , COUNT(co.id) AS cards + , MIN(c.release_date) AS release_date + FROM sets AS s + JOIN cards AS c USING (set_code) + JOIN copies AS co USING (scryfall_id) + GROUP BY s.set_code, s.name + ORDER BY min(c.release_date) DESC +#+end_src + +#+RESULTS: sets +| set_code | name | cards | release_date | +|----------+-----------------------------------------------+-------+--------------| +| TBOT | Transformers Tokens | 1 | 2022-11-18 | +| BRC | The Brothers' War Commander | 209 | 2022-11-18 | +| BRR | The Brothers' War Retro Artifacts | 56 | 2022-11-18 | +| BOT | Transformers | 14 | 2022-11-18 | +| BRO | The Brothers' War | 199 | 2022-11-18 | +| UNF | Unfinity | 42 | 2022-10-07 | +| DMU | Dominaria United | 219 | 2022-09-09 | +| DMC | Dominaria United Commander | 35 | 2022-09-09 | +| P30A | 30th Anniversary Promos | 2 | 2022-09-02 | +| 2X2 | Double Masters 2022 | 459 | 2022-07-08 | +| CLB | Commander Legends: Battle for Baldur's Gate | 94 | 2022-06-10 | +| SNC | Streets of New Capenna | 203 | 2022-04-29 | +| NCC | New Capenna Commander | 2 | 2022-04-29 | +| SLX | Universes Within | 1 | 2022-03-03 | +| NEO | Kamigawa: Neon Dynasty | 858 | 2022-02-18 | +| NEC | Neon Dynasty Commander | 14 | 2022-02-18 | +| VOC | Crimson Vow Commander | 1 | 2021-11-19 | +| VOW | Innistrad: Crimson Vow | 105 | 2021-11-19 | +| MID | Innistrad: Midnight Hunt | 13 | 2021-09-24 | +| CMB2 | Mystery Booster Playtest Cards 2021 | 3 | 2021-08-20 | +| AFR | Adventures in the Forgotten Realms | 213 | 2021-07-23 | +| AFC | Forgotten Realms Commander | 70 | 2021-07-23 | +| AAFR | Adventures in the Forgotten Realms Art Series | 3 | 2021-07-23 | +| OAFC | Forgotten Realms Commander Display Commanders | 1 | 2021-07-23 | +| PLG21 | Love Your LGS 2021 | 1 | 2021-06-22 | +| MH2 | Modern Horizons 2 | 25 | 2021-06-18 | +| STA | Strixhaven Mystical Archive | 29 | 2021-04-23 | +| C21 | Commander 2021 | 74 | 2021-04-23 | +| STX | Strixhaven: School of Mages | 369 | 2021-04-23 | +| OC21 | Commander 2021 Display Commanders | 1 | 2021-04-23 | +| TSTX | Strixhaven: School of Mages Tokens | 6 | 2021-04-23 | +| TSR | Time Spiral Remastered | 1 | 2021-03-19 | +| KHM | Kaldheim | 174 | 2021-02-05 | +| TKHM | Kaldheim Tokens | 1 | 2021-02-05 | +| KHC | Kaldheim Commander | 59 | 2021-02-05 | +| CMR | Commander Legends | 481 | 2020-11-20 | +| PLIST | The List | 8 | 2020-09-26 | +| ZNR | Zendikar Rising | 54 | 2020-09-25 | +| ZNC | Zendikar Rising Commander | 77 | 2020-09-25 | +| JMP | Jumpstart | 1 | 2020-07-17 | +| M21 | Core Set 2021 | 4 | 2020-07-03 | +| PLG20 | Love Your LGS 2020 | 1 | 2020-05-18 | +| IKO | Ikoria: Lair of Behemoths | 560 | 2020-04-24 | +| C20 | Commander 2020 | 1 | 2020-04-17 | +| THB | Theros Beyond Death | 93 | 2020-01-24 | +| TTHB | Theros Beyond Death Tokens | 1 | 2020-01-24 | +| SLD | Secret Lair Drop | 10 | 2019-12-16 | +| MB1 | Mystery Booster | 42 | 2019-11-07 | +| ELD | Throne of Eldraine | 147 | 2019-10-04 | +| C19 | Commander 2019 | 101 | 2019-08-23 | +| PM20 | Core Set 2020 Promos | 1 | 2019-07-12 | +| M20 | Core Set 2020 | 600 | 2019-07-12 | +| SS2 | Signature Spellbook: Gideon | 2 | 2019-06-28 | +| TWAR | War of the Spark Tokens | 36 | 2019-05-03 | +| WAR | War of the Spark | 544 | 2019-05-03 | +| RNA | Ravnica Allegiance | 16 | 2019-01-25 | +| PRNA | Ravnica Allegiance Promos | 1 | 2019-01-25 | +| GRN | Guilds of Ravnica | 127 | 2018-10-05 | +| C18 | Commander 2018 | 3 | 2018-08-09 | +| M19 | Core Set 2019 | 1 | 2018-07-13 | +| BBD | Battlebond | 1 | 2018-06-08 | +| TDOM | Dominaria Tokens | 1 | 2018-04-27 | +| DOM | Dominaria | 16 | 2018-04-27 | +| RIX | Rivals of Ixalan | 29 | 2018-01-19 | +| TRIX | Rivals of Ixalan Tokens | 1 | 2018-01-19 | +| UST | Unstable | 119 | 2017-12-08 | +| E02 | Explorers of Ixalan | 1 | 2017-11-24 | +| XLN | Ixalan | 2 | 2017-09-29 | +| C17 | Commander 2017 | 2 | 2017-08-25 | +| THOU | Hour of Devastation Tokens | 1 | 2017-07-14 | +| HOU | Hour of Devastation | 29 | 2017-07-14 | +| E01 | Archenemy: Nicol Bolas | 1 | 2017-06-16 | +| CMA | Commander Anthology | 1 | 2017-06-09 | +| MM3 | Modern Masters 2017 | 1 | 2017-03-17 | +| AER | Aether Revolt | 2 | 2017-01-20 | +| C16 | Commander 2016 | 1 | 2016-11-11 | +| PKLD | Kaladesh Promos | 1 | 2016-09-30 | +| KLD | Kaladesh | 68 | 2016-09-30 | +| EMN | Eldritch Moon | 1 | 2016-07-22 | +| SOI | Shadows over Innistrad | 1 | 2016-04-08 | +| C15 | Commander 2015 | 1 | 2015-11-13 | +| ORI | Magic Origins | 1 | 2015-07-17 | +| M15 | Magic 2015 | 44 | 2014-07-18 | +| C13 | Commander 2013 | 1 | 2013-11-01 | +| THS | Theros | 30 | 2013-09-27 | +| M14 | Magic 2014 | 2 | 2013-07-19 | +| GTC | Gatecrash | 1 | 2013-02-01 | +| RTR | Return to Ravnica | 29 | 2012-10-05 | +| M13 | Magic 2013 | 91 | 2012-07-13 | +| AVR | Avacyn Restored | 47 | 2012-05-04 | +| DKA | Dark Ascension | 52 | 2012-02-03 | +| ISD | Innistrad | 354 | 2011-09-30 | +| V11 | From the Vault: Legends | 1 | 2011-08-26 | +| M12 | Magic 2012 | 244 | 2011-07-15 | +| NPH | New Phyrexia | 244 | 2011-05-13 | +| MBS | Mirrodin Besieged | 372 | 2011-02-04 | +| PMBS | Mirrodin Besieged Promos | 1 | 2011-02-03 | +| SOM | Scars of Mirrodin | 325 | 2010-10-01 | +| PSOM | Scars of Mirrodin Promos | 1 | 2010-09-30 | +| M11 | Magic 2011 | 320 | 2010-07-16 | +| ROE | Rise of the Eldrazi | 329 | 2010-04-23 | +| PWWK | Worldwake Promos | 2 | 2010-02-05 | +| WWK | Worldwake | 149 | 2010-02-05 | +| F10 | Friday Night Magic 2010 | 1 | 2010-01-01 | +| ZEN | Zendikar | 76 | 2009-10-02 | +| HOP | Planechase | 17 | 2009-09-04 | +| M10 | Magic 2010 | 89 | 2009-07-17 | +| CON | Conflux | 14 | 2009-02-06 | +| PCON | Conflux Promos | 1 | 2009-01-31 | +| PW09 | Wizards Play Network 2009 | 1 | 2009-01-01 | +| DD2 | Duel Decks: Jace vs. Chandra | 120 | 2008-11-07 | +| ALA | Shards of Alara | 22 | 2008-10-03 | +| MOR | Morningtide | 1 | 2008-02-01 | +| LRW | Lorwyn | 1 | 2007-10-12 | +| 10E | Tenth Edition | 2 | 2007-07-13 | +| PLC | Planar Chaos | 1 | 2007-02-02 | +| CSP | Coldsnap | 2 | 2006-07-21 | +| RAV | Ravnica: City of Guilds | 1 | 2005-10-07 | +| 9ED | Ninth Edition | 1 | 2005-07-29 | +| BOK | Betrayers of Kamigawa | 1 | 2005-02-04 | +| CHK | Champions of Kamigawa | 5 | 2004-10-01 | +| 5DN | Fifth Dawn | 46 | 2004-06-04 | +| DST | Darksteel | 49 | 2004-02-06 | +| MRD | Mirrodin | 102 | 2003-10-02 | +| 8ED | Eighth Edition | 2 | 2003-07-28 | +| SCG | Scourge | 53 | 2003-05-26 | +| LGN | Legions | 37 | 2003-02-03 | +| ONS | Onslaught | 32 | 2002-10-07 | +| TOR | Torment | 29 | 2002-02-04 | +| ODY | Odyssey | 230 | 2001-10-01 | +| APC | Apocalypse | 672 | 2001-06-04 | +| PAPC | Apocalypse Promos | 1 | 2001-05-26 | +| 7ED | Seventh Edition | 196 | 2001-04-11 | +| PLS | Planeshift | 42 | 2001-02-05 | +| INV | Invasion | 141 | 2000-10-02 | +| PCY | Prophecy | 32 | 2000-06-05 | +| S00 | Starter 2000 | 6 | 2000-04-01 | +| NEM | Nemesis | 98 | 2000-02-14 | +| MMQ | Mercadian Masques | 165 | 1999-10-04 | +| S99 | Starter 1999 | 3 | 1999-07-01 | +| UDS | Urza's Destiny | 39 | 1999-06-07 | +| 6ED | Classic Sixth Edition | 118 | 1999-04-21 | +| ULG | Urza's Legacy | 38 | 1999-02-15 | +| USG | Urza's Saga | 155 | 1998-10-12 | +| EXO | Exodus | 21 | 1998-06-15 | +| STH | Stronghold | 37 | 1998-03-02 | +| TMP | Tempest | 35 | 1997-10-14 | +| WTH | Weatherlight | 81 | 1997-06-09 | +| 5ED | Fifth Edition | 73 | 1997-03-24 | +| VIS | Visions | 4 | 1997-02-03 | +| MIR | Mirage | 221 | 1996-10-08 | +| ALL | Alliances | 13 | 1996-06-10 | +| HML | Homelands | 45 | 1995-10-01 | +| CHR | Chronicles | 2 | 1995-07-01 | +| ICE | Ice Age | 116 | 1995-06-03 | +| 4ED | Fourth Edition | 127 | 1995-04-01 | +| FEM | Fallen Empires | 16 | 1994-11-01 | +| DRK | The Dark | 3 | 1994-08-01 | +| LEG | Legends | 2 | 1994-06-01 | +| 3ED | Revised Edition | 43 | 1994-04-01 | +| ATQ | Antiquities | 1 | 1994-03-04 | + +#+begin_src python :var data=sets :var filename="tutor-sets.png" :results file :exports results + from datetime import datetime + import matplotlib + matplotlib.use('SVG') + import matplotlib.pyplot as plt + + import pandas as pd + + data = [{'code': code, + 'name': name, + 'cards': int(cards), + 'date': datetime.strptime(date, '%Y-%m-%d'), + } + for code, name, cards, date in data] + data = pd.DataFrame(data).set_index('date').sort_index() + fig, ax = plt.subplots(figsize=(14,8)) + data['cumcards'] = data['cards'].cumsum() + data.plot(y='cumcards', ax=ax) + for date, row in data[data['cards'] > 300].iterrows(): + ax.text(date, row['cumcards'], row['code']) + plt.xlabel("Time") + plt.ylabel("Cards") + ax.get_legend().remove() + plt.savefig(filename, transparent=True) + return filename +#+end_src + +#+RESULTS: +[[file:tutor-sets.png]] diff --git a/20221028233501-building_electronics_projects.org b/20221028233501-building_electronics_projects.org index 781311a..e5aee8d 100644 --- a/20221028233501-building_electronics_projects.org +++ b/20221028233501-building_electronics_projects.org @@ -17,4 +17,5 @@ ** DONE [[id:511bfcb4-931f-4c0a-b78f-858b5efae0ad][Turntable Mounted Raspberry Pi]] ** DONE [[id:efce506d-a354-4003-a70e-e0421dff0dc1][Solder fume extraction fan]] ** TODO [[id:156e16da-f160-48ad-b0a7-75ff44fdf607][Home Intercom Replacement]] +** DONE [[id:6a6cbe09-8a0a-4fa8-96ef-0c28600ca991][Leveraging existing coaxial cable for high-speed networking]] ** TODO [[id:904db55f-f907-42b0-941e-5d2188f4a3c4][Wiring the house with ethernet]] diff --git a/monitor-layout.png b/monitor-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..96006458f822bbb8e9571db5cbcba1efcba8e24a GIT binary patch literal 14385 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 XIH{WDjV9QvpUv>BseZ}nOX2?qyOO - OpenAPIError->CastError - - + + @@ -35,8 +35,8 @@ OpenAPIError->DeserializeError - - + + @@ -47,8 +47,8 @@ OpenAPIError->UnmarshalError - - + + @@ -59,8 +59,8 @@ DeserializeError->EmptyParameterValue - - + + @@ -71,8 +71,8 @@ UnmarshalError->ValidateError - - + + @@ -83,8 +83,8 @@ UnmarshalError->UnmarshallerError - - + + @@ -95,8 +95,8 @@ ValidateError->InvalidSchemaValue - - + + @@ -107,8 +107,8 @@ UnmarshallerError->InvalidSchemaFormatValue - - + + @@ -119,8 +119,8 @@ UnmarshallerError->FormatterNotFoundError - - + + diff --git a/qrcode.png b/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e92eac897c4b7f7f98ae0edb1b00669376eaa5 GIT binary patch literal 21318 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 zauOutsideOutside 4-Way Splitter(5-1000Mhz)Outside 3-Way Splitter(5-1670Mhz)BasementBasementSplitterFirstFloorMediaRoomLivingRoomSwitchTVSecondFloorOfficeSwitchOfficeONTos4_inos4_1os4_2os4_3os4_4os3_inos3_1os3_2bs_inbs_1bs_2RouterReasonMoCA1MoCA2SonyBravia4KPS4WPS4RSwitchW1tvs1tvs2tvs3ZephyrusMoCA3RokuTVSwitchRofs1ofs2ofs3Ethernet (1000)Ethernet (1000)Ethernet (1000)CoaxCoaxCoaxCoaxCoaxEthernet(100)Ethernet (100)Ethernet (100) \ No newline at end of file diff --git a/tutor-sets.png b/tutor-sets.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba7ce542a8931e718ea157d30bf74fb8a3df608 GIT binary patch literal 30696 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 Uim&l3Vlh$n+3hXe?Rolt0cfw`k^lez literal 0 HcmV?d00001 diff --git a/validation-and-sanitization.svg b/validation-and-sanitization.svg new file mode 100644 index 0000000..ded7bc9 --- /dev/null +++ b/validation-and-sanitization.svg @@ -0,0 +1,44 @@ +APIClientPOSTValidate inputData storeGETSanitize and displayOutputInput \ No newline at end of file