uk: Комп'ютерні науки

description: There is plenty of content available to teach you the first steps in Rust… But what about after? What are good resources? how can you leverage generated documentation instead of just tutorials and books? How can you manage the trade-offs in API design? We’ll look at some content and examples, both old and new, worth consuming and talk about their key ideas. Then, we’ll spend some time talking about some ways to refine your APIs, measure the impact of optimizations, reduce mental overhead on your developers, and tools to help you dig into the heart of your code (flamegraphs, metrics, failure injection, debugging). Agenda: 5 min: A Brief Introduction (to help with context) 10-15 mins: Content Resources Rust Conference/Meetup Videos Great Articles RFCs (and how to figure them out) 5 mins: Flexible/Optional Parameters 5 mins: Linearizable Types & #[must_use] (Optional, or pick any/all) 5 mins: Flamegraphs (Flamer) OR Prometheus (rust-prometheus) OR Debugging (lldb/VS Code).

uk: вхід без авторизації

name: Beyond The First Steps: Key ideas and advices to improve your development posture


Jeremy Lainé

type: Person

cs: Informatika

de: Informatik

fi: tietojenkäsittelytiede

uk: Комп'ютерні науки

en: Computer Science

fr: Informatique

da: Datalogi

es: Ciencias de la Computación

nl: Informatica

cs: Technické vědy

de: Ingenieurwissenschaften

fi: tekniikka

uk: Інженерія

en: Engineering Sciences

fr: Ingénierie

da: Ingeniørvidenskab

es: Ingeniería

nl: Engineering

description: WebRTC’s most prominent implementations rely on the webrtc.org codebase. In this talk, Jeremy Lainé and Lennart Grahl will present two alternative WebRTC / ORTC implementations (aiortc in Python and RAWRTC in C), their use cases, the challenges in writing these implementations and the benefits for the WebRTC ecosystem. Both Chrome’s and Firefox’s (to some extent) WebRTC implementations are built on top of a common codebase hosted at webrtc.org, which serves as the de facto reference implementation of WebRTC. While it is popular, hacking on the codebase or embedding into a custom project is a complex endeavour. Alternative implementations of WebRTC (and ORTC) exist in the form of libraries which are simpler to understand and embed: RAWRTC (in C, currently data channels only), written by Lennart Grahl aiortc (in Python), written by Jeremy Lainé The talk will focus on the following aspects: Use cases and demos for these alternative WebRTC implementations, such as Internet of Things or server-side real time audio and video processing. The genesis and challenges involved in implementing these two libraries. How the WebRTC ecosystem benefits from having such alternative WebRTC implementations.

TIB AV-Portal

type: Service

type: WebContent

type: MediaObject

@language: en

cs: přihlášení není vyžadováno

de: keine Anmeldung erforderlich

uk: вхід без авторизації

en: no login required

nl: geen login vereist

name: Beyond the webrtc.org monoculture: Alternative WebRTC implementations in C and Python

FOSDEM VZW

type: Organization

cs: Video

de: Video

fi: Video

uk: Відео

en: Video

fr: Vidéo

da: Video

nl: Video

es: Video


uk: Комп'ютерні науки

description: The size of JavaScript frameworks and apps increases and won't stop increasing any time soon. Unfortunately, this causes large performance issues, both because the files are large and because the browser needs to spend considerable time parsing them. The JavaScript Binary AST is a new content developed by Mozilla, Bloomberg and Facebook to speed things up, both by making files smaller, and by making it much faster for your JavaScript VM to parse them – all if this without needing to minify or uglify your code, unless you want to. Let's see how it works!

uk: вхід без авторизації

name: BinAST: or Solving the Javascript startup bottleneck


Blockchain: The Ethical Considerations

uk: Комп'ютерні науки

description: What kind of world do we want to see blockchain make? Upsides like increased transparency, distributed control and the elimination of duplicative administrative work are appealing, but where are the potential downsides? We no longer live in a world where we can put off a conversation about the social impact of our work. Old industries used to call negative effects of their work "externalities" and it would sometimes take decades to discover the negative social effects and environmental destruction that had been wreaked by a new technological process. What kind of world do we want to see blockchain make? Upsides like increased transparency, distributed control and the elimination of duplicative administrative work are appealing, but where are the potential downsides? We no longer live in a world where we can put off a conversation about the social impact of our work. Old industries used to call negative effects of their work "externalities" and it would sometimes take decades to discover the negative social effects and environmental destruction that had been wreaked by a new technological process. Software is collaborative and fast which means early technical decisions have a huge impact on the way we grow. Is the heavy amount of computing power required for bitcoin widening the global wealth gap in a way that best resembles a fictional dystopia? Is the decentralization promised only available to certain kinds of players because of certification gate-keeping or network effects that rely on huge amounts of existing capital? Given the power and ubiquity of software, nothing is truly "external" to our work. Once we identify the ways that blockchain could potentially be used to build a nightmarish dystopia, what do we do? How can we ensure that the power and potential to improve lives is as evenly distributed as possible?

uk: вхід без авторизації


uk: Комп'ютерні науки

description: This talk is about a library written to help manage a fleet of bare metal servers, it leverages existing (mostly undocumented) APIs on Baseboard Management Controllers, and exposes a consistent API interface to, Inventorize bare metal hardware Manage BMC/BIOS configuration Reliably Power cycle/PXE boot bare metal. Update firmware on BMCs https://github.com/bmc-toolbox/bmclib This talk is about bmclib, a library written to perform asset lifecycle management, across a fleet of bare metal servers, it leverages existing (mostly undocumented) APIs on Baseboard Management Controllers, and exposes a consistent API interface to, Inventorize bare metal hardware Manage BMC/BIOS configuration Reliably Power cycle/PXE boot bare metal. Update firmware on BMCs https://github.com/bmc-toolbox/bmclib While all of the above seems obvious functions of bare metal server hardware that should just work, in reality they do not - when dealing with ~45k units of bare metal server hardware from various vendors, this is a lesson we learned and hence we developed bmclib and all of the various tools that is part of the bmc-toolbox. https://github.com/bmc-toolbox We intend to talk about the current state of BMCs, the current vendor solutions to have a single API (Redfish) and the various tools that are part of the bmc-toolbox which were possible thanks to bmclib. Another interesting project (which we intend to talk about) was to implement a service on top of bmclib to retrieve thumbnails from the BMC, of the screen of the server and run image classification on it to infer what state a bare metal is currently in, thanks to bmclib this was easy since we implemented a common method to grab "Screen previews" through the BMC. The bmc-toolbox is built and maintained in Booking.com.

uk: вхід без авторизації

name: bmclib: A Baseboard Management Controller library: One library to rule them all?


uk: Комп'ютерні науки

description: Meet COI (Chat over IMAP) - a powerful contender for WhatsApp, Facebook Messenger and other proprietary messengers. Based on email this open standards & open source iniative overcomes the network effect by providing a chat experience to over 3.8 billion active email users worldwide. By being backwards compatible with pure email, you do not need to convince all your friends, family and peers to join the new system - you can still engage with them and they can reach you. We cooperate with Delta Chat open source project to bundle efforts and ensure interoperability. Join this talk to learn about all things COI from Michael (Dovecot) and Robert (OX). The COI standard is the best way to overcome the current messaging silos and allow everyone to compete on the same terms. Read on to learn why COI matters. Problem Most popular messaging services are currently proprietary, closed and operated by single providers. This leads to several problems: Privacy: The provider knows all about your social network: when you communicate with whom, the frequency of your communication and the number, type and length of your messages – even with end to end encryption in place. Unfair competition: Service providers depend on the rules set by the messaging owner and access to the API for participation. If the messaging provider changes the rules or chooses to offer your particular service itself, you are out of luck. Lock in: You cannot simply change to another provider, because your friends and peers are also using that service provider. If you want to switch you would need to convince everyone to join your new service provider. And of course you would lose all your conversation history if you dare to move away. Don’t like the new app version? Bad luck, you cannot choose another app. Silo: the network is only controlled by a single party, you cannot start hosting your own WhatsApp, WeChat or FB Messenger Service. Some providers like Facebook even control several popular messaging apps, like WhatsApp and Facebook Messenger. Why Others do not Solve this Problem Maybe you are thinking “I thought this is why we have Signal, Telegram and the other privacy-centric apps?” – they might very well be better than some of the more popular networks, but in the end, they control the network and other providers are locked out. Basically, you are exchanging one silo with another. “What about XMPP and Matrix.org?” – glad you asked! We love XMPP and Matrix.org because they provide a great solution – this only solves the problem in theory though. With XMPP and Matrix.org-based services you would still need to convince everyone to join your new network. Easy in theory, very complex in practice! “What about RCS? I thought Google fixes this?” – well, are you sure about Google? Google used XMPP in the past but then locked it down. Google tried to push several chat solutions out with only little success. So, Google’s track record is far from perfect. Most notably, however, RCS requires a device to have a phone number (MSISDN). As communication is quickly migrating towards pure IP based solutions, MSISDNs become relics of the past. Most new innovative devices come without MSISDNs, e.g. voice enabled devices such as Alexa or Google Home, VR and AR devices such as HoloLens or Oculus Rift, portable game consoles, etc. With this dependency on MSISDNs, RCS’ future is uncertain. Meet COI COI enhances an already existing communication system: email. This already solves lots of problems: It’s free, open and permission-less. You can reach more than 3.8 billion active email users – this overcomes the network effect! With COI’s backward compatibility, you can reach everyone, even when they are only using traditional email. In this talk Michael and Robert will explain why COI really offers potential, the technical details about the new standards and what the next steps on this exciting journey are.

