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 fe8f739 talks: fosdem2020-search-discovery: Finalize. fe8f739 is described below commit fe8f73971d452b43fc29ea29839a74f2a372261c Author: Pierre Neidhardt <m...@ambrevar.xyz> AuthorDate: Fri Jan 31 18:17:12 2020 +0100 talks: fosdem2020-search-discovery: Finalize. * talks/fosdem-2020/search-discovery/search-discovery.org: Edit. --- .../search-discovery/search-discovery.org | 99 ++++++++++++---------- 1 file changed, 53 insertions(+), 46 deletions(-) diff --git a/talks/fosdem-2020/search-discovery/search-discovery.org b/talks/fosdem-2020/search-discovery/search-discovery.org index 8c025ae..a459de4 100644 --- a/talks/fosdem-2020/search-discovery/search-discovery.org +++ b/talks/fosdem-2020/search-discovery/search-discovery.org @@ -1,6 +1,7 @@ #+AUTHOR: Pierre Neidhardt #+EMAIL: m...@ambrevar.xyz -#+TITLE: Search & discover packages and services with GNU Guix +#+TITLE: Search & discover packages and services +#+SUBTITLE: with GNU Guix #+OPTIONS: reveal_single_file:t @@ -11,11 +12,12 @@ #+REVEAL_PLUGINS: (highlight) #+REVEAL_THEME: night -#+REVEAL_MAX_SCALE: 0.6 +# #+REVEAL_MAX_SCALE: 0.6 #+REVEAL_TITLE_SLIDE_BACKGROUND: ./images/Guix_logo_noname.svg.png #+REVEAL_TITLE_SLIDE_BACKGROUND_SIZE: 550px +#+TODO: Zoom out title. #+TODO: Talk about guile? * Sharing matters @@ -25,13 +27,15 @@ # : The power of the data that other[s] have collected is locked up and we need to # : get it unlocked so we can tackle those huge problems. -: A lot of the state of knowledge of the human race at the moment is on databases, -: often sitting in their computers, and actually, currently not shared. +#+begin_quote +A lot of the state of knowledge of the human race at the moment is on databases, +often sitting in their computers, and actually, currently not shared. +#+end_quote -- Tim Berners-Lee "The next web" (2009) -#+begin_notes +#+BEGIN_NOTES In 2009, TBL gave a speech on "The next web". Sharing matters: @@ -43,13 +47,13 @@ Sharing matters: Today we are at the free software conference where everyone understands this and yet, I would argue, that we are still not that good at sharing. A lot of time and effort goes to waste. -#+end_notes +#+END_NOTES -* Sharing is nothing without searching +* Sharing is nothing without discoverability -Efficient sharing means equally efficiant discovery. +Efficient sharing means equally efficient discovery. -#+begin_notes +#+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? @@ -58,9 +62,9 @@ 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). -#+end_notes +#+END_NOTES -* Dotfiles, or "Yet another home-made service" +* Dotfiles, or "Yet another home-made service"? #+TODO: Take data from GitHub, gitlab "dotfiles" repositories @@ -73,20 +77,20 @@ https://github.com/search?o=desc&q=dotfiles&s=stars&type=Repositories # TODO: Average of ??? lines. -#+begin_notes +#+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 +#+END_NOTES * First-class services Or "The end of dotfiles!" -#+begin_notes +#+BEGIN_NOTES My claim: we can put an end to dotfiles! Rephrase: An end to "egoistic un-reusable dotfiles". @@ -97,9 +101,9 @@ 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 +#+END_NOTES -* Example +** Example # TODO: Finish service example #+begin_src scheme @@ -115,103 +119,100 @@ Service example: daily backup of my data with rsync+ssh/vpn. # TODO: More examples? -* Recipe for first-class services +** Recipe for first-class services Just use GNU Guix and GNU Shepherd! - Shepherd services drag Guix dependent packages automatically. - Can be installed everywhere. -#+begin_notes +#+BEGIN_NOTES It's hard to fix it for every distribution. Since Guix is universal, it fixes it for everyone. -#+end_notes +#+END_NOTES * A flood of packages and services -Nix has some 40,000+ packages. +Nix: 40,000+ packages. -Guix is getting there: 12,000 as of FOSDEM 2020. +Guix: 12,000+ packages, 140+ services. -#+begin_notes +#+BEGIN_NOTES Services don't have well known names. How do we find our way around this mess? More general problem: search packages / services is hard. -#+end_notes +#+END_NOTES -* Problem 1: File search +* Problems -SQLite databases from substitute servers. +Argh! +** Problem 1: File search -#+begin_notes +Idea: SQLite databases from build farms. + +#+BEGIN_NOTES Nix can do this, Guix cannot. We need to fix this. -#+end_notes +#+END_NOTES -* Problem 2: Gentoo "USE flags" +** Problem 2: Gentoo "USE flags" # TODO: Really talk about this? # TODO: Better USE flag example. Example: FFmpeg compiled with AAC codec -* Problem 3: User interface +** Problem 3: User interface # TODO: Videos? Demo with Helm? Accessibility means "good GUI!" -#+begin_notes +#+BEGIN_NOTES Live, fuzzy search that "does what you mean." We can't afford a cumbersome command line. -#+end_notes +#+END_NOTES -* Problem 4: Community data +** Problem 4: Community data # Mention Alternative To? - Recommendations - Number of downloads - Ratings -- Tags? +- Tags? (#audio, #video, #web…) -#+begin_notes +#+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 +#+END_NOTES * The Art of Searching - Live fuzzy search - Scoring system - Community data -- Understands files, "USE flags" -- Understands "what you mean", e.g. a service, file, application. - À-la "web search-engine". +- Understands /what you mean/, e.g. service, file, "USE flags" or application. + # À-la "web search-engine". * Implementation - Databases: Wikidata? - Smart search engines: Xapian? -#+begin_notes +#+BEGIN_NOTES Wikidata is a good way to factor the work between distributions. Show https://www.wikidata.org/wiki/Q171477?wprov=srpw1_0 ? -#+end_notes +#+END_NOTES * Current work -NLNet fund: New Generation Internet - -- https://nlnet.nl/project/GUIX/ (misleading description) -- https://www.ngi.eu/. - -For Guix: +** Tasks for Guix - First class services - File search @@ -220,6 +221,12 @@ For Guix: - Smart search (including community data) +** Fundings +NLNet fund: New Generation Internet + +- https://nlnet.nl/project/GUIX/ (misleading description) +- https://www.ngi.eu/. + * Follow up - https://guix.gnu.org