WEBVTT

00:00.000 --> 00:14.720
Hello. Welcome to Lightning Lightning Talks. This is Lightning Talks with even faster. So this

00:14.720 --> 00:30.320
time we're going for 256 second talks. That's all for me.

00:30.320 --> 00:35.360
Hello everyone. My name is Remy Durafer. I'm pretty simple technically that we know. I've

00:35.360 --> 00:40.520
been working on open source software for many times now and as a side productive my life

00:40.520 --> 00:46.760
I'm also a volunteer fire fighter in a small fire station. So you might have noticed that there

00:46.760 --> 00:53.000
is many companies that are providing tools and services for emergency services but the emergency

00:53.000 --> 00:57.960
services are quite slow to adapt new technologies. In fact if you know them a bit more, they are

00:57.960 --> 01:02.680
not slow to adapt new technologies, they are reluctant to it. They don't really want to. Mainly

01:02.680 --> 01:07.320
because they are big and strict organizations. So there is a process for absolutely everything and if

01:07.400 --> 01:12.760
new product does not fall into the right process it will be difficult to adopt. Also they have

01:12.760 --> 01:18.120
a low budget for innovation because most of their budget is going to operation obviously training

01:18.120 --> 01:25.240
and maybe later on into new new things. Also because new technologies are often not really

01:25.240 --> 01:31.480
made sure or a good fit for them. Because they have quite strong requirements, they need to have

01:31.480 --> 01:36.120
something which is reliable, easy to use and unbreakable and I will show you a bit why.

01:37.000 --> 01:41.240
When I'm speaking about something which is reliable, as an example, when I'm

01:41.240 --> 01:47.880
cool for an intervention and I'm at that place, sorry, and free system will try to call me a

01:47.880 --> 01:53.800
pageer, a phone dialer which is a robot that will call my phone and a number of applications.

01:54.200 --> 02:01.800
Obviously the most reliable one is a pageer from 1981. If you I did some small statistics

02:02.600 --> 02:08.600
and the pageer will ring 99% of the time, while the Android application will run like 50

02:08.600 --> 02:13.800
percent of the time which is pretty bad. Also the device itself, the pageer, the battery will last for

02:13.800 --> 02:19.480
month, at least. It has a cell battery that I can change quickly while I will need a smartphone

02:19.480 --> 02:25.800
from my Android application that will blast for one or two days maximum. Also the device is a

02:25.800 --> 02:32.760
pageer cheap, it's light and it's difficult to break, while a smartphone is opposite to

02:32.760 --> 02:37.160
completely easy to break and also you need that data coverage which is not always a case.

02:38.200 --> 02:41.960
So funny enough, but the pageer is not going to go away anytime soon.

02:43.240 --> 02:49.000
Second one, we need to be, you need something that is easy to use, but under which circumstances,

02:50.360 --> 02:53.880
if I'm cool for an intervention, it might be two in the morning, I'm sleeping in my bed,

02:54.360 --> 02:59.400
and the pageer may be the form will ring. I have to wake up first, take some time,

02:59.960 --> 03:03.480
address, dry to the fire station, I'm technically still partially sleeping.

03:04.360 --> 03:07.960
Then you look for the address at the fire station for the reason for the call and you're still

03:07.960 --> 03:14.040
sleepy. After a free call like that in one night, it can happen. It's difficult to speak right after

03:14.040 --> 03:20.120
being wake up because your brain are just dead, honestly. So you need to have something, oh sorry,

03:20.200 --> 03:25.880
and also, if not forget that when I'm going for a fire, I'm wearing fire gears, which I have gloves,

03:25.880 --> 03:31.000
so touching something, using something is difficult. So the visibility is largely reduced by

03:31.000 --> 03:37.720
the helmet, I'll see something like that, and movement are difficult. So it has to be easy to use,

03:37.720 --> 03:45.560
even with the also stress and smoke that you had on top of it. So it's usable, it has to be

03:45.560 --> 03:51.000
usable even when you're tired. So the keep it simple, principle is very important,

03:51.000 --> 03:57.080
if you can remove a feature, remove it. It also has to be usable with gloves and limited visibility.

03:57.080 --> 04:01.000
This example is a one product that is really cool, it's working well, it has one pattern,

04:01.000 --> 04:04.840
but then it's simple display and it rings in kettle danger, just works.

04:06.120 --> 04:10.760
And last one is it's unbreakable really, because on intervention we are stressed tired

04:10.760 --> 04:14.520
another pressure, so we don't care about the equipment itself, we just have to do things.

04:15.320 --> 04:20.440
One last story, because I have some time at the fire station, one magic manufacturer rents

04:20.440 --> 04:25.800
for learning and breakable security shoes, and even say that you can roll over it with fire truck.

04:25.800 --> 04:29.960
He left the fire station, and the next day they call him saying, no, you can't, it's not working,

04:29.960 --> 04:37.560
we break it. So obviously, if you want to build something for emergency services, make it reliable,

