├── README.md ├── uno_nbCodeToJs_0.nim ├── index_nbCodeToJs_0.nim ├── index.nim ├── quattro.nim ├── title.nim ├── LICENSE ├── quattro.html ├── tre.nim ├── nbex.nim ├── due.nim ├── title.html ├── tre.html ├── note.md ├── year2015day1input.txt ├── due.html ├── uno.html ├── uno.nim └── index.html /README.md: -------------------------------------------------------------------------------- 1 | # diventa-avventore-del-codice 2 | 3 | Elogio del calendario dell'avvento del codice (Advent of Code) 4 | 5 | Per il meetup [Python Catania del 17 giugno 2024](https://www.meetup.com/python-catania/events/301402271/) 6 | -------------------------------------------------------------------------------- /uno_nbCodeToJs_0.nim: -------------------------------------------------------------------------------- 1 | import std/[macros, json] 2 | 3 | macro bumpGensym(n: static int) = 4 | for i in 0 .. n: 5 | let _ = gensym() 6 | 7 | bumpGensym(0) 8 | 9 | 10 | 11 | echo "Join my private leaderboard using this code: 359688-3eeef5da" -------------------------------------------------------------------------------- /index_nbCodeToJs_0.nim: -------------------------------------------------------------------------------- 1 | import std/[macros, json] 2 | 3 | macro bumpGensym(n: static int) = 4 | for i in 0 .. n: 5 | let _ = gensym() 6 | 7 | bumpGensym(0) 8 | 9 | 10 | 11 | echo "Join my private leaderboard using this code: 359688-3eeef5da" -------------------------------------------------------------------------------- /index.nim: -------------------------------------------------------------------------------- 1 | import nimib except toJson 2 | import nimislides, nbex 3 | import title, uno, due, tre, quattro 4 | 5 | when isMainModule: 6 | myInit("index") 7 | titleSlide 8 | agendaSlide 9 | slide: 10 | agendaSlide(1) 11 | uno.all 12 | slide: 13 | agendaSlide(2) 14 | due.all 15 | slide: 16 | agendaSlide(3) 17 | tre.all 18 | slide: 19 | agendaSlide(4) 20 | quattro.all 21 | nbSave 22 | -------------------------------------------------------------------------------- /quattro.nim: -------------------------------------------------------------------------------- 1 | import nimib except toJson 2 | import nimislides, nbex 3 | 4 | minSlide(consigli): 5 | nbText "## Consigli" 6 | nbText """ 7 | - farlo con altri 8 | - darsi un obiettivo 9 | - non arrendersi alle prime difficoltà 10 | - cercare/chiedere aiuto 11 | - divertirsi! 12 | """ 13 | 14 | minSlide(provaTu): 15 | nbText "## Ora prova tu!" 16 | 17 | template all* = 18 | consigli 19 | provaTu 20 | 21 | when isMainModule: 22 | myInit("quattro") 23 | all 24 | nbSave -------------------------------------------------------------------------------- /title.nim: -------------------------------------------------------------------------------- 1 | import std / strutils 2 | import nimib except toJson 3 | import nimislides, nbex 4 | 5 | minSlide(titleSlide): 6 | nbText """ 7 | ## * Diventa Avventore del Codice * 8 | 9 | 🎄 Elogio di _Advent of Code_ (AoC) 🧑‍💻 10 | """ 11 | reference "[github.com/pietroppeter/diventa-avventore-del-codice](https://github.com/pietroppeter/diventa-avventore-del-codice)" 12 | 13 | const 14 | one* = "Cos'è AoC" 15 | two* = "Storie, curiosità e risorse" 16 | three* = "Io e AoC" 17 | four* = "Tu e AoC" 18 | 19 | 20 | func emphArray*(a: openArray[string], i: int): seq[string] = 21 | for j, v in a: 22 | if (j + 1) == i: 23 | result.add "**" & v & "**" 24 | else: 25 | result.add v 26 | 27 | template agendaSlide*(i = 0) = 28 | slide: 29 | nbText """ 30 | 1. $1 31 | 2. $2 32 | 3. $3 33 | 4. $4 34 | """ % [one, two, three, four].emphArray(i) 35 | 36 | when isMainModule: 37 | myInit("title") 38 | titleSlide 39 | agendaSlide 40 | agendaSlide(1) 41 | agendaSlide(2) 42 | agendaSlide(3) 43 | agendaSlide(4) 44 | nbSave -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Pietro Peterlongo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /quattro.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |

Consigli

70 |
    71 |
  • farlo con altri
  • 72 |
  • darsi un obiettivo
  • 73 |
  • non arrendersi alle prime difficoltà
  • 74 |
  • cercare/chiedere aiuto
  • 75 |
  • divertirsi!
  • 76 |
77 |
78 |
79 |

Ora prova tu!