uk: вхід без авторизації

name: Breaking the Messaging Silos with COI: Chat Over IMAP


uk: Комп'ютерні науки

description: We will introduce the work of Localization Lab and localization as a key element of bridging the digital divide. We will also discuss the essential connections between emerging connectivity in vulnerable societies, adoption of open source tools, means to oppose or prevent censorship and localization into local languages. Only about 25% of the world's population speaks English natively or as a second language, however English still dominates over half of website content. This dominance also extends to Free and Open Source Software. While FOSS plays a large role in bridging the digital divide and bringing access to technology and the open Internet to new users around the globe, these tools and spaces are only as effective as they are linguistically accessible. Over the past 5 years, Localization Lab has built a network of over 6,000 volunteers worldwide who localize open source, digital security and circumvention tools for communities in need. In this session we will share experiences we have had working with communities around the globe who are localizing digital security tools out of necessity, as language preservation, and as forms of activism. We will also discuss the importance of planning for localization in the early design stages and how you can improve your tools by harnessing the knowledge and experience of localizers as end users. You should leave the session excited to promote language diversity in tech and on the Internet and with ideas for how you can improve FOSS localization efforts as a translator or a developer.

uk: вхід без авторизації

name: Breaking Down Language Barriers: Localizing for access, activism and preservation


Breaking PostgreSQL at Scale

uk: Комп'ютерні науки

description: Database systems don't just slow down in a clear, linear way. They reach a certain point and start failing, often very suddenly and surprisingly. This talk is about some of the most common scaling "discontinuities" in PostgreSQL, and how to plan for them and mitigate them. Why is SERIAL a bad primary key on high-insert-rate tables? What happens when autovacuum can't keep up? How do you know you don't have enough memory for your queries? What happens when a query that worked just fine before suddenly has a horrible plan? Drawn from real-life examples, we'll go over these and show how to fix them… and avoid them in the first place. Database systems don't just slow down in a clear, linear way. They reach a certain point and start failing, often very suddenly and surprisingly. This talk is about some of the most common scaling "discontinuities" in PostgreSQL, and how to plan for them and mitigate them. Why is SERIAL a bad primary key on high-insert-rate tables? What happens when autovacuum can't keep up? How do you know you don't have enough memory for your queries? What happens when a query that worked just fine before suddenly has a horrible plan? Drawn from real-life examples, we'll go over these and show how to fix them… and avoid them in the first place.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The Matrix team has had a lot of fun recently investigating radically more efficient transports thanks to a challenge to get usable client-server and server-server communication on links as bad as 100bps. In this talk we're give a tour of the network simulation environment we've built and the transports, encodings and routing algorithms we've used to slash our network resource utilisation. We'll also look at what this could mean for open source push notification implementations. Matrix is an open protocol and network for secure decentralised communication which uses HTTPS+JSON as its baseline transport and encoding. Whilst HTTP is convenient for developers, it's not the most resource-efficient solution for instant messaging. Matrix has always theoretically supported alternative transports, and we finally got an excuse to build one and push it to a ludicrous extreme - to try to operate usably over links as low as 100bps, as high as 4s latency, and up to 40% jitter. The approaches we've taken include: Building a Matrix simulator (FOSS) which lets you dynamically spin up hundreds of real containerised homeservers in a virtual physical network to investigate and model performance Switching from full-mesh routing to spanning-tree and thicket-based fan-out routing to avoid overloading links Switching from HTTPS+JSON to compressed CBOR over CoAP with DTLS+PSK (ChaCha20-Poly1305) Investigation of CoAP-over-QUIC and performance comparison with HTTP/3 Comparison with MQTT Investigation into using this to power open source decentralised push notifications service. We'll talk through our findings, show off the simulator (which is ridiculously fun), spin up a ton of servers and log into them, break the network, and see just how well everything holds up...

uk: вхід без авторизації

name: Breaking the 100 bits per second barrier with Matrix: An entirely new transport for Matrix for really terrible networks


uk: Комп'ютерні науки

description: With huge popularity and high resource efficiency JavaScript has gone well beyond the web and reached out for many other areas. The rapidly growing Internet of Things is no exception. This talk will discuss why we think that JavaScript is a good option to kick-start building your own Internet of Things. Solutions we have been used for building an end to end IoT system using JavaScript will be discussed. An introduction to JerryScript, an ultra-light JavaScript engine from Samsung, will be given to address the issue of resource restriction in embedded devices. It is followed by a look at JavaScript platforms based on JerryScript that provide direct JavaScript APIs to developers. The open gateway framework is node.js based and targets at decentralized ‘Internet of Things’ with privacy and security in mind. This talk is supported by a demo.

uk: вхід без авторизації

name: Bring JavaScript to the Internet of Things - From Embedded Device to Smart Gateway


Building a Community Metrics Strategy

uk: Комп'ютерні науки

description: You probably know that community metrics are important, but how do you come up with a plan and figure out what you want to measure? Most open source projects have a very diverse community infrastructure with some combination of code repositories, chat, mailing lists, wikis, forums, and more. Deciding where to focus and what to measure across these many technologies can be a challenge. What you measure can have a huge impact on behavior within the community, and you want to make sure that you are encouraging people to contribute in sane ways by measuring the activities that matter for your project. This presentation will cover how you decide what to measure and provide some examples.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: An exploration of using Go to build a hardware MIDI player, complete with floppy drive, on a minimal Linux distribution, gokrazy. Without our standard system utilities, in this talk we'll explore Go's syscall interface, as well as Linux's other interfaces, such as netlink and kobject. There will also be sweet, sweet chiptunes. In this talk, I'll be talking about the hardware MIDI project powered by Go I built in 2018, inspired by the mid-90s Roland MT-80S. This MIDI player was built on a Raspberry Pi using a USB floppy drive. It's using the minimalist and Go-focused Linux distribution gokrazy. As gokrazy doesn't provide the usual system utilities, your project is expected to handle everything, this is a good project to explore the system interfaces. The three main interfaces I'll be exploring are: syscall: The unix syscall interface, golang.org/x/sys/unix. These are calls into the kernel, and while large, the syscall interface is extremely powerful for low level system administrative tasks. netlink: A family of RPC interfaces with the Linux kernel. The kernel implements this interface where function calls and directly passing structures in memory would be more difficult. kobject: A stream interface, related to netlink, where the kernel can inform userspace (that is, us!) about objects changing in the kernel, such as hardware devices being added or removed. By pulling these interfaces together with Go, we can build a MIDI player that starts playing when a floppy disk is inserted. There will be chiptunes.

uk: вхід без авторизації

name: Go MIDI: Exploration of Linux's System Interfaces


uk: Комп'ютерні науки

description: This talk will present the challenges encountered when building highly available, multi-node SIP platforms and how they are solved using a modern OpenSIPS release. For those aiming to build a high capacity SIP service involving clusterized nodes running in a unified manner, this is a must-attend talk! During the presentation, we will enumerate the major types of issues that might pop up when architecting multiple SIP proxy instance setups and how OpenSIPS completely shatters them, making the management of such platforms a piece of cake!

uk: вхід без авторизації

name: Building a Multi-Node SIP Platform Using OpenSIPS: Cluster multiple OpenSIPS nodes to create a highly available, multi-node SIP platform


uk: Комп'ютерні науки

description: In this talk, I want to share my experience in building an LLVM-based tool. For the last three years, I work on a tool for mutation testing. Currently, it works on Linux, macOS, and FreeBSD and the source code is compatible with any LLVM version between 3.8 and 7.0. Anything that can run in parallel - runs in parallel. I will cover the following topics: How to support multiple LLVM versions How to support different operating systems (Linux, macOS, FreeBSD) How to build against precompiled LLVM and sources at the same time How to parallelize everything How to test things Different ways to get bitcode from any project

uk: вхід без авторизації

name: Building an LLVM-based tool: Lessons Learned


uk: Комп'ютерні науки

description: The way our users consume media and interact with applications is changing. That's partially down to hardware costs coming down but its also because its easier than ever to build these new forms of communication without it costing to earth. WebXR is a standard that combines both Virtual Reality and Augmented Reality into a Web API; by using all that the web has to offer we can build amazing experiences for our users that just require a phone, a web browser and maybe a cheap VR headset. Come check out how you can utilise the technologies deep within the browser on your mobile device to build amazing immersive experiences.

uk: вхід без авторизації

name: Building Immersive Experiences with the Web: The power of the Web with WebXR


Building modern desktop apps in Go

uk: Комп'ютерні науки