04:37.560 --> 04:42.600
easy to use on a breakable, and if you, if you in depth, just call them and try to have some time with them.

04:43.480 --> 04:45.480
Thanks for your time.

04:45.480 --> 04:47.480
All right.

04:52.200 --> 04:59.000
Hello, everyone. Wow, I'm here for the fifth time, and I didn't see so many people. Thank you for joining.

04:59.000 --> 05:04.840
I'll tell you a short story under 200 seconds on how we change the world and how you can.

05:04.840 --> 05:10.440
So I come from Bulgaria, very beautiful country, but we have problems with the government, right?

05:10.600 --> 05:18.600
We have hosts in our roads. So we try to ask the government to fix it for a year or so,

05:18.600 --> 05:25.240
they didn't do nothing. So we decided to hack it. We went by some sprays, and we started, you know,

05:25.960 --> 05:31.240
pictureing around the holes, giving the people warning that, you know, something's going on,

05:31.240 --> 05:38.920
and three weeks after that, the hosts were fixed. So this is how hack you can use to make your

05:39.000 --> 05:47.800
government work. So after that, we decided to say, hey, can we do something more? So this is a good use case.

05:48.360 --> 05:56.200
Let's create something like a theater show. Let's encourage people to use the art that is

05:56.200 --> 06:01.400
leaping in all of us, because everyone here is good at art, even if you don't believe that.

06:02.120 --> 06:08.040
To encourage people to go and change the world. Right. How they can change that? This is up to you.

06:08.600 --> 06:15.000
You can paint a picture, you can draw something on the street, you can, you know,

06:15.800 --> 06:24.840
add amazing words on the walls. So we did this, and why I'm here today, because this is a

06:24.840 --> 06:30.760
theater that is under creative common license. So anyone can go and contribute to that.

06:32.040 --> 06:36.280
They can help us with the script, they can help us with more ideas on how we can get more people.

06:36.920 --> 06:45.960
And when we run this, that's me though. We did it again, open source way. We gave it for free,

06:45.960 --> 06:52.920
and at the end we asked for donations. So we got even more money that we invested into doing the

06:52.920 --> 07:01.960
theater, which is a really good one. So this is how we manage it. We ask our feedback, show after show

07:01.960 --> 07:09.320
or idea after idea. We get feedback. Then we accept, let's say, PRs, but ideas for how to

07:09.320 --> 07:18.440
do a script change. And it's, we use the creative common, and public, the main music.

07:19.480 --> 07:26.200
How we can help, because I have, wow, hundred seconds. You can help us with ideas on how we can

07:26.200 --> 07:32.920
make this better, if you're good writer, or you have other creative ideas, or you can help us run

07:32.920 --> 07:39.960
this show in your own country by inviting us, or you can take this script in ideas, and you can

07:39.960 --> 07:51.240
make your own show in your own country. Thank you. This is my master. I have 74 seconds. Thank you.

07:56.520 --> 08:11.640
Hello, everyone. I'm mine of Naugda from London. Recently, I came across a tool called

08:11.640 --> 08:20.520
Screen Copy. That shiny new phone. The Z trifles, the iPhone 17 Pro Max, the Xiaomi 17 Pro Ultra,

08:20.680 --> 08:25.080
the one you've always wanted. But what happens to your old phone after that?

08:26.120 --> 08:31.960
I'll call it a bucks and eBay, getting chocolate and landfill, laying for gotten somewhere, collecting dust?

08:33.240 --> 08:40.040
Well, let me tell you, it does not need to be like that. Your old android can become a multi-task

08:40.040 --> 08:46.760
and powerhouse. With Screen Copy, you can not only mirror your android so you're computer,

08:46.840 --> 08:51.800
you can even control your remotely full functionality from the comfort of your PC.

08:53.400 --> 08:59.560
First, Screen Copy shines as a last resort. When you just need to get that little bit of data off

08:59.560 --> 09:04.840
when your phone broke, or when the entire screen crashes, simply hook up your phone,

09:05.560 --> 09:14.040
control remotely, and you're good to go. Perfect, simple, easy. But that's as a last resort.

09:15.000 --> 09:18.840
Screen Copy is much more useful than just that.

09:21.240 --> 09:28.360
So firstly, everyone knows laptop have really bad webcams. Even really expensive webcams

09:28.360 --> 09:34.680
that have decentish quality. Well, they're very expensive. Beyond your phone with the set of

09:34.680 --> 09:42.280
rare cameras, it has a quality that's very good. For example, my own S8, as you can see in the image

09:42.280 --> 09:49.080
there, it has a rare camera setup that's pretty modern power with a hundred plus dollar webcams

09:50.040 --> 09:56.120
and Screen Copy, it's free. Simply hook it up to your laptop and you have a built-in webcam.

09:56.360 --> 10:04.920
And if you need to see the feed from your laptop, simply mirror it and you're good to go.