80 |
81 |
82 |
83 | 84 | 85 | 86 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /tre.nim: -------------------------------------------------------------------------------- 1 | import nimib except toJson 2 | import nimislides, nbex 3 | 4 | minSlide(me): 5 | nbText "## Chi sono 👨‍👩‍👧" 6 | nbTextSmall """ 7 | - appassionato di Advent of Code (dal 2018) 8 | - organizzatore Python Milano e PyData Milan (dal 2023) 9 | - conf [Py4AI](https://www.py4ai.com/) (Marzo 2024) 10 | - Data Scientist (dal 2015, prima in ToolsGroup, ora in ...) 11 | - [Recurse Center](https://www.recurse.com/) (2023 Winter 1) 12 | - [github.com/pietroppeter](https://github.com/pietroppeter) 13 | - presentazione a PyCon Italy 2024: [Nim for Pythonistas](https://www.youtube.com/live/fDN2iJri7W0?t=17037s) ([slides](https://github.com/pietroppeter/nim-for-pythonistas)) 14 | """ 15 | 16 | minSlide(meAoc): 17 | nbText "## Io e AoC " 18 | nbTextSmall """ 19 | - [2021 day 3 - musica delle balene 🐳🎶](https://pietroppeter.github.io/adventofnim/2021/day03.html#whale_music) 20 | - [2022 day 4 - visualizzazione con p5js](https://pietroppeter.github.io/adventofnim/2022/day04.html) 21 | - si può usare [p5js](https://p5js.org/) in Python grazie a [PyScript](https://pyscript.net/) e [proceso](https://github.com/nickmcintyre/proceso), [esempio](https://github.com/pietroppeter/rc23winter1/tree/main/pyscript/proceso_okazz240103a) ([live](https://pietroppeter.github.io/rc23winter1/pyscript/proceso_okazz240103a/)) 22 | - [2023 day 5 - input come import](https://github.com/pietroppeter/adventofcode2023/blob/main/day05/puzzle.txt) 23 | """ 24 | 25 | minSlide(meFavoriti): 26 | nbText "## Io e AoC (Favoriti) " 27 | nbTextSmall """ 28 | - [2018 Day 10 - The Stars Align](https://adventofcode.com/2018/day/10) (ascii viz) 29 | - 2019 Intcode - giorni [2](https://adventofcode.com/2019/day/2), 5, 7, 9, 11, [13](https://adventofcode.com/2019/day/13), 15, 17, 19, 21, 23, 25 30 | - [2020 Day 4: Passport Processing](https://adventofcode.com/2020/day/4) (parsing!) 31 | - [2020 Day 10: Adapter Array ](https://adventofcode.com/2020/day/10) 32 | - [mio tutorial "advent of hints"](https://pietroppeter.github.io/adventofnim/2020/day10hints.html) 33 | - [2021 Day 6: Lanternfish](https://adventofcode.com/2021/day/6) (classico: brute force non funziona) 34 | """ 35 | # https://esolangs.org/wiki/Intcode 36 | 37 | minSlide(meRisorse): 38 | nbText "## Io e AoC (Risorse) " 39 | nbTextSmall """ 40 | - [Panel AoC a PyCon Italy 2024 - venerdì, tagliatelle](https://www.youtube.com/live/NIWMisHlHCk?si=SvmbdMZrQ1F1p9TZ&t=20191) 41 | - [Intervista Pythonista ep 47 (Dic 2023)](https://www.youtube.com/watch?v=h3qDY4qNU4M&list=PLI39UsD2FrxX8B_g4EEE7r8qaOShsbdAX&index=3&t=3s) 42 | - Live Codemotion - Dicembre 2023 [1](https://www.linkedin.com/events/adventofcode-23-1puntata7137364071519006721/theater/), [2](https://www.linkedin.com/events/adventofcode-23-2puntata7138089199672389632/theater/), [4](https://www.linkedin.com/events/adventofcode-23-puntataconclusi7150527433048211456/theater/) 43 | - [Advent of Code Charts (estensione chrome per leaderboard)](https://chromewebstore.google.com/detail/advent-of-code-charts/ipbomkmbokofodhhjpipflmdplipblbe) 44 | """ 45 | 46 | 47 | template all* = 48 | me 49 | meAoc 50 | meFavoriti 51 | meRisorse 52 | 53 | when isMainModule: 54 | myInit("tre") 55 | all 56 | nbSave -------------------------------------------------------------------------------- /nbex.nim: -------------------------------------------------------------------------------- 1 | import nimib, nimislides 2 | import std / strformat 3 | export strformat 4 | 5 | type 6 | int255* = range[0 .. 255] 7 | 8 | const 9 | pythonBlue* = "#3572A5" # from github/linguist 10 | pyconRedBrick* = "#F17A5D" 11 | pyconYellow* = "#F8B03D" 12 | pyconRed* = "#DB0000" 13 | pyconViolet* = "#9473B0" 14 | pyconPurple* = "#FA00FF" 15 | pyconGreen* = "#219653" 16 | pyconKeppel* = "#34B4A1" 17 | pyconWhite* = "#FCE8DE" 18 | nimYellow* = "#ffe953" 19 | 20 | const 21 | tripleBackticks* = "```" # hack to avoid issues when showing source 22 | bOpen* = "{" 23 | bClose* = "}" 24 | 25 | template reference*(text: string) = 26 | nbTextSmall: text 27 | 28 | # small text 29 | template addNbTextSmall* = 30 | nb.partials["nbTextSmall"] = "" & nb.partials["nbText"] & "" 31 | nb.renderPlans["nbTextSmall"] = nb.renderPlans["nbText"] 32 | 33 | template nbTextSmall*(text: string) = 34 | nbText: text 35 | nb.blk.command = "nbTextSmall" 36 | 37 | template mySlide*(ident: untyped, body: untyped) = 38 | template ident* = 39 | slide: 40 | body 41 | 42 | template slideText*(ident: untyped, body: untyped) = 43 | template ident* = 44 | slide: 45 | nbText: 46 | body 47 | 48 | template minSlide*(ident: untyped, body: untyped) = 49 | # I can customize with custom background if I do not get to make it complete 50 | template ident* = 51 | slide: 52 | body 53 | 54 | template spanColor*(col: string, text: string) = 55 | nbRawHtml("" & text & "") 56 | 57 | template hColor*(level: int, col: string, text: string) = 58 | nbRawHtml("" & text & "") 59 | 60 | template h1Color*(col: string, text: string) = hColor(1, col, text) 61 | template h2Color*(col: string, text: string) = hColor(2, col, text) 62 | template h3Color*(col: string, text: string) = hColor(3, col, text) 63 | template h4Color*(col: string, text: string) = hColor(4, col, text) 64 | 65 | template myInit*(sourceFileRel = "my.nim") = 66 | nbInit(thisFileRel=sourceFileRel, theme=revealTheme) 67 | setSlidesTheme(Simple) 68 | addNbTextSmall 69 | nbRawHtml """ 70 | 125 | """ 126 | 127 | template whiteBackground*(body: untyped) = 128 | divStyled("background-color: white;"): 129 | body 130 | 131 | 132 | template divStyled*(style: string, body: untyped) = 133 | nbRawHtml "
" 134 | body 135 | nbRawHtml "
" 136 | 137 | when isMainModule: 138 | myInit 139 | slide: 140 | divStyled("background-color:pink;"): 141 | h1Color("orange"): "H1 Title" 142 | spanColor("blue"): "hi" 143 | nbSave 144 | -------------------------------------------------------------------------------- /due.nim: -------------------------------------------------------------------------------- 1 | import nimib except toJson 2 | import nimislides, nbex 3 | 4 | minSlide(storia): 5 | nbText "## Storia" 6 | nbTextSmall """ 7 | 8 | > mi piace aiutare la gente a migliorare 9 | > nella programmazione 10 | > 11 | > --Eric Wastl 12 | 13 | - creato da Eric Wastl nel 2015 14 | - ha un successo non preventivato 15 | - [2020 day 1 unlock crash - postmortem](https://www.reddit.com/r/adventofcode/comments/k4ejjz/2020_day_1_unlock_crash_postmortem/) 16 | - [Postmortem 2: Scaling Adventures](https://www.reddit.com/r/adventofcode/comments/k9lt09/postmortem_2_scaling_adventures/) 17 | - nel 2023 più di 1 milione di persone 18 | - Eric lavora tutto l'anno (da solo) per i nuovi puzzle 19 | - un capovoloro di design di puzzle 20 | - ci sono beta testers (e pochi bachi) 21 | """ 22 | speakerNote """ 23 | - AWS load balancers do not scale fast enough 24 | """ 25 | 26 | minSlide(favoriti): 27 | nbText """ ## Favoriti 28 | 29 | - parola creata dal nulla 30 | - quello matematico su cui ho fatto tutorial 31 | - intcode series 32 | - elfi e goblin 33 | - acqua nei container 34 | - ... 35 | """ 36 | 37 | 38 | minSlide(storiaRisorse): 39 | nbText """ ## Storia (risorse) 40 | 41 | (in inglese) 42 | 43 | - [presentazione Eric dietro le quinte (2019)](https://www.youtube.com/watch?v=gibVyxpi-qA&t=2602s) 44 | - [intervista podcast (2023)](https://open.spotify.com/episode/2IkTIuj2F5SGxPBsW23O58?si=2410dVMuQ1-y3T356FJ6Tg) 45 | """ 46 | 47 | minSlide(subreddit): 48 | nbText "## Comunità e curiosità" 49 | nbTextSmall """ 50 | [reddit.com/r/adventofcode/](https://www.reddit.com/r/adventofcode/) 51 | 52 | - viz: [2021.1 Python Submarine](https://www.reddit.com/r/adventofcode/comments/r6gq01/2021_day_1_python_terminal_visualization_ocean/), 53 | [2023.1 Playdate](https://www.reddit.com/r/adventofcode/comments/188bpfg/2023_day_1_playdate_cranked_solution/), 54 | [2023.5 Python Seed to Soil..](https://www.reddit.com/r/adventofcode/comments/18bbswp/2023_day_5_part_2python_terminal_visualization/), 55 | [2022.9 Rope pull](https://www.reddit.com/r/adventofcode/comments/zgq3nr/2022_day_9_rope_pull/), 56 | [2023.10 Laser Cut](https://www.reddit.com/r/adventofcode/comments/18fjhb9/2023_day_10_laser_cut_solution/) 57 | - funny: [bugs](https://www.reddit.com/r/adventofcode/comments/zl3lx0/a_summary_of_all_the_aoc_bugs_this_year/), 58 | [new lang](https://www.reddit.com/r/adventofcode/comments/rccjup/learning_a_new_language_through_aoc_be_like/) 59 | - tutorial: [250 stars mega guide](https://www.reddit.com/r/adventofcode/comments/z0vmy0/350_stars_a_categorization_and_megaguide/) 60 | - upping the Ante: [2023 one line of Python](https://www.reddit.com/r/adventofcode/comments/18uhxv0/2023_day_125_solving_aoc_in_one_line_of_python/), 61 | [2023 alphabetical langs](https://www.reddit.com/r/adventofcode/comments/18e85xf/attempting_each_aoc_in_a_language_starting_with/), 62 | [2020 Community Fun - Getting Crafty](https://old.reddit.com/r/adventofcode/comments/kjtmw0/introducing_your_aoc_2020_gettin_crafty_with_it/) 63 | - [Advent of Code Gifs by Jari Komppa](https://cohost.org/sol-hsa?page=0) 64 | - [Peter Norvig Pytudes](https://github.com/norvig/pytudes) 65 | - Impara a programmare in 10 anni [inglese](https://norvig.com/21-days.html), [italiano](https://web.archive.org/web/20100425061052/http://www.culturahacker.it/documenti/teach.html) 66 | 67 | """ 68 | speakerNote """ 69 | - solution megathread 70 | - help/question 71 | - tutorial 72 | - spoilers 73 | """ 74 | # top funny https://old.reddit.com/r/adventofcode/top/?sort=top&t=all&f=flair_name:%22Funny%22 75 | # top viz https://www.reddit.com/r/adventofcode/top/?sort=top&t=all&f=flair_name:%22Visualization%22 76 | 77 | template leaderBoardTimes* = 78 | slide(slideOptions(iframeBackground="https://www.maurits.vdschee.nl/scatterplot/")): 79 | discard 80 | slide: 81 | nbText "[www.maurits.vdschee.nl/scatterplot/](https://www.maurits.vdschee.nl/scatterplot/)" 82 | 83 | template all* = 84 | storia 85 | storiaRisorse 86 | # favoriti 87 | leaderBoardTimes 88 | subreddit 89 | 90 | 91 | when isMainModule: 92 | myInit("due") 93 | all 94 | nbSave -------------------------------------------------------------------------------- /title.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |

* Diventa Avventore del Codice *

70 |

🎄 Elogio di Advent of Code (AoC) 🧑‍💻

71 |

github.com/pietroppeter/diventa-avventore-del-codice

72 |
73 |
74 |
    75 |
  1. Cos'è AoC e perché farlo
  2. 76 |
  3. Storie, curiosità e risorse
  4. 77 |
  5. Io e AoC
  6. 78 |
  7. Tu e AoC
  8. 79 |
80 |
81 |
82 |
    83 |
  1. Cos'è AoC e perché farlo
  2. 84 |
  3. Storie, curiosità e risorse
  4. 85 |
  5. Io e AoC
  6. 86 |
  7. Tu e AoC
  8. 87 |
88 |
89 |
90 |
    91 |
  1. Cos'è AoC e perché farlo
  2. 92 |
  3. Storie, curiosità e risorse
  4. 93 |
  5. Io e AoC
  6. 94 |
  7. Tu e AoC
  8. 95 |
96 |
97 |
98 |
    99 |
  1. Cos'è AoC e perché farlo
  2. 100 |
  3. Storie, curiosità e risorse
  4. 101 |
  5. Io e AoC
  6. 102 |
  7. Tu e AoC
  8. 103 |
104 |
105 |
106 |
    107 |
  1. Cos'è AoC e perché farlo
  2. 108 |
  3. Storie, curiosità e risorse
  4. 109 |
  5. Io e AoC
  6. 110 |
  7. Tu e AoC
  8. 111 |
112 |
113 |
114 |
115 | 116 | 117 | 118 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /tre.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |

Chi sono 👨‍👩‍👧

70 |
    71 |
  • appassionato di Advent of Code (dal 2018)
  • 72 |
  • organizzatore Python Milano e PyData Milan (dal 2023) 73 |
      74 |
    • conf Py4AI (Marzo 2024)
    • 75 |
    76 |
  • 77 |
  • Data Scientist (dal 2015, prima in ToolsGroup, ora in ...)
  • 78 |
  • Recurse Center (2023 Winter 1)
  • 79 |
  • github.com/pietroppeter
  • 80 |
  • presentazione a PyCon Italy 2024: Nim for Pythonistas (slides)
  • 81 |
82 |
83 |
84 |

Io e AoC

85 | 94 |
95 |
96 |

Io e AoC (Favoriti)

97 | 108 |
109 |
110 |

Io e AoC (Risorse)