description: I'll show how to quickly build a simple desktop app with Go+HTML5, that doesn't look like it's from the 90s, neither it feels bloated like Electron. User interfaces have come a long way from punch cards and command line to post-WIMP era with touch screens and voice input. Modern UI is expected to be fast, responsive and smooth, with high-quality typefaces, rich images, animations, accessibility. HTML5 handles it all very well, and with GPU acceleration it has decent visual performance. Go may have stated itself as a language for writing services, but with Redux architecture GUI apps are not much different from request/response model. Having excellent performance, Go is a perfect fit for writing core app logic. The only thing that's missing is a link between HTML5 and Go, so that Go code could be called from the UI, and UI could be manipulated from Go. HTML5 is often considered heavy because it requires a browser engine. We don't want to ship browser runtime with each and every app. One solution is to reuse the native OS runtime. Another is to use some pre-installed browser in the standalone app mode. Both end up with small, fast, self-contained binaries that are easy to build and to distribute. I would like to briefly explain how each approach works, and how to choose one that fits better for your needs. I'll introduce Webview1 and Lorca2 libraries and show how to build a quick desktop app in Go with either of those. I'll cover bootstrapping the new app, communication between Go and UI layer, debugging UI, building and packaging the app. I'll do the demonstration on Linux, but will show how to prepare the same app for Windows/MacOS.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: One of the biggest limiting factors preventing people to participate in science & education, is the lack of access to research equipment. Scientific hardware is vital for researchers and educators to conduct the experiments that will provide them with data necessary to answer scientific questions. Luckily, technological advances are making the entry barrier and learning curve for hardware development low enough that more and more researchers are trying their hands at building the tools they need in their labs. In this talk we are going to see examples of Open Source Hardware in Academia, current repositories curating these types of projects, and see more technical details of one of these tools, the FlyPi, an open source “all in one” biology lab to perform state-of-the-art methods in neuroscience, built using off-the-shelf components and 3D printed parts, costing 10-20X less then proprietary counterparts. In order to do experiments to test ideas and hypothesis, curious people, DIY biologists, researchers and citizen scientists need access to reagents and equipment. Normally created using public funds, equipment is normally commercialized as proprietary tools by only a handful of providers, making them expensive and hard to obtain. Luckily, fast prototyping tools and powerful yet affordable integrated circuits are becoming easy to use at a hobbyist/consumer level. Leveraging these developments, independent initiatives are investing in creating open source hardware for science, enabling people and institutions around the globe to perform their own experiments. In this talk I will present one of these projects, the FlyPi: an open source all-in-one biology lab, which can be built for ~250 Euros and used for current state of the art methods in Neurosciences (eg Optogenetics, fluorescence microscopy and behavioural tracking), as well as diagnostics of human parasites (making it 10-20X cheaper then current available solutions). Based on the Raspberry Pi and its camera, it runs an user interface developed in Python3, and communicates via Serial to an Arduino, which takes care of time critical tasks (eg millisecond precise light stimulation). I will also present an overview of other hardware projects related to science and repositories dedicated to curating them (eg OpenBehaviour, Open Neuroscience, PLOS Open source toolkit channel).

uk: вхід без авторизації

name: Building open source scientific equipment: How researchers are owning their own instruments


uk: Комп'ютерні науки

description: The story of building our enterprise Ethereum client documentation, successes and failures, things we tried, decisions we had to make...

uk: вхід без авторизації

name: Pantheon Doc team expedition: Our Journey Drawing The Maps Of Pantheon Land.


uk: Комп'ютерні науки

description: Numerous open-source projects develop software-defined data planes targeting network use cases such as Discrete Appliances, Cloud Infrastructure, Virtual Network Functions and now also Cloud-Native deployments. These may be based on foundation toolkits such DPDK, eBPF/XDP, Snabb and so on, and may implement a diverse range of network functions, applied in many combinations and on different compute platforms and devices. The need for a consistent and repeatable, use-case driven performance validation and benchmarking approach has never been greater. Enabling both the development community and the end-user to understand, measure and verify expected performance. Achieving great performance with Network Software, should not be accidental, it should be data-driven! This talk explains how the FD.io CSIT project aims to meet this need by developing and providing Continuous Performance Lab platform for benchmarking, validation, performance trending and regression detection. Founded on multi-vendor collaboration, CSIT leverages deep multi-platform understanding and telemetry tools to analyze and correlate benchmarking results leading to consistent, repeatable and reliable performance validation the FD.io user base can rely on. This talk will cover A brief overview of FD.io CSIT Recent FD.io VPP release performance data is presented and discussed in this context. Recent CSIT Community Innovations Performance Trending graphs, MLRSearch and PMU Tooling are presented. Debugging a real system setup issue with FD.io CSIT is also covered

uk: вхід без авторизації

name: Building production-grade networking software with FD.io CSIT: FastData.io - CSIT-CPL Project


uk: Комп'ютерні науки

description: There is a lot of existing code and libraries written in C++. The cpp crates allow to embed easily C++ within your rust code so you can call interoperate with the existing C++ code. In this talk, we will see how to use this create and how it works behind the scenes. As an example, we will look at the qmetaobject which expose Qt api to Rust.

uk: вхід без авторизації

name: Call C++ from Rust with the cpp crate: Interoperate with C++ libraries, using Qt as an example


uk: Комп'ютерні науки

description: The FOSS community suffers deeply from a fundamental paradox: every day, there are more lines of freely licensed code than ever in history, but, every day, it also becomes slightly more difficult to operate productively using only Open Source and Free Software. In one sense, we live in the paramount of success of FOSS: developers can easily find jobs writing mostly freely licensed software. Companies, charities, trade associations, and individual actors collaborate together on the same code bases in (relative) harmony. The entire Internet would cease to function without FOSS. Yet, the "last mile" of the most critical software that we rely on in our daily lives is usually proprietary. We, the presenters of this talk, live as the canaries in the coalmine of proprietary software. We have spent our lives seeking to actively avoid proprietary software but both personally and professionally, we find ourselves making compromises. In this talk, we will report the results of our diligent efforts to use only FOSS in our daily work. Ideally, it would be possible to live a software freedom lifestyle in the way a vegetarian lives a vegetarian lifestyle: minor inconveniences at some restaurants and stores, but generally most industrialized societies provide opportunity and resources to support that moral choice. Not so with proprietary software: often, the compromise is between "spend hours or days for a task that would take mere minutes with proprietary software". In other cases, important opportunities are simply not offered to those who chose software freedom. The advent of network services, which mix server-side secret software, and proprietary Javascript or "Apps", are central to the decline in the ability to live a productive, convenient life in software freedom. However, few in our community focus on the implications of this and related problems, and few now even try to resist. We have tried to resist, and while we have succeeded occasionally, we have failed overall to live life in software freedom. In this talk, we will report on where the resistance fails the most and why. Finally, we will make suggestions of where volunteer developers can most strategically focus their efforts to build a world where all can live in software freedom.

uk: вхід без авторизації

name: Can Anyone Live in Full Software Freedom Today?: Confessions of Activists Who Try But Fail to Avoid Proprietary Software


Cappulada: Smooth Ada Bindings for C++

uk: Комп'ютерні науки

description: Writing Ada bindings for C and especially for C++ is a tedious but not necessarily sophisticated task. There are several approaches to both C and C++ but many of them lack desired language features, generate non-compilable code or are project specific. With Cappulada (a coinage of coupling, CPP and Ada made pronounceable) we try a more general approach that aims to support complex language features such as templates or inheritance while providing a semantically appropriate mapping of object structures and types. The talk will also cover which features can be mapped and what is not feasible or possible.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The talk will show how simple it is to use Rook for Ceph storage on Kubernetes. In addition to showing how simple it is to use the storage, the ease of adding and removing nodes will also be shown in a demo. Target audience are people interested in Ceph and Kubernetes. Topics: What is Rook? Architecture of Rook Kubernetes native integration What can Rook help you do (better) with Ceph? Demo of Rook's capabilities Creating a Ceph cluster Showing ease of consuming storage using an example application Adding and removing a new (Ceph) cluster node Why Rook?

uk: вхід без авторизації

name: Ceph storage with Rook: Running Ceph on Kubernetes


uk: Комп'ютерні науки

description: Monitoring involves dynamically extracting, disseminating, interpreting and presenting system information to the user. The advent of distributed storage environments brings in new challenges to the monitoring world. Going through logs of a large volume of data over geographically distributed nodes simultaneously to detect the point of failure is becoming infeasible and time-consuming. There is a dire need to replace the standard monitoring techniques and practices used to monitor centralized storage with a centralized monitoring system, which obtains exact information required to track the health, performance, load and capacity of system objects or software processes in the distributed systems and present it to the users in real time and in useful formats. In this talk, Rishubh and Gowtham will discuss the challenges faced by sys-admins in monitoring distributed systems and will discuss how tendrl an open source monitoring tool aids them in monitoring a distributed storage system with the help of a scale-out open source software defined storage (SDS) - Gluster. You will get an in-depth explanation on how tendrl monitors each system in the distributed environment and get a glimpse of its modern web interface. They will also show the audience how metric virtualization provided by grafana makes monitoring rudimentary and fast. Their talk will conclude with a demo on how tendrl helps vendors in capacity planning, detecting and alerting the failure conditions, and keeping track of performance and health of the system. Monitoring involves dynamically extracting, disseminating, interpreting and presenting system information to the user. The advent of distributed storage brought in a lot of new challenges in monitoring the storage systems. It has become impractical for the sys-admins to go through logs of each storage systems distributed across geographically dispersed nodes to detect points of failure. It’s also infeasible to keep a track of health, performance, and capacity of each system by tracking logs obtained via fetching information over terminal using CLI commands. In order to monitor the environment efficiently, the monitoring system should be able to get information about each component on every node in the distributed storage environment. Gathering so much data can flood it with a lot of information all of which is not required by the user. The monitoring system should be able to filter the information and display only relevant information to the user when it’s required. Monitoring should: Help users find out why and when did their system fail? Help users to predict future problems. Help users make decisions based on real data and trends instead of hunches. Avoid outage costs. Observe and check the status of processes and resources over a period of time and keep them under systematic review. Tendrl facilitates: Monitoring distributed storage system with ease. Operational consistency and efficiency (streamlined provisioning, enhanced discovery, and management via the integrated service dashboard). Getting important information about storage utilization to help troubleshoot and diagnose issues (noisy neighbor, flaky disks, network bottlenecks) Proactively monitor and manage health, performance, and capacity utilization and gain operational intelligence at scale. Receive alerts for operational issues requiring intervention. Alert on operational issues: (OSD state, Cluster state, Failed Drive etc) For better understanding, in the presentation we also include interactive demos that show the challenges faced by users and how they can overcome these challenges.

