FOSDEM 2019
Saturday
Mattermost
Open Source Private Cloud Slack alternative.
The cost of not doing user research
They didn't do user research and it cost the project a lot. Then they started
doing it and things became better. It's ok to do user research half-assedly,
still much better than nothing at all.
Matrix in the French State
- Matrix 1.0 spec is out. It's implemented in Synapse (older Python server) and
will come to Dendrite (faster Go server) real soon now.
- Matrix.org foundation has money and is sustainable.
- They now have VoIP support and even VR/AR.
- Matrix is a protocol for replicating the conversation history, it's not as
much about passing messages around. So no server owns the room, it's
replicated between all the servers that run this room.
- The spec is monolithic. All features must be implemented to be compliant --
this avoids protocol fragmentation and compatibility problems.
- There's a nice MacOS native client.
- French deployment
-
30 independent deployments (per-ministry),
- ~5.5M users,
- E2E encryption and server-side antivirus through some black magic that's
coming to OS Matrix servers soon (the key only for the file is exfiltrated
to the antivirus server so it can do the checking),
- A custom app is being developed (fork of Riot),
- Synapse was ported to Python 3,
- Self-signed server certificates are being phased out,
- There's a new room state resolution algorithm that works properly,
- Server to Server API is now standardized (r0.1 for now but still).
- Riot is redesigned.
Redis Commons Clause
Mgmt config management with graph algorithms
New smart configuration management solution based on some graphs.
PostgreSQL vs. fsync
The way PostgreSQL uses fsync is unsafe and can lead to data corruption in case
of transient I/O failures. This wasn't obvious earlier because when hard drives
broke they broke completely and forever. Now we use network filesystems a lot
more often a lot more often.
We should improve the detection of these failures (it's only possible with
latest Linux kernels) and trigger PANIC and recovery from WAL. Long term
solution would be to implement a direct I/O based engine that will not use the
page cache of the kernel.
Sunday
Neural commit message suggester
Generate commit message from patches using RNNs and techniques from machine
translation.
Perl 11
- https://fosdem.org/2019/schedule/event/perl11/
- Philosophy
- Pluggability of Perl on all levels
- Reunification of Perl 5 and 6
- Runtime performance of C/C++ or faster!
- Perl community has amazing culture and humor!
- Perl 5
- The Camel is a spec (not an implementation).
- Pumpking and the pumpkin passing ritual.
- Vanilla Perl, Strawberry Perl for Windows
- Active Perl for the enterprise
- PONIE...
- cperl (fork of Pumpkin perl with some improvements by Reiny Urban)
- RPerl (optimizing compiler, much much faster)
- Perl 6
- Butterfly "Raku" is also a spec.
- The Parrot is dead (it never really fully worked... Monty Python reference)
- Pugs (Haskell implementation)
- Niecza (.NET, experimental)
- VIV (translate 6 to 5), STD (read "standard")
- Rakudo NQP (not quite Perl) MoarVM (low level virtual machine for Perl 6)
- This is the modern official Perl 6 impelementation
- Unifications
- Perlito (to JS, Java transpiler that runs in the browser)
- p2 (potion VM)
- WebPerl (to Webassembly via clang)
- Perl 11
- Perl 6 is designed to implement other languages so the masterplan is to have
RPerl running Perl 5 and 6 and implement everything on top of it to be faster
than the original implementation.
Creating games with FOSS tools
- Godot engine.
- 2D and 3D engines that are quite compatible.
- Making the demo
- Switched from 2 to 3D...
- Hired an artist,
- Concept + prototyping,
- Created the level in Blender
- Created characters + animation (animation should be close to final in
prototyping)
- Animation tree is a good way to describe the movement of a shape that
works for both artists and programmers.
- VFX should also be close to final
- Textures -- still hard with FOSS, no good tools yet
- Fix tiling with Hi-Pass filter
- Normal map can be produced from a heightmap
-
- You can quickly produce 3d models from heightmaps
- Alternatively you can just model everything with modelling and not use
textures at all - Geometry-based modelling.
- Levels are built in Blender -- this is easier for the process because
artists know Blender and then we get something we can work with without
any special software.
- Add manual collision frames
- Q/A
- Some pros don't recommend Blender because of the different workflow...
- Blender is perferctly capable and it's more of a generational thing.
rst2pdf
Susi.ai
- Open source engine for building conversation bots (kind of like Alexa)
- You can add skills and program stuff with JavaScript.
- Children don't learn politeness with smart speakers. Can we educate them
somehow with better chat bots?
- We haven't worked on it, but good idea.
- ATM the approach smart speakers use is too rigid. We need better natural
language understanding to do it right. In the mean time we could do it with
rules for kids...