111 | 116 |
117 |
118 |
119 | 120 | 121 | 122 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /note.md: -------------------------------------------------------------------------------- 1 | - decisione: si fa in Italiano [x] 2 | - struttura iniziale [x] 3 | - idea dettaglio [x] 4 | - codice "caldaia" (boilerplate) [x] 5 | - titolo [x] 6 | - cambio stile [x] 7 | - agenda [x] 8 | - aggiungo agenda per ogni sezione [x] 9 | - index [x] 10 | - stile 11 | - le basi (e.g. titolo) [x] 12 | - colore giallo stella! [x] 13 | - cambio heading 2 in giallo stella (con 2 stelle a fianco) [x] 14 | - uno: Advent of Code: cos'è e perché (5') 15 | - prima bozza [x] 16 | - prima versione decente ok [x] 17 | - calendario dell'avvento (quello vero) [x] 18 | - add feature nimislides background-size: contain 19 | - open the issues about it [x] 20 | - do a PR 21 | - cosa [x] 22 | - mostro uno ad uno [x] 23 | - traduco 2015 giorno 1 [x] 24 | - storia [x] 25 | - problema [x] 26 | - esempi [x] 27 | - input [x] 28 | - better background? 29 | - app to say yes, or no 30 | - headings? 31 | - part 2? 32 | - perché 33 | - forse no o forse dopo 34 | - sito [x] 35 | - note di navigazione 36 | - easter egg: mio codice leaderboard [x] 37 | - baco gen js! 38 | - due: storia, curiosità e risorse (10') 39 | - bozza: 40 | - eric 41 | - breve storia [x] 42 | - link a video e podcast [x] 43 | - favorites? 44 | - reddit 45 | - link a community (esterno) [x] 46 | - selezione top viz, upping, ... 47 | - norvig (imparare a programmare in 10 anni) [x] 48 | - risorse 49 | - chrome extension: https://chromewebstore.google.com/detail/advent-of-code-charts/ipbomkmbokofodhhjpipflmdplipblbe 50 | - tre: coinvolgimento personale (3') 51 | - ricerca google 52 | - chi sono 53 | - musica delle balene 54 | - (un dicembre una notte nel catanese) 55 | - regex import module 56 | - altre risorse (e.g. panel pycon e intervista pythonista, + live codemotion) 57 | - quattro: diventiamo avventori! (2') 58 | - creare una leaderboard (chiedere a Salvo! oppure la mia?) 59 | - come iniziare da zero 60 | - facciamo il giorno 1 del 2015 (senza linguaggio di programmazione!) 61 | - da dove inizio? (proposte di giornate) 62 | - consigli pratici 63 | - farlo con altri (leggere le soluzioni degli altri) 64 | - darsi un obiettivo (imparo linguaggio, scrivo codice mantenibile, solo stdlib, visualizzazioni, ...) 65 | - non abbandonare, saltare è ok! anche solo leggere è bello! 66 | - curiosare le cose strane 67 | - divertirsi 68 | 69 | struttura: 70 | - Advent of Code: cos'è e perché (5') - essenziale 71 | - storia, curiosità e risorse (10') - inessenziale (ma il sale della vita) 72 | - coinvolgimento personale (3') 73 | - diventiamo avventori! (2') 74 | 75 | bello ma dopo: 76 | - conto alla rovescia 77 | - libreria per presentazione in Italiano (nome "lucidi"?) 78 | - traduzione di alcune puntate in Italiano 79 | - con css originale 80 | 81 | ## eventi 82 | 83 | 2015 84 | - Ascii Art: albero di Natale 85 | - storia orizzontale: ripara la macchina della neve di babbo per un bianco natale 86 | - primo giorno (non proprio lisp): babbo natale sale e scende i piani (conta parentesi) 87 | - dal secondo giorno compaiono gli elfi 88 | 89 | 2016 90 | - ascii art: città 91 | - storia: ripara la slitta (stelle rubate dal coniglio pasquale) 92 | - luogo: Easter Bunny HQ 93 | - primo giorno (non c'è tempo per un taxi): R2, L3 94 | 95 | 2017 96 | - ascii art: scheda computer 97 | - storia: la stampante e rotta e non si può stampare la lista dei buoni e cattivi 98 | - luogo: dentro il computer (hai 25 millisecondi) 99 | - primo giorno (captcha al contrario): somma cifre che matchano 100 | 101 | 2018 102 | - ascii art: capello slitta e (boh, arte non si vede tutta) 103 | - storia: riparare le anomalie temporali prima che condizionino il presente 104 | - luogo? salti nel passato di 500 anni 105 | - primo giorno (calibrazione cronale): slati di frequenza (+1\n+1\n-2) 106 | - io: il mio primo anno (python e nim) 107 | 108 | 2019 109 | - ascii art: pianeti sistema solare 110 | - storia: santa perso ai margini del sistema solare bisogna recuperarlo 111 | - luogo: spazio 112 | - primo giorno (la tirannia dell'equazione del razzo): conta la benza (e poi quanta benza serve per la benza) 113 | - giorno 2: viene introdotto IntCode 114 | - io: solo nim e bellissimo! 115 | 116 | 2020 117 | - ascii art: mappa terra (numeri da su in giù ed in disordine!) 118 | - storia: dopo aver salvato il natale per 5 anni, vai in vacanza ma devi salvare la vacanza 119 | - primo giorno (resoconto delle riparazioni): numeri che sommano a 2020 120 | - unico che ho fatto completo 121 | - giorno 20: il puzzle con il mostro marino! 122 | - io: finalmente tutto (e inizio a bloggare con nimib!) 123 | 124 | 2021 125 | - ascii art: fondo del mare 126 | - storia: perse le chiavi in mare, sottomarino e l'antenna per trovare le chiavi va a stelle 127 | - io: 128 | - giorno 3, whale music! 129 | - giorno 7: visualizzazione dei granchi con manim 130 | 131 | 2022 132 | - ascii art: offuscata ma sembra una mappa 133 | - storia: devi trovare i frutti stella per le renne (giungla) 134 | - io, poco ma qualche visualizzazione con p5nim (io giorno 1 e 4, hugo giorno 2) 135 | - notable: usati gli LLM per arrivare sulla leaderboard 136 | 137 | 2023 138 | - ascii art: isole (elementali) nel cielo 139 | - io: ripreso a farlo (anche) in python (ed un giorno anche in gleam) 140 | - notable: primo giorno LLM-proof 141 | 142 | 2024 143 | - si festeggiano i 10 anni! che succederà? 144 | 145 | ## links 146 | 147 | intervista Pythonista "L'Avvento del Codice, puntata strenna EP 47" (35'): https://youtu.be/gXbsrNVTfho?feature=shared 148 | 149 | puntate live con codemotion (SPOILERZ!): 150 | 151 | - prima puntata (con Paolo): https://www.linkedin.com/events/adventofcode-23-1puntata7137364071519006721/theater/ 152 | - seconda puntata (me e Marco): https://www.linkedin.com/events/adventofcode-23-2puntata7138089199672389632/theater/ 153 | - quarta puntata (royal rumble): https://www.linkedin.com/events/adventofcode-23-puntataconclusi7150527433048211456/theater/ 154 | 155 | ## problemi 156 | 157 | - un baco? nbCodeFromJs non crea file con estensione nim 158 | - c'entra il myInit? 159 | - workaround, rinomina manualmente e fai girare di nuovo 160 | - todo: crea reprex a apri issue 161 | - non posso controllare il background-image-size (voglio contain invece del default cover) -------------------------------------------------------------------------------- /year2015day1input.txt: -------------------------------------------------------------------------------- 1 | ()(((()))(()()()((((()(((())(()(()((((((()(()(((())))((()(((()))((())(()((()()()()(((())(((((((())))()()(()(()(())(((((()()()((())(((((()()))))()(())(((())(())((((((())())))(()())))()))))()())()())((()()((()()()()(()((((((((()()())((()()(((((()(((())((())(()))()((((()((((((((())()((()())(())((()))())((((()())(((((((((((()()(((((()(()))())(((()(()))())((()(()())())())(()(((())(())())()()(()(()((()))((()))))((((()(((()))))((((()(()(()())())()(((()((((())((((()(((()()(())()()()())((()((((((()((()()))()((()))()(()()((())))(((()(((()))((()((()(()))(((()()(()(()()()))))()()(((()(((())())))))((()(((())()(()(())((()())))((((())))(()(()(()())()((()())))(((()((()(())()()((()((())(()()((())(())()))()))((()(())()))())(((((((()(()()(()(())())))))))(()((((((())((((())((())())(()()))))()(())(()())()())((())(()))))(()))(()((()))()(()((((((()()()()((((((((()(()(())((()()(()()))(())()())()((())))()))()())(((()))(())()(())()))()((()((()(()()())(())()()()((())())))((()()(()()((()(())()()())(((()(()()))))(())))(()(()())()))()()))))))()))))((((((())))())))(()(())())(()())))))(()))()))))))()((()))))()))))(()(()((()())())(()()))))(((())()))())())())(((()(()()))(())()(())(())((((((()()))))((()(()))))))(()))())(((()()(()))()())()()()())))))))))))))(())(()))(()))((()(())(()())(())())(()())(())()()(()())))()()()))(())())()))())())(())((())))))))(())))(())))))()))))((())(()(((()))))(()))()((()(())))(()())(((((()))()())()()))))()))))()))())(()(()()()))()))))))((()))))))))))()((()))((()(())((())()()(()()))()(()))))()()(()))()))(((())))(())()((())(())(()())()())())))))))())))()((())))()))(()))()()))(((((((()))())(()()))(()()(()))()(()((()())()))))))(((()()()())))(())()))()())(()()))()()))))))))(())))()))()()))))))()))()())))()(())(())))))()(())()()(()()))))())((()))))()))))(()(((((()))))))))())))())()(())()()))))(())))())()()())()()())()(()))))()))()))))))))())))((()))()))()))())))()())()()())))())))(()((())()((()))())))))())()(())((())))))))))))())()())(())())())(()))(()))()))())(()(())())()())()()(()))))(()(())))))))(())))())(())))))))())()()(())())())))(())))))()))()(()())()(()))())())))))()()(()))()))))())))))))))()))))()))))))())()())()()))))()())))())))))))))))()()))))()()(((()))()()(())()))))((()))))(()))(())())))(())()))))))(()))()))))(())())))))()))(()())))))))))))))())))))))))()((()())(()())))))))((()))))(())(())))()(()())())))())())(()()()())))()))))))())))))())()()())))))))))))()()(()))))()())()))((()())(()))))()(()))))))))))()())())(((())(()))))())()))()))()))))))()))))))(()))))()))))()(())))(())))(()))())()()(()()))()))(()()))))))))()))(()))())(()()(()(()())()()))()))))))))(())))))((()()(()))())())))))()))())(()())()()))())))()(()()()()))((())())))())()(()()))()))))))))(()))(())))()))))(()(()())(()))))()())())()))()()))())))))))))))())()))))))()))))))))())))))()))))())(()())))(())()))())())))))()()(()()())(()())))()()))(((()))(()()()))))()))))()))))((())))()((((((()()))))))())))))))))))(((()))))))))))))(())())))))())(()))))))(()))((()))())))()(()((()))()))()))))))))))())()))()(()()))))())))())(())()(()))()))())(()))()))))(()()))()()(())))))()))(())(()(()()))(()()())))))(((()))))))()))))))))))))(())(()))))()())())()()((()()))())))))(()))))())))))))()()()))))))))())))()(((()()))(())))))(((())())))))((()))()(()))(()))))(()())))(()))())))))()))))(())(())))()((()))(())())))()()))()))))))))()))(()()()(()()()(()))())(())()())(((()))(())))))))))(((()())))()()))))))))()(())(()))()((((())(())(()())))()))(((())()()()))((()))(()))())())))())))(()))())()())())(()(())())()()()(())))())(())))(())))(())()))()))(()((()))))))))())(()))))))())(()()))()()))()(()(()())))()()(()((()((((((()))(())))()()()))())()))((()()(()))())((()(()(()))(()()))))()())))()))()())))))))()()((()())(())))()))(()))(())(()))())(()(())))()()))))))(((()(((()()))()(()(())())((()()))()))()))()))()(()()()(()))((()())()(())))()()))(((())()()())(())()((()()()()(()(())(()()))()(((((()())))((())))))(()()()))))(((()(())))()))((()((()(())()(()((())))((()())()(()))(((()())()()(()))(())(((()((()())()((())()())(((()()))((()((())(()))(()())(()()()))((()))(())(()((()()())((()))(())))(())(())(())))(()())))(((((()(()(((((()())((((()(()())(())(()()(((())((()(((()()(((()()((((((())))())(()((((((()(()))()))()()((()((()))))()(()()(()((()()))))))(((((()(((((())()()()(())())))))))()))((()()(())))(())(()()()())))))(()((((())))))))()()(((()(()(()(()(()())()()()(((((((((()()())()(()))((()()()()()(((((((()())()((())()))((((((()(()(()(()())(((()(((((((()(((())(((((((((())(())())()))((()(()))(((()()())(())(()(()()(((()(())()))())))(())((((((())(()()())()()(((()(((())(()(((())(((((((()(((((((((()))(())(()(()(()))))((()))()(())())())((()(()((()()))((()()((()(())(())(()((())(((())(((()()()((((((()()(())((((())()))))(())((()(()((())))(((((()(()()())())((())())))((())((()((()()((((((())(((()()(()())())(()(()))(()(()))())())()(((((((()(((()(())()()((())((()(()()((()(()()(((((((((((())((())((((((())((()((((()(()((((()(((((((())()((()))))())()((()((((()(()(((()((()())))(())())(((()(((())((((((()(((((((((()()(())))(()(((((()((((()())))((()((()((()(()()(((())((((((((((((()(((())(()(((((()))(()()(()()()()()()((())(((((((())(((((())))))())()(()()(()(()(((()()(((((())(()((()((()(((()()((()((((())()))()((((())(())))()())(((())(())(()()((()(((()()((((((((((()()(()())())(((((((((())((((()))()()((((())(()((((()(((())())(((((((((((()((((())))(())(()(((()(((()((())(((((()((()()(()(()()((((((()((((()((()(()((()(()((((((()))))()()(((((()((()(()(())()))(())(((((((()((((()())(()((()((()(()))())))(())((()))))(((((((()()()())(()))(()()((()())()((()((()()()(()(()()))(()())(())(((((()(((((((((((()((()(((()(((((((()()((((((()(((((()(()((()(((((())((((((()))((((())((()()((())(((())()(((((()()(((((()((()(()(((((((()(((((()((()((()((())(())((())(()))()()))(()()(()(()()(((((((()(((()(((())()(((((()((((((()())((((())()((()((()(()()())(()))((((()()((((((()((()(()(()((((()((()((())((((((()(()(())((((((()((((((((((()((())()))()(()(()(((((()()()))((())))()(()((((((((((((((()(((()((((()((())((()((()(((()()(()(((()((())(()()())))()(()(()(((((()()(()(()((((()(((((())()(()(()))(((((()()(((()()(())((((((((((((((())((())(((((((((((())()()()(())()(()(()(((((((((())(((()))(()()())(()((((()(())(((((()())(())((((((((())()((((()((((((())(()((()(())(((()((((()))(((((((((()()))((((()(())()()()(())(()((())((()()))()(((())(((((())((((((()()))(((((((((()((((((())))(((((((()((()(()(())))())(()(()))()(((((()())(()))()(()(())(((()))))())()())))(((((()))())()((()(()))))((()()()((((((()))()()((((((((())((()(()(((()(()((())((()())(()((((())(()(((()()()(()(()()))())())((((((((((())())((()))()((())(())(())))())()(()()(())))())(()))(((()(()()(((()(((())))()(((()(())()((((((())()))()))()((((((()(()(((((()())))()))))())()()(((()(((((())((()()(()((()((()(()(()(())))(()()()()((()(())(((()((()))((((()))())(())))())(()))()()()())()))(((()()())()((())))(())(()()()()(()())((()(()()((((())))((()((()(())((()(()((())()(()()(((()())()()())((()))((())(((()()(())))()()))(((()((())()(((((()())(())((())()())())((((((()(()(((((()))(()( -------------------------------------------------------------------------------- /due.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |

Storia

70 |
71 |

mi piace aiutare la gente a migliorare 72 | nella programmazione 73 | --Eric Wastl

74 |
75 |
    76 |
  • creato da Eric Wastl nel 2015
  • 77 |
  • ha un successo non preventivato 78 | 82 |
  • 83 |
  • nel 2023 più di 1 milione di persone
  • 84 |
  • Eric lavora tutto l'anno (da solo) per i nuovi puzzle
  • 85 |
  • un capovoloro di design di puzzle
  • 86 |
  • ci sono beta testers (e pochi bachi)
  • 87 |
88 | 94 |
95 |
96 |

Storia (risorse)

97 |

(in inglese)

98 | 102 |
103 |
104 |
105 |
106 |

www.maurits.vdschee.nl/scatterplot/

107 |
108 |
109 |

Comunità e curiosità

110 |

reddit.com/r/adventofcode/

111 |
125 | 134 |
135 |
136 |

Celebrità (Norvig)

137 |
    138 |
  • Advent of Code (2016-2023) nella sua collezione di pytudes 139 | (Python + études)
  • 140 |
  • Impara a programmare in 10 anni inglese, italiano
  • 141 |
142 |
143 |
144 |
145 | 146 | 147 | 148 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /uno.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |
70 |
71 |

Cos'è AoC

72 |
    73 |
    74 | 75 |
  1. 76 |

    rompicapi per imparare a programmare

    77 |
  2. 78 |
    79 | 80 |
    81 | 82 |
  3. 83 |

    una, nessuna, centomila comunità

    84 |
  4. 85 |
    86 | 87 |
    88 | 89 |
  5. 90 |

    un progetto personale (Eric Wastl)

    91 |
  6. 92 |
    93 | 94 |