uk: вхід без авторизації

name: Challenges in Monitoring Distributed Storage Environment and how Tendrl addresses them


uk: Комп'ютерні науки

description: Building end-to-end applications is not easy, or at the very least, it comes with its own unique set of challenges. There are the often talked about challenges, like making sure you use battle tested encryption primitives and use them correctly, and striking the balance between security and usability. Unfortunately, there are many more challenges that are not often talked about, like the significantly decreased development speed due to all the code being implemented on the client side, the increased difficulty and complexity in upgrading the protocol and many others. In this talk Tom will use EteSync as an example for a secure application to show some of the more interesting challenges he faced while creating it, and new challenges that he encountered as the user-base grew and the protocol evolved. Tom will also cover some of the issues that affect EteSync today, how they will be addressed in the future, where EteSync is going, and what's currently holding it back. By the end of this talk, attendees will be made familiar with some of the unique challenges that come with building end-to-end encrypted applications and some alternatives for solving them. Audience: People interested in the inner workings of EteSync Developers interested in, or actively designing secure applications and protocols People interested in the future of the EteSync

uk: вхід без авторизації

name: Challenges With Building End-to-End Encrypted Applications - Learnings From Etesync


uk: Комп'ютерні науки

description: Blink an ESP8266 board via an arduino-cli CI/CD pipeline hosted on Gitlab.com, with Kubernetes, and a Raspberry-pi board. WARNING: This replaces the "MCU Immutable Booting" talk from Michael Schloh von Bennewitz, which was canceled since the speaker could not attend FOSDEM due to a lack of financial sponsorship. It was about protecting microcontroller bootloaders with immutable boot. In this live demo, I will show how to blink an ESP8266 board via a CI/CD pipeline hosted on Gitlab.com. Gitlab-ci is connected to a stripped down Kubernetes cluster (K3S fork) hosted on a local raspberry-pi board, to which we have attached an ESP8266 board. I will explain how to use the new Arduino CLI instead of the Arduino IDE.

uk: вхід без авторизації

name: CI/CD for embedded development with an ESP8266, Arduino-cli, Gitlab-ci, Raspberry Pi, and Kubernetes: Blink a LED with gitlab-ci and arduino-cli


uk: Комп'ютерні науки

description: Validating experimental results from articles has finally become a norm at many HPC and systems conferences. Nowadays, more than half of accepted papers pass artifact evaluation and share related code and data. Unfortunately, lack of a common experimental framework, common research methodology and common formats places an increasing burden on evaluators to validate a growing number of ad-hoc artifacts. Furthermore, having too many ad-hoc artifacts and Docker snapshots is almost as bad as not having any (!), since they cannot be easily reused, customized and built upon. While overviewing more than 100 papers during artifact evaluation at HPC conferences, we noticed that many of them use similar experimental setups, benchmarks, models, data sets, environments and platforms. This motivated us to develop Collective Knowledge (CK), an open workflow framework with a unified Python API to automate common researchers’ tasks such as detecting software and hardware dependencies, installing missing packages, downloading data sets and models, compiling and running programs, performing autotuning and co-design, crowdsourcing time-consuming experiments across computing resources provided by volunteers similar to SETI@home, reproducing results, automatically generating interactive articles, and so on: http://cKnowledge.org . In this talk I will introduce CK concepts and present several real world use cases from the Raspberry Pi foundation, ACM, General Motors, Amazon and Arm on collaborative benchmarking, autotuning and co-design of efficient software/hardware stacks for emerging workloads including deep learning. I will also present our latest initiative to create an open repository of reusable research components and workflows at HPC conferences. We plan to use it to automate the Student Cluster Competition Reproducibility Challenge at the Supercomputing conference.

uk: вхід без авторизації

name: CK: an open-source framework to automate, reproduce, crowdsource and reuse experiments at HPC conferences


uk: Комп'ютерні науки

description: Clang plugins in LibreOffice - global analyses across a large codebase In the old days, we expended considerable effort to make our global analyses more efficient, especially when dealing with large codebases like LibreOffice. However, with the advent of modern hardware and software tools this has become largely necessary. This talk will focus on some pragmatic design choices that lead to being able to run global analysis passes across the LibreOffice codebase, without breaking the bank on hardware or waiting days for results. Also, I discuss gradual approaches to developing such plugins that do require language-lawyer level knowledge of the C++ AST.

uk: вхід без авторизації


FOSDEM 2019 - Closing

uk: Комп'ютерні науки

description: Some closing words. Don't miss it!

uk: вхід без авторизації


Cloud Native Security 101

uk: Комп'ютерні науки

description: Cloud native environments such as Kubernetes or AWS Lambda come with new challenges around security and in this talk we will review the environments and their properties, highlight common features and look at attack vectors and how to potentially reduce them. Cloud native environments such as Kubernetes or AWS Lambda come with new challenges around security: short-lived entities (containers, functions), untrusted environments/public clouds, high velocity, etc.. In this talk we will review the environments and their properties, highlight common features and table stakes (e.g., mutual TLS), and look at attack vectors and how to potentially reduce them. Focus areas are: managing confidential data in untrusted environments, container (image) and runtime security, Kubernetes control plane, as well as Function-as-a-Service execution isolation and considerations.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: A community is a big company with a different purpose: a passion. That passion is the key but is not enough to manage a community and let to grow and improve his effect every day. Coaching is a way to improve your action as community leader or volunteer without change your workflow. Do you know that there are many little tips and approaches that can improve your community health and quality for the participation? What are the best practices, issues and how to manage them to help your community to grow?

uk: вхід без авторизації

name: Coaching for Open Source Communities 2.0


uk: Комп'ютерні науки

description: This talk will discuss code anomalies — code fragments that are written in some way that is not typical for the programming language community. Such code fragments are useful for language creators as performance tests, or they could provide insights on how to improve the language. With Kotlin as the target language, we discuss how the task of detecting code anomalies for a very large codebase could be solved using well-known anomaly detection techniques. We outline and discuss approaches to obtain code vector representation and to perform anomaly detection on such vectorized data. The talk will highlight examples of such anomalies found in open source GitHub repositories.

uk: вхід без авторизації

name: Code anomalies in Kotlin programs: Automatic detection of anomalous code fragments written in Kotlin


uk: Комп'ютерні науки

description: Immutable infrastructure is a way to success, but what about the lifecycle of individual resources. This talk is about the evolution of resources, code structure, Terraform coding tricks, composition, and refactoring. Your infrastructure almost always starts simply: few resources + few developers. As time goes it grows in all possible directions. You found your ways around grouping resources into Terraform modules, so what can possibly go wrong? (famous last words) Over the time you feel that infrastructure is your new pet, but why? You are worried about the configuration drift, you are afraid of touching it, you are delaying things... By the end of my talk participants will become more aware of principles related to management of Terraform resources, Terraform modules best-practices and some CI/CD principles applicable to infrastructure management and deployments.

uk: вхід без авторизації

name: Codifying infrastructure with Terraform for the future


Cogito: Privacy starts with Identity

uk: Комп'ютерні науки

description: We present Cogito, a mobile app that helps you remain in control of your identity. It supports a friendly way to identify yourself to websites, perform blockchain transactions and encryption. But most importantly, it guarantees that your identity is really owned by you. We believe this to be a good starting point for true privacy online. Identity may seem like a boring topic. Haven't we solved the problem of how to identify ourselves to websites a hundred different ways? Isn't this a solved problem? We argue that in order to guarantee true privacy it is essential to introduce new ways to identify ourselves. We present Cogito, a mobile app that helps you remain in control of your identity. Use it to create multiple facets of your identity to separate for instance your working life from your personal life. Traditionally, identities are bestowed on you by others. Your passport is issued to you by your government. Your bank account is given to you by a bank. Website credentials are given to you by the owner of the website. These identities are ultimately not under your control. You get them on loan from the institutes that issue them, and they are free to retract them as they deem necessary. This is no basis for true control over your data. This is no basis for privacy. With Cogito we've taken a cue from blockchains and PGP and use cryptographic identities. This involves generating a public-private key pair in which the public part is used as your identity (similar to a passport number or bank account number). The private key you keep to yourself because you can use it to prove that you are the owner of the identity. These self-sovereign identities are created and maintained by their owners. They can not be taken away from them and are therefore completely under their control. We believe that this is a prerequisite for true privacy. With Cogito we aim to make these self-sovereign identities very easy to use. Using a Cogito identity on a website is therefore as simple as scanning a QR code. Signing a blockchain transaction or decrypting data is as simple as pressing the 'accept' button. In our FOSDEM session, we will demonstrate not only how Cogito works, but also what developers can do with Cogito. We will discuss the architecture, show the demo app and the tutorial. We invite those who are interested to help develop Cogito further.

