diff --git a/README.md b/README.md
index 7fe484c..ea687c5 100644
--- a/README.md
+++ b/README.md
@@ -9,12 +9,13 @@ presentations.
|Date |Title |Speakers |Presentation |Recording |
|---- |----- |-------- |------------ |--------- |
+|2025.02.01 |building decentralized apps in go: meet gno |[@moul](https://github.com/moul) |[Slides](https://gnolang.github.io/workshops/presentations/2025-02-01--fosdem--manfred/presentation.slide.html#1) |--- |
|2025.01.09 |Designing Seamless Interconnected dApps with Gno |[@moul](https://github.com/moul) |[Slides](https://gnolang.github.io/workshops/presentations/2025-01-09--buidleu--manfred/presentation.slide.html#1) |--- |
|2024.09.23 |Distributed Communities - How to build timeless and decentralized apps, with Go |[@thehowl](https://github.com/thehowl) |[Slides](https://gnolang.github.io/workshops/presentations/2024-09-23--distributed-communities--morgan/slides.html) |[Video](https://www.youtube.com/watch?v=b3zRbVcJxyE) |
|2024.08.20 |A gentle intro to gno.land |[@leohhhn](https://github.com/leohhhn) |[Slides](presentations/2024-08-20--gentle-intro-to-gnoland--leon/presentation.pdf) |[Video](https://www.youtube.com/watch?v=hTGeG0z09NU) |
|2024.08.05 |Intro to gno.land |[@leohhhn](https://github.com/leohhhn) |[Slides](https://docs.google.com/presentation/d/1tnplCWxhg-RFatDS3w1iJnO0vSfBAuw2ZA0ommNJQOU/edit?usp=sharing) |--- |
-|2024.07.13 |Gno: Examples and Comparisons |[@moul](https://github.com/moul) |[Slides](https://gnolang.github.io/workshops/presentations/2024-07-13--nebular--manfred/presentation.slide.html#1) |[Video](https://www.youtube.com/watch?v=Zsl3xu_Edcc) |
|2024.07.13 |Building with Gno.land: A Practical Workshop on Smart Contracts |[@gfanton](https://github.com/gfanton) |[Slides](presentations/2024-07-13--nebular--gfanton/README.md) |[Video](https://www.youtube.com/watch?v=oBQ-t_E0QpI) |
+|2024.07.13 |Gno: Examples and Comparisons |[@moul](https://github.com/moul) |[Slides](https://gnolang.github.io/workshops/presentations/2024-07-13--nebular--manfred/presentation.slide.html#1) |[Video](https://www.youtube.com/watch?v=Zsl3xu_Edcc) |
|2024.07.09 |Building a Deterministic Interpreter in Go: Readability vs Performance |[@jaekwon](https://github.com/jaekwon) |[Slides](presentations/2024-07-09--gophercon-us--jae) |[Video](https://www.youtube.com/watch?v=betUkghf_jo) |
|2024.07.08 |Building a Decentralized App on gno.land |[@deelawn](https://github.com/deelawn) |[Slides](presentations/2024-07-08--gophercon-us--dylan) |[Video](https://www.youtube.com/watch?v=lwL2VyjaV-A) |
|2024.06.17 |Envisioning a Go-Powered Ecosystem: The Ultimate Go Computer |[@moul](https://github.com/moul) |[Slides](presentations/2024-06-17--gophercon-berlin--manfred) |[Video](https://youtu.be/dLE2-8QPK64?si=IidxNLGrwwS6jbYL) |
@@ -47,6 +48,8 @@ presentations.
+
+
_This table is autogenerated based on the [./presentations](./presentations) folder._
## Resources
diff --git a/presentations/2025-02-01--fosdem--manfred/Makefile b/presentations/2025-02-01--fosdem--manfred/Makefile
new file mode 100644
index 0000000..e3c861a
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/Makefile
@@ -0,0 +1,6 @@
+runx:
+ cd ..; go run github.com/soypat/go-presentx -http 0.0.0.0:3999 -base ../.presentx
+
+run:
+ cd ..; go run golang.org/x/tools/cmd/present -http 0.0.0.0:3999 # -base ../..
+
diff --git a/presentations/2025-02-01--fosdem--manfred/code/.gitignore b/presentations/2025-02-01--fosdem--manfred/code/.gitignore
new file mode 100644
index 0000000..e33609d
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/.gitignore
@@ -0,0 +1 @@
+*.png
diff --git a/presentations/2025-02-01--fosdem--manfred/code/counter.gno b/presentations/2025-02-01--fosdem--manfred/code/counter.gno
new file mode 100644
index 0000000..bc6f97f
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/counter.gno
@@ -0,0 +1,13 @@
+package counter
+
+import "strconv"
+
+var counter int
+
+func Incr() {
+ counter += 1
+}
+
+func Render(_ string) string {
+ return "my decentralized counter: " + strconv.Itoa(counter)
+}
diff --git a/presentations/2025-02-01--fosdem--manfred/code/hello.go b/presentations/2025-02-01--fosdem--manfred/code/hello.go
new file mode 100644
index 0000000..0c99376
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/hello.go
@@ -0,0 +1,5 @@
+package main
+
+func main() {
+ println("Hello, Fosdem! It's Manfred.")
+}
diff --git a/presentations/2025-02-01--fosdem--manfred/code/hello_world.gno b/presentations/2025-02-01--fosdem--manfred/code/hello_world.gno
new file mode 100644
index 0000000..044709e
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/hello_world.gno
@@ -0,0 +1,5 @@
+package hello
+
+func Hello() string {
+ return "hello world"
+}
diff --git a/presentations/2025-02-01--fosdem--manfred/code/interop.gno b/presentations/2025-02-01--fosdem--manfred/code/interop.gno
new file mode 100644
index 0000000..21f8740
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/interop.gno
@@ -0,0 +1,5 @@
+package alice
+
+var x int
+func GetX() int { return x }
+func SetX(n int) { x = n }
diff --git a/presentations/2025-02-01--fosdem--manfred/code/interop2.gno b/presentations/2025-02-01--fosdem--manfred/code/interop2.gno
new file mode 100644
index 0000000..861dd97
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/interop2.gno
@@ -0,0 +1,8 @@
+package bob
+
+import "alice"
+
+func IncrAlice() {
+ x := alice.GetX()
+ alice.SetX(x + 1)
+}
diff --git a/presentations/2025-02-01--fosdem--manfred/code/micropost-query.sh b/presentations/2025-02-01--fosdem--manfred/code/micropost-query.sh
new file mode 100644
index 0000000..8a9b133
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/micropost-query.sh
@@ -0,0 +1,4 @@
+gnokey maketx call \
+ -pkgpath "gno.land/r/leon/fosdem25/microposts" \
+ -func "CreatePost" \
+ -args "Hello FOSDEM people! Welcome <3" ...
diff --git a/presentations/2025-02-01--fosdem--manfred/code/we-are-building.txt b/presentations/2025-02-01--fosdem--manfred/code/we-are-building.txt
new file mode 100644
index 0000000..5736647
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/code/we-are-building.txt
@@ -0,0 +1,4 @@
+we’re building a user-owned internet
+where governance is fair,
+development is open,
+and innovation is rewarded.
diff --git a/presentations/2025-02-01--fosdem--manfred/img/micropost1.png b/presentations/2025-02-01--fosdem--manfred/img/micropost1.png
new file mode 100644
index 0000000..94535b7
Binary files /dev/null and b/presentations/2025-02-01--fosdem--manfred/img/micropost1.png differ
diff --git a/presentations/2025-02-01--fosdem--manfred/img/micropost2.png b/presentations/2025-02-01--fosdem--manfred/img/micropost2.png
new file mode 100644
index 0000000..819ab61
Binary files /dev/null and b/presentations/2025-02-01--fosdem--manfred/img/micropost2.png differ
diff --git a/presentations/2025-02-01--fosdem--manfred/img/microposts.png b/presentations/2025-02-01--fosdem--manfred/img/microposts.png
new file mode 100644
index 0000000..ee2e115
Binary files /dev/null and b/presentations/2025-02-01--fosdem--manfred/img/microposts.png differ
diff --git a/presentations/2025-02-01--fosdem--manfred/metadata.yml b/presentations/2025-02-01--fosdem--manfred/metadata.yml
new file mode 100644
index 0000000..dc6fc34
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/metadata.yml
@@ -0,0 +1,15 @@
+# Date of the workshop
+date: "2025-02-01"
+# Title of the workshop
+title: "building decentralized apps in go: meet gno"
+# GitHub usernames of the speakers
+speakers:
+ - "moul"
+# Location of the workshop
+location: "Brussels, Belgium"
+# At which event the workshop took place, if any
+event: "FOSDEM 2025"
+# Workshop slides link. If the link is local, only put the file name, without any other path parts.
+slides: "https://gnolang.github.io/workshops/presentations/2025-02-01--fosdem--manfred/presentation.slide.html#1"
+# Workshop recording
+#recording: ""
diff --git a/presentations/2025-02-01--fosdem--manfred/presentation.slide b/presentations/2025-02-01--fosdem--manfred/presentation.slide
new file mode 100644
index 0000000..96d33ac
--- /dev/null
+++ b/presentations/2025-02-01--fosdem--manfred/presentation.slide
@@ -0,0 +1,100 @@
+# building decentralized apps in go: meet gno
+Fosdem, 1 Feb 2025, Brussels
+Tags: golang, gnolang
+Summary: TODO
+
+Manfred Touron
+VP Eng., gno.land
+https://gno.land/
+https://github.com/gnolang
+@moul
+
+## bonjour, FOSDEM!
+
+.code ./code/hello.go
+
+- manfred touron (@moul)
+- built scaleway, berty, now gno
+- stuck with go for 10 years
+- unapologetically open-source maximalist
+
+## intro
+
+- go is an amazing language: simple, efficient, safe
+- not built for decentralized apps (dapps)
+- existing decentralized app platforms are complex, fragmented, and unfamiliar
+- what if you could write dapps in pure go?
+- meet gno: go for dapps, designed for modularity, composability, and safety
+
+## gno in one sentence
+
+gno is a **transactional vm**
+that lets you write **decentralized apps** in **go**,
+with built-in **state persistence** and **safe execution**.
+
+## gno hello world
+
+
+
+
+
+
+
+.code ./code/hello_world.gno
+
+## the gno paradigm
+
+- **no json, no grpc**: function calls instead of rpc
+- **no orm, no db drivers**: state is a first-class concept
+- **no external dependencies**: everything is go code
+- **no bytecode**: interpreted, readable go syntax
+- **no hidden magic**: all code is visible and auditable
+
+\... but it's just like go.
+
+## persistence: counter.gno
+
+.code ./code/counter.gno
+
+- global variables persist across transactions
+- no need for external storage or db
+
+## microposts.gno
+
+.image ./img/microposts.png _ 1000
+
+## microposts demo
+
+.image ./img/micropost1.png _ 500
+
+.code ./code/micropost-query.sh
+
+.image ./img/micropost2.png _ 500
+
+[gno.land/r/leon/fosdem25/microposts](https://gno.land/r/leon/fosdem25/microposts)
+
+## interoperability: alice.gno & bob.gno
+
+Another app could use micropost...
+
+.code ./code/interop.gno
+.code ./code/interop2.gno
+
+- call functions from other contracts like normal go packages
+- no need for low-level calls or address casting
+
+## conclusion
+
+
+
+.code ./code/we-are-building.txt
+
+
+
+- gno makes go the first-class language for decentralized applications
+- if you know go, you already know gno
+- opportunities for developers to contribute and innovate
+- -> https://gno.land
+
+
+thank you!