95 | 118 |
119 |
120 |

--- Giorno 1: Quasi Lisp ---

121 |

Babbo Natale sperava in un bianco Natale, 122 | ma la funzione "neve" della sua macchina meteorologica 123 | è alimentata dalle stelle, e lui ne è a corto! 124 | Per salvare il Natale, ha bisogno che tu raccolga cinquanta stelle entro il 25 dicembre.

125 |

Raccogli stelle aiutando Babbo Natale a risolvere enigmi. 126 | Ogni giorno nel calendario dell'Avvento saranno disponibili due enigmi; 127 | il secondo enigma si sblocca quando completi il primo. 128 | Ogni enigma concede una stella. Buona fortuna!

129 |

Ecco un enigma facile per riscaldarti.

130 |
131 |
132 |

Babbo Natale sta cercando di consegnare i regali in un grande edificio residenziale, 133 | ma non riesce a trovare il piano giusto - le indicazioni che ha ricevuto sono un po' confuse. 134 | Parte dal piano terra (piano 0) e poi segue le istruzioni un carattere alla volta.

135 |

Una parentesi aperta, (, significa che dovrebbe salire di un piano, 136 | e una parentesi chiusa, ), significa che dovrebbe scendere di un piano.

137 |

L'edificio è molto alto e il seminterrato è molto profondo; 138 | non troverà mai i piani più alti o più bassi.

139 |
140 |
141 |

Ad esempio:

