From c3125f7ab12f57f234c2787a4bbcff8fe0cb9d31 Mon Sep 17 00:00:00 2001 From: michaelfromyeg Date: Sat, 4 Nov 2023 04:00:52 +0000 Subject: [PATCH] deploy: d0d7b53245477f9687363d6b58f01a3067ae00df --- 404.html | 2 +- categories/index.html | 2 +- index.html | 2 +- index.xml | 2 +- ....0720ae581491d9261f7ad7d48ff6c1f7.min.json | 1 + ....78ac9669e390e1790fbb12a536119b16.min.json | 1 - joplin/2023s-course-planning/index.html | 2 +- joplin/dragonfly-2023-10-11/index.html | 2 +- .../index.html | 2 +- joplin/gemz/index.html | 2 +- joplin/hong-kong/index.html | 2 +- joplin/index.html | 4 +-- joplin/index.xml | 2 +- joplin/insert-interval/index.html | 2 +- joplin/learn-you-some-erlang/index.html | 2 +- joplin/lecture-24-2023-11-03/index.html | 20 ++++++++++++ .../life-explained-in-27-seconds/index.html | 2 +- .../index.html | 2 +- joplin/page/2/index.html | 4 +-- joplin/page/3/index.html | 4 +-- joplin/philippines-brainstorm/index.html | 2 +- joplin/philippines/index.html | 2 +- joplin/quiz-1/index.html | 2 +- joplin/quiz-2/index.html | 2 +- joplin/quiz-4/index.html | 2 +- joplin/rapviz/index.html | 2 +- joplin/sure-journal/index.html | 2 +- joplin/the-flesh-of-polar-codes/index.html | 2 +- .../index.html | 2 +- joplin/vietnam/index.html | 2 +- joplin/we-choose-to-go-to-the-moon/index.html | 2 +- joplin/worksheet-9-2023-11-02/index.html | 2 +- linkmap | 31 ++++++++++--------- notes/index.html | 2 +- notes/non-joplin-note/index.html | 2 +- sitemap.xml | 2 +- tags/index.html | 2 +- 37 files changed, 73 insertions(+), 52 deletions(-) create mode 100644 indices/contentIndex.0720ae581491d9261f7ad7d48ff6c1f7.min.json delete mode 100644 indices/contentIndex.78ac9669e390e1790fbb12a536119b16.min.json create mode 100644 joplin/lecture-24-2023-11-03/index.html diff --git a/404.html b/404.html index 84aadd5b807b2..53f198c689306 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - diff --git a/categories/index.html b/categories/index.html index 26b6743153f18..7761b08f9e06f 100644 --- a/categories/index.html +++ b/categories/index.html @@ -9,7 +9,7 @@ - diff --git a/index.html b/index.html index 373e79e32799e..4eb381af48e65 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - diff --git a/index.xml b/index.xml index edfe3b9b56bfd..be328758c4ce0 100644 --- a/index.xml +++ b/index.xml @@ -1 +1 @@ -Michael's Digital Garden onhttps://garden.michaeldemar.co/Recent content in Michael's Digital Garden onHugo -- gohugo.ioen-usWorksheet 9 (2023-11-02)https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Thu, 02 Nov 2023 19:46:09 +0000https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Quiz 4https://garden.michaeldemar.co/joplin/quiz-4/Wed, 01 Nov 2023 21:57:24 +0000https://garden.michaeldemar.co/joplin/quiz-4/Dragonfly (2023-10-11)https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Wed, 11 Oct 2023 20:07:51 +0000https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Quiz 2https://garden.michaeldemar.co/joplin/quiz-2/Wed, 04 Oct 2023 18:00:32 +0000https://garden.michaeldemar.co/joplin/quiz-2/Quiz 1https://garden.michaeldemar.co/joplin/quiz-1/Tue, 19 Sep 2023 22:28:43 +0000https://garden.michaeldemar.co/joplin/quiz-1/Learn You Some Erlanghttps://garden.michaeldemar.co/joplin/learn-you-some-erlang/Thu, 07 Sep 2023 16:24:22 +0000https://garden.michaeldemar.co/joplin/learn-you-some-erlang/Longest Substring Without Repeating Charactershttps://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Wed, 02 Aug 2023 01:59:50 +0000https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Gemzhttps://garden.michaeldemar.co/joplin/gemz/Mon, 03 Jul 2023 18:58:12 +0000https://garden.michaeldemar.co/joplin/gemz/We Choose to go to the Moonhttps://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Mon, 03 Jul 2023 18:57:54 +0000https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Life Explained in 27 Secondshttps://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/Mon, 03 Jul 2023 18:57:10 +0000https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/The Unofficial Goldman Sachs Guide To Being A Manhttps://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/Mon, 03 Jul 2023 18:56:14 +0000https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/The Flesh of Polar Codeshttps://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/Mon, 03 Jul 2023 18:55:49 +0000https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/A notehttps://garden.michaeldemar.co/notes/non-joplin-note/Mon, 03 Jul 2023 04:42:59 +0000https://garden.michaeldemar.co/notes/non-joplin-note/A note This is a not created manually (i.e., not from Joplin Garden Worker).RapVizhttps://garden.michaeldemar.co/joplin/rapviz/Wed, 28 Jun 2023 18:32:20 +0000https://garden.michaeldemar.co/joplin/rapviz/Insert Intervalhttps://garden.michaeldemar.co/joplin/insert-interval/Fri, 16 Jun 2023 00:44:43 +0000https://garden.michaeldemar.co/joplin/insert-interval/SURE Journalhttps://garden.michaeldemar.co/joplin/sure-journal/Fri, 12 May 2023 17:51:23 +0000https://garden.michaeldemar.co/joplin/sure-journal/2023S Course Planninghttps://garden.michaeldemar.co/joplin/2023s-course-planning/Thu, 20 Apr 2023 04:42:59 +0000https://garden.michaeldemar.co/joplin/2023s-course-planning/Elegant Compression in Text (The LZ 77 Method), Computerphilehttps://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Tue, 04 Apr 2023 10:41:49 +0000https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Vietnamhttps://garden.michaeldemar.co/joplin/vietnam/Sun, 02 Apr 2023 09:35:53 +0000https://garden.michaeldemar.co/joplin/vietnam/Hong Konghttps://garden.michaeldemar.co/joplin/hong-kong/Sun, 02 Apr 2023 01:36:59 +0000https://garden.michaeldemar.co/joplin/hong-kong/Philippineshttps://garden.michaeldemar.co/joplin/philippines/Sun, 19 Mar 2023 08:14:39 +0000https://garden.michaeldemar.co/joplin/philippines/Philippines, Brainstormhttps://garden.michaeldemar.co/joplin/philippines-brainstorm/Mon, 13 Mar 2023 09:16:17 +0000https://garden.michaeldemar.co/joplin/philippines-brainstorm/ \ No newline at end of file +Michael's Digital Garden onhttps://garden.michaeldemar.co/Recent content in Michael's Digital Garden onHugo -- gohugo.ioen-usLecture 24 (2023-11-03)https://garden.michaeldemar.co/joplin/lecture-24-2023-11-03/Fri, 03 Nov 2023 19:03:55 +0000https://garden.michaeldemar.co/joplin/lecture-24-2023-11-03/Worksheet 9 (2023-11-02)https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Thu, 02 Nov 2023 19:46:09 +0000https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Quiz 4https://garden.michaeldemar.co/joplin/quiz-4/Wed, 01 Nov 2023 21:57:24 +0000https://garden.michaeldemar.co/joplin/quiz-4/Dragonfly (2023-10-11)https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Wed, 11 Oct 2023 20:07:51 +0000https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Quiz 2https://garden.michaeldemar.co/joplin/quiz-2/Wed, 04 Oct 2023 18:00:32 +0000https://garden.michaeldemar.co/joplin/quiz-2/Quiz 1https://garden.michaeldemar.co/joplin/quiz-1/Tue, 19 Sep 2023 22:28:43 +0000https://garden.michaeldemar.co/joplin/quiz-1/Learn You Some Erlanghttps://garden.michaeldemar.co/joplin/learn-you-some-erlang/Thu, 07 Sep 2023 16:24:22 +0000https://garden.michaeldemar.co/joplin/learn-you-some-erlang/Longest Substring Without Repeating Charactershttps://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Wed, 02 Aug 2023 01:59:50 +0000https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Gemzhttps://garden.michaeldemar.co/joplin/gemz/Mon, 03 Jul 2023 18:58:12 +0000https://garden.michaeldemar.co/joplin/gemz/We Choose to go to the Moonhttps://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Mon, 03 Jul 2023 18:57:54 +0000https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Life Explained in 27 Secondshttps://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/Mon, 03 Jul 2023 18:57:10 +0000https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/The Unofficial Goldman Sachs Guide To Being A Manhttps://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/Mon, 03 Jul 2023 18:56:14 +0000https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/The Flesh of Polar Codeshttps://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/Mon, 03 Jul 2023 18:55:49 +0000https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/A notehttps://garden.michaeldemar.co/notes/non-joplin-note/Mon, 03 Jul 2023 04:42:59 +0000https://garden.michaeldemar.co/notes/non-joplin-note/A note This is a not created manually (i.e., not from Joplin Garden Worker).RapVizhttps://garden.michaeldemar.co/joplin/rapviz/Wed, 28 Jun 2023 18:32:20 +0000https://garden.michaeldemar.co/joplin/rapviz/Insert Intervalhttps://garden.michaeldemar.co/joplin/insert-interval/Fri, 16 Jun 2023 00:44:43 +0000https://garden.michaeldemar.co/joplin/insert-interval/SURE Journalhttps://garden.michaeldemar.co/joplin/sure-journal/Fri, 12 May 2023 17:51:23 +0000https://garden.michaeldemar.co/joplin/sure-journal/2023S Course Planninghttps://garden.michaeldemar.co/joplin/2023s-course-planning/Thu, 20 Apr 2023 04:42:59 +0000https://garden.michaeldemar.co/joplin/2023s-course-planning/Elegant Compression in Text (The LZ 77 Method), Computerphilehttps://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Tue, 04 Apr 2023 10:41:49 +0000https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Vietnamhttps://garden.michaeldemar.co/joplin/vietnam/Sun, 02 Apr 2023 09:35:53 +0000https://garden.michaeldemar.co/joplin/vietnam/Hong Konghttps://garden.michaeldemar.co/joplin/hong-kong/Sun, 02 Apr 2023 01:36:59 +0000https://garden.michaeldemar.co/joplin/hong-kong/Philippineshttps://garden.michaeldemar.co/joplin/philippines/Sun, 19 Mar 2023 08:14:39 +0000https://garden.michaeldemar.co/joplin/philippines/Philippines, Brainstormhttps://garden.michaeldemar.co/joplin/philippines-brainstorm/Mon, 13 Mar 2023 09:16:17 +0000https://garden.michaeldemar.co/joplin/philippines-brainstorm/ \ No newline at end of file diff --git a/indices/contentIndex.0720ae581491d9261f7ad7d48ff6c1f7.min.json b/indices/contentIndex.0720ae581491d9261f7ad7d48ff6c1f7.min.json new file mode 100644 index 0000000000000..54c41cd3f2594 --- /dev/null +++ b/indices/contentIndex.0720ae581491d9261f7ad7d48ff6c1f7.min.json @@ -0,0 +1 @@ +{"/":{"title":"Michael's Digital Garden","content":"\nWelcome to my digital garden! 🧑‍🌾🌱\n\n- This project is based on [Quartz](https://github.com/jackyzha0), a wonderful digital garden tool\n- It leverages [joplin-garden-worker](https://github.com/benlau/joplin-garden-worker) to source my notes from [Joplin](https://joplinapp.org/)\n- It's still verymuchso a work-in-progress; let me know if you find typos or bugs!\n\nHere are a few collections you can take a look at to get started.\n\n- [joplin](./joplin/), a subset of the notes I've taken in [Joplin](https://joplinapp.org)\n - (...be warned: it's a mess!)\n- [notes](./notes/), other loose ends and tidbits\n\nEnjoy!\n","lastmodified":"2023-11-04T04:00:50.712103516Z","tags":[]},"/joplin/2023s-course-planning":{"title":"2023S Course Planning","content":"\n# 2023S Course Planning\n\n## Degree\n\n### Credits Requirements\n\n- [ ] 132 total (108 current)\n - 24 credits; 8 courses\n - (Covered by LING 3XX \\[exchange\\], CPSC 3XX \\[exchange\\], CPSC 404 \\[exchange\\], CPSC 449 \\[5th-year, x2\\], +3 more courses)\n - Need to check double dipping with minor\n- [x] 72 Science\n- [ ] ~~48~~ 60 upper-level (28 current)\n - 32 credits; 10.67 courses\n - (Covered by exchange and fifth-year courses; all Science except for LING 3XX)\n- [ ] ~~42~~ 54 upper-level science (25 current)\n - 29 credits; 9.67 courses\n - (Covered by exchange and fifth-year courses)\n- [x] 1 laboratory\n\n### Other Requirements\n\n- [x] 6 communication\n- [x] 12 arts\n\n## Major\n\n- First year\n - [x] CPSC 110\n - [x] CPSC 121\n - [x] MATH 100\n - [x] MATH 101\n- Second year\n - [x] CPSC 210\n - [x] CPSC 213\n - [x] CPSC 221\n - [x] MATH 200\n - [x] MATH 221\n - [x] STAT 200 (or STAT 201)\n- Third and fourth years\n - [x] CPSC 310\n - [x] CPSC 313\n - [x] CPSC 320\n - [x] CPSC 349\n - [ ] CPSC 449\n - [x] STAT 302\n - [ ] CPSC 3XX, 12 credits (6 current)\n - Covered by CPSC 3XX on exchange\n - Will also take CPSC 340\n - [ ] CPSC 4XX, 9 credits (3 current)\n - Covered by CPSC 404 on exchange\n - (Can also take CPSC 440)\n\n## Minor\n\nData Science\n\nLower-level\n\n- [x] Data Science: DSCI 100.\n- [x] Statistical Inference: STAT 201.\n- [x] Programming: One of CPSC 203, CPSC 210, CPEN 221. For most non-CS majors, we recommend taking CPSC 203 (and selecting CPSC 103 as the prereq for 203).\n- [x] Calculus: One of MATH 100, MATH 102, MATH 104, MATH 110, MATH 120, MATH 180, MATH 184, SCIE 001.\n\nUpper-level\n\n- [ ] Statistical inference: STAT 301\n- [x] Machine learning: CPSC 330\n- [ ] Ethics: CPSC 430\n- Three of the following five options:\n - [x] Reproducible data science: DSCI 310\n - [ ] Data visualization: DSCI 320\n - [ ] Cloud computing and big data: CPSC 416\n - [x] Databases: One of CPSC 368, CPSC 304, COMM 437\n - [ ] Discipline-specific data science courses: One of COMM 335, COMM 365, COMM 414, COMM 415, CPSC 322, CPSC 340, CPSC 406, ECON 398, ECON 425, EOSC 410, INFO 419, LING 342, MATH 441, MATH 442, MICB 405, MICB 425, PHYS 410, PSYC 359, STAT 406, STAT 447B, STAT 450.\n\nNeed: STAT 301, CPSC 430, (DSCI 310 or DSCI 320), (CPSC 416 or ~~LING 342~~)\n\n~~CPSC 430 can double dip, and CPSC 416 can double dip. Only 6 credits maximum.~~ CPSC 310 and CPSC 330 double dip.\n\n## Schedule\n\n- 7.67 (8) upper level\n- 7.67 (8) upper level Science\n\nSo, 4+4.\n\n### Term 1\n\n- CPSC 449 (major) :: ok, not yet schedued\n- CPSC 340 (major) :: ok\n- STAT 301 (minor), must take term 1 (conflicts with CPSC 440) and only one tutorial :: ok\n- CPSC 430 (minor), only term 1 :: ok, but stacks with STAT 301\n- ~~+ PL? (CPSC 311)~~\n\nSelf-teach: CPSC 311, using [Programming Languages: Application and Interpretation](https://www.plai.org).\n\n### Term 2\n\n- CPSC 449 (major) :: ok, not yet scheduled\n- CPSC 4XX (major), 440 a good candidate :: ok\n- CPSC 416 (minor) :: only term 2 (and 8am TTh...) :: grr\n - Also: 322\n - Alternates: CPSC 322, ECON 398 (if ECON 102), INFO 419, ~~LING 342~~, MATH 441, MATH 442, STAT 406, STAT 447B, STAT 450\n- - Cr/D/F (CPSC 411)\n\nCPSC 4XX (SDS)\n\nSelf-teach: CPSC 411, using ?.\n\n(+1 courses for overall requirement; can CrDF?)\n\nNotes\n\n- Need to re-validate all graduation requirements\n- Need to check minimum credits for awards (24 percentage-graded; honours minimum?)\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/dragonfly-2023-10-11":{"title":"Dragonfly (2023-10-11)","content":"\n# Dragonfly\n\n...and the frontier supercomputer.\n\nTablet's dead.\n\n- It's easy to build a high-radix crossbar\n- Mix in optical; high fixed cost, good for long distances\n- Shorter routing; move across all groups\n- Routers can connect to local processors, other routers (within group), other groups\n- A balanced network\n - Assuming $a \\cdot h$ connections to other routers ($\\approx g$)\n - Assume random, (uniform) traffic\n - Each router receives a packet; sends to one of $a-1$ routers; each receives $\\frac{a-1}{a}h$ messages; we'll approximate as $h$\n - (Analysis for number of processors; Dragonfly parameters)\n- Routing\n- Bandwidth\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/elegant-compression-in-text-the-lz-77-method-computerphile":{"title":"Elegant Compression in Text (The LZ 77 Method), Computerphile","content":"\n# Elegant Compression in Text (The LZ 77 Method)\n\nhttps://www.youtube.com/watch?v=goOa3DGezUA\n\n- Invented by Lempel and Ziv\n- An initial idea: store a dictionary at the top of the file, and point to uses\n- A typical LZ compressor works through the text; look for recurring sequences of characters\n - Re-use these sequences as much as possible\n - No overt dictionary, but re-uses items **in place**\n - e.g., it remembers \"computer\" in \"computerphile\"; when \"computer\" re-appears, replace with a composite pointer\n - Composite pointer points to start of phrase, and notes length\n - Pointer notation is `\u003cj, l\u003e`\n - `j` is a relative jump\n - `l` is the length (number of characters to read)\n - (Note this is just friendly notation to better understand the algorithm)\n - Shifts from N-bytes of text to (at minimum) 2-bytes of `\u003cj, l\u003e`\n - (In reality, not many situations where long words are repeated again and again... typically focus on long jump back with shorter strings)\n - Instead of a `j` 8-bit and `l` 8-bit split, maybe 12 for `j` instead (...still 2-bytes total)\n - This would give a 4096 jump with to a maximum 16-length string\n - Algorithm constantly working on dictionary\n - Even with simple algorithm, many byte value becomes 2-byte pointer\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/gemz":{"title":"Gemz","content":"\n# Gemz\n\n[Link](https://gemz.community/)\n\nMeta.\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/hong-kong":{"title":"Hong Kong","content":"\n# Hong Kong\n\n## Bookmarks\n\n- [Check Inn HK](https://www.checkinnhk.com)\n\n## Advice\n\nGet an Octopus card!\n\n## Food\n\nDim Sum! [Here](https://asiasociety.org/reference/what-dim-sum-beginners-guide-south-chinas-traditional-brunch-meal) is a guide.\n\n## Activities\n\nThe true 'essentials' are covered [here](https://www.discoverhongkong.com/eng/explore/iconic-hong-kong-experiences.html).\n\n- Quarry Bay 'Monster Building' (done!)\n- Kowloon\n - Un Chau Estate, Flower Tunnel \\[Kowloon\\]\n - Chungking Mansions\n - Kowloon Walled City Park\n - The Whampoa\n- A Sky Full of Gods and Buddhas (at Waterfall Bay Park) -- definite maybe!\n- Tian Tan Buddha\n - Access with Ngong Ping 360\n- ~~Lam Tsuen Wishing Trees (...far north)~~\n- ~~Cheung Po Tsai Pirate Cave~~\n- Central-Mid-Levels Escalators\n- Temples: Wong Tai Sin Temple, Man Mo Temple Complex (done), Miu Fat Buddhist Monastery, Lo Pan Temple, Sha Tin Che Kung Temple, Yuen Yuen Institute\n- Noonday Gun\n- Sun Hing Restaurant\n- Old Tai O Police Station\n- HSBC Building, Feng Shui Cannons\n- Horse racing\n- Hiking: The Peak (or tram), Lion Rock, Dragon's back\n- Dim Sum tour\n- Star Ferry (...to Kowloon, and back)\n- Markets: Ladies Market, Temple Street Night Market, Stanley Market (tomorrow)\n- Lan Kwai Fong (\"LKF\"): 001, Solas, Dragon I, 6 Degrees (done!)\n\nOpt to skip Macau.\n\n## Itinerary\n\n### Day 1\n\n- Date: Monday, April 3rd\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=2); cloudy\n\nArrive in HK, check-in to hostel. Grab lunch, check out the [Noonday Gun](https://www.atlasobscura.com/places/noonday-gun) (hopefully for 12pm!) Causeway Bay area, Monster building. (Explore stuff \"to the right.\")\n\nHead back to work on CS3236 paper; grab a quick dinner when needed. Can walk over and view Symphony of Lights show at 8pm onward.\n\nActual: check-in, Monster Building, Quarry Bay Promenade, Lockhart Market (lunch), couple of British pubs (and pub trivia) in the evening (...followed up by a CSA call).\n\n### Day 2\n\n- Date: Tuesday, April 4th\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=3); rainy\n\nStart the day with more dim sum. More work (and hopefully wrap-up) on CS3236 paper.\n\nCan maybe check out Waterfall Bay Park. Maybe toss in a night market. (Explore stuff \"to the left.\") Can start in the early evening, catch sunset, then back to work for a bit.\n\nConsider squeezing in the peak on this day, too.\n\nActual: go for nice breakfast at a cafe, work. Can check out HSBC Building (1 Queen's Road), Central-Mid-Levels escalators, ferry area / Sun Yat Sen Memorial Park.\n\nFor dinner, try to do Stanley Market. Can go for sunset. Can go a bit early and catch Rhino Rock as well.\n\n### Day 3\n\n- Date: Wednesday, April 5th\n- Location: Hong Kong\n- Highlights: Spend the day with Jacky; horse racing\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=4); mostly hot\n\n**On Thursday** do this instead. Do The Peak early in the morning.\n\nJacky will take care of most of this one; will spend the day chilling, and end it off with horse racing. Should be fun!\n\nWalking tour of Kowloon? Loop Kowloon (Walled City) Park, History Museum, Avenue of Stars, catch Symphony of Lights show.\n\nOther ideas: Un Chau Estate, The Whampoa, Chungking\n\n### Day 4\n\n- Date: Thursday, April 6th\n- Location: Hong Kong\n- Highlights: Lantau Island\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=5); mostly sunny\n\nWake up early and head to Lantau Island. Go via cable car (preferable; faster... this is Ngong Ping 360) or ferry (slower; more scenic). See the Tian Tan Buddha, stroll down the Wisdom Path (very cool) to the Po Lin Monastery. Then check out Tai O (a traditional fishing village).\n\n~~Head back to HK, and take the tram up to The Peak. (Or, do Sunset Peak.) Time it for sunset.~~ Go to Stanley market instead, since the weather is poor (no point in peak). If weather is nice, maybe do The Peak.\n\nCan do some work and chill after!\n\nTODO: this day Wednesday instead. Horse racing / Kowloon moved to Thursday.\n\n### Day 5\n\n- Date: Friday, April 7th\n- Location: Hong Kong\n- Highlights: A bit more exploring HK; spend the night out\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=6); cloudy, a bit rainy\n\nMight be a good day to do Dragon's Back. Ask hostel if I can leave bag for the day.\n\nLast day in HK. Do laundry early, pack-up, and do some work. Need to be at airport at ~10pm, so can't go out for too long.\n\nArrive in Vietnam ~1am.\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/insert-interval":{"title":"Insert Interval","content":"\n# Insert Interval\n\nYou are given an array of non-overlapping intervals intervals where `intervals[i] = [start_i, end_i]` represent the start and the end of the `ith` interval and `intervals` is sorted in ascending order by `start_i`. You are also given an interval `newInterval = [start, end]` that represents the start and end of another interval.\n\nInsert `newInterval` into `intervals` such that `intervals` is still sorted in ascending order by `start_i` and `intervals` still does not have any overlapping intervals (merge overlapping intervals if necessary).\n\nReturn `intervals` after the insertion.\n\ne.g.,\n\n```\nInput: intervals = [[1,3],[6,9]], newInterval = [2,5]\nOutput: [[1,5],[6,9]]\n```\n\n```\nInput: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]\nOutput: [[1,2],[3,10],[12,16]]\nExplanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].\n```\n\nIdea?\n\n- Find the first interval that the lower-bound of `newInterval` fits into\n- Continue to combine it with subsequent intervals, replacing those intervals\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/learn-you-some-erlang":{"title":"Learn You Some Erlang","content":"\n# Learn You Some Erlang\n\n- Erlang is functional\n- Erlang has an \"actor model\"; each actor is a separate process in a VM\n- You pass messages between actors; communication is explicit\n- Erlang runs in a VM; like Java, can run anywhere\n- The cons...\n\n - Processes are lightweight, but not infinitesimally small\n\n- Getting started\n - `erl`\n - (Skipping the shell commands bit...)\n - Numbers\n - Expressions terminated with `.` (then whitespace, i.e., ` \\n\\t`)\n - Integers and floats handled \"gracefully\" (`div` exists for integer-integer division)\n - `\u003cbase\u003e#\u003cvalue\u003e` is a way to write a number in a different base\n - Variables\n - They're **invariable**\n - Begin with an uppercase letter\n - The `=` operator does do comparison; will throw exception is unequal\n - (...but can do binding if LHS is unbound)\n - The `=` operator is the basis of \"pattern matching\"\n - Atoms\n - Comparison operators\n - Note a total ordering exists between types, namely `number \u003c atom \u003c reference \u003c fun \u003c port \u003c pid \u003c tuple \u003c list \u003c bit string`\n - Tuples\n - Lists\n - (Erlang sucks at strings because of this...)\n - Pattern matching, built-ins\n - `[Head | Tail]`\n - `hd`, `tl`\n - List comprehensions\n - ${x \\in \\mathbb{R} : x = 2x}$ becomes `[2*X || X \u003c- [...], \u003cN generator expressions\u003e, X =:= 2, \u003cM constraints\u003e]` (written generally for learning)\n - Binary data\n - Enclosed in `\u003c\u003c`, `\u003e\u003e`\n - `Var:24` implies 24 bits of data\n - `Value`, `Value:Size`, `Value/TypeSpecifierList`, `Value:Size/TypeSpecifierList`\n - `TypeSpecifierList` is like `type-signedness-endianness-unit`\n - Unit is to do with the size of each segment, in bits (1-256)\n - Binary comprehensions exist\n- Modules\n - All Erlang code is in modules\n - `\u003cmodule-name\u003e:\u003cfunction\u003e`\n - Is declared in the file itself\n - Compile code via `erlc` or `c(...)` in the shell\n- Function syntax\n - Can \"overload\" function with multiple parameter lists\n - `|` is the cons operator\n - On top of pattern matching in function arguments, also guards\n - e.g., `function my_function(X) when X \u003e 0 -\u003e ...`\n - Can chain logic via `;` (or) or `,` (and)\n - If-else\n - Else becomes the 'true' branch\n - case...of\n - Switch statements\n- Types\n - Dynamic typing; strongly typed (no implicit conversions)\n - `is_\u003ctype\u003e` functions, and `\u003ctype\u003e_to_\u003ctype\u003e` functions\n- Recursion\n\n - A few basic examples...\n - Tail recursion via an accumulator\n - e.g., `tail_fac(N,Acc) when N \u003e 0 -\u003e tail_fac(N-1, N*Acc)`\n - (Only export the 1 argument factorial)\n - You often need to reverse the result of tail recursive calls, i.e., `lists:reverse`\n\n - (I don't really get the `++` thing... need to ask Mark)\n\n Namely,\n\n ```erlang\n reverse([]) -\u003e [];\n reverse([H|T]) -\u003e reverse(T)++[H].\n ```\n\n - TODO: make a tail recursive zip, lenient zip\n - Quicksort\n - Trees\n\n- Higher-order functions\n - Passing functions around as \"arguments\"\n - `fun Module:Function/Arity`\n - Anonymous functions: `fun(Args1) -\u003e Expression1;`\n - Inheritance from parent to \"child\" functions (e.g., an anonymous function inside)\n - Map, filters, folders\n - Fold is the most basic; can build reverse, map, filter\n - Many cool list methods [here](http://erldocs.com/18.0/stdlib/lists.html)\n- Errors\n - A compilation of common errors\n - Errors, exists, and throws (intentional, handled)\n - Try, catch, after (not finally)\n- Functionally Solving Problems\n - Reverse Polish Notation Calculator\n - Uses a stack\n - Heathrow to London\n - Left as exercise\n- Data Structures\n - Records\n - Dictionaries; key-value stores\n - Arrays\n - Sets\n - Graphs\n - Queues\n- Concurrency\n - (Mostly conceptual...)\n - Amdahl's law\n - Message passing operator, `!` (\"bang\")\n - `receive` keyword\n - Gets from; can send message _back_ to the PID\n - `spawn/3`\n- More on multiprocessing\n - Can leverage recursion for future calls; taking from a fridge as an example\n - Wrappers around \"!\"s with `store`, `take`, etc., helpers\n - `receive`s pick out of a mailbox; if not matched, just left\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/lecture-24-2023-11-03":{"title":"Lecture 24 (2023-11-03)","content":"\n# Lecture 24\n\nMLE, MAP.\n\n(Some notes. Tablet was dead.)\n\n- Announcements\n- TODOs\n\n - Make a hand-written version\n\n- Maximize probability p(D | w) for a data set D, parameter w\n- This turns into minimizing the loss function\n - We use negative log-likelihood, since multiplication (independent events) becomes addition, and minimization problem (by negative)\n - Also, probabilities are super tiny, so log fixes this (i.e., no floating point issues)\n - We assume errors distributed normally; with a bit of re-arrangement, we go from $p(\\epsilon_i)$ to $p(y_i | x_i, w)$\n - Or, the prediction has a center and variance\n - Since we're focused on $y$ given $X$, discriminative; no modelling for $X$\n - Versus naive Bayes\n - If we do Laplace error, instead of Gaussian (i.e., normal), then we recover absolute error\n - (Tails correspond to tolerance for outliers; Laplace error has skinnier tails)\n - Transformation of \"$o_i$\" to a probability\n- MAP\n - Instead estimate p(w | D) = p(D | w)P(w) / P(D) prop P(D | w)P(w)\n - Same as MLE, but now P(w) our prior; express our belief in $w$ itself, the model\n - Becomes our regularizer; goes from product to sum, as expected\n - Regularizer is negative log prior\n - Negative log takes use from nasty probability statement to convenient L2-norm sum\n - There is a choice of $\\sigma$ here, unlike with MLE\n- Summary\n- Nod to fully-Bayesian methods\n- MLE, MAP handles ordinal data, counts, survival analysis, unbalanced classes\n- (This lecture is really just a probabilistic re-imagining, or justification, of ideas we've already seen)\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/life-explained-in-27-seconds":{"title":"Life Explained in 27 Seconds","content":"\n# Life Explained in 27 Seconds\n\n[Link](https://www.youtube.com/watch?v=L9VBpbnXhWk\u0026feature=youtu.be)\n\nI love Casey's view of life so much.\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/longest-substring-without-repeating-characters":{"title":"Longest Substring Without Repeating Characters","content":"\n# Longest Substring Without Repeating Characters\n\nLeetCode medium. [Source](https://leetcode.com/problems/longest-substring-without-repeating-characters/description/).\n\n## Problem\n\nGiven a string s, find the length of the longest substring without repeating characters.\n\n```plaintext\nInput: s = \"abcabcbb\"\nOutput: 3\nExplanation: The answer is \"abc\", with the length of 3.\n```\n\n```plaintext\nInput: s = \"bbbbb\"\nOutput: 1\nExplanation: The answer is \"b\", with the length of 1.\n```\n\n```plaintext\nInput: s = \"pwwkew\"\nOutput: 3\nExplanation: The answer is \"wke\", with the length of 3.\nNotice that the answer must be a substring, \"pwke\" is a subsequence and not a substring.\n```\n\n## Solution\n\nThis was my first correct solution, as-is. Definitely a _lot_ of room for clean-up; I really hate the double-`while`.\n\n```python\nclass Solution:\n def lengthOfLongestSubstring(self, s: str) -\u003e int:\n \"\"\"\n If s[a:b] has no repeating characters, and s[b:c] has no repeating characters,\n then all we have to do is compare the two strings.\n\n Could we do this iteratively? i.e., build up the longest possible string\n\n It's a substring, so must be consecutive, limiting our space\n\n take abcabcbb\n\n a b c a b c b b -- all single character strings are of course non-repeating\n abc*a* b c b b -- the first a can merge right...\n\n Sliding window -- right side moves fast, left side moves slow\n\n Take the example\n\n a b c a b c b b\n abca b c b b\n a bcab c b b\n a b cabc b b\n a b c abcb b\n a b c a b cbb (done)\n\n or the third example\n\n pwwkew\n p w w k e w\n pww k e w\n p w wkew\n p w w kew (done)\n\n custom\n\n abccabcbb\n a b c c a b c b b\n abcc a b c b b\n a b c cabc ... ok now I get it\n \"\"\"\n n = len(s)\n if n == 0 or n == 1:\n return n\n\n left = 0\n right = 1\n\n # character (in s), index of that character\n current_chars: dict[str, int] = {}\n current_chars[s[0]] = 0\n\n current_max = 0\n\n while right \u003c n:\n while right \u003c n and s[right] not in current_chars:\n current_chars[s[right]] = right\n right += 1\n\n current_max = max(current_max, right - left)\n\n if right == n:\n break\n\n new_left = current_chars[s[right]] + 1\n\n for c in s[left : new_left]:\n del current_chars[c]\n\n left = new_left\n\n\n return current_max\n```\n\nThe moral? A substring is 'contiguous' in the string. So what pattern does that beg? A 'sliding window' or two-pointer approach.\n\nWe have a leading pointer that greedily captures new characters so long as they're not in our candidate substring.\n\nIf we hit a character that's in our current substring, we jump the slow point to the next character that fixes this condition, i.e., the character after the occurrence of this would-be repeated character.\n\nTrack the maximums throughout this.\n\nDone!\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/philippines":{"title":"Philippines","content":"\n# Philippines\n\n## Bookmarks\n\n- [Cebu Pacific, Baggage](https://cebupacificair.com/pages/travel-info/baggage-information/carry-on-baggage)\n\n## Itinerary\n\nHopefully the final one.\n\nRIP Palawan. For another lifetime (i.e., hopefully in a few years).\n\n### Day 1\n\n- Date: Thursday, March 23rd\n- Location: Cebu City, Cebu, Philippines (and Mactan Island)\n- Highlights: Depart for Cebu City, dive on Mactan Island\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nLeave for Cebu City at 1am from Singapore via Cebu Pacific 5J 548 (CA$163). Arrive around 5:15am. [Here](https://google.com/travel/flights/booking?tfs=CBwQAhpKagwIAxIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMXBfbHkiHwoDU0lOEgoyMDIzLTAzLTIzGgNDRUIqAjVKMgM1NDhwAYIBCwj___________8BQAFIAZgBAg\u0026tfu=CmhDalJJWmtoemJXMUlhbGROUzJ0QlVHcFVkSGRDUnkwdExTMHRMUzB0TFhCbVozVTBNVUZCUVVGQlIxRlhkWGxaVFVSUVVrRkJFZ1UxU2pVME9Cb0tDUEYrRUFJYUEwTkJSRGdjY0pGYxICCAEiCAoGeEdya0Fl)'s the flight booking.\n\nWe can stay in a hostel on Mactan and dive in the area. Here's an [article](https://www.divescotty.com/scuba-diving/diving-mactan-cebu.php) about dive sites in the area.\n\nDive sites considered include Oceanplayer Dive (oceanplayer@naver.com), Sidive Diving Center, Scotty's Dive Center (divestaff@divescotty.com).\n\nAfter diving, head to Cebu Backpacker's Hostel. It's close to the ferry for the morning.\n\n### Day 2\n\n- Date: Friday, March 24th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Depart for Bohol by ferry, then spend the day exploring Bohol\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=6)\n\nExplore the island for the day, on our own. Chocolate Hills is the main highlight.\n\n[Here](https://www.bookaway.com/s/philippines/cebu-to-bohol?departuredate=2023-03-24\u0026passengers=1)'s the link to the ferry. Take it from Cebu Pier 1 to the Tagbilaran City.\n\n[Here](https://www.tripadvisor.co.uk/ExternalLinkInterstitial?redirectTo=http%3A%2F%2Fwww.motorcyclerentalphilippines.com%2Fcategory%2Fmotorcycle-scooter-hire-locations-philippines%2F) is a website for motorbike rentals.\n\nStay near [Bohol Diver's](https://www.alonaboholdiversclub.com/) (info@boholdivers.com). Or Tropical Divers Dive Center (tropicaldiversalona@gmail.com), or Sierra Madre Divers Dive Centre (info@smdiversbohol.com), or Seaquest Dive Center (info@seaquestdivecenter.com). All roughly in the same area.\n\nCould consider staying at [Mad Monkey](https://www.hostelworld.com/pwa/hosteldetails.php/Mad-Monkey-Panglao/Panglao-Island/316595?from=2023-03-24\u0026to=2023-03-26\u0026guests=2); it is within walking distance. Staying at the dive center is also reasonable.\n\nWhen we arrive in Bohol, head straight to our hostel, drop our things, and go explore for the day. Can use a combination of grab and rented scooter to get around.\n\nSites to hit: Chocolate Hills (ends 5:30pm), Loboc River (can do cruise, ends 2:30pm), butterfly sanctuary, tarsier (monkey; ends 5pm), Bilar manmade forest, Baclayon Church and Museum, Sandugo (Blood Pact Shrine).\n\nATV ride? (Can do near Bohol.)\n\n#### Day 3\n\n- Date: Saturday, March 25th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Dive on Bohol (and specifically, Panglao); spend the night\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=7)\n\nA guide to dive sites in [Panglao](https://www.alonaboholdiversclub.com/scuba-diving-areas-in-bohol/dive-sites-in-panglao/).\n\nDive on day 2.\n\n### Day 4\n\n- Date: Sunday, March 26th\n- Location: Oslob, Cebu, Philippines\n- Highlights: Depart for Oslob in the morning, chill, then head to Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=8)\n\n[Here](https://book.phbus.com/en/travel/panglao/oslob?people=1\u0026date=2023-03-26\u0026direction=forward)'s the link to the ferry. It departs at 6:30am and arrives around 8am.\n\nCan do the whale shark activity. [Here]'s a guide to [Oslob Bay](https://guidetothephilippines.ph/articles/ultimate-guides/oslob-cebu-travel-guide). Here's some [more information](https://sugbo.ph/2022/whale-shark-oslob-cebu-guide/). We may have time after to do a waterfall or something.\n\nTo get to Moalboal, take [the bus](https://cebuvisayantravel.com/how-to-get-to-moalboal-from-oslob/).\n\nSpend the night in Moalboal. Some hostel options: [Chief Mau](https://www.hostelworld.com/pwa/hosteldetails.php/Chief-Mau-Moalboal-Cebu/Moalboal/271767?from=2023-03-22\u0026to=2023-03-23\u0026guests=0), Ananas, Maayong, Hangover.\n\n**Revision:** the ferry to Oslob broke down. We'll skip the whale shark watching and head for Moalboal tomorrow.\n\nIdeally, we could take the 6am ferry and cram canyoneering into the same day. Instead, only the ~8am ferry is bookable. Alas, we can still try to make canyoneering. If we don't, head to Moalboal and check out White Sand beach, Lambug beach, snorkel. On **day 2** in Moalboal, do canyoneering and snorkeling _instead_ of diving if we didn't do it on this day.\n\n### Day 5\n\n- Date: Monday, March 27th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend the day in Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=9)\n\n[Here](https://divehappy.com/diving-moalboal-philippines-a-quick-guide/)'s a guide to diving in Moalboal. For dive centers, emailed Dive Lab (handuck9@hotmail.com), Quo Vadis Dive Resort (booking@quovadisresort.com), Savedra Dive Center (info@savedra.com).\n\n[Here's](https://gretastravels.com/sardine-run-moalboal-turtles/) a guide to the sardine run.\n\n### Day 6\n\n- Date: Tuesday, March 28th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend another day in Moalboal!\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=10)\n\nConsider canyoneering, others. At Kawasan Falls.\n\nAt night, for Michael to make BKI, we'd have to go back to Cebu City. The flight is at 3am on Wednesday. Ideally back around 12am, so aim to leave Moalboal at 9pm. A bit later is OK.\n\nTODO: transit options? Last bus goes at 6pm. Can try and book through hostel.\n\n(Konstantin should stay an extra day and dive.)\n\n### Day 7\n\n- Date: Wednesday, March 29th\n- Location: Cebu City, Cebu, Philippines\n- Highlights: Depart for Kota Kinabalu.\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=11)\n\nDepart for Kota Kinabalu via a connection through Manila. Flight link is [here](https://www.google.com/travel/flights/booking?tfs=CBwQAhptag0IAxIJL20vMDFwX2x5EgoyMDIzLTAzLTI5cg0IAxIJL20vMDFfZzdmIiAKA0NFQhIKMjAyMy0wMy0yORoDTU5MKgJQUjIEMjgzNiIfCgNNTkwSCjIwMjMtMDMtMjkaA0JLSSoCWjIyAzUwMXABggELCP___________wFAAUgBmAEC\u0026tfu=CnRDalJJVXpKMVFrWjVVRzFVUzBsQlVHZEJWSGRDUnkwdExTMHRMUzB0TFhCbWFIZ3pOVUZCUVVGQlIxRlhkMFE0UVhJdE5FRkJFZ3hRVWpJNE16WjhXakkxTURFYUNnakdiUkFDR2dOVFIwUTRISERVVVE9PRICCAEiAA).\n\n### Day 8, 9 (Philippines)\n\nOne extra day can be spent in Moalboal, diving.\n\nFrom here, $\\text{Konstantin}^2$ can explore Cebu City (temple (??) of Leah, Cebu Taoist temple, eat at Larsian, Yap-Sandiego Ancestral house, Magellan's cross). North part of the island has many good activities, too.\n\n### Day 8, 9 (Malaysia)\n\nArrive in Kota Kinabalu and join Brian's transfer. See information [here](https://docs.google.com/document/d/1o_h8R3lBFw05wVenWvt-XY0y8LEb9NJFFF2grQJ4DIg/edit). Copy the return flight from [this](https://www.google.com/travel/flights/s/rmEjPoaghnUAGFsm8).\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/philippines-brainstorm":{"title":"Philippines, Brainstorm","content":"\nDepart on March 20 or March 21\nReturn on March 30 or March 31\n\n## Itinerary\n\n### Option A\n\n- Fly from SIN to PPS\n- Drive and ferry from PPS to El Nido, to Coron\n- Fly from Coron (USU) to Cebu (CEB)\n- Ferry from Cebu to Bohol (day trip); return to Cebu\n- Fly from CEB to SIN\n\nPros\nCons\n\n### Option B\n\n- Fly from SIN to CEB\n- Ferry from Cebu to Bohol (day trip); return to Cebu\n- Fly from Cebu (CEB) to Coron (USU)\n- Drive and ferry from Coron to El Nido, to Puerto Princessa\n- Fly from PPS to SIN\n\nPros\nCons\n\n### Option C\n\n- Fly from SIN to MNL\n - Thursday, March 23rd; depart at 6am, arrive at 10am ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhopagwIAhIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMTk1cGRwAYIBCwj___________8BQAFIAZgBAg))\n - (Another option to fly the night before on Wednesday, March 22nd at 10pm for more time in Manila, or to fly at 1am from SIN and arrive at 5am)\n - Explore the forts, city center\n- Fly from MNL to PPS\n - Friday, March 24th; depart 5:20am, arrive at 6:40am ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhoqag0IAxIJL20vMDE5NXBkEgoyMDIzLTAzLTI0cg0IAxIJL20vMDZzNWQ0cAGCAQsI____________AUABSAGYAQI))\n - Then, go to the Underground River; come back\n - Spend the evening in PPS\n - Then take overnight bus to El Nido ([12.go](https://secure.12go.asia/en/travel/puerto-princesa/el-nido?date=2023-03-24\u0026people=2\u0026direction=forward))\n- Arrive in El Nido\n - Saturday, March 25th; arrive around 4am\n - Take a ferry over to Coron; depart at 12pm, arrive at 5pm ([12.go](https://secure.12go.asia/en/travel/el-nido/coron?date=2023-03-24\u0026people=2\u0026direction=forward))\n - Spend the evening in Coron; check into hostel, meet with dive place, etc.,\n- Dive (#1)\n - Sunday, March 26th\n - Three dives; with a night dive\n- Dive (#2)\n - Monday, March 27th\n - Three dives; end in the afternoon\n- Chill, and fly to Cebu City\n - Tuesday, March 28th\n - Depart at 3:50pm; arrive at 5pm ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhokagcIARIDVVNVEgoyMDIzLTAzLTI4cg0IAxIJL20vMDFwX2x5cAGCAQsI____________AUABSAGYAQI))\n - Chill; check-in to hostel, grab food\n - (...Magellan Cross)\n\nTODO: look at diving in or around Cebu. Could do that first, before the other activities. Then, flying is OK.\n\n- Bohol (\"Chocolate Hills\") day-trip from Cebu\n - Wednesday, March 29th\n - (...See a guide [here](https://www.pinoyadventurista.com/2022/09/cebu-to-bohol-ferry-schedule-fare-rates.html) and day trip options [here](https://www.klook.com/en-SG/activity/3645-sightsee-bohol-tour-cebu/?gclid=Cj0KCQjwn9CgBhDjARIsAD15h0BsgrNReb1iBIXOjA5B_QQ2oLViSwoGlWOeWUZ7MSbTW_1KtZWgp8gaAtpCEALw_wcB\u0026gclsrc=aw.ds))\n- Cebu to Moalboal\n - Thursday, March 30th\n - ~3h drive; could do Canyoneering, and snorkeling near (hostel?!)\n - (Stay the night in Moalboal...?)\n- Moalboal to Cebu, to fly back\n - Friday, March 31st\n\n### Option D\n\n- Fly to Cebu\n - March 22nd\n- Dive (2-3 days)\n - March 23rd\n - March 24th\n- Bohol (2 days)\n - March 25th\n - March 26th\n- Moalboal (2 days)\n - March 27th\n - March 28th\n\n### Option E\n\n- Fly to Cebu\n - Dive on Mactan Island\n- Ferry to Bohol\n - Spend a day on scooter (hills, tarsiers, forest, etc.)\n - End on Panglao Island\n- Dive in Bohol\n- Ferry to Oslob\n - Do the whale shark tour!\n - After, head to Moalboal\n- Moalboal\n - Sardine run in the morning\n - Canyoneering\n- Drive to Cebu City\n- Fly back\n\n### Option F\n\nHopefully the final one.\n\n#### Day 1\n\n- Date: Thursday, March 23rd\n- Location: Cebu City, Cebu, Philippines (and Mactan Island)\n- Highlights: Depart for Cebu City, dive on Mactan Island\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nLeave for Cebu City at 1am from Singapore via Cebu Pacific 5J 548 (CA$163). Arrive around 5:15am. [Here](https://www.google.com/travel/flights/booking?tfs=CBwQAhpKagwIAxIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMXBfbHkiHwoDU0lOEgoyMDIzLTAzLTIzGgNDRUIqAjVKMgM1NDhwAYIBCwj___________8BQAFIAZgBAg\u0026tfu=CmhDalJJWmtoemJXMUlhbGROUzJ0QlVHcFVkSGRDUnkwdExTMHRMUzB0TFhCbVozVTBNVUZCUVVGQlIxRlhkWGxaVFVSUVVrRkJFZ1UxU2pVME9Cb0tDUEYrRUFJYUEwTkJSRGdjY0pGYxICCAEiCAoGeEdya0Fl)'s the flight booking.\n\nWe can stay in a hostel on Mactan and dive in the area. Here's an [article](https://www.divescotty.com/scuba-diving/diving-mactan-cebu.php) about dive sites in the area.\n\n#### Day 2\n\n- Date: Friday, March 24th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Depart for Bohol by ferry, then spend the day exploring Bohol\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=6)\n\nExplore the island for the day, on our own. Chocolate Hills is the main highlight.\n\n[Here](https://www.bookaway.com/s/philippines/cebu-to-bohol?departuredate=2023-03-24\u0026passengers=1)'s the link to the ferry.\n\n#### Day 3\n\n- Date: Saturday, March 25th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Dive on Bohol (and specifically, Panglao); spend the night\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=7)\n\nA guide to dive sites in [Panglao](https://www.alonaboholdiversclub.com/scuba-diving-areas-in-bohol/dive-sites-in-panglao/).\n\n#### Day 4\n\n- Date: Sunday, March 26th\n- Location: Oslob, Cebu, Philippines\n- Highlights: Depart for Oslob in the morning, chill, then head to Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=8)\n\n[Here](https://book.phbus.com/en/travel/panglao/oslob?people=1\u0026date=2023-03-26\u0026direction=forward)'s the link to the ferry. It departs at 6:30am and arrives around 8am.\n\nCan do the whale shark activity. [Here]'s a guide to [Oslob Bay](https://guidetothephilippines.ph/articles/ultimate-guides/oslob-cebu-travel-guide).\n\n#### Day 5\n\n- Date: Monday, March 27th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend the day in Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=9)\n\n[Here](https://divehappy.com/diving-moalboal-philippines-a-quick-guide/)'s a guide to diving in Moalboal.\n\n#### Day 6\n\n- Date: Tuesday, March 28th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend another day in Moalboal!\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=10)\n\nConsider canyoneering, others.\n\nAt night, for Michael to make BKI, we'd have to go back to Cebu City. The flight is at 3am on Wednesday. Ideally back around 12am, so aim to leave Moalboal at 9pm. A bit later is OK.\n\n#### Day 7\n\n- Date: Wednesday, March 29th\n- Location: Cebu City, Cebu, Philippines\n- Highlights: Depart for Kota Kinabalu.\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=11)\n\nDepart for Kota Kinabalu via a connection through Manila. Flight link is [here](https://www.google.com/travel/flights/booking?tfs=CBwQAhptag0IAxIJL20vMDFwX2x5EgoyMDIzLTAzLTI5cg0IAxIJL20vMDFfZzdmIiAKA0NFQhIKMjAyMy0wMy0yORoDTU5MKgJQUjIEMjgzNiIfCgNNTkwSCjIwMjMtMDMtMjkaA0JLSSoCWjIyAzUwMXABggELCP___________wFAAUgBmAEC\u0026tfu=CnRDalJJVXpKMVFrWjVVRzFVUzBsQlVHZEJWSGRDUnkwdExTMHRMUzB0TFhCbWFIZ3pOVUZCUVVGQlIxRlhkMFE0UVhJdE5FRkJFZ3hRVWpJNE16WjhXakkxTURFYUNnakdiUkFDR2dOVFIwUTRISERVVVE9PRICCAEiAA).\n\nFrom here, $\\text{Konstantin}^2$ can explore Cebu City (template of leah, Cebu Taoist temple, eat at Larsian, Yap-Sandiego Ancestral house, Magellan's cross). North part of the island has many good activities, too.\n\n## Activities\n\nLists of potential activities. (\\*) is a \"must-do\".\n\n- Diving in Coron: Wrecks, Apo reef (\\*)\n- Potential diving in Cebu, near airport\n- Moalboal day trip from Cebu; sardine run\n- Canyoneering\n- Chocolate Hills (\\*)\n - (Doable as day-trip from Cebu... FWIW)\n- Whale Sharks (...not good)\n- Underground River (Puerto Princessa) (\\*)\n- Firefly Watching Tour (Puerto Princessa)\n- Crocodile Farm (Palawan)\n- Honday Bay Tour (Palawan)\n\n## Diving\n\n- Dive in Coron for Wreck dives; many options for which specific dive sites\n- Consider Apo Reef as well\n- Can also look at diving near Cebu (near the airport, Moalboal)\n\n[Where to dive in Coron](https://blog.padi.com/where-to-dive-in-coron-philippines) and [Diving in Coron and Busuanga (includes Apo Reef)](https://padi.com/diving-in/coron-and-busuanga).\n\nFrom [this](https://scubadivingmaps.com/philippines/coron-bay-diving) article, Reggae Dive Center or Corto Divers are good options for booking. Both offer day trips.\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/quiz-1":{"title":"Quiz 1","content":"\n# Quiz 1\n\nWednesday, September 20th, 2023.\n\n## Learning Outcomes\n\n- Define ethics and describe what constitutes an ethical issue\n - Ethics: the study of what is moral, especially as it pertains to a **society**\n - (Contrasted against morals, which are more of an individual thing!)\n - Or: ethics is the study of morality, morals is what people ought to do\n - \"Ethical issues\" involve actions (e.g., an application of data science) that impact humans in some way. It's usually a harmful impact that involves some sort of moral judgement. (For example, if a ML system racially profiles humans. That's bad!)\n- Explain the need for ethics in data science\n - Data science often involves making predictions or support decision-making\n - If systems involve bias (or are otherwise unethical), could cause real world harm\n - ML algorithms \"exacerbate the problem\"... cheap and fast, ostensibly objective\n- Identify common ethical issues in data science\n - AI systems for recruiting, jobs\n - AI systems for awarding loans\n - Self-driving vehicles\n - Judicial system; supporting bail, etc.\n- A few bonus theories: subjective relativism, cultural relativism, divine command theory, ethical egoism\n - (Good bonus material!)\n - Also, **TODO:** message about CPSC 340 material\n- Describe common ethical frameworks and how they can be applied to data science applications\n - **The Rights Perspective**\n - **The Justice or Fairness Perspective**\n - **The Utilitarian Perspective**\n - **Act Utilitarianism**\n - **Rule Utilitarianism**\n - **The Common Good Perspective**\n - **The Virtue Ethics Perspective**\n - **The Care Ethics Perspective**\n- Imagine scenarios in which current technology could be used in unethical ways\n - Black Mirror!\n- Evaluate and make arguments around data science scenarios using ethical theories (e.g., Kantianism, utilitarianism, virtue ethics etc.)\n - Example exercises in class; review readings\n- Compare and contrast different ethical theories and explain the case for and against each one as they apply to data science\n - See above; see readings\n\n## Readings\n\n- TODO\n","lastmodified":"2023-11-04T04:00:50.732103506Z","tags":[]},"/joplin/quiz-2":{"title":"Quiz 2","content":"\n# Quiz 2\n\n- Discuss the implications of data ownership in data science\n- Argue the advantages and disadvantages of collecting individuals’ data online\n- Distinguish between a sample and a population, what attributes make a representative sample and the possible ethical implications of a non-representative sample\n- Explain the elements of experimental design\n- Identify possible sources of bias in datasets (such as historical, measurement, and representation bias)\n- Describe the ethical implications of variable choice in data science (e.g., use of proxies, use of gender and race as variables)\n- Apply good practices for minimizing errors in data cleaning\n- Apply methods for improving privacy and anonymity in stored data and data analysis, such as k-anonymity and randomized response\n- Explain the notion of differential privacy\n\n- Data is the new gold; data enables ML\n- Two main ways of achieving data\n - Experimental design\n - Observational study, no intervention; subjects assign themselves\n - Experimental study, planned intervention; subjects assigned by researchers to treatment\n - Better to eliminate confounding variables\n - Can somewhat establish causation\n - Pre-existing data\n - May be less structured, more biased; lots of it; could be more truthful\n- Samples need to be representative and sufficiently large\n - Agree on population; how to collect responses; sufficient size; random vs. stratified sampling; randomness\n- Sampling failures\n - Under-coverage (missing part of population)\n - Convenience sampling\n - Voluntary response bias\n - Non-response bias (a sect of individuals don't respond for a reason)\n - Response bias, lying\n- Ethical considerations\n - Informed consent, voluntary participation, withdrawal possibilities, equitable distribution of risks; benefits, privacy\n- Bias in ML\n - Human bias\n - Historical bias (model doesn't match current state of world, e.g., male CEOs)\n - Representation bias (data doesn't cover population; population has changed significantly)\n - Measurement bias (oversimplified classification task, measurement process varies, quality of data varies, or is incorrect)\n- \"Proxy variables\"\n - To study intelligence, look at GPA\n - Can determine age, race, gender from resume, sometimes\n - Model learns biases anyways\n- Confounding variables; lurking variables\n - (Correlation != causation)\n- Types of missing variables\n - MCAR, no correlation\n - Random\n - e.g., some data not saved correctly\n - MAR, missing at random\n - Correlates to another variable\n - e.g., less data from those aged 18-25, but spend similar\n - MNAR, missing not at random\n - Correlates to itself\n - e.g., low spend values missing if normally distributed\n- Right to Privacy\n - Fundamental in many countries, including Canada\n - All kinds of personal information\n- Identifiers\n - Direct identifiers: record ID, patient number, SIN, address, name\n - Indirect identifiers: postal code, DOB\n- k-anonymity\n - Do we have k copies of each row? (for quasi-identifiers...)\n - Can be broken with multiple data sets\n- Differential privacy\n - Mathematical approach to privacy\n - Single row doesn't changed output vary much\n - We randomly jitter values to create noise\n\n**For yes/no case, 50% of the time we say their answer, 50% of the time we randomly guess. This introduces jitter.**\n\n5/12 is our survey respondents\n\nBased on our knowledge of jitter: 3/4 of the times we're\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/quiz-4":{"title":"Quiz 4","content":"\n# Quiz 4\n\nReducing unfairness in learning algorithm applications.\n\n## Learning Outcomes\n\n- Discuss the consequences of erroneous (biased) data on the training of learning algorithms and how it impacts its end users\n- Discuss potential ethical implications in errors in feature selection, model selection\n- Describe strategies for reducing algorithmic bias\n- Apply strategies to reduce unfairness in a predictive model trained on an unbalanced dataset\n- Describe advantages and limitations of the strategies used to reduce unfairness in predictive models\n\n## Lecture\n\n- Curb the impacts of bias\n - e.g., in the income data set, some groups are more likely to be assigned to a specific target value (...not good because not reflective of reality; model is learning bad kind of bias)\n - It's not hard for algorithms to learn a relationship between gender and income, but the reality is the data is unfair to begin with\n- Under-sampling; subset the larger groups to create equal balance\n - Limits the amount of data available to our model\n- Oversampling\n - Either re-sample duplicates (randomly)\n - or introduce artificial examples, similar (but different) from ones in the original data\n - SMOTE (\"Synthetic Minority Oversampling Technique\") is one way of achieving this\n - Augment the data set with new data, estimated 'between' original examples evenly\n - The goal of SMOTE is to balance the **target variable,** not the groups themselves\n - It takes two parameters: `k` and `dup_size`\n - `k` is the number of neighbors to consider lines between\n - `dup_size` is how many times to go over each of the points and create a new example\n - `dup_size=0` achieves parity with the majority class (i.e., if unspecified, achieves perfect balance)\n - SMOTE could be combined with under-sampling\n- (You could also tweak the cost function to weigh the minority class more!)\n- Adversarial debiasing: model A is penalized if a subsequent model can guess some feature from the prediction\n - i.e., it's relying too heavily on some $f_p$\n - Maximize the accuracy, but also minimize the ability of model B to guess features\n\n## Assignment\n\n- Visualization: use EDA to assess imbalance, unfairness\n- Drop columns, under-sample, oversample\n- Assess accuracy and fairness metrics\n\nFairness: equal distribution among groups.\n\nDiscussion...\n\n- Feature suppression: doesn't help, proxies learned\n- Under-sampling: many fairness metrics improved, but test accuracy drops (...underfit)\n- Over-sampling: overfitting, opposite problem\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/rapviz":{"title":"RapViz","content":"\n# RapViz\n\n- RapViz research and planning\n - [The Hamilton Algorithm](https://source.opennews.org/articles/hamilton-algorithm/)\n - [Soundex](https://en.wikipedia.org/wiki/Soundex)\n - [Estimate Phonemic Similarity Between Two Words](https://stackoverflow.com/questions/26474847/estimate-phonemic-similarity-between-two-words)\n - [Rhyming in 1000+ lines of C++](http://stevehanov.ca/blog/?id=8)\n - [Implementing a rhyme finder](https://stackoverflow.com/questions/13961291/implementing-a-rhyme-finder)\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/sure-journal":{"title":"SURE Journal","content":"\nwork to c# SURE Journal\n\n## 2023-07-31\n\n- Re-orient on EPM work; go over model building scripts and `diff` with original repository to determine changes required to run\n - Scripts look fine; **which data to train on? (`SMAC`, `ROAR`, `ParamILS`, or `random`?)**\n - Can queue model builds to run Tuesday night; will take some of Tuesday to put on cluster\n- Skim EPM paper again\n- Sync with Chris at 11am\n- Prepare e-mail to EPM authors or runnable steps (and repository quality improvements)\n - Schedule send for tomorrow\n- Re-run Devon's repository with re-built models; prepare plots\n - All vertical?! Will look at tomorrow\n\n## 2023-08-01\n\n- Build new, more sophisticated models for for use with UP\n- ~~Verify EPM e-mail received~~ (message Kevin, Chris)\n - Can run on Python 3.11 fine; needs `np.float` to be renamed `np.float64` (or 32) for use with later NumPy version\n - Will do this after I verify the model outputs\n- Send Chris initial set of UP plots\n- Build plots for additional experiments (up vs. roar, or succinctly, `UPROAR`, and `naive`), send to Chris\n- Verify model outputs; looks like its spitting out `log10` values\n\n## 2023-08-02\n\n- Change `make_prediction` helper for `SurrogateEnvironment` to transform prediction by `10 ** prediction`\n - Send output for `anytime_experiment` to Chris; not sure what to make of the plots... but it is something\n- Clean-up and refactoring for `utilitarian_configuration` to make the repository runnable (all experiments, all environments, all datasets)\n - Work on detailed instructions for the project at the moment; should be done EOD\n- (Initial) work on benchmarking `naive`, `kappa`, `speedup` experiments... why are they so much slower?\n - Will leverage cluster to try to estimate how long these will take\n\n## 2023-08-03\n\n- Work through Chris' comments...\n - More code clean-up for `up`; starting to get a better grasp of the codebase\n - Take a look at initial `sup` work\n- Sync work on `narval`; prepare Slurm scripts\n- A bit of work on CDCL solver (from DPLL decisions) while waiting for jobs to run\n\n## 2023-08-04\n\n- Run jobs and create benchmarks for each experiment\n - Goal is to produce ballpark figure for each (`h` hours, `d` days, etc.)\n- Work on complete report with instructions for presentation Monday\n- More work on CDCL solver while waiting for decisions\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/the-flesh-of-polar-codes":{"title":"The Flesh of Polar Codes","content":"\n# The Flesh of Polar Codes\n\n[Link](https://www.youtube.com/watch?v=VhyoZSB9g0w)\n\nShared by my info theory prof. Really cool lecture on polar codes, which itself is a super cool concept. Coding is crazy.\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man":{"title":"The Unofficial Goldman Sachs Guide To Being A Man","content":"\n# The Unofficial Goldman Sachs Guide To Being A Man\n\n[Link](https://www.insider.com/the-gselevator-guide-to-being-a-man-2013-9)\n\nLearning from the GS elevator. Pretty fun, but only take lightly (or end up a douche).\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/vietnam":{"title":"Vietnam","content":"\n# Vietnam\n\nTODO.\n\n## Bookmarks\n\n-\n\n## Itinerary\n\n### Day 1\n\n- Date: Monday, April 3rd\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nTODO\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/we-choose-to-go-to-the-moon":{"title":"We Choose to go to the Moon","content":"\n# We Choose to go to the Moon\n\n[Link](https://www.youtube.com/watch?app=desktop\u0026v=g25G1M4EXrQ)\n\nNot because it is easy... but because it is hard.\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/joplin/worksheet-9-2023-11-02":{"title":"Worksheet 9 (2023-11-02)","content":"\n# Worksheet 9\n\nSome additional notes from class.\n\n- We're introducing new metrics to use to approximate the test error (i.e., $R^2$ on the test set)\n- We can also perform \"forward selection\" to iterate on models\n - It's a greedy approach; add one variable, determine best model, hold that fixed and repeat\n - `regsubsets` from the `leaps` library in R\n - Can take `nvmax`, the maximum number of variables to consider\n - `tidymodels` alternative in the notebook, too\n- CP, try to minimize\n- AIC (or... BIC?), similar\n- Both estimate test predictive performance; good for prediction models\n- Forward, backward selection bad with categorical variables\n - One-hot encoding turns a feature into multiple columns\n - We want to consider 'all' or 'none', not only some categories\n- Similar concerns with categorical variables and heatmaps\n - Some visualizations better for categorical variables\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]},"/notes/non-joplin-note":{"title":"A note","content":"\n# A note\n\nThis is a not created manually (i.e., not from Joplin Garden Worker).\n","lastmodified":"2023-11-04T04:00:50.736103504Z","tags":[]}} \ No newline at end of file diff --git a/indices/contentIndex.78ac9669e390e1790fbb12a536119b16.min.json b/indices/contentIndex.78ac9669e390e1790fbb12a536119b16.min.json deleted file mode 100644 index 4f2f2b95309f1..0000000000000 --- a/indices/contentIndex.78ac9669e390e1790fbb12a536119b16.min.json +++ /dev/null @@ -1 +0,0 @@ -{"/":{"title":"Michael's Digital Garden","content":"\nWelcome to my digital garden! 🧑‍🌾🌱\n\n- This project is based on [Quartz](https://github.com/jackyzha0), a wonderful digital garden tool\n- It leverages [joplin-garden-worker](https://github.com/benlau/joplin-garden-worker) to source my notes from [Joplin](https://joplinapp.org/)\n- It's still verymuchso a work-in-progress; let me know if you find typos or bugs!\n\nHere are a few collections you can take a look at to get started.\n\n- [joplin](./joplin/), a subset of the notes I've taken in [Joplin](https://joplinapp.org)\n - (...be warned: it's a mess!)\n- [notes](./notes/), other loose ends and tidbits\n\nEnjoy!\n","lastmodified":"2023-11-03T04:00:56.994783057Z","tags":[]},"/joplin/2023s-course-planning":{"title":"2023S Course Planning","content":"\n# 2023S Course Planning\n\n## Degree\n\n### Credits Requirements\n\n- [ ] 132 total (108 current)\n - 24 credits; 8 courses\n - (Covered by LING 3XX \\[exchange\\], CPSC 3XX \\[exchange\\], CPSC 404 \\[exchange\\], CPSC 449 \\[5th-year, x2\\], +3 more courses)\n - Need to check double dipping with minor\n- [x] 72 Science\n- [ ] ~~48~~ 60 upper-level (28 current)\n - 32 credits; 10.67 courses\n - (Covered by exchange and fifth-year courses; all Science except for LING 3XX)\n- [ ] ~~42~~ 54 upper-level science (25 current)\n - 29 credits; 9.67 courses\n - (Covered by exchange and fifth-year courses)\n- [x] 1 laboratory\n\n### Other Requirements\n\n- [x] 6 communication\n- [x] 12 arts\n\n## Major\n\n- First year\n - [x] CPSC 110\n - [x] CPSC 121\n - [x] MATH 100\n - [x] MATH 101\n- Second year\n - [x] CPSC 210\n - [x] CPSC 213\n - [x] CPSC 221\n - [x] MATH 200\n - [x] MATH 221\n - [x] STAT 200 (or STAT 201)\n- Third and fourth years\n - [x] CPSC 310\n - [x] CPSC 313\n - [x] CPSC 320\n - [x] CPSC 349\n - [ ] CPSC 449\n - [x] STAT 302\n - [ ] CPSC 3XX, 12 credits (6 current)\n - Covered by CPSC 3XX on exchange\n - Will also take CPSC 340\n - [ ] CPSC 4XX, 9 credits (3 current)\n - Covered by CPSC 404 on exchange\n - (Can also take CPSC 440)\n\n## Minor\n\nData Science\n\nLower-level\n\n- [x] Data Science: DSCI 100.\n- [x] Statistical Inference: STAT 201.\n- [x] Programming: One of CPSC 203, CPSC 210, CPEN 221. For most non-CS majors, we recommend taking CPSC 203 (and selecting CPSC 103 as the prereq for 203).\n- [x] Calculus: One of MATH 100, MATH 102, MATH 104, MATH 110, MATH 120, MATH 180, MATH 184, SCIE 001.\n\nUpper-level\n\n- [ ] Statistical inference: STAT 301\n- [x] Machine learning: CPSC 330\n- [ ] Ethics: CPSC 430\n- Three of the following five options:\n - [x] Reproducible data science: DSCI 310\n - [ ] Data visualization: DSCI 320\n - [ ] Cloud computing and big data: CPSC 416\n - [x] Databases: One of CPSC 368, CPSC 304, COMM 437\n - [ ] Discipline-specific data science courses: One of COMM 335, COMM 365, COMM 414, COMM 415, CPSC 322, CPSC 340, CPSC 406, ECON 398, ECON 425, EOSC 410, INFO 419, LING 342, MATH 441, MATH 442, MICB 405, MICB 425, PHYS 410, PSYC 359, STAT 406, STAT 447B, STAT 450.\n\nNeed: STAT 301, CPSC 430, (DSCI 310 or DSCI 320), (CPSC 416 or ~~LING 342~~)\n\n~~CPSC 430 can double dip, and CPSC 416 can double dip. Only 6 credits maximum.~~ CPSC 310 and CPSC 330 double dip.\n\n## Schedule\n\n- 7.67 (8) upper level\n- 7.67 (8) upper level Science\n\nSo, 4+4.\n\n### Term 1\n\n- CPSC 449 (major) :: ok, not yet schedued\n- CPSC 340 (major) :: ok\n- STAT 301 (minor), must take term 1 (conflicts with CPSC 440) and only one tutorial :: ok\n- CPSC 430 (minor), only term 1 :: ok, but stacks with STAT 301\n- ~~+ PL? (CPSC 311)~~\n\nSelf-teach: CPSC 311, using [Programming Languages: Application and Interpretation](https://www.plai.org).\n\n### Term 2\n\n- CPSC 449 (major) :: ok, not yet scheduled\n- CPSC 4XX (major), 440 a good candidate :: ok\n- CPSC 416 (minor) :: only term 2 (and 8am TTh...) :: grr\n - Also: 322\n - Alternates: CPSC 322, ECON 398 (if ECON 102), INFO 419, ~~LING 342~~, MATH 441, MATH 442, STAT 406, STAT 447B, STAT 450\n- - Cr/D/F (CPSC 411)\n\nCPSC 4XX (SDS)\n\nSelf-teach: CPSC 411, using ?.\n\n(+1 courses for overall requirement; can CrDF?)\n\nNotes\n\n- Need to re-validate all graduation requirements\n- Need to check minimum credits for awards (24 percentage-graded; honours minimum?)\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/dragonfly-2023-10-11":{"title":"Dragonfly (2023-10-11)","content":"\n# Dragonfly\n\n...and the frontier supercomputer.\n\nTablet's dead.\n\n- It's easy to build a high-radix crossbar\n- Mix in optical; high fixed cost, good for long distances\n- Shorter routing; move across all groups\n- Routers can connect to local processors, other routers (within group), other groups\n- A balanced network\n - Assuming $a \\cdot h$ connections to other routers ($\\approx g$)\n - Assume random, (uniform) traffic\n - Each router receives a packet; sends to one of $a-1$ routers; each receives $\\frac{a-1}{a}h$ messages; we'll approximate as $h$\n - (Analysis for number of processors; Dragonfly parameters)\n- Routing\n- Bandwidth\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/elegant-compression-in-text-the-lz-77-method-computerphile":{"title":"Elegant Compression in Text (The LZ 77 Method), Computerphile","content":"\n# Elegant Compression in Text (The LZ 77 Method)\n\nhttps://www.youtube.com/watch?v=goOa3DGezUA\n\n- Invented by Lempel and Ziv\n- An initial idea: store a dictionary at the top of the file, and point to uses\n- A typical LZ compressor works through the text; look for recurring sequences of characters\n - Re-use these sequences as much as possible\n - No overt dictionary, but re-uses items **in place**\n - e.g., it remembers \"computer\" in \"computerphile\"; when \"computer\" re-appears, replace with a composite pointer\n - Composite pointer points to start of phrase, and notes length\n - Pointer notation is `\u003cj, l\u003e`\n - `j` is a relative jump\n - `l` is the length (number of characters to read)\n - (Note this is just friendly notation to better understand the algorithm)\n - Shifts from N-bytes of text to (at minimum) 2-bytes of `\u003cj, l\u003e`\n - (In reality, not many situations where long words are repeated again and again... typically focus on long jump back with shorter strings)\n - Instead of a `j` 8-bit and `l` 8-bit split, maybe 12 for `j` instead (...still 2-bytes total)\n - This would give a 4096 jump with to a maximum 16-length string\n - Algorithm constantly working on dictionary\n - Even with simple algorithm, many byte value becomes 2-byte pointer\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/gemz":{"title":"Gemz","content":"\n# Gemz\n\n[Link](https://gemz.community/)\n\nMeta.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/hong-kong":{"title":"Hong Kong","content":"\n# Hong Kong\n\n## Bookmarks\n\n- [Check Inn HK](https://www.checkinnhk.com)\n\n## Advice\n\nGet an Octopus card!\n\n## Food\n\nDim Sum! [Here](https://asiasociety.org/reference/what-dim-sum-beginners-guide-south-chinas-traditional-brunch-meal) is a guide.\n\n## Activities\n\nThe true 'essentials' are covered [here](https://www.discoverhongkong.com/eng/explore/iconic-hong-kong-experiences.html).\n\n- Quarry Bay 'Monster Building' (done!)\n- Kowloon\n - Un Chau Estate, Flower Tunnel \\[Kowloon\\]\n - Chungking Mansions\n - Kowloon Walled City Park\n - The Whampoa\n- A Sky Full of Gods and Buddhas (at Waterfall Bay Park) -- definite maybe!\n- Tian Tan Buddha\n - Access with Ngong Ping 360\n- ~~Lam Tsuen Wishing Trees (...far north)~~\n- ~~Cheung Po Tsai Pirate Cave~~\n- Central-Mid-Levels Escalators\n- Temples: Wong Tai Sin Temple, Man Mo Temple Complex (done), Miu Fat Buddhist Monastery, Lo Pan Temple, Sha Tin Che Kung Temple, Yuen Yuen Institute\n- Noonday Gun\n- Sun Hing Restaurant\n- Old Tai O Police Station\n- HSBC Building, Feng Shui Cannons\n- Horse racing\n- Hiking: The Peak (or tram), Lion Rock, Dragon's back\n- Dim Sum tour\n- Star Ferry (...to Kowloon, and back)\n- Markets: Ladies Market, Temple Street Night Market, Stanley Market (tomorrow)\n- Lan Kwai Fong (\"LKF\"): 001, Solas, Dragon I, 6 Degrees (done!)\n\nOpt to skip Macau.\n\n## Itinerary\n\n### Day 1\n\n- Date: Monday, April 3rd\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=2); cloudy\n\nArrive in HK, check-in to hostel. Grab lunch, check out the [Noonday Gun](https://www.atlasobscura.com/places/noonday-gun) (hopefully for 12pm!) Causeway Bay area, Monster building. (Explore stuff \"to the right.\")\n\nHead back to work on CS3236 paper; grab a quick dinner when needed. Can walk over and view Symphony of Lights show at 8pm onward.\n\nActual: check-in, Monster Building, Quarry Bay Promenade, Lockhart Market (lunch), couple of British pubs (and pub trivia) in the evening (...followed up by a CSA call).\n\n### Day 2\n\n- Date: Tuesday, April 4th\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=3); rainy\n\nStart the day with more dim sum. More work (and hopefully wrap-up) on CS3236 paper.\n\nCan maybe check out Waterfall Bay Park. Maybe toss in a night market. (Explore stuff \"to the left.\") Can start in the early evening, catch sunset, then back to work for a bit.\n\nConsider squeezing in the peak on this day, too.\n\nActual: go for nice breakfast at a cafe, work. Can check out HSBC Building (1 Queen's Road), Central-Mid-Levels escalators, ferry area / Sun Yat Sen Memorial Park.\n\nFor dinner, try to do Stanley Market. Can go for sunset. Can go a bit early and catch Rhino Rock as well.\n\n### Day 3\n\n- Date: Wednesday, April 5th\n- Location: Hong Kong\n- Highlights: Spend the day with Jacky; horse racing\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=4); mostly hot\n\n**On Thursday** do this instead. Do The Peak early in the morning.\n\nJacky will take care of most of this one; will spend the day chilling, and end it off with horse racing. Should be fun!\n\nWalking tour of Kowloon? Loop Kowloon (Walled City) Park, History Museum, Avenue of Stars, catch Symphony of Lights show.\n\nOther ideas: Un Chau Estate, The Whampoa, Chungking\n\n### Day 4\n\n- Date: Thursday, April 6th\n- Location: Hong Kong\n- Highlights: Lantau Island\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=5); mostly sunny\n\nWake up early and head to Lantau Island. Go via cable car (preferable; faster... this is Ngong Ping 360) or ferry (slower; more scenic). See the Tian Tan Buddha, stroll down the Wisdom Path (very cool) to the Po Lin Monastery. Then check out Tai O (a traditional fishing village).\n\n~~Head back to HK, and take the tram up to The Peak. (Or, do Sunset Peak.) Time it for sunset.~~ Go to Stanley market instead, since the weather is poor (no point in peak). If weather is nice, maybe do The Peak.\n\nCan do some work and chill after!\n\nTODO: this day Wednesday instead. Horse racing / Kowloon moved to Thursday.\n\n### Day 5\n\n- Date: Friday, April 7th\n- Location: Hong Kong\n- Highlights: A bit more exploring HK; spend the night out\n- Weather: [AccuWeather](https://accuweather.com/en/hk/hong-kong-island/3558176/daily-weather-forecast/3558176?day=6); cloudy, a bit rainy\n\nMight be a good day to do Dragon's Back. Ask hostel if I can leave bag for the day.\n\nLast day in HK. Do laundry early, pack-up, and do some work. Need to be at airport at ~10pm, so can't go out for too long.\n\nArrive in Vietnam ~1am.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/insert-interval":{"title":"Insert Interval","content":"\n# Insert Interval\n\nYou are given an array of non-overlapping intervals intervals where `intervals[i] = [start_i, end_i]` represent the start and the end of the `ith` interval and `intervals` is sorted in ascending order by `start_i`. You are also given an interval `newInterval = [start, end]` that represents the start and end of another interval.\n\nInsert `newInterval` into `intervals` such that `intervals` is still sorted in ascending order by `start_i` and `intervals` still does not have any overlapping intervals (merge overlapping intervals if necessary).\n\nReturn `intervals` after the insertion.\n\ne.g.,\n\n```\nInput: intervals = [[1,3],[6,9]], newInterval = [2,5]\nOutput: [[1,5],[6,9]]\n```\n\n```\nInput: intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]\nOutput: [[1,2],[3,10],[12,16]]\nExplanation: Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10].\n```\n\nIdea?\n\n- Find the first interval that the lower-bound of `newInterval` fits into\n- Continue to combine it with subsequent intervals, replacing those intervals\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/learn-you-some-erlang":{"title":"Learn You Some Erlang","content":"\n# Learn You Some Erlang\n\n- Erlang is functional\n- Erlang has an \"actor model\"; each actor is a separate process in a VM\n- You pass messages between actors; communication is explicit\n- Erlang runs in a VM; like Java, can run anywhere\n- The cons...\n\n - Processes are lightweight, but not infinitesimally small\n\n- Getting started\n - `erl`\n - (Skipping the shell commands bit...)\n - Numbers\n - Expressions terminated with `.` (then whitespace, i.e., ` \\n\\t`)\n - Integers and floats handled \"gracefully\" (`div` exists for integer-integer division)\n - `\u003cbase\u003e#\u003cvalue\u003e` is a way to write a number in a different base\n - Variables\n - They're **invariable**\n - Begin with an uppercase letter\n - The `=` operator does do comparison; will throw exception is unequal\n - (...but can do binding if LHS is unbound)\n - The `=` operator is the basis of \"pattern matching\"\n - Atoms\n - Comparison operators\n - Note a total ordering exists between types, namely `number \u003c atom \u003c reference \u003c fun \u003c port \u003c pid \u003c tuple \u003c list \u003c bit string`\n - Tuples\n - Lists\n - (Erlang sucks at strings because of this...)\n - Pattern matching, built-ins\n - `[Head | Tail]`\n - `hd`, `tl`\n - List comprehensions\n - ${x \\in \\mathbb{R} : x = 2x}$ becomes `[2*X || X \u003c- [...], \u003cN generator expressions\u003e, X =:= 2, \u003cM constraints\u003e]` (written generally for learning)\n - Binary data\n - Enclosed in `\u003c\u003c`, `\u003e\u003e`\n - `Var:24` implies 24 bits of data\n - `Value`, `Value:Size`, `Value/TypeSpecifierList`, `Value:Size/TypeSpecifierList`\n - `TypeSpecifierList` is like `type-signedness-endianness-unit`\n - Unit is to do with the size of each segment, in bits (1-256)\n - Binary comprehensions exist\n- Modules\n - All Erlang code is in modules\n - `\u003cmodule-name\u003e:\u003cfunction\u003e`\n - Is declared in the file itself\n - Compile code via `erlc` or `c(...)` in the shell\n- Function syntax\n - Can \"overload\" function with multiple parameter lists\n - `|` is the cons operator\n - On top of pattern matching in function arguments, also guards\n - e.g., `function my_function(X) when X \u003e 0 -\u003e ...`\n - Can chain logic via `;` (or) or `,` (and)\n - If-else\n - Else becomes the 'true' branch\n - case...of\n - Switch statements\n- Types\n - Dynamic typing; strongly typed (no implicit conversions)\n - `is_\u003ctype\u003e` functions, and `\u003ctype\u003e_to_\u003ctype\u003e` functions\n- Recursion\n\n - A few basic examples...\n - Tail recursion via an accumulator\n - e.g., `tail_fac(N,Acc) when N \u003e 0 -\u003e tail_fac(N-1, N*Acc)`\n - (Only export the 1 argument factorial)\n - You often need to reverse the result of tail recursive calls, i.e., `lists:reverse`\n\n - (I don't really get the `++` thing... need to ask Mark)\n\n Namely,\n\n ```erlang\n reverse([]) -\u003e [];\n reverse([H|T]) -\u003e reverse(T)++[H].\n ```\n\n - TODO: make a tail recursive zip, lenient zip\n - Quicksort\n - Trees\n\n- Higher-order functions\n - Passing functions around as \"arguments\"\n - `fun Module:Function/Arity`\n - Anonymous functions: `fun(Args1) -\u003e Expression1;`\n - Inheritance from parent to \"child\" functions (e.g., an anonymous function inside)\n - Map, filters, folders\n - Fold is the most basic; can build reverse, map, filter\n - Many cool list methods [here](http://erldocs.com/18.0/stdlib/lists.html)\n- Errors\n - A compilation of common errors\n - Errors, exists, and throws (intentional, handled)\n - Try, catch, after (not finally)\n- Functionally Solving Problems\n - Reverse Polish Notation Calculator\n - Uses a stack\n - Heathrow to London\n - Left as exercise\n- Data Structures\n - Records\n - Dictionaries; key-value stores\n - Arrays\n - Sets\n - Graphs\n - Queues\n- Concurrency\n - (Mostly conceptual...)\n - Amdahl's law\n - Message passing operator, `!` (\"bang\")\n - `receive` keyword\n - Gets from; can send message _back_ to the PID\n - `spawn/3`\n- More on multiprocessing\n - Can leverage recursion for future calls; taking from a fridge as an example\n - Wrappers around \"!\"s with `store`, `take`, etc., helpers\n - `receive`s pick out of a mailbox; if not matched, just left\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/life-explained-in-27-seconds":{"title":"Life Explained in 27 Seconds","content":"\n# Life Explained in 27 Seconds\n\n[Link](https://www.youtube.com/watch?v=L9VBpbnXhWk\u0026feature=youtu.be)\n\nI love Casey's view of life so much.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/longest-substring-without-repeating-characters":{"title":"Longest Substring Without Repeating Characters","content":"\n# Longest Substring Without Repeating Characters\n\nLeetCode medium. [Source](https://leetcode.com/problems/longest-substring-without-repeating-characters/description/).\n\n## Problem\n\nGiven a string s, find the length of the longest substring without repeating characters.\n\n```plaintext\nInput: s = \"abcabcbb\"\nOutput: 3\nExplanation: The answer is \"abc\", with the length of 3.\n```\n\n```plaintext\nInput: s = \"bbbbb\"\nOutput: 1\nExplanation: The answer is \"b\", with the length of 1.\n```\n\n```plaintext\nInput: s = \"pwwkew\"\nOutput: 3\nExplanation: The answer is \"wke\", with the length of 3.\nNotice that the answer must be a substring, \"pwke\" is a subsequence and not a substring.\n```\n\n## Solution\n\nThis was my first correct solution, as-is. Definitely a _lot_ of room for clean-up; I really hate the double-`while`.\n\n```python\nclass Solution:\n def lengthOfLongestSubstring(self, s: str) -\u003e int:\n \"\"\"\n If s[a:b] has no repeating characters, and s[b:c] has no repeating characters,\n then all we have to do is compare the two strings.\n\n Could we do this iteratively? i.e., build up the longest possible string\n\n It's a substring, so must be consecutive, limiting our space\n\n take abcabcbb\n\n a b c a b c b b -- all single character strings are of course non-repeating\n abc*a* b c b b -- the first a can merge right...\n\n Sliding window -- right side moves fast, left side moves slow\n\n Take the example\n\n a b c a b c b b\n abca b c b b\n a bcab c b b\n a b cabc b b\n a b c abcb b\n a b c a b cbb (done)\n\n or the third example\n\n pwwkew\n p w w k e w\n pww k e w\n p w wkew\n p w w kew (done)\n\n custom\n\n abccabcbb\n a b c c a b c b b\n abcc a b c b b\n a b c cabc ... ok now I get it\n \"\"\"\n n = len(s)\n if n == 0 or n == 1:\n return n\n\n left = 0\n right = 1\n\n # character (in s), index of that character\n current_chars: dict[str, int] = {}\n current_chars[s[0]] = 0\n\n current_max = 0\n\n while right \u003c n:\n while right \u003c n and s[right] not in current_chars:\n current_chars[s[right]] = right\n right += 1\n\n current_max = max(current_max, right - left)\n\n if right == n:\n break\n\n new_left = current_chars[s[right]] + 1\n\n for c in s[left : new_left]:\n del current_chars[c]\n\n left = new_left\n\n\n return current_max\n```\n\nThe moral? A substring is 'contiguous' in the string. So what pattern does that beg? A 'sliding window' or two-pointer approach.\n\nWe have a leading pointer that greedily captures new characters so long as they're not in our candidate substring.\n\nIf we hit a character that's in our current substring, we jump the slow point to the next character that fixes this condition, i.e., the character after the occurrence of this would-be repeated character.\n\nTrack the maximums throughout this.\n\nDone!\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/philippines":{"title":"Philippines","content":"\n# Philippines\n\n## Bookmarks\n\n- [Cebu Pacific, Baggage](https://cebupacificair.com/pages/travel-info/baggage-information/carry-on-baggage)\n\n## Itinerary\n\nHopefully the final one.\n\nRIP Palawan. For another lifetime (i.e., hopefully in a few years).\n\n### Day 1\n\n- Date: Thursday, March 23rd\n- Location: Cebu City, Cebu, Philippines (and Mactan Island)\n- Highlights: Depart for Cebu City, dive on Mactan Island\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nLeave for Cebu City at 1am from Singapore via Cebu Pacific 5J 548 (CA$163). Arrive around 5:15am. [Here](https://google.com/travel/flights/booking?tfs=CBwQAhpKagwIAxIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMXBfbHkiHwoDU0lOEgoyMDIzLTAzLTIzGgNDRUIqAjVKMgM1NDhwAYIBCwj___________8BQAFIAZgBAg\u0026tfu=CmhDalJJWmtoemJXMUlhbGROUzJ0QlVHcFVkSGRDUnkwdExTMHRMUzB0TFhCbVozVTBNVUZCUVVGQlIxRlhkWGxaVFVSUVVrRkJFZ1UxU2pVME9Cb0tDUEYrRUFJYUEwTkJSRGdjY0pGYxICCAEiCAoGeEdya0Fl)'s the flight booking.\n\nWe can stay in a hostel on Mactan and dive in the area. Here's an [article](https://www.divescotty.com/scuba-diving/diving-mactan-cebu.php) about dive sites in the area.\n\nDive sites considered include Oceanplayer Dive (oceanplayer@naver.com), Sidive Diving Center, Scotty's Dive Center (divestaff@divescotty.com).\n\nAfter diving, head to Cebu Backpacker's Hostel. It's close to the ferry for the morning.\n\n### Day 2\n\n- Date: Friday, March 24th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Depart for Bohol by ferry, then spend the day exploring Bohol\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=6)\n\nExplore the island for the day, on our own. Chocolate Hills is the main highlight.\n\n[Here](https://www.bookaway.com/s/philippines/cebu-to-bohol?departuredate=2023-03-24\u0026passengers=1)'s the link to the ferry. Take it from Cebu Pier 1 to the Tagbilaran City.\n\n[Here](https://www.tripadvisor.co.uk/ExternalLinkInterstitial?redirectTo=http%3A%2F%2Fwww.motorcyclerentalphilippines.com%2Fcategory%2Fmotorcycle-scooter-hire-locations-philippines%2F) is a website for motorbike rentals.\n\nStay near [Bohol Diver's](https://www.alonaboholdiversclub.com/) (info@boholdivers.com). Or Tropical Divers Dive Center (tropicaldiversalona@gmail.com), or Sierra Madre Divers Dive Centre (info@smdiversbohol.com), or Seaquest Dive Center (info@seaquestdivecenter.com). All roughly in the same area.\n\nCould consider staying at [Mad Monkey](https://www.hostelworld.com/pwa/hosteldetails.php/Mad-Monkey-Panglao/Panglao-Island/316595?from=2023-03-24\u0026to=2023-03-26\u0026guests=2); it is within walking distance. Staying at the dive center is also reasonable.\n\nWhen we arrive in Bohol, head straight to our hostel, drop our things, and go explore for the day. Can use a combination of grab and rented scooter to get around.\n\nSites to hit: Chocolate Hills (ends 5:30pm), Loboc River (can do cruise, ends 2:30pm), butterfly sanctuary, tarsier (monkey; ends 5pm), Bilar manmade forest, Baclayon Church and Museum, Sandugo (Blood Pact Shrine).\n\nATV ride? (Can do near Bohol.)\n\n#### Day 3\n\n- Date: Saturday, March 25th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Dive on Bohol (and specifically, Panglao); spend the night\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=7)\n\nA guide to dive sites in [Panglao](https://www.alonaboholdiversclub.com/scuba-diving-areas-in-bohol/dive-sites-in-panglao/).\n\nDive on day 2.\n\n### Day 4\n\n- Date: Sunday, March 26th\n- Location: Oslob, Cebu, Philippines\n- Highlights: Depart for Oslob in the morning, chill, then head to Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=8)\n\n[Here](https://book.phbus.com/en/travel/panglao/oslob?people=1\u0026date=2023-03-26\u0026direction=forward)'s the link to the ferry. It departs at 6:30am and arrives around 8am.\n\nCan do the whale shark activity. [Here]'s a guide to [Oslob Bay](https://guidetothephilippines.ph/articles/ultimate-guides/oslob-cebu-travel-guide). Here's some [more information](https://sugbo.ph/2022/whale-shark-oslob-cebu-guide/). We may have time after to do a waterfall or something.\n\nTo get to Moalboal, take [the bus](https://cebuvisayantravel.com/how-to-get-to-moalboal-from-oslob/).\n\nSpend the night in Moalboal. Some hostel options: [Chief Mau](https://www.hostelworld.com/pwa/hosteldetails.php/Chief-Mau-Moalboal-Cebu/Moalboal/271767?from=2023-03-22\u0026to=2023-03-23\u0026guests=0), Ananas, Maayong, Hangover.\n\n**Revision:** the ferry to Oslob broke down. We'll skip the whale shark watching and head for Moalboal tomorrow.\n\nIdeally, we could take the 6am ferry and cram canyoneering into the same day. Instead, only the ~8am ferry is bookable. Alas, we can still try to make canyoneering. If we don't, head to Moalboal and check out White Sand beach, Lambug beach, snorkel. On **day 2** in Moalboal, do canyoneering and snorkeling _instead_ of diving if we didn't do it on this day.\n\n### Day 5\n\n- Date: Monday, March 27th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend the day in Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=9)\n\n[Here](https://divehappy.com/diving-moalboal-philippines-a-quick-guide/)'s a guide to diving in Moalboal. For dive centers, emailed Dive Lab (handuck9@hotmail.com), Quo Vadis Dive Resort (booking@quovadisresort.com), Savedra Dive Center (info@savedra.com).\n\n[Here's](https://gretastravels.com/sardine-run-moalboal-turtles/) a guide to the sardine run.\n\n### Day 6\n\n- Date: Tuesday, March 28th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend another day in Moalboal!\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=10)\n\nConsider canyoneering, others. At Kawasan Falls.\n\nAt night, for Michael to make BKI, we'd have to go back to Cebu City. The flight is at 3am on Wednesday. Ideally back around 12am, so aim to leave Moalboal at 9pm. A bit later is OK.\n\nTODO: transit options? Last bus goes at 6pm. Can try and book through hostel.\n\n(Konstantin should stay an extra day and dive.)\n\n### Day 7\n\n- Date: Wednesday, March 29th\n- Location: Cebu City, Cebu, Philippines\n- Highlights: Depart for Kota Kinabalu.\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=11)\n\nDepart for Kota Kinabalu via a connection through Manila. Flight link is [here](https://www.google.com/travel/flights/booking?tfs=CBwQAhptag0IAxIJL20vMDFwX2x5EgoyMDIzLTAzLTI5cg0IAxIJL20vMDFfZzdmIiAKA0NFQhIKMjAyMy0wMy0yORoDTU5MKgJQUjIEMjgzNiIfCgNNTkwSCjIwMjMtMDMtMjkaA0JLSSoCWjIyAzUwMXABggELCP___________wFAAUgBmAEC\u0026tfu=CnRDalJJVXpKMVFrWjVVRzFVUzBsQlVHZEJWSGRDUnkwdExTMHRMUzB0TFhCbWFIZ3pOVUZCUVVGQlIxRlhkMFE0UVhJdE5FRkJFZ3hRVWpJNE16WjhXakkxTURFYUNnakdiUkFDR2dOVFIwUTRISERVVVE9PRICCAEiAA).\n\n### Day 8, 9 (Philippines)\n\nOne extra day can be spent in Moalboal, diving.\n\nFrom here, $\\text{Konstantin}^2$ can explore Cebu City (temple (??) of Leah, Cebu Taoist temple, eat at Larsian, Yap-Sandiego Ancestral house, Magellan's cross). North part of the island has many good activities, too.\n\n### Day 8, 9 (Malaysia)\n\nArrive in Kota Kinabalu and join Brian's transfer. See information [here](https://docs.google.com/document/d/1o_h8R3lBFw05wVenWvt-XY0y8LEb9NJFFF2grQJ4DIg/edit). Copy the return flight from [this](https://www.google.com/travel/flights/s/rmEjPoaghnUAGFsm8).\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/philippines-brainstorm":{"title":"Philippines, Brainstorm","content":"\nDepart on March 20 or March 21\nReturn on March 30 or March 31\n\n## Itinerary\n\n### Option A\n\n- Fly from SIN to PPS\n- Drive and ferry from PPS to El Nido, to Coron\n- Fly from Coron (USU) to Cebu (CEB)\n- Ferry from Cebu to Bohol (day trip); return to Cebu\n- Fly from CEB to SIN\n\nPros\nCons\n\n### Option B\n\n- Fly from SIN to CEB\n- Ferry from Cebu to Bohol (day trip); return to Cebu\n- Fly from Cebu (CEB) to Coron (USU)\n- Drive and ferry from Coron to El Nido, to Puerto Princessa\n- Fly from PPS to SIN\n\nPros\nCons\n\n### Option C\n\n- Fly from SIN to MNL\n - Thursday, March 23rd; depart at 6am, arrive at 10am ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhopagwIAhIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMTk1cGRwAYIBCwj___________8BQAFIAZgBAg))\n - (Another option to fly the night before on Wednesday, March 22nd at 10pm for more time in Manila, or to fly at 1am from SIN and arrive at 5am)\n - Explore the forts, city center\n- Fly from MNL to PPS\n - Friday, March 24th; depart 5:20am, arrive at 6:40am ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhoqag0IAxIJL20vMDE5NXBkEgoyMDIzLTAzLTI0cg0IAxIJL20vMDZzNWQ0cAGCAQsI____________AUABSAGYAQI))\n - Then, go to the Underground River; come back\n - Spend the evening in PPS\n - Then take overnight bus to El Nido ([12.go](https://secure.12go.asia/en/travel/puerto-princesa/el-nido?date=2023-03-24\u0026people=2\u0026direction=forward))\n- Arrive in El Nido\n - Saturday, March 25th; arrive around 4am\n - Take a ferry over to Coron; depart at 12pm, arrive at 5pm ([12.go](https://secure.12go.asia/en/travel/el-nido/coron?date=2023-03-24\u0026people=2\u0026direction=forward))\n - Spend the evening in Coron; check into hostel, meet with dive place, etc.,\n- Dive (#1)\n - Sunday, March 26th\n - Three dives; with a night dive\n- Dive (#2)\n - Monday, March 27th\n - Three dives; end in the afternoon\n- Chill, and fly to Cebu City\n - Tuesday, March 28th\n - Depart at 3:50pm; arrive at 5pm ([Google Flights](https://www.google.com/travel/flights/search?tfs=CBwQAhokagcIARIDVVNVEgoyMDIzLTAzLTI4cg0IAxIJL20vMDFwX2x5cAGCAQsI____________AUABSAGYAQI))\n - Chill; check-in to hostel, grab food\n - (...Magellan Cross)\n\nTODO: look at diving in or around Cebu. Could do that first, before the other activities. Then, flying is OK.\n\n- Bohol (\"Chocolate Hills\") day-trip from Cebu\n - Wednesday, March 29th\n - (...See a guide [here](https://www.pinoyadventurista.com/2022/09/cebu-to-bohol-ferry-schedule-fare-rates.html) and day trip options [here](https://www.klook.com/en-SG/activity/3645-sightsee-bohol-tour-cebu/?gclid=Cj0KCQjwn9CgBhDjARIsAD15h0BsgrNReb1iBIXOjA5B_QQ2oLViSwoGlWOeWUZ7MSbTW_1KtZWgp8gaAtpCEALw_wcB\u0026gclsrc=aw.ds))\n- Cebu to Moalboal\n - Thursday, March 30th\n - ~3h drive; could do Canyoneering, and snorkeling near (hostel?!)\n - (Stay the night in Moalboal...?)\n- Moalboal to Cebu, to fly back\n - Friday, March 31st\n\n### Option D\n\n- Fly to Cebu\n - March 22nd\n- Dive (2-3 days)\n - March 23rd\n - March 24th\n- Bohol (2 days)\n - March 25th\n - March 26th\n- Moalboal (2 days)\n - March 27th\n - March 28th\n\n### Option E\n\n- Fly to Cebu\n - Dive on Mactan Island\n- Ferry to Bohol\n - Spend a day on scooter (hills, tarsiers, forest, etc.)\n - End on Panglao Island\n- Dive in Bohol\n- Ferry to Oslob\n - Do the whale shark tour!\n - After, head to Moalboal\n- Moalboal\n - Sardine run in the morning\n - Canyoneering\n- Drive to Cebu City\n- Fly back\n\n### Option F\n\nHopefully the final one.\n\n#### Day 1\n\n- Date: Thursday, March 23rd\n- Location: Cebu City, Cebu, Philippines (and Mactan Island)\n- Highlights: Depart for Cebu City, dive on Mactan Island\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nLeave for Cebu City at 1am from Singapore via Cebu Pacific 5J 548 (CA$163). Arrive around 5:15am. [Here](https://www.google.com/travel/flights/booking?tfs=CBwQAhpKagwIAxIIL20vMDZ0MnQSCjIwMjMtMDMtMjNyDQgDEgkvbS8wMXBfbHkiHwoDU0lOEgoyMDIzLTAzLTIzGgNDRUIqAjVKMgM1NDhwAYIBCwj___________8BQAFIAZgBAg\u0026tfu=CmhDalJJWmtoemJXMUlhbGROUzJ0QlVHcFVkSGRDUnkwdExTMHRMUzB0TFhCbVozVTBNVUZCUVVGQlIxRlhkWGxaVFVSUVVrRkJFZ1UxU2pVME9Cb0tDUEYrRUFJYUEwTkJSRGdjY0pGYxICCAEiCAoGeEdya0Fl)'s the flight booking.\n\nWe can stay in a hostel on Mactan and dive in the area. Here's an [article](https://www.divescotty.com/scuba-diving/diving-mactan-cebu.php) about dive sites in the area.\n\n#### Day 2\n\n- Date: Friday, March 24th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Depart for Bohol by ferry, then spend the day exploring Bohol\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=6)\n\nExplore the island for the day, on our own. Chocolate Hills is the main highlight.\n\n[Here](https://www.bookaway.com/s/philippines/cebu-to-bohol?departuredate=2023-03-24\u0026passengers=1)'s the link to the ferry.\n\n#### Day 3\n\n- Date: Saturday, March 25th\n- Location: Bohol, Bohol, Philippines\n- Highlights: Dive on Bohol (and specifically, Panglao); spend the night\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=7)\n\nA guide to dive sites in [Panglao](https://www.alonaboholdiversclub.com/scuba-diving-areas-in-bohol/dive-sites-in-panglao/).\n\n#### Day 4\n\n- Date: Sunday, March 26th\n- Location: Oslob, Cebu, Philippines\n- Highlights: Depart for Oslob in the morning, chill, then head to Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=8)\n\n[Here](https://book.phbus.com/en/travel/panglao/oslob?people=1\u0026date=2023-03-26\u0026direction=forward)'s the link to the ferry. It departs at 6:30am and arrives around 8am.\n\nCan do the whale shark activity. [Here]'s a guide to [Oslob Bay](https://guidetothephilippines.ph/articles/ultimate-guides/oslob-cebu-travel-guide).\n\n#### Day 5\n\n- Date: Monday, March 27th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend the day in Moalboal\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=9)\n\n[Here](https://divehappy.com/diving-moalboal-philippines-a-quick-guide/)'s a guide to diving in Moalboal.\n\n#### Day 6\n\n- Date: Tuesday, March 28th\n- Location: Moalboal, Cebu, Philippines\n- Highlights: Spend another day in Moalboal!\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=10)\n\nConsider canyoneering, others.\n\nAt night, for Michael to make BKI, we'd have to go back to Cebu City. The flight is at 3am on Wednesday. Ideally back around 12am, so aim to leave Moalboal at 9pm. A bit later is OK.\n\n#### Day 7\n\n- Date: Wednesday, March 29th\n- Location: Cebu City, Cebu, Philippines\n- Highlights: Depart for Kota Kinabalu.\n- Weather: [AccuWeather](https://www.accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=11)\n\nDepart for Kota Kinabalu via a connection through Manila. Flight link is [here](https://www.google.com/travel/flights/booking?tfs=CBwQAhptag0IAxIJL20vMDFwX2x5EgoyMDIzLTAzLTI5cg0IAxIJL20vMDFfZzdmIiAKA0NFQhIKMjAyMy0wMy0yORoDTU5MKgJQUjIEMjgzNiIfCgNNTkwSCjIwMjMtMDMtMjkaA0JLSSoCWjIyAzUwMXABggELCP___________wFAAUgBmAEC\u0026tfu=CnRDalJJVXpKMVFrWjVVRzFVUzBsQlVHZEJWSGRDUnkwdExTMHRMUzB0TFhCbWFIZ3pOVUZCUVVGQlIxRlhkMFE0UVhJdE5FRkJFZ3hRVWpJNE16WjhXakkxTURFYUNnakdiUkFDR2dOVFIwUTRISERVVVE9PRICCAEiAA).\n\nFrom here, $\\text{Konstantin}^2$ can explore Cebu City (template of leah, Cebu Taoist temple, eat at Larsian, Yap-Sandiego Ancestral house, Magellan's cross). North part of the island has many good activities, too.\n\n## Activities\n\nLists of potential activities. (\\*) is a \"must-do\".\n\n- Diving in Coron: Wrecks, Apo reef (\\*)\n- Potential diving in Cebu, near airport\n- Moalboal day trip from Cebu; sardine run\n- Canyoneering\n- Chocolate Hills (\\*)\n - (Doable as day-trip from Cebu... FWIW)\n- Whale Sharks (...not good)\n- Underground River (Puerto Princessa) (\\*)\n- Firefly Watching Tour (Puerto Princessa)\n- Crocodile Farm (Palawan)\n- Honday Bay Tour (Palawan)\n\n## Diving\n\n- Dive in Coron for Wreck dives; many options for which specific dive sites\n- Consider Apo Reef as well\n- Can also look at diving near Cebu (near the airport, Moalboal)\n\n[Where to dive in Coron](https://blog.padi.com/where-to-dive-in-coron-philippines) and [Diving in Coron and Busuanga (includes Apo Reef)](https://padi.com/diving-in/coron-and-busuanga).\n\nFrom [this](https://scubadivingmaps.com/philippines/coron-bay-diving) article, Reggae Dive Center or Corto Divers are good options for booking. Both offer day trips.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/quiz-1":{"title":"Quiz 1","content":"\n# Quiz 1\n\nWednesday, September 20th, 2023.\n\n## Learning Outcomes\n\n- Define ethics and describe what constitutes an ethical issue\n - Ethics: the study of what is moral, especially as it pertains to a **society**\n - (Contrasted against morals, which are more of an individual thing!)\n - Or: ethics is the study of morality, morals is what people ought to do\n - \"Ethical issues\" involve actions (e.g., an application of data science) that impact humans in some way. It's usually a harmful impact that involves some sort of moral judgement. (For example, if a ML system racially profiles humans. That's bad!)\n- Explain the need for ethics in data science\n - Data science often involves making predictions or support decision-making\n - If systems involve bias (or are otherwise unethical), could cause real world harm\n - ML algorithms \"exacerbate the problem\"... cheap and fast, ostensibly objective\n- Identify common ethical issues in data science\n - AI systems for recruiting, jobs\n - AI systems for awarding loans\n - Self-driving vehicles\n - Judicial system; supporting bail, etc.\n- A few bonus theories: subjective relativism, cultural relativism, divine command theory, ethical egoism\n - (Good bonus material!)\n - Also, **TODO:** message about CPSC 340 material\n- Describe common ethical frameworks and how they can be applied to data science applications\n - **The Rights Perspective**\n - **The Justice or Fairness Perspective**\n - **The Utilitarian Perspective**\n - **Act Utilitarianism**\n - **Rule Utilitarianism**\n - **The Common Good Perspective**\n - **The Virtue Ethics Perspective**\n - **The Care Ethics Perspective**\n- Imagine scenarios in which current technology could be used in unethical ways\n - Black Mirror!\n- Evaluate and make arguments around data science scenarios using ethical theories (e.g., Kantianism, utilitarianism, virtue ethics etc.)\n - Example exercises in class; review readings\n- Compare and contrast different ethical theories and explain the case for and against each one as they apply to data science\n - See above; see readings\n\n## Readings\n\n- TODO\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/quiz-2":{"title":"Quiz 2","content":"\n# Quiz 2\n\n- Discuss the implications of data ownership in data science\n- Argue the advantages and disadvantages of collecting individuals’ data online\n- Distinguish between a sample and a population, what attributes make a representative sample and the possible ethical implications of a non-representative sample\n- Explain the elements of experimental design\n- Identify possible sources of bias in datasets (such as historical, measurement, and representation bias)\n- Describe the ethical implications of variable choice in data science (e.g., use of proxies, use of gender and race as variables)\n- Apply good practices for minimizing errors in data cleaning\n- Apply methods for improving privacy and anonymity in stored data and data analysis, such as k-anonymity and randomized response\n- Explain the notion of differential privacy\n\n- Data is the new gold; data enables ML\n- Two main ways of achieving data\n - Experimental design\n - Observational study, no intervention; subjects assign themselves\n - Experimental study, planned intervention; subjects assigned by researchers to treatment\n - Better to eliminate confounding variables\n - Can somewhat establish causation\n - Pre-existing data\n - May be less structured, more biased; lots of it; could be more truthful\n- Samples need to be representative and sufficiently large\n - Agree on population; how to collect responses; sufficient size; random vs. stratified sampling; randomness\n- Sampling failures\n - Under-coverage (missing part of population)\n - Convenience sampling\n - Voluntary response bias\n - Non-response bias (a sect of individuals don't respond for a reason)\n - Response bias, lying\n- Ethical considerations\n - Informed consent, voluntary participation, withdrawal possibilities, equitable distribution of risks; benefits, privacy\n- Bias in ML\n - Human bias\n - Historical bias (model doesn't match current state of world, e.g., male CEOs)\n - Representation bias (data doesn't cover population; population has changed significantly)\n - Measurement bias (oversimplified classification task, measurement process varies, quality of data varies, or is incorrect)\n- \"Proxy variables\"\n - To study intelligence, look at GPA\n - Can determine age, race, gender from resume, sometimes\n - Model learns biases anyways\n- Confounding variables; lurking variables\n - (Correlation != causation)\n- Types of missing variables\n - MCAR, no correlation\n - Random\n - e.g., some data not saved correctly\n - MAR, missing at random\n - Correlates to another variable\n - e.g., less data from those aged 18-25, but spend similar\n - MNAR, missing not at random\n - Correlates to itself\n - e.g., low spend values missing if normally distributed\n- Right to Privacy\n - Fundamental in many countries, including Canada\n - All kinds of personal information\n- Identifiers\n - Direct identifiers: record ID, patient number, SIN, address, name\n - Indirect identifiers: postal code, DOB\n- k-anonymity\n - Do we have k copies of each row? (for quasi-identifiers...)\n - Can be broken with multiple data sets\n- Differential privacy\n - Mathematical approach to privacy\n - Single row doesn't changed output vary much\n - We randomly jitter values to create noise\n\n**For yes/no case, 50% of the time we say their answer, 50% of the time we randomly guess. This introduces jitter.**\n\n5/12 is our survey respondents\n\nBased on our knowledge of jitter: 3/4 of the times we're\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/quiz-4":{"title":"Quiz 4","content":"\n# Quiz 4\n\nReducing unfairness in learning algorithm applications.\n\n## Learning Outcomes\n\n- Discuss the consequences of erroneous (biased) data on the training of learning algorithms and how it impacts its end users\n- Discuss potential ethical implications in errors in feature selection, model selection\n- Describe strategies for reducing algorithmic bias\n- Apply strategies to reduce unfairness in a predictive model trained on an unbalanced dataset\n- Describe advantages and limitations of the strategies used to reduce unfairness in predictive models\n\n## Lecture\n\n- Curb the impacts of bias\n - e.g., in the income data set, some groups are more likely to be assigned to a specific target value (...not good because not reflective of reality; model is learning bad kind of bias)\n - It's not hard for algorithms to learn a relationship between gender and income, but the reality is the data is unfair to begin with\n- Under-sampling; subset the larger groups to create equal balance\n - Limits the amount of data available to our model\n- Oversampling\n - Either re-sample duplicates (randomly)\n - or introduce artificial examples, similar (but different) from ones in the original data\n - SMOTE (\"Synthetic Minority Oversampling Technique\") is one way of achieving this\n - Augment the data set with new data, estimated 'between' original examples evenly\n - The goal of SMOTE is to balance the **target variable,** not the groups themselves\n - It takes two parameters: `k` and `dup_size`\n - `k` is the number of neighbors to consider lines between\n - `dup_size` is how many times to go over each of the points and create a new example\n - `dup_size=0` achieves parity with the majority class (i.e., if unspecified, achieves perfect balance)\n - SMOTE could be combined with under-sampling\n- (You could also tweak the cost function to weigh the minority class more!)\n- Adversarial debiasing: model A is penalized if a subsequent model can guess some feature from the prediction\n - i.e., it's relying too heavily on some $f_p$\n - Maximize the accuracy, but also minimize the ability of model B to guess features\n\n## Assignment\n\n- Visualization: use EDA to assess imbalance, unfairness\n- Drop columns, under-sample, oversample\n- Assess accuracy and fairness metrics\n\nFairness: equal distribution among groups.\n\nDiscussion...\n\n- Feature suppression: doesn't help, proxies learned\n- Under-sampling: many fairness metrics improved, but test accuracy drops (...underfit)\n- Over-sampling: overfitting, opposite problem\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/rapviz":{"title":"RapViz","content":"\n# RapViz\n\n- RapViz research and planning\n - [The Hamilton Algorithm](https://source.opennews.org/articles/hamilton-algorithm/)\n - [Soundex](https://en.wikipedia.org/wiki/Soundex)\n - [Estimate Phonemic Similarity Between Two Words](https://stackoverflow.com/questions/26474847/estimate-phonemic-similarity-between-two-words)\n - [Rhyming in 1000+ lines of C++](http://stevehanov.ca/blog/?id=8)\n - [Implementing a rhyme finder](https://stackoverflow.com/questions/13961291/implementing-a-rhyme-finder)\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/sure-journal":{"title":"SURE Journal","content":"\nwork to c# SURE Journal\n\n## 2023-07-31\n\n- Re-orient on EPM work; go over model building scripts and `diff` with original repository to determine changes required to run\n - Scripts look fine; **which data to train on? (`SMAC`, `ROAR`, `ParamILS`, or `random`?)**\n - Can queue model builds to run Tuesday night; will take some of Tuesday to put on cluster\n- Skim EPM paper again\n- Sync with Chris at 11am\n- Prepare e-mail to EPM authors or runnable steps (and repository quality improvements)\n - Schedule send for tomorrow\n- Re-run Devon's repository with re-built models; prepare plots\n - All vertical?! Will look at tomorrow\n\n## 2023-08-01\n\n- Build new, more sophisticated models for for use with UP\n- ~~Verify EPM e-mail received~~ (message Kevin, Chris)\n - Can run on Python 3.11 fine; needs `np.float` to be renamed `np.float64` (or 32) for use with later NumPy version\n - Will do this after I verify the model outputs\n- Send Chris initial set of UP plots\n- Build plots for additional experiments (up vs. roar, or succinctly, `UPROAR`, and `naive`), send to Chris\n- Verify model outputs; looks like its spitting out `log10` values\n\n## 2023-08-02\n\n- Change `make_prediction` helper for `SurrogateEnvironment` to transform prediction by `10 ** prediction`\n - Send output for `anytime_experiment` to Chris; not sure what to make of the plots... but it is something\n- Clean-up and refactoring for `utilitarian_configuration` to make the repository runnable (all experiments, all environments, all datasets)\n - Work on detailed instructions for the project at the moment; should be done EOD\n- (Initial) work on benchmarking `naive`, `kappa`, `speedup` experiments... why are they so much slower?\n - Will leverage cluster to try to estimate how long these will take\n\n## 2023-08-03\n\n- Work through Chris' comments...\n - More code clean-up for `up`; starting to get a better grasp of the codebase\n - Take a look at initial `sup` work\n- Sync work on `narval`; prepare Slurm scripts\n- A bit of work on CDCL solver (from DPLL decisions) while waiting for jobs to run\n\n## 2023-08-04\n\n- Run jobs and create benchmarks for each experiment\n - Goal is to produce ballpark figure for each (`h` hours, `d` days, etc.)\n- Work on complete report with instructions for presentation Monday\n- More work on CDCL solver while waiting for decisions\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/the-flesh-of-polar-codes":{"title":"The Flesh of Polar Codes","content":"\n# The Flesh of Polar Codes\n\n[Link](https://www.youtube.com/watch?v=VhyoZSB9g0w)\n\nShared by my info theory prof. Really cool lecture on polar codes, which itself is a super cool concept. Coding is crazy.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man":{"title":"The Unofficial Goldman Sachs Guide To Being A Man","content":"\n# The Unofficial Goldman Sachs Guide To Being A Man\n\n[Link](https://www.insider.com/the-gselevator-guide-to-being-a-man-2013-9)\n\nLearning from the GS elevator. Pretty fun, but only take lightly (or end up a douche).\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/vietnam":{"title":"Vietnam","content":"\n# Vietnam\n\nTODO.\n\n## Bookmarks\n\n-\n\n## Itinerary\n\n### Day 1\n\n- Date: Monday, April 3rd\n- Location: Hong Kong\n- Highlights: Arrive in Hong Kong, check-in to Check Inn\n- Weather: [AccuWeather](https://accuweather.com/en/ph/cebu-city/262768/daily-weather-forecast/262768?day=5)\n\nTODO\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/we-choose-to-go-to-the-moon":{"title":"We Choose to go to the Moon","content":"\n# We Choose to go to the Moon\n\n[Link](https://www.youtube.com/watch?app=desktop\u0026v=g25G1M4EXrQ)\n\nNot because it is easy... but because it is hard.\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/joplin/worksheet-9-2023-11-02":{"title":"Worksheet 9 (2023-11-02)","content":"\n# Worksheet 9\n\nSome additional notes from class.\n\n- We're introducing new metrics to use to approximate the test error (i.e., $R^2$ on the test set)\n- We can also perform \"forward selection\" to iterate on models\n - It's a greedy approach; add one variable, determine best model, hold that fixed and repeat\n - `regsubsets` from the `leaps` library in R\n - Can take `nvmax`, the maximum number of variables to consider\n - `tidymodels` alternative in the notebook, too\n- CP, try to minimize\n- AIC (or... BIC?), similar\n- Both estimate test predictive performance; good for prediction models\n- Forward, backward selection bad with categorical variables\n - One-hot encoding turns a feature into multiple columns\n - We want to consider 'all' or 'none', not only some categories\n- Similar concerns with categorical variables and heatmaps\n - Some visualizations better for categorical variables\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]},"/notes/non-joplin-note":{"title":"A note","content":"\n# A note\n\nThis is a not created manually (i.e., not from Joplin Garden Worker).\n","lastmodified":"2023-11-03T04:00:57.026783745Z","tags":[]}} \ No newline at end of file diff --git a/joplin/2023s-course-planning/index.html b/joplin/2023s-course-planning/index.html index f1bf718251e1c..a482595d9c839 100644 --- a/joplin/2023s-course-planning/index.html +++ b/joplin/2023s-course-planning/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/dragonfly-2023-10-11/index.html b/joplin/dragonfly-2023-10-11/index.html index d3008a03f8131..6a1954fdab22f 100644 --- a/joplin/dragonfly-2023-10-11/index.html +++ b/joplin/dragonfly-2023-10-11/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.html b/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.html index c4e1b22962779..fc5c68b38f4b3 100644 --- a/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.html +++ b/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/gemz/index.html b/joplin/gemz/index.html index da016687b2cc7..957764a052d84 100644 --- a/joplin/gemz/index.html +++ b/joplin/gemz/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/hong-kong/index.html b/joplin/hong-kong/index.html index e8d14f83f7749..f398ce1f1863b 100644 --- a/joplin/hong-kong/index.html +++ b/joplin/hong-kong/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/index.html b/joplin/index.html index 7e0cfbe2fc7c4..148aa624e1fd6 100644 --- a/joplin/index.html +++ b/joplin/index.html @@ -9,10 +9,10 @@ -