10:06.120 --> 10:11.720
It's that easy. But Screen Copy is not just for breathing life into all phones.

10:12.760 --> 10:19.720
It's also about breaking the limits of current ones. One more, we're moving to an app-based society.

10:20.680 --> 10:26.040
And many mobile apps are simply better, more optimized and more feature-etch than the PC counterparts.

10:27.400 --> 10:33.160
For example, messaging apps like WhatsApp and Snapchat, or an apps like Engine,

10:34.280 --> 10:37.800
having a proper full-size keyboard can be useful for so many things.

10:39.080 --> 10:43.800
So simply Screen Copy and selling your texting as a hundred eighty-wide for a minute

10:43.800 --> 10:48.280
or slaying what was like a pro. And even if you're on the developer side of things,

10:49.000 --> 10:54.360
being able to interact with your apps directly from your workstation can be a very useful thing to do.

10:55.400 --> 10:59.800
Make it easy to troubleshoot and visually identify everything that you need to.

11:01.880 --> 11:07.800
Now Screen Copy has been around for years, but what makes it truly special is that it's constantly

11:07.800 --> 11:14.280
evolving. Just a short time ago, a new feature was added, largely gained higher second virtual

11:14.280 --> 11:20.600
desktop as you can see on the screen. Which allows you to free up your phone to do whatever task

11:20.600 --> 11:29.000
you need to, but still having things like updates and other apps running in the background in focus

11:29.000 --> 11:35.160
so it doesn't close automatically. This new display is a difference between 2D and 3D

11:35.160 --> 11:41.800
and the usability of your Android and looks entire new tier. So whatever you can imagine,

11:42.520 --> 11:48.920
Screen Copy can provide. Screen Copy is not just another service, it's not just another package,

11:49.480 --> 11:55.880
it's not just a simple tool, it's a bond, a bridge that allows your phone to become an extension

11:55.880 --> 12:04.680
of your PC, once not to love. If you have any questions, you can speak to me after or message me

12:04.920 --> 12:08.920
on LinkedIn.

12:20.920 --> 12:27.960
Hey everyone, today I'm presenting my very experimental product called Google Infiduration.

12:28.760 --> 12:36.440
So basically, here it's myself one year ago, talking about how web recipes are broken and

12:36.440 --> 12:44.200
there are obvious reasons like lots of ads and I don't optimize for clickbait, but there are also

12:44.200 --> 12:53.800
issues with scattering recipes. So we have it in all different apps and it's very hard to use them.

12:53.800 --> 13:06.280
And also, because like optimizations for marketing, people come up with some unique and

13:07.320 --> 13:12.680
trying to get some attention recipes like this for the salmon. And so my question was,

13:13.640 --> 13:17.080
how to find and try them through recipes which I can trust.

13:17.160 --> 13:27.960
So last year I proposed this solution to use plain text files for recipes because files

13:27.960 --> 13:35.400
just been around for decades, maybe 40, 50 years and we all know how to send them to a friend

13:35.400 --> 13:42.760
or organizing folders, but we just need some light markup on top of this and Googleank is

13:42.760 --> 13:49.480
just exactly it. So you just tag your ingredients with Ed Symbol, put your amounts in curly braces

13:49.480 --> 14:01.640
and the set you have in cooking. And that's enough for apps to have a render and use it in cooking

14:01.640 --> 14:10.120
and also create shopping lists and somewhere this. So of course, you can do much more, you can

14:13.480 --> 14:21.160
add like recipe sections, whatever. So I'm trying to express like any recipe with Googleank.

14:22.200 --> 14:30.600
But still, how can I find recipes that I can trust? So a few of my friends have websites. They

14:30.600 --> 14:38.680
do blogging and also they publish the recipes and I was thinking if we can fall back back to

14:39.400 --> 14:50.040
good old RSS which is just a format explaining what's recipe, what's name and when it was

14:50.040 --> 14:55.480
last updated and also they're quite a bunch of public repositories with those recipes.

14:58.200 --> 15:08.360
So the aggregator can fetch all those recipes, index them and present it in a nice web or API

15:08.360 --> 15:19.480
interface. So basically it's a bit stupid name because there is no really interaction between

15:19.480 --> 15:25.560
server, one server to another exchange or information, but maybe it's just yet, maybe it will be at

15:25.560 --> 15:34.680
some point. It's written in Rust and the Tantivi, it will allow you to search like by ingredients

15:34.760 --> 15:44.200
you have in your fridge, like plain text search or by tag. So currently there are more than 70

15:44.200 --> 15:55.720
feeds and 4,000 recipes and it's growing like every day. So not exactly fully solved the

15:55.720 --> 16:02.760
problem, so there is no visibility if the recipe was used or was shared. So integration the

16:02.760 --> 16:11.000
activity map where they have native events or attachments will be nice. Also maybe I should

16:11.000 --> 16:19.640
care only about a few feeds and have like a client up. And yeah that's it. Thank you for attention and