uk: вхід без авторизації


Collabora Office as an app on iOS

uk: Комп'ютерні науки

description: After several years of only occasional progress but mostly stagnation, resources have now been available for work on a LibreOffice-based app for iOS. This talk will describe the history and technical aspects of the effort. Collabora Office for iOS is based on the C++ server-side code for Collabora Online (based on LibreOffice Online), and JavaScript code for the same (browser-side). Plus the core of Collabora Office (i.e. LibreOffice). Plus, finally, a rather small amount of glue code in Objective-C++. In the app all this code runs on the device, there is no server involved. Work on enabling compiling the LibreOffice core for iOS (cross-compiling, on a Mac, as all iOS development is done) was started originally back in 2011, by me. Initially this was mostly done in spare time, for fun. There was initially no clear product plan and no technical exact plans how, once the core code works on iOS, it can and would be used in an actual app. No work on any user interface. But just making the functionality needed to even load and save documents on iOS, for instance, was challenging enough, given the somewhat obscure and complex internal plumbing of LibreOffice with its long history. Some year later, for Collabora Online, the concept of “tiled rendering” was introduced by Michael Meeks. In this approach a client requests the core to render a document as “tiles”, rectangular pixmaps. The user interface in Online, in JavaScript, requests and displays these tiles and provides the user interface that send user input and edit request as necessary to the core. Also in the same timeframe, the CloudOn company needed an iOS app with the ability to load and edit office documents natively on an iOS device. We started working on making the LibreOffice core useful for that, based on my earlier work, and using tiled rendering for this, too. One major challenge here turned out to be the massive size of the LibreOffice core code, which was problematic as Apple at that time restricted the size of the executable code in an iOS app quite severely. Anyway, various workarounds were found, and this was progressing nicely, but then CloudOn was acquired and lost interest. No public iOS app code was released from that. As a test so see that the code works at least to some extent, I had written a minimal test app (without any actual editing UI), “TIledLibreOffice”, in the LibreOffice core code. Then no iOS work happened until a few years later when Jan Iversen got interested. He was at the time working for TDF. He worked on an iOS app, LibreOfficeLight, which is still present in the LibreOffice core code. He also worked on keeping the iOS functionality working in LibreOffice. Jon Nermut also helped. The LibreOfficeLight app as such worked but did not contain any actual editing functionality. Then half a year or so later, Michael started toying with the idea of re-using the by now quite substantial JavaScript UI we have in Online in an iOS app. And then a customer turned up that took part in funding it, Adfinis SyGroup. I started working on that, and it turned out to be surprisingly straightforward to get it working. Sure, there were lots of technical issues involved. Some of the iOS code in LibreOffice had bit-rotted over the years. The Online server code normally runs as multiple separate processes on a Linux machine. That had to be combined into code running in just one process (the iOS app) which was challenging. The JavaScript code in the iOS app is the same as that in Online. There are very few places where the JavaScript needs to know that it is running in an iOS app and not in a browser. All the code is Open Source and publicly available, in the LibreOffice “core” and “online” git repositories.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Software repositories such as Git have become a relevant source of information for software engineer researchers. For instance, the detection of commits that fulfill a given criterion (e.g., bugfixing commits) is one of the most frequent tasks done to understand the software evolution. However, to our knowledge, there is not open-source tools that, given a Git repository, returns all the instances of a given source code change pattern. In this talk, we present Coming, a tool that takes an input a Git repository and mines instances of source code change patterns on each commit. For that, Coming computes fine-grained changes between two consecutive revisions, analyzes those changes to detect if they correspond to an instance of a change pattern (specified by the user using XML). Finally, after analyzing all the commits, Coming presents the frequency of code changes and the instances found on each commit.

uk: вхід без авторизації

name: Coming: a Tool for Mining Change Pattern Instances from Git Commits


uk: Комп'ютерні науки

description: We all recognize that metrics are key to measuring community health. And that quantitative data is a key to these metrics. But, as Brian Proffitt will describe in this talk, all the data in the world won't help you find answers if you don't know what the questions are. We all recognize that metrics are key to measuring community health. And that quantitative data is a key to these metrics. But, as Brian Proffitt will describe in this talk, all the data in the world won't help you find answers if you don't know what the questions are. Brian will walk attendees through what happens when pretty data can distract from the real purpose of metrics, and how his team course-corrected to seek out the questions before the answers.

uk: вхід без авторизації

name: Community Data Are Not Community Metrics: One Team's Journey Down the Wrong Path


uk: Комп'ютерні науки

description: Companies and communities have different goals, different structures and different challenges. This talk will discuss the differences between companies and communities that can lead to friction, confusion and missed opportunities. With one speaker from the company side and one from the community side, we plan to explore this occasionally prickly relationship from both directions. Companies and communities have different goals, different structures and different challenges. That said, many of the largest and most successful free and open source software projects rely on a combination of both -- to create new code, address bugs and plan for the future of their codebase. A little more understanding could go a long way towards a more harmonious and efficient working relationship. With one speaker from the company side and one from the community side, we plan to explore this occasionally prickly relationship from both directions. This talk will discuss the differences between companies and communities that can lead to friction, confusion and missed opportunities. In order to build a sustainable future for free and open source software, we're going to need to get more comfortable with each other. Attendees will walk away with tactics for fostering better understanding, suggestions for initiatives that can be put into practice in their own projects and some inspiration for what these two entities could accomplish if they were committed to working together on the future of FOSS.

uk: вхід без авторизації

name: Companies and Communities: Why Can't We All Just Get Along?


uk: Комп'ютерні науки

description: The Linux kernel codebase has co-evolved with GCC and binutils over its lifetime, but LLVM is now capable of producing production ready Linux kernels. Come learn what some of the challenges were in porting the codebase from GCC/binutils to Clang/LLVM, and what the latest efforts are in both codebases to work towards this goal. The Linux kernel codebase has co-evolved with GCC and binutils over its lifetime, but LLVM is now capable of producing production ready Linux kernels. Come learn what some of the challenges were in porting the codebase from GCC/binutils to Clang/LLVM, and what the latest efforts are in both codebases to work towards this goal. We plan to cover some of the previous challenges, current challenges, issue tracker, various continuous integration setups, topics of future interest, usage in production, and how folks interested in helping out can participate. This talk will be from a kernel developer's (slash recent LLVM contributor's) perspective.

uk: вхід без авторизації

name: Compiling the Linux kernel with LLVM tools


uk: Комп'ютерні науки

description: The 'complex camera' user-space library is a fairly new and hot topic in the Linux kernel video community. The issue is debated and targets a real technical debt of Linux systems. Device producers have been tackling this with in-house solutions that proved not to scale once brought in the open space, so a generic solution is now required to address the issue. The Linux kernel video input subsystem and its APIs changed greatly in the last years to keep up with the increasing complexity and processing power embedded in modern SoCs. Namely, the biggest game-changing feature introduced already 5 years ago is the media controller subsystem and its pad oriented APIs, that allows composing pipelines of processing blocks to model the acquisition and re-processing of video and images. While most of the media subsystem drivers in mainline Linux have been ported to fully support media-controller, the real missing component is now user space support to automate setting up and controlling the image processing pipelines. The Video4Linux community is now tackling the issue by implementing support for "complex camera" systems by providing a user space library that aims to support the most recent use cases represented by mobile consumer devices and high end laptops. This talks provides an overview of modern media-controller capable video device drivers, their userspace APIs and the challenges the currently in-development "libcamera" library has to face. It also aims to provide to both driver and application developers an overview of the most modern implementation of the Linux video input stack architecture, that will likely be found in most system in next years.

uk: вхід без авторизації

name: Complex cameras are (were?) complex: How to make complex cameras easier: an update from the Libcamera project


uk: Комп'ютерні науки

description: How do you bring order to this chaotic web frontend climate fueled by the ever-changing technologies driving it? We - a UX Designer and a Software Engineer - will introduce you to the concept of WebComponents, and how we can achieve order through evolving from Bootstrap to CSS grid based design system. Target Audience: designers and engineers. our talk introduces the importance of collaboration and bringing designers and engineers together. The Red Hat portfolio includes about 50 different products. There was a need for a design system as different patterns were build over and over again which led to inconsistency. The UXD goal is to bring consistent user experience to the entire Red Hat portfolio. This talk explains why it is important to have a unified look and feel. Patternfly is an open-source design system that helps our designers and engineers build user friendly products. As the frontend technologies are constantly evolving, this design system has to evolve with them. We would like to talk about the history and evolution of PatternFly - how it was created and how it tries to handle the continuous evolution of the frontend landscape. Perspectives from both design and engineering will be included.

uk: вхід без авторизації

name: Component-based Design System and Development


uk: Комп'ютерні науки