🌱 Michael's Digital Garden

Search

Search IconIcon to open search
-
\ No newline at end of file +

All Joplins

\ No newline at end of file diff --git a/joplin/index.xml b/joplin/index.xml index 983e4ff64d668..33efcd5bf6502 100644 --- a/joplin/index.xml +++ b/joplin/index.xml @@ -1 +1 @@ -Joplins onhttps://garden.michaeldemar.co/joplin/Recent content in Joplins onHugo -- gohugo.ioen-usThu, 02 Nov 2023 19:46:09 +0000Worksheet 9 (2023-11-02)https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Thu, 02 Nov 2023 19:46:09 +0000https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Quiz 4https://garden.michaeldemar.co/joplin/quiz-4/Wed, 01 Nov 2023 21:57:24 +0000https://garden.michaeldemar.co/joplin/quiz-4/Dragonfly (2023-10-11)https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Wed, 11 Oct 2023 20:07:51 +0000https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Quiz 2https://garden.michaeldemar.co/joplin/quiz-2/Wed, 04 Oct 2023 18:00:32 +0000https://garden.michaeldemar.co/joplin/quiz-2/Quiz 1https://garden.michaeldemar.co/joplin/quiz-1/Tue, 19 Sep 2023 22:28:43 +0000https://garden.michaeldemar.co/joplin/quiz-1/Learn You Some Erlanghttps://garden.michaeldemar.co/joplin/learn-you-some-erlang/Thu, 07 Sep 2023 16:24:22 +0000https://garden.michaeldemar.co/joplin/learn-you-some-erlang/Longest Substring Without Repeating Charactershttps://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Wed, 02 Aug 2023 01:59:50 +0000https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Gemzhttps://garden.michaeldemar.co/joplin/gemz/Mon, 03 Jul 2023 18:58:12 +0000https://garden.michaeldemar.co/joplin/gemz/We Choose to go to the Moonhttps://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Mon, 03 Jul 2023 18:57:54 +0000https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Life Explained in 27 Secondshttps://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/Mon, 03 Jul 2023 18:57:10 +0000https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/The Unofficial Goldman Sachs Guide To Being A Manhttps://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/Mon, 03 Jul 2023 18:56:14 +0000https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/The Flesh of Polar Codeshttps://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/Mon, 03 Jul 2023 18:55:49 +0000https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/RapVizhttps://garden.michaeldemar.co/joplin/rapviz/Wed, 28 Jun 2023 18:32:20 +0000https://garden.michaeldemar.co/joplin/rapviz/Insert Intervalhttps://garden.michaeldemar.co/joplin/insert-interval/Fri, 16 Jun 2023 00:44:43 +0000https://garden.michaeldemar.co/joplin/insert-interval/SURE Journalhttps://garden.michaeldemar.co/joplin/sure-journal/Fri, 12 May 2023 17:51:23 +0000https://garden.michaeldemar.co/joplin/sure-journal/2023S Course Planninghttps://garden.michaeldemar.co/joplin/2023s-course-planning/Thu, 20 Apr 2023 04:42:59 +0000https://garden.michaeldemar.co/joplin/2023s-course-planning/Elegant Compression in Text (The LZ 77 Method), Computerphilehttps://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Tue, 04 Apr 2023 10:41:49 +0000https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Vietnamhttps://garden.michaeldemar.co/joplin/vietnam/Sun, 02 Apr 2023 09:35:53 +0000https://garden.michaeldemar.co/joplin/vietnam/Hong Konghttps://garden.michaeldemar.co/joplin/hong-kong/Sun, 02 Apr 2023 01:36:59 +0000https://garden.michaeldemar.co/joplin/hong-kong/Philippineshttps://garden.michaeldemar.co/joplin/philippines/Sun, 19 Mar 2023 08:14:39 +0000https://garden.michaeldemar.co/joplin/philippines/Philippines, Brainstormhttps://garden.michaeldemar.co/joplin/philippines-brainstorm/Mon, 13 Mar 2023 09:16:17 +0000https://garden.michaeldemar.co/joplin/philippines-brainstorm/ \ No newline at end of file +Joplins onhttps://garden.michaeldemar.co/joplin/Recent content in Joplins onHugo -- gohugo.ioen-usFri, 03 Nov 2023 19:03:55 +0000Lecture 24 (2023-11-03)https://garden.michaeldemar.co/joplin/lecture-24-2023-11-03/Fri, 03 Nov 2023 19:03:55 +0000https://garden.michaeldemar.co/joplin/lecture-24-2023-11-03/Worksheet 9 (2023-11-02)https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Thu, 02 Nov 2023 19:46:09 +0000https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/Quiz 4https://garden.michaeldemar.co/joplin/quiz-4/Wed, 01 Nov 2023 21:57:24 +0000https://garden.michaeldemar.co/joplin/quiz-4/Dragonfly (2023-10-11)https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Wed, 11 Oct 2023 20:07:51 +0000https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/Quiz 2https://garden.michaeldemar.co/joplin/quiz-2/Wed, 04 Oct 2023 18:00:32 +0000https://garden.michaeldemar.co/joplin/quiz-2/Quiz 1https://garden.michaeldemar.co/joplin/quiz-1/Tue, 19 Sep 2023 22:28:43 +0000https://garden.michaeldemar.co/joplin/quiz-1/Learn You Some Erlanghttps://garden.michaeldemar.co/joplin/learn-you-some-erlang/Thu, 07 Sep 2023 16:24:22 +0000https://garden.michaeldemar.co/joplin/learn-you-some-erlang/Longest Substring Without Repeating Charactershttps://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Wed, 02 Aug 2023 01:59:50 +0000https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/Gemzhttps://garden.michaeldemar.co/joplin/gemz/Mon, 03 Jul 2023 18:58:12 +0000https://garden.michaeldemar.co/joplin/gemz/We Choose to go to the Moonhttps://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Mon, 03 Jul 2023 18:57:54 +0000https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/Life Explained in 27 Secondshttps://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/Mon, 03 Jul 2023 18:57:10 +0000https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/The Unofficial Goldman Sachs Guide To Being A Manhttps://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/Mon, 03 Jul 2023 18:56:14 +0000https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/The Flesh of Polar Codeshttps://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/Mon, 03 Jul 2023 18:55:49 +0000https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/RapVizhttps://garden.michaeldemar.co/joplin/rapviz/Wed, 28 Jun 2023 18:32:20 +0000https://garden.michaeldemar.co/joplin/rapviz/Insert Intervalhttps://garden.michaeldemar.co/joplin/insert-interval/Fri, 16 Jun 2023 00:44:43 +0000https://garden.michaeldemar.co/joplin/insert-interval/SURE Journalhttps://garden.michaeldemar.co/joplin/sure-journal/Fri, 12 May 2023 17:51:23 +0000https://garden.michaeldemar.co/joplin/sure-journal/2023S Course Planninghttps://garden.michaeldemar.co/joplin/2023s-course-planning/Thu, 20 Apr 2023 04:42:59 +0000https://garden.michaeldemar.co/joplin/2023s-course-planning/Elegant Compression in Text (The LZ 77 Method), Computerphilehttps://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Tue, 04 Apr 2023 10:41:49 +0000https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/Vietnamhttps://garden.michaeldemar.co/joplin/vietnam/Sun, 02 Apr 2023 09:35:53 +0000https://garden.michaeldemar.co/joplin/vietnam/Hong Konghttps://garden.michaeldemar.co/joplin/hong-kong/Sun, 02 Apr 2023 01:36:59 +0000https://garden.michaeldemar.co/joplin/hong-kong/Philippineshttps://garden.michaeldemar.co/joplin/philippines/Sun, 19 Mar 2023 08:14:39 +0000https://garden.michaeldemar.co/joplin/philippines/Philippines, Brainstormhttps://garden.michaeldemar.co/joplin/philippines-brainstorm/Mon, 13 Mar 2023 09:16:17 +0000https://garden.michaeldemar.co/joplin/philippines-brainstorm/ \ No newline at end of file diff --git a/joplin/insert-interval/index.html b/joplin/insert-interval/index.html index 6dafba8feb868..667a529dfd65e 100644 --- a/joplin/insert-interval/index.html +++ b/joplin/insert-interval/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/learn-you-some-erlang/index.html b/joplin/learn-you-some-erlang/index.html index 4c1378191f4f4..238c0bb2be363 100644 --- a/joplin/learn-you-some-erlang/index.html +++ b/joplin/learn-you-some-erlang/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/lecture-24-2023-11-03/index.html b/joplin/lecture-24-2023-11-03/index.html new file mode 100644 index 0000000000000..434c540ff3324 --- /dev/null +++ b/joplin/lecture-24-2023-11-03/index.html @@ -0,0 +1,20 @@ +Lecture 24 (2023-11-03) + + + + + + + + + + + +
+