16:32.840 --> 16:56.120
all right. All right. So I use Arch on a mainframe. So modern mainframe architecture dates back to

16:56.200 --> 17:02.520
the 50s and it uses this S390X architecture instead of X86 and I'll tell you a little bit about

17:02.520 --> 17:12.920
the challenges of porting Arch to run on a mainframe. So S390 in 30 seconds is basically so it's

17:12.920 --> 17:20.360
this old architecture that runs on these IBM mainframes. It's the last big Indian kind of architecture

17:20.440 --> 17:26.680
that is still maintained nowadays and there are a bunch of special quirks and we'll mostly just

17:26.680 --> 17:35.080
focus on the boot stuff today. So it's IPL which is initial program load that it uses and yeah

17:35.080 --> 17:41.400
mainframes are still relevant today because your banks are still using them and 95% of your ATM

17:41.400 --> 17:49.160
transactions are running cobalt somewhere on a mainframe. But why would you do this?

17:50.440 --> 17:57.320
Very simple. I thought it would be funny. So this actually started a year ago at Fossdom when I

17:57.320 --> 18:02.840
was talking to one of my art friends and telling them about the mainframe projects I was working on

18:02.840 --> 18:09.560
at Red Hat and I said well wouldn't it be funny to try to make art run on it and yeah here we are.

18:12.520 --> 18:19.800
So the kind of general problem is that Arch will assume that you're building your boot

18:19.800 --> 18:31.400
artifacts on the same architecture as you're running on and I do not own a mainframe but I do have

18:31.400 --> 18:41.640
access to one. So I was able to leverage that for that and the solution is kind of a hybrid build

18:41.640 --> 18:50.520
because there's a challenge to this. Kind of a chicken egg problem where the initial ram file

18:50.520 --> 19:03.320
system needs to be built on a system that it also boots and then the more like early user space

19:03.400 --> 19:13.000
stuff and system D has to be compiled on real S390 architecture. So yeah that's how that's why it's a

19:13.000 --> 19:17.320
chicken egg problem and that's why it's like a hybrid build to make it boot at first.

19:20.280 --> 19:26.040
The kernel cross compilation works really well actually there isn't a big challenge here.

19:26.280 --> 19:40.680
And yeah the there are more challenges to come. So I'm using busy box to just get like the core

19:40.680 --> 19:50.680
utility stuff going for the beginning and it has to be statically linked and yeah the reliable static

19:50.760 --> 20:01.480
linking requires native compilation and yeah you need a real mainframe for that and yeah that's the

20:01.480 --> 20:07.880
the other challenge where I make in its CPIO will assume that it can run the binary set it packs

20:07.880 --> 20:19.080
but then obviously it's I can't run the S390 binaries on my X86 laptop and to work around this I just

20:20.040 --> 20:26.680
had to write a little bash array to statically then hard code all these outputs.

20:29.400 --> 20:34.360
All right so then I have some boot artifacts with these things that I built

20:35.640 --> 20:44.120
system D boots and immediately dies and I stared at the screen and I looked at

20:44.120 --> 20:53.560
QEmo logs for ages and then I found the one parameter I had to set and yeah then we got like an

20:53.560 --> 20:58.200
actual boot and yeah the work is sweeping out the state.

20:59.000 --> 21:16.040
Hello everyone I'm going to talk about Proscoverge which is a cross language coverage profiler

21:17.880 --> 21:22.520
and the problem that tries to solve is that imagine that you want to build your

21:22.840 --> 21:26.840
compile software and you want to run your functional test directly on your

21:28.840 --> 21:34.680
very production ready binary. You know want to build your binary twice because you typically

21:34.680 --> 21:40.200
like lagging specific tooling they require you to build instrumentation inside your binary so you

21:40.840 --> 21:46.840
end up building twice so that you can ship your production ready binaries and test the

21:46.920 --> 21:52.440
instruction instrumented once. On the other hand Proscoverge what it does is because it leverages

21:52.440 --> 21:59.400
general level instrumentation it enables you to run your test exactly on your production ready binaries

22:00.440 --> 22:06.120
and this cross language compatible and the way it works is that it attaches one new probe to

22:06.120 --> 22:12.360
which function and then from EVF you notify back to user space what function is specific moment

22:12.440 --> 22:17.640
runs and then finally in user space you do the calculations because you know what functions

22:17.640 --> 22:23.720
have been run and what not. So as you can see you have one program multiple attachment

22:23.720 --> 22:30.280
and thanks to EVPF you promote it so you can attach with a single attachment

22:30.280 --> 22:36.520
Cisco to thousand and thousand functions you report back to user space where you do finally the

22:36.600 --> 22:44.120
calculation that you generate the report. As you can see with a re-buffer to notify back to

22:44.120 --> 22:50.120
user space what has been running a specific moment we keep track with the hash map what functions

22:50.120 --> 22:55.560
have been run so far and as you can see the event contains the cookie which is our function in the