description: DepC is an open source tool written in Python 3.5+ : https://github.com/ovh/depc We use it to compute the Quality Of Service (QoS) of our IT infrastructure and customers (14k servers and 1.4M customers in the WebHosting department). To be able to do this we use some open source technologies : - TimeSeries databases and Pandas / Numpy for the QoS computing, - Neo4j to store the graph of our dependencies (a customer depends on several servers and some services, like databases, themselves depends on servers. If a server fails, several customers QOS are impacted), - Kafka consumer to update in real time the graph in Neo4j, - Apache Airflow to schedule the jobs used to compute the QOS of the whole infrastructure (the graph in Neo4j contains ~10M nodes). The goal of this conference is to show you how do we assemble these technologies to construct DepC in OVH.

uk: вхід без авторизації

name: Compute the QOS of your infrastructure with DEPC


uk: Комп'ютерні науки

description: Predictive maintenance and condition monitoring for remote heavy machinery are compelling endeavors to reduce maintenance cost and increase availability. Beneficial factors for such endeavors include the degree of interconnectedness, availability of low cost sensors, and advances in predictive analytics. This work presents a condition monitoring platform built entirely from open-source software. A real world industry example for an escalator use case from a large railroad company underlines the advantages of this approach. In particular, it is shown that even in situations with initially scarce amounts of data accurate predictions can be made using a hybrid analytics approach. Therefore, it combines neural network training and random forest classifier training using two different data sources. This caters for fast time-to-market and highly accurate predictions. Deutsche Bahn operates a large number of machines of both, rolling stock and landside infrastructure. Machines finally break and require maintenance, repair, or replacement. The traditional approach of periodic maintenance cycles is increasingly replaced by demand-oriented maintenance, as it turns out to decrease maintenance cost and simultaneously improves on the availability. Demand-oriented maintenance clearly requires a notification system, which continuously monitors a machine's condition, detects failures or deviations from the normal machine state, and informs maintenance personnel. While a vast amount of sensors that can do the monitoring job exist, our focus was directed on a universal, non-intrusive, commodity sensor technology. Consequently, we focus on acoustic emissions and sense those using microphones. These emissions are analyzed and classified using state of the art machine learning technology, neural networks foremost. The advantages of a machine learning approach include the generalization of classification models, such that not every single machine requires individual fitting. Transitioning from a proof-of-concept phase, saving potential and our customers request a short time to market for which convolutional neural networks (CNNs) are not particularly well suited because the availability of labelled data is still poor. The need to develop methods to cope with such situations arises. Hence, we have picked up the notion of transfer learning and show the superiority of this approach in regards of accuracy and required data amounts opposed to learning CNNs from scratch. In order to do so, for both data science and production systems, we utilize a comprehensive stack of open source software technologies that support us in data ingestion, edge computing, data preprocessing, neural network training, software deployment, and visualization tasks.

uk: вхід без авторизації

name: Condition Monitoring & Transfer Learning: Good predictions in situations with (initially) almost no data


Configurations: Do you prove yours ?

uk: Комп'ютерні науки

description: How can we be sure of the continuous configuration management proper operation? How to expose factual topic-related reports to dev, sec, managers, customers...? We believe that, in order to deliver the full business and collaboration value of continuous configuration management, the solution needs to go further than simply applying policies - it must ensure configuration reliability; prove historized application and status; share it to other teams; notify of any drift with a relevant context. This talk will present why and how we should be concerned about transmitting factual measures on infrastructure management to all parties involved. We will also guide you through the journey to include a full-fledged reporting feature in a configuration management solution.

uk: вхід без авторизації


Connecting .NET Core to D-Bus

uk: Комп'ютерні науки

description: Accessing D-Bus services from .NET. D-Bus provides a bus for accessing system and desktop services. In this talk we'll use Tmds.DBus to access those services from .NET Core. Tmds.DBus is a fork of dbus-sharp, updated with asynchronous programming patterns introduced in .NET 4.5. The library comes with a cli tool that generates a strongly-typed representation of a D-Bus service. We'll build a small example application that consumes a D-Bus service.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: During last year, we worked hard to make cryptographic tokens usage consistent across the operating system and to improve its usability, mostly using the means of PKCS#11 URIs. This was done for both administrators and end users, in the end resulting in easier configuration of HSMs and authentication using smart cards and cryptographic tokens. I will outline what we worked on to improve the user experience and support for smart cards, cryptographic tokens and HSMs across the operating system. I will share experience with implementing or improving this support across various applications, libraries and tools, experience with testing them and making sure they work together in Linux distribution. I will focus on the current state in Fedora and RHEL 8 and propose some future steps that we have yet to take.

uk: вхід без авторизації

name: Consistent PKCS#11 in Operating Systems: Improving user experience and security in RHEL and Fedora


uk: Комп'ютерні науки

description: The talk is devoted to console oriented services, like: wttr.in, cheat.sh, rate.sx. Which popular console oriented services exist currently and how can they be used in everyday life; what advantages and disadvantages do they have; how services like that could be created. I've created several console oriented services, that you are probaly aware of, if you are a vivid console user. If you've never heard about them, you can try to do the following in your terminal, just to get the first impression: ``` $ curl wttr.in/Karlsruhe $ curl rate.sx/btc $ curl cheat.sh/lua/:learn ``` As we will see, in many cases services creaated using this approach has many advantages comparing to browser-orineted services: * speed; * portability; * small footprint and ubiquituous of the client; * good possibility of integration; * consciosness; * anonimity; * etc. In the talk I will demostrate several popular console oriented services, that I've created, and tell: * how such services could be created, * what tasks could be and should be solved by means of them; * what advantages (and disatvantages) do they have; * what changes in curl we are currently doing, to make such services even easier to use, and even more universal and pervasive. The talk will be accompanied with many technical examples and useful practical tips and tricks such as: how to make weather forecast using nothing else but curl; how to bring any text from you console one your smartphone using nothing else but curl; how to find an answer to (almost) any programming question not leaving your editor; and many other like that. I would be happy to share my ideas with you, discuss them and get some feedback from you during this discussion.

uk: вхід без авторизації

name: Console oriented services: wttr.in, cheat.sh, rate.sx


uk: Комп'ютерні науки

description: How can you become self-employed as a developer while building free software? In 2015, in a belief that FLOSS makes more economic and social sense, several of us, with a range of skillsets, worked to see where the boundaries are. Is it possible to scale beyond freelancing or contracting? Can you be a small, local, multifacted business and be paid to release code? What are the painful lessons...? And what really is a consortium anyway? Based on learning from the Northern Ireland based Avata Industries members, this talk covers the reusable outcomes of building a small business consortium - one that is focused on using and creating open technology. In particular, it will focus on sustainability, building relationships, presenting an engaging free software business case, and the feasibility study commissioned to examine these. When a call went out for small companies who could work on open source in public sector contracts, we saw little coordinated response in our local free software community. It became clear that having a FLOSS-focused job - putting food on the table - is not just about demand from FLOSS-enthusiastic customers. We need to have a coordinated means of supplying their needs. How can we quit our proprietary jobs, work on projects that inspire us, and increase the IP we can publicly release? Can we work on FLOSS projects as a main income, outside of specific big players? We set out to answer this as systematically, and reproducibly, as possible - not solely freelancing or contracting, tied to pre-set IP requirements, but looking at the IP-based business landscape and thinking how we could structure differently to compete. Crucially, we did not start out with an exclusive project to fund or progress, but took free and open source software as our theme, and worked from there. Nearly three years later, this talk will tell the tale of that journey, finding a space to experiment with FLOSS business models, and how that can be replicated. This has taught us a lot about local business, collaboration, code and community; how they interlink, providing an opportunity to have a sustainability in the largely proprietary world of small business. Amazingly to us, focusing on FLOSS in a highly competitive development market, made us even more creative in business than in code, and forced us to innovate faster in our business architecture than our software architecture. If only we had known when we started what we know now... and so, in the spirit of open source, we are keen to discuss this with the wider community. Key outcomes for becoming self-employed in FLOSS will be briefly explained: open source is only one critical piece of an open technology jigsaw variety of skillsets is essential, and open source facilitates this using FLOSS philosophy in building up business relationships the role of research & development how we reach agreement on the balance between private, open and free with clients where the limitations are in all of this This session will touch on working with non-technical users, in companies big and small, to meet their needs and keep ourselves going. It will show how we are aiming to support others in taking the same steps - in reusable template documents, R&D oucomes, lessons learned, and building a roadmap ahead. From a case study perspective, this will reference OurRagingPlanet, a schools-focused tool teaching natural disaster impact; Lintol, an open data validation platform; and The Data Times, a data discovery platform for community journalist - all works in progress. Finally, realistic alterations to the funding landscape will be discussed, to help existing projects become more sustainable, to streamline FLOSS support from local industry, and to improve the software ecosystem for all involved.

uk: вхід без авторизації

name: Consorting with Industry: Sustainability, FLOSS and building a local small business consortium


uk: Комп'ютерні науки

description: This talk is an experience report on my safe rust wrapper for a c++ RDMA library^1. RDMA enables the network hardware to directly read and write to memory, without the cpu's involvement. My rust implementation ensures that memory regions are exclusively either owned by client code, or enqueued for use by the underlying RDMA stack. This makes sure that data cannot be changed by hardware while owned by safe rust code, and that user logic cannot mutate data while it is being read by the card. In this talk, I'll go over the design of the library and how it embraces rust's ownership transfer semantics. In rust's safe/unsafe model, the burden of upholding safety guarantees at the unsafe boundary is entirely up to the programmer who's writing the wrappers. These guarantees are not formally specified, which makes it harder to reason about the safety of the wrapped unsafe logic; this issue is compounded by the fact that undefined behaviour can seep into safe rust from unsafe code that doesn't match rust's expected semantics. I'll discuss how this improves ergonomics in safe code, but requires careful engineering of unsafe code because it doesn't allow the programmer to reason locally. Expected prior knowledge / intended audience: some working experience with Rust's semantics and guarantees of safe code