142 |
    143 |
  • (()) e ()() portano entrambi al piano 0.
  • 144 |
  • ((( e (()(()( portano entrambi al piano 3.
  • 145 |
  • ))((((( porta anche al piano 3.
  • 146 |
  • ()) e ))( portano entrambi al piano -1 (il primo livello del seminterrato).
  • 147 |
  • ))) e )())()) portano entrambi al piano -3.
  • 148 |
149 |

A quale piano portano le istruzioni Babbo Natale?

150 |

Ottieni l'input del tuo enigma

151 |
152 |
153 |

tradotto con ChatGPT

154 |
155 |
156 |
157 |
158 |

adventofcode.com

159 |
160 | 161 | 273 |
274 |
275 | 276 | 277 | 278 | 286 | 287 | 288 | -------------------------------------------------------------------------------- /uno.nim: -------------------------------------------------------------------------------- 1 | import nimib except toJson 2 | import nimislides, nbex 3 | 4 | template calendario* = 5 | slide(slideOptions(imageBackground="https://upload.wikimedia.org/wikipedia/commons/b/bd/Richard_Ernst_Kepler_-_Im_Lande_des_Christkinds.jpg", 6 | backgroundSize="contain")): 7 | discard 8 | # il calendario che mostra Eric è il primo del 1903 in Germania 9 | # https://web.archive.org/web/20131204081711/http://www.tourismus.rothenburg.de/blog/ 10 | 11 | minSlide(cosa): 12 | nbText """ 13 | ## Cos'è AoC 14 | """ 15 | orderedList: 16 | listItem: 17 | nbText "rompicapi per imparare a programmare" 18 | listItem: 19 | nbText "una, nessuna, centomila comunità" 20 | listItem: 21 | nbText "un progetto personale (Eric Wastl)" 22 | speakerNote """ 23 | - 25 rompicapi all'anno in due parti 24 | - varietà di tecniche di programmazione, adatti a principianti ed esperti 25 | - c'è una comunità di riferimento su reddit 26 | - moltissime comunità pubbliche e private, 27 | - vale davvero la pena non farlo da soli 28 | - un progetto di successo, Eric ci lavora tutto l'anno con amorevole cura e professionlità 29 | - Il 2024 sarà il 10 anno 30 | - nel 2023 c'erano più di 1 milione di persone con almeno una stella 31 | - beta tester, infrastruttura scalabile, input diversi per ognuno e solo un baco 32 | """ 33 | 34 | minSlide(primaStella1): 35 | #nbText "**La storia**" 36 | nbTextSmall """ 37 | --- Giorno 1: Quasi Lisp --- 38 | 39 | Babbo Natale sperava in un bianco Natale, 40 | ma la funzione "neve" della sua macchina meteorologica 41 | è alimentata dalle stelle, e lui ne è a corto! 42 | Per salvare il Natale, ha bisogno che tu raccolga **cinquanta stelle** entro il 25 dicembre. 43 | 44 | Raccogli stelle aiutando Babbo Natale a risolvere enigmi. 45 | Ogni giorno nel calendario dell'Avvento saranno disponibili due enigmi; 46 | il secondo enigma si sblocca quando completi il primo. 47 | Ogni enigma concede **una stella**. Buona fortuna! 48 | 49 | Ecco un enigma facile per riscaldarti. 50 | """ 51 | 52 | minSlide(primaStella2): 53 | nbTextSmall """ 54 | Babbo Natale sta cercando di consegnare i regali in un grande edificio residenziale, 55 | ma non riesce a trovare il piano giusto - le indicazioni che ha ricevuto sono un po' confuse. 56 | Parte dal piano terra (piano `0`) e poi segue le istruzioni un carattere alla volta. 57 | 58 | Una parentesi aperta, `(`, significa che dovrebbe salire di un piano, 59 | e una parentesi chiusa, `)`, significa che dovrebbe scendere di un piano. 60 | 61 | L'edificio è molto alto e il seminterrato è molto profondo; 62 | non troverà mai i piani più alti o più bassi. 63 | """ 64 | 65 | minSlide(primaStella3): 66 | nbTextSmall """ 67 | Ad esempio: 68 | 69 | - `(())` e `()()` portano entrambi al piano 0. 70 | - `(((` e `(()(()(` portano entrambi al piano 3. 71 | - `))(((((` porta anche al piano 3. 72 | - `())` e `))(` portano entrambi al piano -1 (il primo livello del seminterrato). 73 | - `)))` e `)())())` portano entrambi al piano -3. 74 | 75 | A _quale piano_ portano le istruzioni Babbo Natale? 76 | 77 | Ottieni [l'input del tuo enigma](year2015day1input.txt) 78 | """ 79 | 80 | minSlide(primaStellaInputOld): 81 | nbTextSmall """ 82 | ``` 83 | ()(((()))(()()()((((()(((())(()(()((((((()(()(((())))((()(((()))((())(()((()()()()(((())(((((((())))()()(()(()(())(((((()()()((())(((((()()))))()(())(((())(())((((((())())))(()())))()))))()())()())((()()((()()()()(()((((((((()()())((()()(((((()(((())((())(()))()((((()((((((((())()((()())(())((()))())((((()())(((((((((((()()(((((()(()))())(((()(()))())((()(()())())())(()(((())(())())()()(()(()((()))((()))))((((()(((()))))((((()(()(()())())()(((()((((())((((()(((()()(())()()()())((()((((((()((()()))()((()))()(()()((())))(((()(((()))((()((()(()))(((()()(()(()()()))))()()(((()(((())())))))((()(((())()(()(())((()())))((((())))(()(()(()())()((()())))(((()((()(())()()((()((())(()()((())(())()))()))((()(())()))())(((((((()(()()(()(())())))))))(()((((((())((((())((())())(()()))))()(())(()())()())((())(()))))(()))(()((()))()(()((((((()()()()((((((((()(()(())((()()(()()))(())()())()((())))()))()())(((()))(())()(())()))()((()((()(()()())(())()()()((())())))((()()(()()((()(())()()())(((()(()()))))(())))(()(()())()))()()))))))()))))((((((())))())))(()(())())(()())))))(()))()))))))()((()))))()))))(()(()((()())())(()()))))(((())()))())())())(((()(()()))(())()(())(())((((((()()))))((()(()))))))(()))())(((()()(()))()())()()()())))))))))))))(())(()))(()))((()(())(()())(())())(()())(())()()(()())))()()()))(())())()))())())(())((())))))))(())))(())))))()))))((())(()(((()))))(()))()((()(())))(()())(((((()))()())()()))))()))))()))())(()(()()()))()))))))((()))))))))))()((()))((()(())((())()()(()()))()(()))))()()(()))()))(((())))(())()((())(())(()())()())())))))))())))()((())))()))(()))()()))(((((((()))())(()()))(()()(()))()(()((()())()))))))(((()()()())))(())()))()())(()()))()()))))))))(())))()))()()))))))()))()())))()(())(())))))()(())()()(()()))))())((()))))()))))(()(((((()))))))))())))())()(())()()))))(())))())()()())()()())()(()))))()))()))))))))())))((()))()))()))())))()())()()())))())))(()((())()((()))())))))())()(())((())))))))))))())()())(())())())(()))(()))()))())(()(())())()())()()(()))))(()(())))))))(())))())(())))))))())()()(())())())))(())))))()))()(()())()(()))())())))))()()(()))()))))())))))))))()))))()))))))())()())()()))))()())))())))))))))))()()))))()()(((()))()()(())()))))((()))))(()))(())())))(())()))))))(()))()))))(())())))))()))(()())))))))))))))())))))))))()((()())(()())))))))((()))))(())(())))()(()())())))())())(()()()())))()))))))())))))())()()())))))))))))()()(()))))()())()))((()())(()))))()(()))))))))))()())())(((())(()))))())()))()))()))))))()))))))(()))))()))))()(())))(())))(()))())()()(()()))()))(()()))))))))()))(()))())(()()(()(()())()()))()))))))))(())))))((()()(()))())())))))()))())(()())()()))())))()(()()()()))((())())))())()(()()))()))))))))(()))(())))()))))(()(()())(()))))()())())()))()()))())))))))))))())()))))))()))))))))())))))()))))())(()())))(())()))())())))))()()(()()())(()())))()()))(((()))(()()()))))()))))()))))((())))()((((((()()))))))())))))))))))(((()))))))))))))(())())))))())(()))))))(()))((()))())))()(()((()))()))()))))))))))())()))()(()()))))())))())(())()(()))()))())(()))()))))(()()))()()(())))))()))(())(()(()()))(()()())))))(((()))))))()))))))))))))(())(()))))()())())()()((()()))())))))(()))))())))))))()()()))))))))())))()(((()()))(())))))(((())())))))((()))()(()))(()))))(()())))(()))())))))()))))(())(())))()((()))(())())))()()))()))))))))()))(()()()(()()()(()))())(())()())(((()))(())))))))))(((()())))()()))))))))()(())(()))()((((())(())(()())))()))(((())()()()))((()))(()))())())))())))(()))())()())())(()(())())()()()(())))())(())))(())))(())()))()))(()((()))))))))())(()))))))())(()()))()()))()(()(()())))()()(()((()((((((()))(())))()()()))())()))((()()(()))())((()(()(()))(()()))))()())))()))()())))))))()()((()())(())))()))(()))(())(()))())(()(())))()()))))))(((()(((()()))()(()(())())((()()))()))()))()))()(()()()(()))((()())()(())))()()))(((())()()())(())()((()()()()(()(())(()()))()(((((()())))((())))))(()()()))))(((()(())))()))((()((()(())()(()((())))((()())()(()))(((()())()()(()))(())(((()((()())()((())()())(((()()))((()((())(()))(()())(()()()))((()))(())(()((()()())((()))(())))(())(())(())))(()())))(((((()(()(((((()())((((()(()())(())(()()(((())((()(((()()(((()()((((((())))())(()((((((()(()))()))()()((()((()))))()(()()(()((()()))))))(((((()(((((())()()()(())())))))))()))((()()(())))(())(()()()())))))(()((((())))))))()()(((()(()(()(()(()())()()()(((((((((()()())()(()))((()()()()()(((((((()())()((())()))((((((()(()(()(()())(((()(((((((()(((())(((((((((())(())())()))((()(()))(((()()())(())(()(()()(((()(())()))())))(())((((((())(()()())()()(((()(((())(()(((())(((((((()(((((((((()))(())(()(()(()))))((()))()(())())())((()(()((()()))((()()((()(())(())(()((())(((())(((()()()((((((()()(())((((())()))))(())((()(()((())))(((((()(()()())())((())())))((())((()((()()((((((())(((()()(()())())(()(()))(()(()))())())()(((((((()(((()(())()()((())((()(()()((()(()()(((((((((((())((())((((((())((()((((()(()((((()(((((((())()((()))))())()((()((((()(()(((()((()())))(())())(((()(((())((((((()(((((((((()()(())))(()(((((()((((()())))((()((()((()(()()(((())((((((((((((()(((())(()(((((()))(()()(()()()()()()((())(((((((())(((((())))))())()(()()(()(()(((()()(((((())(()((()((()(((()()((()((((())()))()((((())(())))()())(((())(())(()()((()(((()()((((((((((()()(()())())(((((((((())((((()))()()((((())(()((((()(((())())(((((((((((()((((())))(())(()(((()(((()((())(((((()((()()(()(()()((((((()((((()((()(()((()(()((((((()))))()()(((((()((()(()(())()))(())(((((((()((((()())(()((()((()(()))())))(())((()))))(((((((()()()())(()))(()()((()())()((()((()()()(()(()()))(()())(())(((((()(((((((((((()((()(((()(((((((()()((((((()(((((()(()((()(((((())((((((()))((((())((()()((())(((())()(((((()()(((((()((()(()(((((((()(((((()((()((()((())(())((())(()))()()))(()()(()(()()(((((((()(((()(((())()(((((()((((((()())((((())()((()((()(()()())(()))((((()()((((((()((()(()(()((((()((()((())((((((()(()(())((((((()((((((((((()((())()))()(()(()(((((()()()))((())))()(()((((((((((((((()(((()((((()((())((()((()(((()()(()(((()((())(()()())))()(()(()(((((()()(()(()((((()(((((())()(()(()))(((((()()(((()()(())((((((((((((((())((())(((((((((((())()()()(())()(()(()(((((((((())(((()))(()()())(()((((()(())(((((()())(())((((((((())()((((()((((((())(()((()(())(((()((((()))(((((((((()()))((((()(())()()()(())(()((())((()()))()(((())(((((())((((((()()))(((((((((()((((((())))(((((((()((()(()(())))())(()(()))()(((((()())(()))()(()(())(((()))))())()())))(((((()))())()((()(()))))((()()()((((((()))()()((((((((())((()(()(((()(()((())((()())(()((((())(()(((()()()(()(()()))())())((((((((((())())((()))()((())(())(())))())()(()()(())))())(()))(((()(()()(((()(((())))()(((()(())()((((((())()))()))()((((((()(()(((((()())))()))))())()()(((()(((((())((()()(()((()((()(()(()(())))(()()()()((()(())(((()((()))((((()))())(())))())(()))()()()())()))(((()()())()((())))(())(()()()()(()())((()(()()((((())))((()((()(())((()(()((())()(()()(((()())()()())((()))((())(((()()(())))()()))(((()((())()(((((()())(())((())()())())((((((()(()(((((()))(()( 84 | ``` 85 | """ 86 | 87 | template primaStellaInput* = 88 | slide(slideOptions(iframeBackground="year2015day1input.txt")): 89 | discard 90 | 91 | template inputLink* = 92 | slide: 93 | nbText "[year2015day1input.txt](year2015day1input.txt)" 94 | 95 | minSlide(traduzioneConChatGpt): 96 | nbTextSmall "(testo del giorno 1 del 2015 [tradotto con ChatGPT](https://chatgpt.com/share/8e8adf36-b9e3-4907-a243-12d1363f7f7f))" 97 | 98 | template primaStella* = 99 | primaStella1 100 | primaStella2 101 | primaStella3 102 | #primaStellaInput 103 | traduzioneConChatGpt 104 | 105 | minSlide(perché): 106 | nbText """ 107 | todo: perché 108 | """ 109 | 110 | template sito* = 111 | slide(slideOptions(iframeBackground="https://adventofcode.com/2015")): 112 | discard 113 | slide: 114 | nbText "[adventofcode.com](https://adventofcode.com)" 115 | 116 | template myLeaderboardEasterEgg* = 117 | nbCodeToJs: 118 | echo "Join my private leaderboard using this code: 359688-3eeef5da" 119 | 120 | template all* = 121 | calendario 122 | cosa 123 | primaStella 124 | sito 125 | #perché 126 | myLeaderboardEasterEgg 127 | 128 | when isMainModule: 129 | myInit("uno") 130 | all 131 | nbSave -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 68 |
69 |

* Diventa Avventore del Codice *

70 |

🎄 Elogio di Advent of Code (AoC) 🧑‍💻

71 |

github.com/pietroppeter/diventa-avventore-del-codice

72 |
73 |
74 |
    75 |
  1. Cos'è AoC
  2. 76 |
  3. Storie, curiosità e risorse
  4. 77 |
  5. Io e AoC
  6. 78 |
  7. Tu e AoC
  8. 79 |
80 |
81 |
82 |
83 |
    84 |
  1. Cos'è AoC
  2. 85 |
  3. Storie, curiosità e risorse
  4. 86 |
  5. Io e AoC
  6. 87 |
  7. Tu e AoC
  8. 88 |
89 |
90 |
91 |
92 |
93 |

Cos'è AoC

94 |
    95 |
    96 | 97 |
  1. 98 |

    rompicapi per imparare a programmare

    99 |
  2. 100 |
    101 | 102 |
    103 | 104 |
  3. 105 |

    una, nessuna, centomila comunità

    106 |
  4. 107 |
    108 | 109 |
    110 | 111 |
  5. 112 |

    un progetto personale (Eric Wastl)

    113 |
  6. 114 |
    115 | 116 |
117 | 140 |
141 |
142 |

--- Giorno 1: Quasi Lisp ---

143 |

Babbo Natale sperava in un bianco Natale, 144 | ma la funzione "neve" della sua macchina meteorologica 145 | è alimentata dalle stelle, e lui ne è a corto! 146 | Per salvare il Natale, ha bisogno che tu raccolga cinquanta stelle entro il 25 dicembre.

147 |

Raccogli stelle aiutando Babbo Natale a risolvere enigmi. 148 | Ogni giorno nel calendario dell'Avvento saranno disponibili due enigmi; 149 | il secondo enigma si sblocca quando completi il primo. 150 | Ogni enigma concede una stella. Buona fortuna!

151 |

Ecco un enigma facile per riscaldarti.

152 |
153 |
154 |

Babbo Natale sta cercando di consegnare i regali in un grande edificio residenziale, 155 | ma non riesce a trovare il piano giusto - le indicazioni che ha ricevuto sono un po' confuse. 156 | Parte dal piano terra (piano 0) e poi segue le istruzioni un carattere alla volta.

157 |

Una parentesi aperta, (, significa che dovrebbe salire di un piano, 158 | e una parentesi chiusa, ), significa che dovrebbe scendere di un piano.

159 |

L'edificio è molto alto e il seminterrato è molto profondo; 160 | non troverà mai i piani più alti o più bassi.

161 |
162 |
163 |

Ad esempio:

164 |
    165 |
  • (()) e ()() portano entrambi al piano 0.
  • 166 |
  • ((( e (()(()( portano entrambi al piano 3.
  • 167 |
  • ))((((( porta anche al piano 3.
  • 168 |
  • ()) e ))( portano entrambi al piano -1 (il primo livello del seminterrato).
  • 169 |
  • ))) e )())()) portano entrambi al piano -3.
  • 170 |
171 |

A quale piano portano le istruzioni Babbo Natale?

172 |

Ottieni l'input del tuo enigma

173 |
174 |
175 |

(testo del giorno 1 del 2015 tradotto con ChatGPT)

176 |
177 |
178 |
179 |
180 |

adventofcode.com

181 |
182 | 183 |
184 |
185 |
186 |
    187 |
  1. Cos'è AoC
  2. 188 |
  3. Storie, curiosità e risorse
  4. 189 |
  5. Io e AoC
  6. 190 |
  7. Tu e AoC
  8. 191 |
192 |
193 |
194 |

Storia

195 |
196 |

mi piace aiutare la gente a migliorare 197 | nella programmazione

198 |
--Eric Wastl
199 | 
200 |
201 |
    202 |
  • creato da Eric Wastl nel 2015
  • 203 |
  • ha un successo non preventivato 204 | 208 |
  • 209 |
  • nel 2023 più di 1 milione di persone
  • 210 |
  • Eric lavora tutto l'anno (da solo) per i nuovi puzzle
  • 211 |
  • un capovoloro di design di puzzle
  • 212 |
  • ci sono beta testers (e pochi bachi)
  • 213 |
214 | 220 |
221 |
222 |

Storia (risorse)

223 |

(in inglese)

224 | 228 |
229 |
230 |
231 |
232 |

www.maurits.vdschee.nl/scatterplot/

233 |
234 |
235 |

Comunità e curiosità

236 |

reddit.com/r/adventofcode/

237 |
256 | 265 |
266 |
267 |
268 |
269 |
    270 |
  1. Cos'è AoC
  2. 271 |
  3. Storie, curiosità e risorse
  4. 272 |
  5. Io e AoC
  6. 273 |
  7. Tu e AoC
  8. 274 |
275 |
276 |
277 |

Chi sono 👨‍👩‍👧

278 |
    279 |
  • appassionato di Advent of Code (dal 2018)
  • 280 |
  • organizzatore Python Milano e PyData Milan (dal 2023) 281 |
      282 |
    • conf Py4AI (Marzo 2024)
    • 283 |
    284 |
  • 285 |
  • Data Scientist (dal 2015, prima in ToolsGroup, ora in ...)
  • 286 |
  • Recurse Center (2023 Winter 1)
  • 287 |
  • github.com/pietroppeter
  • 288 |
  • presentazione a PyCon Italy 2024: Nim for Pythonistas (slides)
  • 289 |
290 |
291 |
292 |

Io e AoC

293 | 302 |
303 |
304 |

Io e AoC (Favoriti)

305 | 316 |
317 |
318 |

Io e AoC (Risorse)

319 | 325 |
326 |
327 |
328 |
329 |
    330 |
  1. Cos'è AoC
  2. 331 |
  3. Storie, curiosità e risorse
  4. 332 |
  5. Io e AoC
  6. 333 |
  7. Tu e AoC
  8. 334 |
335 |
336 |
337 |

Consigli

338 |
    339 |
  • farlo con altri
  • 340 |
  • darsi un obiettivo
  • 341 |
  • non arrendersi alle prime difficoltà
  • 342 |
  • cercare/chiedere aiuto
  • 343 |
  • divertirsi!
  • 344 |
345 |
346 |
347 |

Ora prova tu!

348 |
349 |
350 | 462 |
463 |
464 | 465 | 466 | 467 | 475 | 476 | 477 | --------------------------------------------------------------------------------