22:55.560 --> 23:03.480
entire. And then in the space we keep track of the old supported functions in our binary in the

23:03.560 --> 23:07.960
map of cookie to function information which contains the single name and the offset.

23:08.680 --> 23:14.200
This information then we use it's used a touch time where we pass all our offset so the

23:14.200 --> 23:22.680
functions and all the cookies with the single call. At the moment at the time actually LBPF

23:22.680 --> 23:29.880
go didn't support that I into the support back LBPF go and now I could use that directly you

23:29.880 --> 23:37.400
promote directly from go. The program actually is pretty simple gather the cookie if the function

23:37.400 --> 23:43.160
it's a bit we've been seen it just returned otherwise it notifies back through the ring buffer

23:43.160 --> 23:50.360
to user space say this function has been just run and then in user space we just get the event

23:50.360 --> 23:57.000
from the event the cookie which is a functionality in our case and we keep track of all the

23:57.000 --> 24:03.240
functions that have been run so far and whatnot and finally calculates the coverage.

24:04.520 --> 24:10.680
It's pretty simple like the CLI you can run the touch mode you can include or exclude

24:10.680 --> 24:15.960
some functions for example here it's done for for the go because we want to ignore the go run

24:15.960 --> 24:21.640
time functions we synchronize with test with the weight command we run test one they complete

24:21.720 --> 24:32.040
we stop cross cover and the viewport is generated as you can see it's 89% of coverage. Of course there

24:32.040 --> 24:40.120
are some challenges and limitations because this leverage is the single table enough so

24:40.120 --> 24:46.280
strip the boundaries need specific attention you can use the bug information which are

24:46.280 --> 24:53.960
mostly specific to language so like the go program counter line table and also we need to

24:53.960 --> 25:00.280
tune the ring buffer side especially when you have high frequency executions and we need to keep

25:00.280 --> 25:07.400
in mind that there is a limitation of around one million of you probe with the single attachment

25:08.280 --> 25:16.760
so yeah and let's see thank you very much you can find me home get up my maximum 92

25:17.320 --> 25:21.880
and this is all the documentation the reference about this thank you

25:21.880 --> 25:37.880
so hello everyone this presentation is going to be about is that slot.com which is a working

25:37.880 --> 25:44.040
progress project that aims to be a community power a is what detection so for those of you

25:44.040 --> 25:49.800
living under a rock what say is love the actual dictionary definition is this one digital content

25:49.800 --> 25:55.240
of low quality that is produced usually in quantity by means of artificial intelligence

25:55.240 --> 26:01.160
I would define it better as digital content of low value let's say that the function that's

26:01.160 --> 26:09.960
evolving and I will say that's the actual one so something is that a is love is everywhere right now

26:09.960 --> 26:17.960
and this truth is it's going to get way worse and the thing is they are a detectors and they

26:17.960 --> 26:23.160
don't work the health of the maras come and the other ones alright they don't work and we've seen

26:23.160 --> 26:30.360
major a major consulting firms using AI and we've seen reports we've seen for instance major

26:30.360 --> 26:35.800
news outlets report on the casualties and the effects of the right well accident in Spain

26:35.800 --> 26:42.120
using seminar generated images and honestly the AA generated content it's getting so good

26:42.120 --> 26:49.480
that you have to browse the internet with a mentality and a focus that it's exhausting like

26:49.480 --> 26:54.840
for instance this is an image that's insanely well generated but still some users are able to

26:54.840 --> 27:01.640
catch that the perspective of the handle the suitcase is not correct so the only positive thing

27:01.640 --> 27:08.520
I think to extract from here is that we humans are still able to detect it so why don't we work

27:08.520 --> 27:15.000
together and aggregate all of this to make the internet a place in which we maybe don't have to

27:15.000 --> 27:20.360
think that that hard and spend all this energy in detecting what it's about and what it

27:20.360 --> 27:28.440
isn't so the aim of is that is that slope.com is to be able to review any of these content sources

27:28.440 --> 27:36.040
whether that be websites, applications, users on those apps or specific posts and to do so at any of

27:36.040 --> 27:43.400
these levels in a hierarchical manner so for a source you get a score or a tierl say let's say

27:43.400 --> 27:48.600
that goes from artificial content to mostly human to questionable to compromise and then slope

27:49.640 --> 27:56.520
so all the this score will be computed algorithmically from the claims that users sent so

27:57.320 --> 28:05.320
these claims for instance let's say we see this post from a user on Instagram and we spot something fishy

28:05.400 --> 28:10.760
and this case there are like very weird faces that point to this being AI in some sort of way

28:10.760 --> 28:16.520
and maybe in UC attacks and there are way too many endashes or maybe the text starts with sure

28:16.520 --> 28:22.040
let me take care about that so there are many signs of this so let's create a claim in this case

28:22.040 --> 28:26.760
for this post first of all we have to determine the impact it's not the same for an image to