uk: вхід без авторизації

name: Containing the RDMA plasma: An experience report on wrapping a wildly unsafe library


uk: Комп'ютерні науки

description: Navit is a car navigation system with routing engine. Navit's modular design is capable of using vector maps of various formats for routing and rendering on the screen. It's even possible to use multiple maps at the same time. Points of Interest of various formats are displayed on the map. The current vehicle position is either read from gpsd or directly from NMEA GPS sensors. The routing engine not only calculates an optimal route to your destination, but also generates directions and even speaks to you in 49 languages. It can run on various platforms, e.g. raspberry pi, tomtom, desktop pcs. The talk will in particular discuss challenges and approaches faced in the continious integration and testing of an open source GPS app.

uk: вхід без авторизації

name: Continuous Integration to compile and test Navit


uk: Комп'ютерні науки

description: Localization at Mozilla happens in a tight loop between development and localizer involvement. We're going to show how this works on Firefox for Desktop, and how it works for our Android projects. We show how we get to multiple testable builds a day, and how we mitigate the bad parts. schlechte Tonqualität

uk: вхід без авторизації

name: Continuous Localization: How we ship localized versions of Firefox, on Laptops and Android


uk: Комп'ютерні науки

description: Tasking in Ada provides an effective tool for shared memory parallelism. An "any time" algorithm is an algorithm that, given some more resources, will improve the accuracy of an estimate. For example, consider the estimation of Pi by a Monte Carlo method. With multitasking, the status of the running of an "any time" algorithm can be monitored without interrupts. The programming concepts will be illustrated with examples of algorithms in polyhedral geometry. The demonstrated code belongs to the free and open source PHCpack, at https://github.com/janverschelde/PHCpack.

uk: вхід без авторизації

name: Controlling the Execution of Parallel Algorithms in Ada


Countless, Beautiful Contribution

uk: Комп'ютерні науки

description: If you're joining us in the Mozilla devroom, you're likely already passionate about some of the things Mozillans do to build a better internet, contribute to cutting edge technologies or to help teach and share knowledge. You may even have a favorite project in mind. In this talk we're going to look at a range of different volunteer and contribution opportunities across Mozilla projects that could use a little bit of TLC from you. We'll examine how volunteer efforts power these projects, what impact your contribution could make and talk about the impact volunteer efforts make across the web and the world.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: Have you ever observed how birds fly? By moving their wings, they cause an air flow. This air flow then deforms their wings back. By simulating this complex, multi-physics phenomenon, we could design better flexible wings. However, we don’t need complex software to simulate such complex phenomena. "Make each program do one thing well" is part of the UNIX Philosophy, but it can also apply to scientific software. We should aim to simulate multi-physics phenomena with a combination of simpler software: one "expert" for each domain (for example, flows and structures). There are so many "expert programs" in the free/open-source software community; what if we could enable them to collaborate? The preCICE coupling library* can couple different simulations in an easy, plug-and-play way, while it is also designed for the Exascale HPC era, offering peer-to-peer communication over TCP/IP or MPI. Not only is it easy to use it in your own code, but it also comes with ready-to-use "adapters" for OpenFOAM, SU2, CalculiX, Code_Aster, FEniCS and other software. For example, one can set up a flow simulation in OpenFOAM, set up a structure simulation in CalculiX, start the two simulations normally, and get a coupled Fluid-Structure Interaction simulation. But FSI is only one of the possible applications. Being developed in the academia, but with the goal to stay and help users all over the world, even when its main contributors change, our project is an actively evolving example of (wanting to be) sustainable research software. Over the past year, we had to answer many questions on building, packaging, dependency management, usability, and other topics, questions which previous FOSDEM talks helped us to answer. For example, over the past year we changed from SCons to CMake to provide closer to the expected behavior, added support for Spack to bring preCICE into supercomputers near you, we experimented with other package managers, and we rethought our workflows to encourage community contributions. This talk will present the possibilities that preCICE opens to the free/open-source scientific software community and discuss our efforts to improve the project’s sustainability.

uk: вхід без авторизації

name: Couple scientific simulation codes with preCICE: A journey towards sustainable research software


Critical Path Analysis

uk: Комп'ютерні науки

description: Complexity in coding and system design should be defeated until it is possible to do. Some problems are complex in nature and it is expensive to build and maintain solutions for problems in this category. Observability provides us tools to see our architectures from a different perspective. It is not just helping us to troubleshoot but also self-document our architectural decisions and help us to improve the most significant execution paths. Complexity in coding and system design should be defeated until it is possible to do. Some problems are complex in nature and it is expensive to build and maintain solutions for problems in this category. Observability provides us tools to see our architectures from a different perspective. It is not just helping us to troubleshoot but also self-document our architectural decisions and help us to improve the most significant execution paths. Agenda of the talk: - Give motivation why systems get more complex. - How to deal with complexity? - What else to do if complexity is in the nature of the problem? - Introduce critical path analysis as a solution. - Explain the organizational and technical challenges of critical path analysis. - Conclude by summarizing the pros/cons of critical path analysis.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: The rise of cloud computing in the 2010’s accelerated a process that had been going on since the dot-com boom: the centralization of the internet. In February 2010, Eben Moglen predicted the wide-scale data-mining brought about by the centralization of our network infrastructure and launched the FreedomBox project. In the eight years since, FreedomBox has become a device that can decentralize the web one box at a time. Join this session to learn about FreedomBox’s approach to decentralization and the importance of three elements of its design: hardware neutrality, software freedom, and user interface. In this 15-minute session, I will lecture for the full 15 minutes. I will discuss the FreedomBox project, the role of hardware neutrality in the FreedomBox project, and the role of user interface in the FreedomBox project. FreedomBox is an immensely flexible and secure private server system that builds freedom into the internet by empowering regular people to host their own internet services, like encrypted messengers, a VoIP server, websites, VPN, a metasearch engine, and much more. To that end, it couples a free software system with always-on, inexpensive, and power-efficient hardware about the size of a pocket dictionary. The hardware is a single-board computer that costs about 60 USD and offers the computing power of a smart phone in a case about the size of a deck of cards. The software is a 100% free and open source system available for download at no cost preloaded with many useful apps and tools designed to protect your freedom, privacy, and user rights. These private servers are designed to create and protect freedom on the internet using a bundle of software packed inside one small, inexpensive box: a FreedomBox.

uk: вхід без авторизації

name: Creating a Computing Revolution: from Personal Computers to Personal Servers: An Analysis of User Interface and Hardware Accessibility


Cross browser extensions

uk: Комп'ютерні науки

description: Browsers are built on very simple principle - “one fit that suits all”. We use number of browser extensions to make most of our browser. How about being on other side of table; lets create one. From Javascript developer to a browser extension developer in 50 mins. Browsers are built on very simple principle - “one fit that suits all”. Browser extensions are the thing that help us to personalize the browser as per our need. We use number of browser extensions to make most of our browser. How about being on other side of table; lets create one. Webextension APIs are here to convert us(Javascript developers) to extension developers. Javascript mixed with Webextension APIs empower us to modify our browsers to suit as per our need. Adding to awesomeness, not only for one browser but same code that can be deployed on Firefox, Chrome, Opera with minimal or no changes. In this session, we will be learning how to develop portable cross browser extensions using Javascript. One can learn how to use features of browser such as Notifications, Tab capture, HTTP request handling, Toolbar buttons in an addon. Also there will be a hands-on demo of creating a browser extension right in the session and deploying it in the browser. By the end of session, audience will be empowered enough to command their browser to perform tasks as per their wish, may be throwing notification to drink water after every hour. By this session, I look forward to increase the circle of browser extension developers so as to make browsers great!

uk: вхід без авторизації


Crostini: A Linux Desktop on ChromeOS

uk: Комп'ютерні науки

description: Recent versions of ChromeOS allow users to run a full Debian operating system in a dedicated container. This talk discusses the technologies behind the implementation, the current functionalities, and a rough roadmap of where we're going to bring this features, that integrates the chrome and linux desktop for the first time, making ChromeOS the most readily available Linux machine for an end user or enterprise. ChromeOS is a Google made Linux-based operating system that focuses on security, speed, and is optimized to run a web centric workload. From the beginning ChromeOS computers could run Chrome, and a few specially made applications, but since 2016 they also run Android apps. ChromeOS devices are readily available from many manufacturers. Since version 69 of ChromeOS, released in the fall of 2018, users can run a Debian GNU/Linux operating system inside a VM and container. This is initially targeted at power users and developers, but opens the option of running any Linux desktop app on a ChromeOS device, instantly making ChromeOS devices the most easily available Linux computer for a consumer to get. In this talk we will discuss: The architecture of Crostini, and its rationale Its current features and functionality Personalizing and configuring your container Enterprise features to control linux deployments on ChromeOS Roadmap plans, including how developers can target ChromeOS as a platform for users to run their Linux desktop applications Room: Janson Scheduled start: 2019-02-03 14:00:00+01

uk: вхід без авторизації


CubicWeb: a browser for the web of data

