074 #fosdem
This post recounts experiences from FOSDEM'21, a massively multiplatform weekend of all things Free & Open source, which I begin with an excerpt from the blog of Albert "Bash" Yumol, Data Scientist and Tech For the People Activist.
Our lives may look a bit disarrayed, but it only takes a new perspective, a different angle, or a new lens to look at it that we may find sense in what we are doing. Our present may be noisy, but even noise has pattern.
The point is, most of our struggles are not at all isolated. As C. Write Mills tells us about sociological imagination, our experiences are connected to the wider society. There exist a complex web of interactions of struggles that seem to be random, that seem to be mere noise, but there is a hidden structure.
Recognition of these structures is one goal of life. But recognition should not be the end goal. We are reminded by Karl Marx in his Eleven Theses on Feuerbach: "The philosophers have only interpreted the world, in various ways. The point, however, is to change it."
-- Lessons from my physics degree that have nothing to do with physics, shared here as Fair Use and in the spirit of openness.
Tracks I took part in with a few notes follow. The full schedule is looooooooooong. And I have not seen a single item on it that does NOT sound promising, but..one tries to cut a swath through the content jungle. I'll be updating this notebook with my notes on any talks I catch up on later. Open source Apps like Sojourner made it a lot easier to keep track of the talks. Don't miss the FOSDEM'21 stands, the many nice fringe gatherings, and side events like beer with GNOME to discover via #FOSDEM.
The recordings are now available, just click on the title and look for the video player on the talk page.
Tools and Concepts for Successfully Open Sourcing Your Project
Because this is something I am thinking hard about in all my projects, and hope to take part in the discussion!
In the Q&A section you can ask specific questions about your project or your idea and we'll give you some tips and tricks that we've used ourselves
- Choose your license wisely, automate and test, focus on your project. Have fun! And if you're not, sometimes it's okay to
deletedeprecate. - In OpenStack community, we use reno for managing changelog https://docs.openstack.org/reno/latest/
- We use Terraform to create our repos, the settings on those repos, etc. You can find the source code here: https://github.com/ContainerSSH/github-terraform
- [As a guide to starting a community] @prokopsimek: try this for starters: https://todogroup.org/guides/
- "Envoy was unexpectedly popular, and completely changed the way Lyft considers what and how to open source." https://changelog.com/podcast/418
Digital freedom with youth and education
Our educational concept is also based around the idea that young people should be judged by their abilities, not by age. They should learn to take responsibility and be independent.
- Adopt a minor-friendly dev process and platform, e.g. American laws regulate access to US-based platforms like GitHub, GitLab, Slack, Zoom Discord, preventing participation for people under 16 - who "cannot even legally defend themselves" -> choose free, open platforms that do not exclude the minority of young people.
- Scrutinise the Terms of Use of your platforms.
- Include young people in your Code of Conduct!
- Talk with young people and tell them about the possibility of contributing to FOSS, encourage getting involved and helped them.
- Teachers should integrate development of the software they are using in their lessons.
- Higher education should be "multipliers", teach importance of community aspects to "every IT student" (why not every student), and let students contribute to FOSS (while getting credit !)
- There is a culture clash between FOSS scene and (decision makers) in Education: diversity vs. marketing, freedom vs. strategic priorities, everyone helps everyone vs. support contracts, anti-commercial stance vs. responsibility & liability.
- "Learning programming by creating software that is actually used in the school." 👏 🚀
- Securely digitalise your educational environment, while knowing where your data is -> support the project at https://schul-frei.org/
"Schul frei" is definitely of interest to alternative learning projects, school councils, and digital kids projects. Looking forward to discussion of free/libre software stacks continued later this spring at https://openeducationday.ch/ !
Collaborating to describe datasets using Frictionless Data schemas
The talk will consist of a brief explanation of Frictionless Data schemas, how data managers work with researchers and then I shall do a demo of how the tool can be used.
- Schema collaboration FTW. Great to see Frictionless Data explained today at #FOSDEM with compelling examples by Carles Pina Estany from the Swiss Polar Institute :flag-ch: :package:
- https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/
- https://Carles.eu.pythonanywhere.com
- https://github.com/Swiss-Polar-Institute/frictionless-data-packages
- Did you consult with any designers while developing this? "I wish! If you have any suggestions please get in touch." The Frictionless team/community was a big help in getting initial feedback. Suggestion: visit the Open Design Dev-room!
- Could the tool be used to write a data management plan (DMP), agree schema with other scientists? Yes! (* I will bring up this question in the March community FD meetup)
Emacs and org-mode for reproducible research
We learned about reproducible research and Org-mode:
- The hurdles in reproducibility include undocumented, manual dependencies between data, software and results, and reliance on a bunch of different tools - which typically include legacy/restrictive software/formats.
- Your research in plain text! <3 .. and as we know, plain text will last 1000 years. Or as Olivier Aubert put it, "And another plus point of the plain text format: it integrates nicely within git, with readable diffs (that you do not get with many other notebooks). And then you have a whole ecosystem, like datalad to handle also data and whatever."
- Fantastic talk, especially the points about plain text == sustainability of research outputs, and the presenter's clear and confident demo
- We had a bit of emacs-vs-vim debate, which quickly emanated into observations of entropic realities as we saw the Vim clones (vim-orgmode, VimOrganizer) were in the process of being abandoned.
- Every project is somewhere on the relativistic scale of abandonment, it must be a property of the FOSS-universe.
- 🎧️ I love the sound of the mechanical keyboard in this talk
- A delightful rant about why Org-mode kicks the Jupyter's ass https://rgoswami.me/posts/jupyter-orgmode/
- Files displayed in this talk are available at: https://github.com/tlestang/org-mode-reproducible-research
Butts in the Browser
This is an interesting (and weird sounding) project in the P2P space, and I'd be keen to see it in action. "What if we could make software that is both subjective and in control of the user?" - or, as one participant put it, "so scuttlebut is a bit like a corona warn app, but to exchange posts", with definite appeal as "an underground cypherspace for hackers/solarpunks".
Open, Accessible & Delightful: building the Mozilla Hubs community during COVID-19
I'm a fan of Mozilla Hubs, have been playing around with the product for a couple of years. I've set up custom rooms for Demonights - our local electronic arts meetups, set up a VR experience for last year's DINAcon 2020 (Swiss annual open source awards), and over the past winter holidays used it extensively to connect with my extended family around the world.
In this talk I showcase exciting work created by the Hubs community, and share specific insights learned while managing Hubs’ rapidly growing user-base. Attendees will discover how to foster an open, accessible & delightful community.
- No login, avatar based, multiplatform, open source and hackable!
- Some incredible worlds, experiences, uses and architectures presented. Video definitely needs a closer re-watch.
- Not just limited to virtual experiences, people have already connected Hubs to various web APIs, for example to smart homes a.k.a. turn the lights on and off.
- Hubs Cloud is a reasonably priced new service allowing you to run local instances, fully control the data, and do various customizations.
- A place for collaborative research on the open metaverse: https://m3-org.github.io/research/ / https://github.com/M3-org/awesome-metaverse
Designing with sensor data
For years now, we associate Responsive Web Design with Media Queries which adapt to the width of the device we are using. But what if we can take this one step further? Modern devices are brimful of sensors.
- https://jaenis.ch/hobbies/speaking/fosdem2021-javascript-device-sensors/
- Fun with bluetooth in the browser :male-mechanic:
- Or build your own Alexa with http://www.annyangjs.com/
The growth of free software in Building Information Modeling for architects, engineers, and construction
- A mind-blowing presentation of open source tools for designing, analysing and publishing buildings from an architect.
- Inspirations: Wiki House and Open Source Ecology
- There is a trend from clients and especially big clients about not having a proprietary and non-reusable solution or dataset. This is starting to be contractually required.
- "The reality of the data is it's pretty garbage, they just don't know it yet."
- However, there is no open mature alternative to proprietary software for large-scale projects. The moment that will happen, we will see it snowball.
- Julian Todd: what's it going to take for the very large civil engineering companies to start putting a single dollar into open source development? In my experience they are quite happy with high prices, bad software and huge barriers to entry because all of these costs get passed on to their customers. We don't have a situation like when Sun took its money out of buying Microsoft Word and paid for OpenOffice to be developed.
- What sort of legal compliance do software packages need to provide, e.g. in terms of simulations of wind resistance? Architects do not get paid in terms of performance. >_<
- In context of BIM, we're talking about ways to interoperate. "The FreeCAD guys are there.. come along too!"
- duncan-nz: See forum discussion about how make good use of a standard for exchanging structural data. It seems many standard are out there, mostly from buildingSMART but are very poorly implemented. The same problem is there for energy data, there is a standart but implementation is very poor. We just had a presentation about that problem yesterday.
- Moult: IFC is more of a "general-purpose" schema - there are lot of specialised domains which IFC does a very poor job in, but it is the only one attempting to be cross discipline, and that is extremely important to the highly collaborative nature of our industry if we want good buildings and to work together.
- https://technical.buildingsmart.org/standards/ifc/ifc-formats/ifcowl/
- https://wiki.osarch.org/index.php?title=Industry_Foundation_Classes_(IFC)
A library for understanding movement
MoveTK is a reusable, well tested, high performant, feature-rich library that incorporates state of the art algorithms for computational movement analysis. ... Any scalable movement analysis task can be based on three fundamental building blocks: (a) the representation of (geo-)spatial movement data (b) the shape and specifically geometric aspect of movement and (c) algorithms that have theoretical bounds on their time and space complexity.
- I got unfortunately too wrapped up in the awesome CAD talk above to really follow.
- This is a super interesting tool for visualizing trajectories with movement data, and the presentation looked awesome.
- Slides
- Source: https://github.com/heremaps/movetk
Spaces: The Final Frontier!
You had me (a Trekkie...) at Spaces :alien: Seriously, I'm using Matrix every day without really understanding how it works or what kind of galaxies are out there to explore. It's cool to hear from the people behind the platform connecting us at FOSDEM'21.
- Slack, Discord, Telegram, have already bridges to Matrix. Recently Gitter has joined with not only a bridge but a native implementation allowing two-way conversations. See Gitter now speaks Matrix!
- Exciting times as we see network effects, snowballing happening as Matrix becomes the de-facto standard for public institutions and increasingly private ones.
- Jitsi, Jibri, nginx, Element, working together across Web standards, the Matrix and HLS (HTTP Live Streaming .. which, if you've ever used WinAmp, is just a WinAmp Playlist! :sheep:) in the FOSDEM solution.
- Element widgets, added in 2017 to help fund Matrix work and underutilized until now, are basically IFRAMEs and through the permission-based API have endless feature possibilities. The Schedule widget, live Scoreboard, and Stands were developed for FOSDEM. See also MSC1236, PostMessage API, permissions model and matrix-widget-api. They are not yet, but should go in the spec.
- See How we fixed Synapse's scaling for an interesting look into the evolution of Matrix architecture, which uses Postgres clusters and Redis (as PubSub).
- There were a whole bunch of "others": little helper workers, encryption endpoints, etc., which were not split up and got way more traffic than expected. That caused a bit of a firedrill yesterday morning, now everything is steady at around 20% CPU.
The OpenNebula alternative to Kubernetes for Containers-as-a-Service
In this talk we will show a live demo on how to automatically deploy a Containers-as-a-Service on the edge to orchestrate multi-container applications using OpenNebula’s recent integration with the Docker Hub marketplace.
- Neat! OpenNebula is something I have been hearing good things about from ungleich.ch, who have a blog post about it here - who are, mind you, also working on their own alternative called uncloud
- "It won’t take us to Mars, but it might be handy, nonetheless." Try minone for a quick intro to the project.
- It's an alternative to Kubernetes, it's good for small/medium business, it's good for Europe, and it works.
- I would have liked to see the demo of deploying Dask, but time was very limited.
A playful approach to version control
Project dribdat is to some extent a gamification of the developer experience, and I'm going to be paying close attention here. Might even learn some new tricks about Git and Godot Engine!
It makes heavy use of visualizations, features an (optional) graphical "playing card" interface, and uses real Git repositories under the hood! Storywise, you're a time agent in training, and learn all about how to use your time machine to help people solve their problems.
- For beginners: a fun introduction to Git, an intuitive understanding, concepts like merging/rebasing/staging/unstaging demystified, PLUS real-world knowledge.
- For advanced users: things like
git bisect
,git replace
, Git's internals, distributed tree theory.. (see XKCD 1597). - We thought a lot about the problems of teaching git, and took these cards as a design approach. You can just pull them on different targets, commits and stuff to meet your goals.
- You can also use the terminal to type everything and not use the cards (tip: special achievement if you get through the game with keys only!)
- You can even play with a friend! (Which makes a lot of sense, considering what git is used for..) And it's easy to define your own levels!
- Next: synergy of technology and nature (solarpunk). And time travel. Definitely more time travel.
- https://morr.cc/git-game @bleeptrack @blinry
/etc
Moar talks!!
Making Documentation a First-class Citizen in Open Source Projects
There will be a discussion on how community contributions for documentation can be encouraged and how community members can apply their learnings from documentation to other areas of open source communities.
Challenges running Jitsi Meet at scale during the pandemic
And we thought we had a tiring year.. Hear from the team behind this awesome online conferencing product. Which won an award at DINAcon 2017, just so you know.
Virtual Reality Data Visualizations using only Front-End
There are plenty of tools that can analyze data in many ways, most of them are composed of a full-stack app, and the well-known front-end libraries limit the visualization on the 2D and screen environment, just a few of them try to visualize this data in the browser integrating other technologies/environments like webXR.
Calling Python from Go In Memory
The Go programming language shines when writing high throughput services, and Python shines when used for data science. In this talk we'll explore a way to call Python/numpy code from Go in memory using some cgo glue. This approach is fast and risky, use at your own risk.
Spatial data exploration in Jupyter notebooks
In this talk, we dive into examples of visualizing open government data from public web services as well as large movement datasets.
- Live demos via Binder at https://github.com/anitagraser/ogd-at-lab
Decentralization and Decency
This talk is about our values and goals as a community beyond just "censorship resistance," and how we're solving problems, not creating new ones.
Datacenter class containers for the masses
The power of open hardware and open software creates the possibilities of executing many compute intensive workloads in diverse locations without the need of a data center.
/dev/null
Other random things discovered in chats and talks:
- A blog post clarifying renaming git master -> main branches (the why and the how)
- How to make your own ActivityPub server with a hyperintelligent SemApp that can query the world's knowledge AND bother your friends with it
- https://www.7billion-urbanists.org/
- https://nownownow.com/about
- https://actualbudget.com/
Slide from an intriguing FOSDEM 2015 talk.
Humanity's last stand, circa 5'000'000'000 years from today, in Creeper World, which you can play for free or try an open source clone of here.
Screenshot from Vircadia, which I played around with ahead of the talk.