summaryrefslogtreecommitdiff
path: root/Fosdem2022/TALK.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Fosdem2022/TALK.txt')
-rw-r--r--Fosdem2022/TALK.txt201
1 files changed, 201 insertions, 0 deletions
diff --git a/Fosdem2022/TALK.txt b/Fosdem2022/TALK.txt
new file mode 100644
index 0000000..719c001
--- /dev/null
+++ b/Fosdem2022/TALK.txt
@@ -0,0 +1,201 @@
+Who I am (it's a little bit relevant to understand my previous knowledge)
+- telecommunication engineer (EEE equivalent)
+- Freelance engineer/programmer at ElenQ.Tech
+- Guix user and contributor
+
+Recently:
+- Interested in small computing
+- Lisp, specially scheme, specially small scheme implementations
+
+The early beginnings:
+- Started a very small scheme compiler for small machines, and thought
+ about RISC-V. I decided to target RISC-V assembly (following:
+ https://compilers.iecc.com/crenshaw/)
+- I studied RISC-V via [riscvbook]
+- I studied several scheme implementations
+- Nothing happened out of this, I gave up when I read about continuations but I
+ learned some stuff.
+
+The random events
+- One day a friend tells me guix mailing list is looking for help to make a
+ RISC-V port. I decide to raise my hand.
+- Now I'm involved in RISC-V porting effort somehow.
+- One day Andy Wingo, the Guile maintainer, mentions it would be interesting
+ to port Lightening, Guile's JIT code generation library to RISC-V.
+
+Now I'm working on Lightening: things learned
+- Code is data -> I'm a lisp guy, I already knew that!
+- Some cool GDB debugging I already forgot (disassemble)
+- Now I'm able to hand-assemble instructions too
+- Machine code generation is not that complex
+- Relocations and large immediates are painful
+
+Lightening RISC-V is passing all the tests, next step is to give it a serious
+try and see if it works! Cross fingers!
+
+Stage0
+- There was a chance to work on the bootstrap system of Guix via NlNet and the
+ guys involved in the porting effort helped me prepare a proposal.
+- I had to learn about all the steps around so I started with Stage0.
+
+Stage0's steps:
+hex0 -> hex1 -> hex2 -> M0 (macro system) -> M2-Planet [ -> Gnu Mes ]
+
+Hex0
+- Hex0 are hex files that contain what the ELF executable would, but encoded in
+ Hexadecimal text.
+- I started with hex0, porting it to RISC-V (RV64). Thankfully, I was
+ developing a RISC-V assembler (I never finished) that helped me generate the
+ instructions by hand.
+- Took the ELF headers from the wikipedia.
+- It worked!!
+
+Effects of this effort
+- Other people at Bootstrappable took this work and finished the whole chain
+ of Stage0!
+
+A random afternoon:
+- I was bored and the Hex0 for RV32 was missing. Looked the headers in the
+ wikipedia and 20 minutes later it was added to the project. Another starting
+ point solved!
+
+Now:
+- Took the NlNet grant and now I'm going to contribute to the full source
+ bootstrap ecosystem. So now this is kind of my job.
+
+Conclusions:
+- This is just random work
+- Embrace the randomness of life, stay curious and you may reach interesting
+ places.
+
+
+
+---
+
+
+My blogposts about this process:
+https://ekaitz.elenq.tech/lightening.html
+https://ekaitz.elenq.tech/hex0.html
+https://ekaitz.elenq.tech/machine-code-generation.html
+
+RISC-V:
+http://riscvbook.com/
+
+Bootstrap related:
+http://bootstrappable.org
+https://github.com/oriansj/stage0
+https://github.com/oriansj/bootstrap-seeds
+
+GUILE
+https://www.gnu.org/software/guile/
+https://gitlab.com/wingo/lightening/-/merge_requests/14/commits
+
+---
+
+We are excited to announce a devroom on Declarative and Minimalistic
+Computing at FOSDEM on 5th and 6th of February, 2022, online!
+
+FOSDEM is one of the most important free software conferences and is
+hosted annually at Université libre de Bruxelles in Brussels,
+Belgium. Unfortunately again this year FOSDEM will not run a physical
+conference but will be online only. Talks will be pre-recorded with
+some live content including Q&A sessions and discussion panels.
+
+We accept talks from languages that attempt to minimize use of hardware
+and software while trying to make systems simpler, more robust and more
+secure. If you are working on improving today's systems taking
+declarative/minimalistic approaches feel free to submit a talk
+proposal. Examples include the Scheme/Lisp family of programmings
+languages. In past editions, this devroom has received presentations
+from a varied number of language communities, including Forth, Guile,
+Lua, Nim, Racket, Raku and Tcl as well as several experimental projects
+that push minimalism in new directions.
+
+Minimalism and declarative programming are two important topics for
+this devroom. Minimalism matters. Minimalism allows for smaller
+systems that take less resources and consume less energy. More
+importantly, free and open source minimalism allows for secure systems
+that are easy to understand. Declarative programming is a programming
+paradigm that expresses the logic of a computation without describing
+its control flow. Many languages that apply this style attempt to
+minimize or eliminate side effects by describing what the program must
+accomplish in terms of the problem domain, rather than describe how to
+accomplish it as a sequence of the programming language primitives.
+
+Finally, in this year's virtual conference we will honor the late Professor
+[https://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist) John
+McCarthy] as the founder of AI and the inventor of LISP. McCarthy with
+his work pioneered artificial intelligence, developed the Lisp
+programming language family and kickstarted our modern computing world.
+
+We want to invite you to submit a talk on declarative and minimalistic
+computing that fits that description. We are especially happy to
+receive talk submissions from members of groups underrepresented in
+free software.
+
+If you have something you’d like to share with your fellow developers,
+please E-mail us! Talks considered for the devroom will have to
+be entered in
+
+ - https://penta.fosdem.org/submission/FOSDEM22
+
+The deadline for submission is December 20th. If you have a FOSDEM
+pentabarf account from a previous year, please use that
+account. Otherwise add one on
+https://penta.fosdem.org/user/new_account. Reach out to
+pjotr.public456@thebird.nl or manolis837@gmail.com if you run into any
+trouble.
+
+When submitting your talk make doubly sure to select "Declarative and
+Minimalistic Computing devroom" as track (if you don't we won't find
+it), and include the following information:
+
+ * The title and subtitle of your talk
+ * A short abstract of one paragraph
+ * A longer description if you wish to do so
+ * Links to related websites/blogs etc
+ * Presentations has to be pre-recorded and streamed before the event.
+ * Start recording early!
+
+To see what a final talk looks like see
+
+ https://archive.fosdem.org/2021/schedule/event/gnumes/
+
+For accepted talks
+
+ * Once your talk was accepted, we will assign you an organizer to
+help you to produce the pre-recorded content.
+ * The organizer will review the content and ensure it has the
+required quality. He is also responsible for ensuring the content is
+into the system and ready to broadcast.
+ * During the stream of your talk, you must be available online for
+the Q/A session
+
+Let's make this a fun day!
+
+= Organizers =
+
+Pjotr Prins, Manolis Ragkousis, Ludovic Courtès, Amirouche Boubekki,
+Hisham Muhammad, Jan Nieuwenhuizen, Ricardo Wurmus, Alex
+Sassmannshausen, William Byrd, Oliver Propst, Efraim Flashner, Julien
+Lepiller
+
+= Code of conduct =
+
+ - https://fosdem.org/2022/practical/conduct/
+
+= Original proposal =
+
+ - https://libreplanet.org/wiki/FOSDEM2022-devroom-proposal
+
+= Important dates: =
+
+ - Dec 20th 2021: submission deadline for talk proposals
+ - Dec 31th 2021: announcement of the final schedule
+ - Jan 14th 2021: submission deadline for recordings
+ - Feb 5th 2022: FOSDEM!
+
+= Links: =
+
+ -
+https://libreplanet.org/wiki/FOSDEM2022-devroom-declarative-and-minimalistic-computing-cfp