28:26.760 --> 28:31.960
regenerate it when it's decorative for an article let's say but in this case this image is the

28:32.040 --> 28:39.400
core content so the impact here is big and then the confidence that or how confident are we that

28:39.400 --> 28:44.680
our claim is accurate in this case unless there's been a glitch in the matrix or they are

28:44.680 --> 28:51.880
wearing some like very weird masks where fairly confident that this is AI so after so meeting this

28:53.160 --> 29:01.560
together with our evidence image we would be computing this new tier so from this we can build

29:01.640 --> 29:07.160
an expand cool thing to have would be to be able to create a browser extension so that when

29:07.160 --> 29:14.680
users browse to sites they can be alerted when they go to a source that's very likely AI or it's compromised

29:14.680 --> 29:22.440
or it's low then from here we can also do cool stuff like track if the sources are actually

29:22.440 --> 29:27.800
using AI in the way they say they might have an AI policy but actually the claims from people

29:27.800 --> 29:34.040
prove otherwise and then if at some point this AI detectors actually work we can add their claims as

29:34.040 --> 29:41.480
well and see how they fur and of course any feedback ideas or suggestions on this is super welcome

29:41.480 --> 29:48.280
so yeah the project is being built in public and you can follow me at instagram i sorry

29:48.280 --> 30:03.720
on instagram and i'll link in or visit the website good morning and well the real good time

30:03.720 --> 30:11.880
I guess okay so I'm here to talk about open prices it's the first crowd sourced open database

30:11.960 --> 30:23.240
on prices so it's a new project from the open food community let's go so why open prices so you have

30:23.240 --> 30:28.520
quite a few issues if you're a researcher you want to track inflation, shrinkflation, stuff like this

30:28.520 --> 30:34.920
well good luck very low data you have to fetch it yourself you want to know that in the next

30:34.920 --> 30:40.760
store from first them there is a product available good luck as well there is no data either

30:41.400 --> 30:46.040
and so on and so forth you want to compare prices before buying and so on and so forth

30:46.040 --> 30:52.680
track your own consumption like what did you buy last year how much of part of organic products

30:52.680 --> 31:02.840
do you buy yourself and so on and overall everything here we're talking about requires an actual

31:02.840 --> 31:10.120
database and preferably an open one and a share one so it's more of an open diet data torque

31:10.120 --> 31:16.040
than an open source even though the full code base is of course open source so some ground

31:16.040 --> 31:21.640
words that the community behind it put at the first the beginning of the project well let's

31:21.640 --> 31:27.240
not do it alone so let's do it be part of bigger community existing one so very easy open food

31:27.240 --> 31:35.240
facts think Wikipedia of food in a way this is a digital command with a four million products at

31:35.240 --> 31:41.320
the time of I made the slides so maybe more now there is the open-slide map community as well

31:41.320 --> 31:46.680
to have like shop location also another community and you mix a bit the both and you get a project

31:46.680 --> 31:52.600
like open prices some more of the other rules as well no scrubbing this is very important if you

31:52.600 --> 31:58.920
want to don't have any legal problem with the with the project later on so that the base will be

31:58.920 --> 32:07.160
audio is audio-based so yeah a strong one so this leads to quite a few issues and it's quite

32:07.160 --> 32:13.800
quite a few challenges like we have to start from zero and we have to ask for people to go

32:13.800 --> 32:19.720
in stores or to scan very sit and and take some pictures we can see the example of pictures and so on

32:19.720 --> 32:25.000
but at the end you have a dataset that you can trust and also why as well but I didn't mention

32:25.000 --> 32:32.360
of course it's a technical challenge that's why as developer do most of the stuff so how is it going

32:32.360 --> 32:41.720
where we have mostly coverage in Europe currently we are like 170,000 I think prices on the

32:41.720 --> 32:48.600
on the database contributed by more than 2,000 contributors so you can be one it seems like a lot of

32:48.600 --> 32:55.400
prices but actually it's not a lot at all a single store has more than 20,000 prices and that was

32:55.400 --> 33:01.720
today so tomorrow the ice 20,000 more prices that might have changed because it was a weekend or

33:01.720 --> 33:08.520
for whatever reason precision is quite frankly but overall it's quite we're quite proud as a

33:08.520 --> 33:14.920
community we're quite a lot of people contributing we need more help so there is a technical

33:14.920 --> 33:20.360
stock that I won't go into but that needs some developers so join us we need people to

33:20.360 --> 33:29.000
contribute prices we need designers and so on and the door is open so I still have a minute and I will

33:29.000 --> 33:36.440
use this last minute just for you people to just search on your favorite engine for open prices

33:37.560 --> 33:38.360
you have to now

33:39.000 --> 33:41.800
thanks

33:57.560 --> 34:03.560
hello I'm Benjamin I do translations and I would like to tell you something about that to point out

34:03.560 --> 34:13.640
a few quirks we see a lot in open stores software world please do not translate names if you

