This is an automated email from the git hooks/post-receive script. ambrevar pushed a commit to branch master in repository maintenance.
The following commit(s) were added to refs/heads/master by this push: new 15cbddd talks: fosdem2020-search-discovery: Add draft. 15cbddd is described below commit 15cbddd52023752b0bdde63d9ffc58b6a2503c1e Author: Pierre Neidhardt <m...@ambrevar.xyz> AuthorDate: Wed Jan 15 22:00:26 2020 +0100 talks: fosdem2020-search-discovery: Add draft. * talks/fosdem-2020/search-discovery/search-discovery.org: New file. --- .../images/Guix_logo_noname.svg.png | Bin 0 -> 62720 bytes .../search-discovery/search-discovery.org | 157 +++++++++++++++++++++ 2 files changed, 157 insertions(+) diff --git a/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png b/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png new file mode 100644 index 0000000..817364f Binary files /dev/null and b/talks/fosdem-2020/search-discovery/images/Guix_logo_noname.svg.png differ diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org new file mode 100644 index 0000000..d40d7fc --- /dev/null +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -0,0 +1,157 @@ +#+AUTHOR: Pierre Neidhardt +#+EMAIL: m...@ambrevar.xyz +#+TITLE: Search & discover packages and services with GNU Guix + +#+OPTIONS: reveal_single_file:t + +#+OPTIONS: toc:nil + +#+REVEAL_ROOT: http://cdn.jsdelivr.net/reveal.js/3.0.0/ +# #+REVEAL_TRANS: page +#+REVEAL_PLUGINS: (highlight) +#+REVEAL_THEME: night + +#+REVEAL_MAX_SCALE: 0.6 + +#+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png +#+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px + +#+TODO: Talk about guile. + +* How do we search? + +# https://www.ted.com/talks/tim_berners_lee_the_next_web/transcript + +# TODO: Fill in the quote on linking web data. +"..." +-- Tim Berners Lee +"The Next Web" (2009) + +#+begin_notes +How do we find the program that we are looking for? +Let me rephrase: How do we find the program that does the job for us? + +What do we expect from computers? +We don't expect to program them: we expect to run a program and get the job done. + +User experience question: when first confronted with a computer, how do we know +which program to run? => Tribal knowledge (e.g. VLC is famous because it's famous). + +Speak for Guix-specific improvements, but also more general research. +#+end_notes + +* Dotfiles, or "Yet another home-made service" + +#+TODO: Take data from GitHub, gitlab "dotfiles" repositories +??? "dotfiles" repositories across GitHub, GitLab... + +Average of ??? lines. + +#+begin_notes +Show of hands: who has spent too much time on their dotfiles? + +What is a dotfile really? It's just another home-made service. + +Just like a program, it gets the job done. And when start thinking this way, we +start realizing that it's only a blurred line between services and packages. +#+end_notes + +* First-class services + +Or "The end of dotfiles!" + +#+begin_notes +My claim: we can put an end to dotfiles! + +Rephrase: An end to "egoistic un-reusable dotfiles". + +Everyone can start upstreaming their dotfiles configurations and share them. + +Dream: Just need to declare which program and services you want to use and your +are done. This could tailor to your most specific needs. + +Service example: daily backup of my data with rsync+ssh/vpn. +#+end_notes + +* Example + +# TODO: Finish service example +#+begin_src scheme + (backup-service-type + (backup-configuration + (host "123.123.123.123") + (port "8888") + (method rsync+vpn) + (folders + '(("/path/folder1" "/target/destination1") + ("/path/folder1" "/target/destination2"))))) +#+end_src + +# TODO: More examples? + +* A flood of packages and services + +Nix has some 40,000+ packages. + +Guix is getting there: 12,000 as of FOSDEM 2020. + +#+begin_notes +Services don't have well known names. + +How do we find our way around this mess? + +More general problem: search programs / services is hard. +#+end_notes + +* GNU Guix and GNU Shepherd + +- Can be installed everywhere. +- Shepherd services drag Guix dependent packages automatically. + +* Problem 1: File search + +SQLite databases from substitute servers. + +* Problem 2: Package parameters + +# TODO: Really talk about this? +"Gentoo USE flags" + +Example: FFmpeg compiled with AAC encoding + +* Problem 3: User interface + +- Command line of course... +- ...But also GUI! + +# TODO: Videos? Demo with Helm? + +#+begin_notes +Live, fuzzy search that "does what you mean." +Understands if you are looking for a service, file, application. +#+end_notes + +* The Art of Searching + +- À-la "web search-engine". +- Databases: Wikidata +- Smart search engines: Xapian? + +#+begin_notes +Wikidata is a good way to factor the work between distributions. +#+end_notes + +* Community contributions + +# Mention Alternative To? + +- Recommendations +- Number of downloads +- Ratings +- Tags? + +#+begin_notes +We don't want to include tags in a permanent databases: +- Too subjective. +- Evolves over time depending on the latest trends. +#+end_notes