uk: Комп'ютерні науки

description: The Web of Data has become a reality over the past decade. But how do you browse all that data and how do you surf from one resource to the next by following the links in the datasets ? We will introduce the new CubicWeb, a Web Extension to make your favorite browser capable of handling RDF data so that you can surf the Semantic Web and chose how data is displayed and how you interact with it. The Web started as a set of linked documents written in HTML and displayed by hypertext browsers. With the dawn of the Web of data, the information exchanged between the server and the client can be encoded in a form that is directly machine processable instead of being embeded in text document for humans to interpret. We asked ourselves what would be a browser for the Web of data, that would not be limited to displaying documents and would allow its user to surf the gigantic graph of linked data by displaying each piece of data with the best visualization for the task at hand. With this goal in mind, we reinstanciated the ideas developed more than ten years ago for the user interface of the CubicWeb semantic web framework. The result is the CubicWeb Linked Data Browser, a Web Extension for the main browsers (Firefox et Chrome) that can turn into HTML the RDF data sent by servers, with the user choosing the best view among the ones she registered when configuring the extension. Nicolas Chauvat is the founder and CEO of Logilab, a company that has been since year 2000 at the forefront of the Semantic Web in France. Logilab created the CubicWeb framework and used it for many applications, including the high-profile data.bnf.fr and francearchives.fr.

uk: вхід без авторизації


D-Wave Hybrid: An Overview

uk: Комп'ютерні науки

description: The D-Wave Hybrid is a general, minimal Python framework for building hybrid asynchronous decomposition solvers of quadratic unconstrained binary optimization (QUBO) problems. Designed in the spirit of the dataflow programming paradigm, and built atop the Ocean SDK primitives, it provides a simple workflow construction, execution and instrumentation environment that enables rapid development and tuning of hybrid applications running across classical and quantum systems. In the talk, we'll briefly discuss the motivation for some of our architectural decisions, briefly present available submodules, features and building blocks, only to focus on describing several interesting use cases (hybrid workflows).

uk: вхід без авторизації


D-Wave's Software Development Kit

uk: Комп'ютерні науки

description: D-Wave's Ocean software tools are an open source ecosystem for solving customer-scale problems on the quantum computer. The D-Wave System solves a particular problem - the Binary Quadratic Model (also known as the QUBO or Ising problem). We will provide an overview of the open source tools that are used to express your problem as a BQM and to convert that BQM into something that can be solved by the quantum computer. Finally we will motivate open sourcing these steps, and discuss the areas that interested users can participate in the project.

uk: вхід без авторизації


uk: Комп'ютерні науки

description: As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order to achieve a solid design, it’s important to understand how the schema is then going to be used as well as the trade-offs it involves. As Fred Brooks said: “Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.” In this talk we're going to see practical normalisation examples and their benefits, and also review some anti-patterns and their typical PostgreSQL solutions, including Denormalization techniques thanks to advanced Data Types. As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order to achieve a solid design, it’s important to understand how the schema is then going to be used as well as the trade-offs it involves. As Fred Brooks said: “Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.” In this talk we're going to see practical normalisation examples and their benefits, and also review some anti-patterns and their typical PostgreSQL solutions, including Denormalization techniques thanks to advanced Data Types.

uk: вхід без авторизації

name: Data Modeling, Normalization and Denormalization


uk: Комп'ютерні науки

description: IT organizations of the future (and present) are faced with managing infrastructure that spans multiple private data centers and multiple public clouds. Emerging tools and operational patterns like kubernetes and microservices are easing the process of deploying applications across multiple environments, but the achilles heel of such efforts remains that most applications require large quantities of state, either in databases, object stores, or file systems. Unlike stateless microservices, state is hard to move. Ceph is known for providing scale-out file, block, and object storage within a single data center, but it also includes a robust set of multi-cluster federation capabilities. This talk will cover how Ceph's underlying multi-site capabilities complement and enable true portability across cloud footprints--public and private--and how viewing Ceph from a multi-cloud perspective has fundamentally shifted our data services roadmap, especially for Ceph object storage.

uk: вхід без авторизації

name: Ceph Data Services in a Multi- and Hybrid Cloud World


uk: Комп'ютерні науки

description: The talk gives insights into the state of Java in Debian and what challenges contributors face when we package Java software for the Debian GNU/Linux distribution. Participants will learn more about how the Java ecosystem is integrated into Debian, what problems have to be solved and how Java software can be truly free and long-term supported. It is brought to you by a Debian Developer and Debian Java team member. Many applications and libraries distributed by Debian are written in the Java programming language. In fact based on simply counting source code lines, it is ranked in third place only after C and C++. The Java team alone maintains more than one thousand source packages ranging from web servers to IDEs. Packaging Java software can be difficult at times because all packages must be built from source but no internet connections are allowed at build time. None of the packages in the main archive area may require software outside of that area to function thus we have to package every dependency and make sure it complies with the Debian Free Software Guidelines. This is often completely diametral how Java developers usually build software (versioned dependencies downloaded from online repositories like Maven Central). And if you know that Debian prefers to ship only one software version because of security support but different applications tend to depend on different versions at the same time and we also strive for one long-term supported Java Virtual Machine, the possible problems are easily imaginable. Last but not least Java development has become rapider in the past with new OpenJDK versions and bugs every six months. How this all works or not will be told during the next 15 minutes.

uk: вхід без авторизації

name: Debian Java: Insights and challenges: learn more about the daily work to package Java software for Debian


uk: Комп'ютерні науки

description: Software release products are compiled with optimization level –O2 and higher. Such products might produce a core-file that is used for investigating cause of problem that produced it. First thing from which we start debug analysis is call-trace from a crash. In such traces most of the parameters are reported as optimized out due to variety of reasons. Some of parameters are really optimized out, but some of their locations could be calculated. Expert software developers are able to find what values parameters had at function entry point by using the technique that requires searching those values in disassembly of caller frame at place of that particular function call. Automation of such technique is described by DWARF 5 specifications and it is already implemented in GCC and GDB since 2011. The goal of this paper is to present ideas, implementation and problems that we encountered while we were working on this feature in LLVM. We will also show the improvement by presenting recovered parameters in some of the call-traces. This feature should improve debugging of optimized code built with LLVM by recovering optimized-out function parameters.

uk: вхід без авторизації

name: Debug info in optimized code - how far can we go?: Improving LLVM debug info with function entry values


uk: Комп'ютерні науки

description: The web is unimaginably large. Despite all recent challengers, it is still the most successful digital platform in human history. However, the web's centralized nature works against true user agency... and its success is one of the biggest barriers to changing it. Come learn about these challenges and about efforts by Mozilla and other projects to enable decentralized and distributed applications on the web today.

uk: вхід без авторизації

name: Decentralizing the Web Despite Itself: Experiments and challenges in changing the largest digital platform in human history


Declare your Linux Network state!

uk: Комп'ютерні науки

description: NMState is a new declarative API that simplifies Linux network management. Various services built on top of Linux need to manage the network configuration. Each service models network entities differently and uses various APIs to change the network state, multiplying the required work. NMState centralizes the challenges by providing a unified declarative representation of the Linux network state and allowing to modify it using the same schema. NMState also provides Ansible network modules to manage Linux systems, conforming to the same uniform schema used to control network appliances. The talk will introduce NMState, its core capabilities, current users and roadmap, including plans for Kubevirt, oVirt, Openshift and Openstack support. Afterwards, the audience will understand the benefits of using NMState to centralize collaboration on Linux network management.

uk: вхід без авторизації


D-Wave Hybrid Framework

uk: Комп'ютерні науки

uk: вхід без авторизації


D-Wave's Software Development Kit

uk: Комп'ютерні науки

uk: вхід без авторизації


uk: Комп'ютерні науки

description: A low cost, digital video broadcast-terrestrial (DVB-T) receiver is used to collect radiofrequency signals emitted from the low Earth orbiting Russian satellite Meteor-M2. The QPSK encoded signal is analyzed all the way from extracting bit values, to recovering the JPEG encoded image transmitted from the satellite. This investigation is an opportunity to experimentally assess all the layers of digital communication widely used from Deep Space communication to daily mobile phone communication, including Viterbi encoding, Reed Solomon error correction, and JPEG image display. Few members of the audience might have any interest in the details of Meteor M2 weather satellite transmissions. However, tackling the reception of this digital weather satellite opens the opportunity to address most if not all the layers of the OSI model, from the physical layer by collecting the radiofrequency signal using a cost-effective DVB-T receiver acting as a general purpose software defined radio signal source, to the data link layer with the various error correction schemes implemented to address the corruption introduced by the noisy radiofrequency communication channel (Viterbi, Reed Solomon) and the network layer with the frame encoding including telemetry and, of course, the payload as a digital picture. The latter is encoded in JPEG format, adding more abstractions with the lossy compression to be reverted to display greyscale images representative of the atmosphere and ground reflectivity in the various wavelengths monitored by Meteor M2. This decoding path matches most recent space-borne signal transmissions, as documented by the Consultative Committee for Space Data Systems (CCSDS [1]), and despite extensive documentation available online, a practical demonstration of the various decoding steps helps understanding the many documents over which the information is spread.

uk: вхід без авторизації

name: Decoding Meteor-M2: QPSK, Viterbi, Reed Solomon and JPEG: from IQ coefficients to images, analysis of digital weather satellite transmissions