34:13.640 --> 34:23.160
translate the name of your app other people will not find it even in their own system because let's say

34:23.160 --> 34:29.320
there is an app like for backing up you need to change the settings of your backup and you have to

34:29.320 --> 34:39.240
find the icon because it's not called how you download it from the from the store from flat help

34:39.880 --> 34:48.600
so do not translate names it makes people lost even in their own systems that's why we are on

34:48.600 --> 34:54.040
first them and we don't call it in multiplying which is totally different names because that would be a

34:54.040 --> 35:02.840
different place you don't have to invent new translations standards you don't have to invent new

35:02.840 --> 35:08.120
solutions for translating care product localizing care product is pretty

35:10.040 --> 35:17.720
standardized think you just can use what's already there the translation file format is basically

35:18.280 --> 35:27.960
special for any SDK any framework you have in your mind has their own translation file format

35:27.960 --> 35:34.840
you don't have to create another one you will create a lot of work for yourself and other people

35:35.480 --> 35:45.080
will be blocked away from getting translated contributing translations to your project

35:45.320 --> 35:52.120
if you make it easy for everyone involved be it developers they are contributing to your project

35:52.120 --> 36:04.040
translators that are they are craving for helping you if you said that by low with a nice tool of your

36:04.040 --> 36:11.240
choice because they are already and the translators are already probably using the tool if somebody wants

36:11.240 --> 36:16.760
to contribute to your project they are already probably contributing to other projects they didn't

36:16.760 --> 36:25.240
very well know how to do it if you just join the group if you become one of the many friendly

36:26.040 --> 36:32.200
places to contribute to you will get a lot of contributions and you will have happy users because they can

36:32.680 --> 36:44.200
say it's my software because it's my in my own language then there are outcomes if you invent

36:44.200 --> 36:49.720
words and that happens nobody knows what it is what you mean and they will switch back to English

36:50.600 --> 36:59.640
if you fill it with source it will again quiz quiz other people it will be hard make it

36:59.800 --> 37:05.240
the first thing that comes to your mind is probably usually the best translation you can use

37:06.920 --> 37:14.040
and then there is being responsible if you start something you have to look after it you should

37:14.040 --> 37:23.400
keep it up you shouldn't make a few translations get it from a few very enthusiastic contributors

37:23.400 --> 37:28.120
and then because it was too hard they stop contributing you have to build a community you have to

37:28.200 --> 37:36.120
look after them outside without that you will not have something that's long-class thing

37:37.080 --> 37:46.840
which is coming to the one of the last points make use sustainable solutions if something is there

37:46.840 --> 37:52.920
for a long time you can just use it if you invent something you it's hard to keep it up if you just

37:52.920 --> 38:01.160
use something that's available then people will happily use it it doesn't have to be

38:01.880 --> 38:09.640
weblight it can be anything else I thank you for attention if you are interested in localization

38:09.640 --> 38:13.880
we have a BOS in just few minutes

38:14.200 --> 38:31.240
Hello I presume you know what an FPGA is SOS is a system on chip you put some electronic

38:31.240 --> 38:38.680
components inside of that FPGA and reach the devices design you want this is this was a test for several

38:38.760 --> 38:50.280
technologies main technologies use is light exit way of producing SOS incorporating some peripherals

38:50.280 --> 38:59.240
that comes from from light exit and some from you then there's LVGL which is the graphic

38:59.320 --> 39:08.280
library for the LCD display yes this is the board the LCD display is not part of it you have to

39:08.280 --> 39:17.480
purchase it separately it is a few euros and the FPGA board is 30 euros it's not a lot if you think

39:17.880 --> 39:30.680
it has HDMI output Ethernet USB as the card and whatever yes it's very easy the hardware is

39:30.680 --> 39:38.200
not so complicated but this is just in a few hours I received the signals on the 40 meters band

39:38.200 --> 39:47.560
by the way you can see that I got a transmitter in the middle of the ocean on the western part of

39:47.560 --> 39:57.000
Africa yes it was an icebreaker coming from from Europe to Antarctica which was just a chance

39:57.000 --> 40:06.280
but anyway you can see global coverage yes this is the only part that needed and you can do it in a

40:06.280 --> 40:14.520
few hours there's the antenna input on the on the left left bottom side low pass filter here

40:16.120 --> 40:23.880
amplifier and the ADC there are also some components not used right now it was for tests and things like this

40:24.920 --> 40:33.080
this is the low pass filter three poles inductor is a commercial is not a wound but you can

40:33.160 --> 40:41.720
produce it by yourself yeah amplifier if you don't want to do this you can use an MMI C it is

40:41.720 --> 40:49.560
basically the same thing because topology uses two bipolar transistors in my case I change a little

40:49.560 --> 40:57.320
the resistors in order to have an higher input impedance but you're running out of time this is

40:57.720 --> 41:06.840
the SOC we have a processor Vexer is five a RISFI processor other other components provided by