🌱 Michael's Digital Garden

Search

Search IconIcon to open search
+

Lecture 24 (2023-11-03)

Last updated +Nov 3, 2023 +Edit Source

    # Lecture 24

    MLE, MAP.

    (Some notes. Tablet was dead.)

    • Announcements

    • TODOs

      • Make a hand-written version
    • Maximize probability p(D | w) for a data set D, parameter w

    • This turns into minimizing the loss function

      • We use negative log-likelihood, since multiplication (independent events) becomes addition, and minimization problem (by negative)
      • Also, probabilities are super tiny, so log fixes this (i.e., no floating point issues)
      • We assume errors distributed normally; with a bit of re-arrangement, we go from $p(\epsilon_i)$ to $p(y_i | x_i, w)$
        • Or, the prediction has a center and variance
      • Since we’re focused on $y$ given $X$, discriminative; no modelling for $X$
      • Versus naive Bayes
      • If we do Laplace error, instead of Gaussian (i.e., normal), then we recover absolute error
        • (Tails correspond to tolerance for outliers; Laplace error has skinnier tails)
      • Transformation of “$o_i$” to a probability
    • MAP

      • Instead estimate p(w | D) = p(D | w)P(w) / P(D) prop P(D | w)P(w)
      • Same as MLE, but now P(w) our prior; express our belief in $w$ itself, the model
      • Becomes our regularizer; goes from product to sum, as expected
        • Regularizer is negative log prior
        • Negative log takes use from nasty probability statement to convenient L2-norm sum
      • There is a choice of $\sigma$ here, unlike with MLE
    • Summary

    • Nod to fully-Bayesian methods

    • MLE, MAP handles ordinal data, counts, survival analysis, unbalanced classes

    • (This lecture is really just a probabilistic re-imagining, or justification, of ideas we’ve already seen)


    \ No newline at end of file diff --git a/joplin/life-explained-in-27-seconds/index.html b/joplin/life-explained-in-27-seconds/index.html index 24a53e92f578a..39a2e78c6d053 100644 --- a/joplin/life-explained-in-27-seconds/index.html +++ b/joplin/life-explained-in-27-seconds/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/longest-substring-without-repeating-characters/index.html b/joplin/longest-substring-without-repeating-characters/index.html index 1ff44ffad180f..c2ea662d31e51 100644 --- a/joplin/longest-substring-without-repeating-characters/index.html +++ b/joplin/longest-substring-without-repeating-characters/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/page/2/index.html b/joplin/page/2/index.html index c8218148ccbde..b1aae557e5e7c 100644 --- a/joplin/page/2/index.html +++ b/joplin/page/2/index.html @@ -9,10 +9,10 @@ -

    🌱 Michael's Digital Garden

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +

    All Joplins

    \ No newline at end of file diff --git a/joplin/page/3/index.html b/joplin/page/3/index.html index 26f8873af4752..cdcbad78a3f4f 100644 --- a/joplin/page/3/index.html +++ b/joplin/page/3/index.html @@ -9,10 +9,10 @@ -

    🌱 Michael's Digital Garden

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +

    All Joplins

    \ No newline at end of file diff --git a/joplin/philippines-brainstorm/index.html b/joplin/philippines-brainstorm/index.html index 44c7b4f481c2c..8b9b00516f98d 100644 --- a/joplin/philippines-brainstorm/index.html +++ b/joplin/philippines-brainstorm/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/philippines/index.html b/joplin/philippines/index.html index 8fb8133168055..156ca2faf735c 100644 --- a/joplin/philippines/index.html +++ b/joplin/philippines/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/quiz-1/index.html b/joplin/quiz-1/index.html index 074017787ed27..231780e4445ba 100644 --- a/joplin/quiz-1/index.html +++ b/joplin/quiz-1/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/quiz-2/index.html b/joplin/quiz-2/index.html index 82c62d7fcc786..ef8f31095df53 100644 --- a/joplin/quiz-2/index.html +++ b/joplin/quiz-2/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/quiz-4/index.html b/joplin/quiz-4/index.html index b488acd234394..3c4bfddb009db 100644 --- a/joplin/quiz-4/index.html +++ b/joplin/quiz-4/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/rapviz/index.html b/joplin/rapviz/index.html index fd4081fe97bfc..9fe992c1ea1ed 100644 --- a/joplin/rapviz/index.html +++ b/joplin/rapviz/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/sure-journal/index.html b/joplin/sure-journal/index.html index 0ffe9a2c7d41f..fdc601f28869a 100644 --- a/joplin/sure-journal/index.html +++ b/joplin/sure-journal/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/the-flesh-of-polar-codes/index.html b/joplin/the-flesh-of-polar-codes/index.html index 8370ad91b8739..d2d4949ebb76e 100644 --- a/joplin/the-flesh-of-polar-codes/index.html +++ b/joplin/the-flesh-of-polar-codes/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.html b/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.html index dd841946f0b6d..7b3c06b2c38e7 100644 --- a/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.html +++ b/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/vietnam/index.html b/joplin/vietnam/index.html index f7cdc817f22e7..5f8bf347f794f 100644 --- a/joplin/vietnam/index.html +++ b/joplin/vietnam/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/we-choose-to-go-to-the-moon/index.html b/joplin/we-choose-to-go-to-the-moon/index.html index 0898f2b80f248..5f4b82772eee2 100644 --- a/joplin/we-choose-to-go-to-the-moon/index.html +++ b/joplin/we-choose-to-go-to-the-moon/index.html @@ -9,7 +9,7 @@ - diff --git a/joplin/worksheet-9-2023-11-02/index.html b/joplin/worksheet-9-2023-11-02/index.html index 69442ba972eca..e0b73df756b8a 100644 --- a/joplin/worksheet-9-2023-11-02/index.html +++ b/joplin/worksheet-9-2023-11-02/index.html @@ -9,7 +9,7 @@ - diff --git a/linkmap b/linkmap index b510b3de6ce61..b571cf832d453 100644 --- a/linkmap +++ b/linkmap @@ -1,23 +1,24 @@ -/joplin/worksheet-9-2023-11-02/index.{html} /joplin/worksheet-9-2023-11-02/ +/joplin/quiz-2/index.{html} /joplin/quiz-2/ +/joplin/quiz-4/index.{html} /joplin/quiz-4/ /index.html / -/joplin/learn-you-some-erlang/index.{html} /joplin/learn-you-some-erlang/ +/joplin/dragonfly-2023-10-11/index.{html} /joplin/dragonfly-2023-10-11/ +/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.{html} /joplin/elegant-compression-in-text-the-lz-77-method-computerphile/ +/joplin/life-explained-in-27-seconds/index.{html} /joplin/life-explained-in-27-seconds/ +/joplin/philippines/index.{html} /joplin/philippines/ +/joplin/quiz-1/index.{html} /joplin/quiz-1/ /joplin/rapviz/index.{html} /joplin/rapviz/ -/joplin/vietnam/index.{html} /joplin/vietnam/ +/joplin/the-flesh-of-polar-codes/index.{html} /joplin/the-flesh-of-polar-codes/ /notes/non-joplin-note/index.{html} /notes/non-joplin-note/ -/joplin/insert-interval/index.{html} /joplin/insert-interval/ /joplin/longest-substring-without-repeating-characters/index.{html} /joplin/longest-substring-without-repeating-characters/ -/joplin/philippines-brainstorm/index.{html} /joplin/philippines-brainstorm/ +/joplin/vietnam/index.{html} /joplin/vietnam/ /joplin/we-choose-to-go-to-the-moon/index.{html} /joplin/we-choose-to-go-to-the-moon/ -/joplin/sure-journal/index.{html} /joplin/sure-journal/ -/joplin/the-flesh-of-polar-codes/index.{html} /joplin/the-flesh-of-polar-codes/ +/joplin/worksheet-9-2023-11-02/index.{html} /joplin/worksheet-9-2023-11-02/ /joplin/2023s-course-planning/index.{html} /joplin/2023s-course-planning/ -/joplin/philippines/index.{html} /joplin/philippines/ -/joplin/quiz-2/index.{html} /joplin/quiz-2/ -/joplin/quiz-4/index.{html} /joplin/quiz-4/ -/joplin/life-explained-in-27-seconds/index.{html} /joplin/life-explained-in-27-seconds/ -/joplin/quiz-1/index.{html} /joplin/quiz-1/ -/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.{html} /joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/ -/joplin/dragonfly-2023-10-11/index.{html} /joplin/dragonfly-2023-10-11/ -/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/index.{html} /joplin/elegant-compression-in-text-the-lz-77-method-computerphile/ /joplin/gemz/index.{html} /joplin/gemz/ +/joplin/insert-interval/index.{html} /joplin/insert-interval/ +/joplin/philippines-brainstorm/index.{html} /joplin/philippines-brainstorm/ +/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/index.{html} /joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/ /joplin/hong-kong/index.{html} /joplin/hong-kong/ +/joplin/learn-you-some-erlang/index.{html} /joplin/learn-you-some-erlang/ +/joplin/lecture-24-2023-11-03/index.{html} /joplin/lecture-24-2023-11-03/ +/joplin/sure-journal/index.{html} /joplin/sure-journal/ diff --git a/notes/index.html b/notes/index.html index f633cc6a1d906..7e8267d1774ed 100644 --- a/notes/index.html +++ b/notes/index.html @@ -9,7 +9,7 @@ - diff --git a/notes/non-joplin-note/index.html b/notes/non-joplin-note/index.html index 2d934ece53991..5b198e576e06d 100644 --- a/notes/non-joplin-note/index.html +++ b/notes/non-joplin-note/index.html @@ -9,7 +9,7 @@ - diff --git a/sitemap.xml b/sitemap.xml index fa6c99a5142a8..324248f02a3a2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://garden.michaeldemar.co/joplin/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-4/2023-11-02T07:45:43-07:00https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-2/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-1/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/learn-you-some-erlang/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/2023-08-02T12:10:30-04:00https://garden.michaeldemar.co/joplin/gemz/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/notes/non-joplin-note/2023-07-03T16:51:57-07:00https://garden.michaeldemar.co/notes/2023-07-03T16:51:57-07:00https://garden.michaeldemar.co/joplin/rapviz/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/insert-interval/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/sure-journal/2023-08-04T12:17:57-04:00https://garden.michaeldemar.co/joplin/2023s-course-planning/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/vietnam/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/hong-kong/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/philippines/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/philippines-brainstorm/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/categories/https://garden.michaeldemar.co/2023-08-01T19:14:38-04:00https://garden.michaeldemar.co/tags/ \ No newline at end of file +https://garden.michaeldemar.co/joplin/2023-11-03T21:00:24-07:00https://garden.michaeldemar.co/joplin/lecture-24-2023-11-03/2023-11-03T21:00:24-07:00https://garden.michaeldemar.co/joplin/worksheet-9-2023-11-02/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-4/2023-11-02T07:45:43-07:00https://garden.michaeldemar.co/joplin/dragonfly-2023-10-11/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-2/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/quiz-1/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/learn-you-some-erlang/2023-11-02T21:00:23-07:00https://garden.michaeldemar.co/joplin/longest-substring-without-repeating-characters/2023-08-02T12:10:30-04:00https://garden.michaeldemar.co/joplin/gemz/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/we-choose-to-go-to-the-moon/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/life-explained-in-27-seconds/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/the-unofficial-goldman-sachs-guide-to-being-a-man/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/the-flesh-of-polar-codes/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/notes/non-joplin-note/2023-07-03T16:51:57-07:00https://garden.michaeldemar.co/notes/2023-07-03T16:51:57-07:00https://garden.michaeldemar.co/joplin/rapviz/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/insert-interval/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/sure-journal/2023-08-04T12:17:57-04:00https://garden.michaeldemar.co/joplin/2023s-course-planning/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/elegant-compression-in-text-the-lz-77-method-computerphile/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/vietnam/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/hong-kong/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/philippines/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/joplin/philippines-brainstorm/2023-08-01T15:34:22-04:00https://garden.michaeldemar.co/categories/https://garden.michaeldemar.co/2023-08-01T19:14:38-04:00https://garden.michaeldemar.co/tags/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 2e40405d47921..a199ee6fad752 100644 --- a/tags/index.html +++ b/tags/index.html @@ -9,7 +9,7 @@ -