aoc-forth

Advent of code solutions in UF forth
git clone git://git.alexwennerberg.com/aoc-forth
Log | Files | Refs | README

slides (2956B) - raw


      1 ( Slide deck for my advent of code Forth challenge
      2  Written for https://wiki.xxiivv.com/site/adelie.html
      3 )
      4 SIZE 30,1c
      5 
      6 ( Intro 
      7 
      8 Points to cover:
      9 - I'm Alex
     10 - Going to talk about what I'll be doing this year for Advent of code
     11  
     12 )
     13 
     14 NAME Introduction
     15 FILL 03
     16 MODE 0c
     17 GOTO 04,08
     18 HEAD Advent of Code 2022: UF Forth
     19 MOVE 02,07
     20 TEXT Alex Wennerberg
     21 
     22 
     23 ( slide 2 
     24 
     25 - Explain advent of code
     26 - I'm going to stream it on Twitch, every day at 9PM! I'll also post VODs on Youtube
     27 - Going to try to do all 25 days, but work/life and my forth skills may get in the way
     28 - Going to try and do some fun stuff / visualizations
     29 
     30 )
     31 
     32 NAME Advent of Code
     33 FILL 03
     34 GOTO 2c,08
     35 GOTO 04,0d
     36 HEAD Advent of Code
     37 GOTO 06,15
     38 TEXT - Daily puzzle challenge Dec 1-25
     39 MOVE 00,03
     40 TEXT - Vibrant, growing communtiy since 2015
     41 MOVE 00,03
     42 TEXT - Any language or approach!
     43 
     44 ( slide 3 -- forth
     45 
     46 - A bit of background / history about forth
     47 - Extremely simple
     48 - Very "low level"
     49 - Magical, bizarre. Unlike any programming language I've ever used. Ineffable.
     50   Once I started reading about it, it consumed my interest.
     51 - I hope more people experiment with Forth. Forth is extremely niche, but I
     52   believe it is strongly underrated. Forth is the most radical alternative I know
     53   of to the trends of mainstream computing. 
     54 )
     55 
     56 NAME Forth
     57 FILL 03
     58 GOTO 04,08
     59 HEAD Forth
     60 MOVE 03,06
     61 TEXT - 1970 Chuck Moore: Stack-based, concatenative language
     62 MOVE 00,03
     63 TEXT - Radically minimalist
     64 MOVE 00,05
     65 TEXT "You really can write a complete FORTH in, say, 2000 lines of code. I don't just
     66 MOVE 00,03
     67 TEXT mean a FORTH program, I mean a complete FORTH operating system, environment and
     68 MOVE 00,03
     69 TEXT language. You could boot such a FORTH on a bare PC and it would come up with a
     70 MOVE 00,03
     71 TEXT prompt where you could start doing useful work. [...] It's possible to
     72 MOVE 00,03
     73 TEXT completely understand the system.  Who can say they completely understand how
     74 MOVE 00,03
     75 TEXT Linux works, or gcc?" - Richard Jones
     76 
     77 ( slide 4 -- uf 
     78 
     79 - There is no "one forth", there are "forths"
     80 - The forth I will be using is UF, created by Felix Winkelmann
     81 - a forth for the uxn/varvara "fantasy console", developed by Devine Lu Linvega
     82 - Varvara is a small computing system to run simple audio/visual applications. Runs on the UXN virtual machine
     83 - What we'll be working with: 64KB of memory, file/device io, a screen with 4
     84   colors and 2 layers
     85 - Look into the UXN ecosystem, there are some amazing things happening there
     86 - This slide show presentation is written in it!
     87 )
     88 
     89 NAME UF
     90 FILL 03
     91 GOTO 04,0d
     92 HEAD UF
     93 GOTO 06,14
     94 TEXT - A Forth targeting the UXN/Varvara virtual machine
     95 MOVE 00,03
     96 TEXT - 64KB memory
     97 
     98 ( slide 5 -- conclusion
     99 
    100 - Looking forward to this!
    101 - Let me know if you're doing this
    102 - Follow me on mastodon if you use it, Or twitch or youtube
    103 
    104 )
    105 
    106 NAME Conclusion
    107 FILL 03
    108 GOTO 04,0d
    109 HEAD Going forth
    110 MOVE 02,06
    111 TEXT mastodon: aw@merveilles.town
    112 MOVE 00,03
    113 TEXT twitch: twitch.tv/0000
    114 MOVE 00,03
    115 TEXT site: 0000.lol