41:07.480 --> 41:16.840
by LITX the biggest part is the SD card interface it understands the VFAT file system

41:18.440 --> 41:26.200
you put your RISFI code in it with LVGL then there's etherbone that's it's a sort of

41:26.440 --> 41:37.480
UDP protocol that can that can interface with the internal registers of the SOC and the other

41:37.480 --> 41:48.360
part were done by me that the SDR the ADC converter which is a one bit sigma delta ADC which uses

41:49.160 --> 42:02.200
LVDS differential input as a comparator yeah so you don't want to see this anyway it is

42:02.200 --> 42:11.960
how the SDR works we have two mixers and CO the NCO is a courtesy of going because the

42:12.040 --> 42:21.320
IP uses a not shaping much better than my you don't want to look at this it is a Hilbert filter

42:21.320 --> 42:32.200
for SSB's Reception some code I don't have the time to explain anyway this is a better ADC

42:32.200 --> 42:39.080
you don't see anyway this is some some link to why you tiob video bye

42:39.800 --> 42:41.800
thank you

42:43.320 --> 42:49.960
okay hello I'm Anton I'm from fresher from London and I have a question is someone in

42:49.960 --> 42:59.400
the audience up for some positive okay I have the answer so let's go so this is kind of like

42:59.400 --> 43:07.480
boober do we have any posts in the audience okay what is boober beaver okay correct okay so

43:07.480 --> 43:13.160
the story this is a search box this search box is actually kind of like search as you go feature

43:13.160 --> 43:21.000
so you enter some characters and then the search is refined as you type more so how's it implemented

43:21.000 --> 43:27.080
it's implemented like as a gist index in positive you would ask why not gine index because it's

43:27.080 --> 43:33.480
usually considered like more performant well I want to tell but this guy this guy is watching me so

43:33.560 --> 43:40.360
if you want to find an answer for this kind of a question find me watch out so gist index is

43:40.360 --> 43:46.600
basically a tree and this tree consists of some branches of sub trees and basically you compare

43:46.600 --> 43:53.320
and go down the tree to get the most matching subset of kind of like elements here

43:53.320 --> 43:58.840
elements is three grams what is three grams is three letters charged it actually kind of like

43:58.840 --> 44:05.720
allow you to refine your search okay hope it's not too confusing so let's try to search boober

44:06.600 --> 44:14.520
this is as you see like arm architecture so it works yeah then let's go and try to search

44:15.560 --> 44:24.360
on x86 no answer why I mean like it's a physical replica just to be clear so it's basically like

44:24.440 --> 44:32.920
the same but transfer towards the wire why it doesn't work the answer is simple let's try to show

44:32.920 --> 44:39.080
three grams the actual three grams that boober consists on our master which do you remember is

44:39.080 --> 44:51.960
on arm and it's like so and on replica which is x86 it's different why let's go to the actual

44:51.960 --> 45:01.640
C code and pg3gm model and see how the comparison function is defined well looks normal no I mean like

45:01.640 --> 45:10.680
charged charged don't know okay the answer is basically that because on x86

45:10.680 --> 45:18.440
charged without specification but default is signed and charged on arm the unsigned and imagine if you

45:18.440 --> 45:24.360
have like a unicode code point which is actually kind of like on a higher range of numbers then

45:24.360 --> 45:30.600
you basically when you search the same index on x86 for example then it would be a negative number

45:30.600 --> 45:37.400
so the sorting order would be a lot different what is the status of this so basically the last

45:37.400 --> 45:42.920
year possibly is coming into fix it must take a savada provided a patch let's talk about like how

45:43.000 --> 45:49.560
you could fix it basically you need two steps first step you just need to define what is the

45:49.560 --> 45:56.920
signness expected okay now decided it's signed charged that's it that's the first step another one

45:56.920 --> 46:01.880
what to do if you are actually having like a running cluster and now suddenly the things become

46:01.880 --> 46:08.200
more complicated but what if you just define like some flag and say like oh okay when I created this

46:08.760 --> 46:13.640
it was signed so when I transfer these bytes to the replica and replicate square it with this

46:13.640 --> 46:20.520
index so I just need to use the same signness as a master right that's exactly what was done

46:22.200 --> 46:28.520
and yeah if you want some key takeaways from these new clusters have signed charged by default

46:28.520 --> 46:33.640
for the comparison function the old cluster remembers the original signness if you do pg upgrade

46:33.720 --> 46:38.920
compatibility mod is used so you just encourage like there old clusters behave before

46:39.800 --> 46:52.680
and basically I think let's hit that concludes today's lightning light and talks

46:53.480 --> 46:58.680
we have another slot tomorrow there's still some space we have a third number submissions but

46:58.760 --> 47:05.400
they're all very serious so if anyone wants to have a slightly more amusing talk then go and

47:05.400 --> 47:10.200
look at the agenda and there's a link about why you could submit thanks everyone

