Debtags.debian.net reloaded!
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 84 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/40001 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Year | 2012 |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 201268 / 84
1
2
3
5
7
9
11
13
14
15
16
17
18
20
23
24
26
27
28
30
32
37
39
41
44
46
47
50
51
52
53
55
57
58
63
68
70
73
75
79
80
81
84
00:00
Physical systemAbelian categoryDistribution (mathematics)RobotGoodness of fitCategory of beingDependent and independent variablesTouchscreenPhysical systemMorley's categoricity theoremBitWebsitePoint (geometry)Distribution (mathematics)Slide ruleLecture/ConferenceComputer animation
01:02
Abelian categoryPhysical systemDistribution (mathematics)RobotPhysical systemCategory of beingFormal languageGroup actionRepresentation (politics)Computer animation
01:41
Category of beingElectronic mailing listFormal languageEmailOrder (biology)Different (Kate Ryan album)Revision controlInterpreter (computing)CASE <Informatik>Multiplication signSoftware developerType theoryFocus (optics)Centralizer and normalizerLecture/Conference
02:45
Abelian categoryPhysical systemDistribution (mathematics)RobotContext awarenessComputer-generated imageryScripting languageInterface (computing)Front and back endsDemonRead-only memoryLibrary (computing)WebsiteDerivation (linguistics)Type theoryDistribution (mathematics)BitGroup actionDigital rights managementWikiDatabaseDemonUser interfaceFront and back endsCodeRoboticsPerfect groupSpeech synthesisComputer animation
04:40
Front and back endsDemonRead-only memoryData structureFunction (mathematics)Public domainLatent heatElectric currentComputer hardwareKeyboard shortcutWeb pagePhysical systemSoftwareCAN busGame theoryConvex hullMoment (mathematics)QuicksortWebsitePhysical systemElectronic mailing listGroup actionComputer animationSource codeXML
06:10
Shared memoryLibrary (computing)Kernel (computing)Execution unitHill differential equationCodeCommunications protocolFirst-person shooterGame theoryGroup actionStrategy gameAdventure gameWhiteboardNetwork topologyComputer chessPlastikkarteSuite (music)Graphical user interfaceoutputLaptopSanitary sewerEmbedded systemServer (computing)Point cloudWeb pageSoftwareCross-site scriptingDemonMiniDiscLibrary (computing)Semantics (computer science)Web browserView (database)Point cloudSet (mathematics)Physical systemTask (computing)BitPersonal digital assistantConfiguration managementMobile WebTablet computerAdditionGame controllerFile archiverProof theoryRight angleSoftwareServer (computing)Latent heatRepository (publishing)Computer programmingGame theoryShared memoryWebsite
09:09
Web browserHypertextHTTP cookieInternet forumFlash memoryText editorMaxima and minimaScalar fieldExecution unitComputer programmingWeb browserText editorInheritance (object-oriented programming)Combinational logicCartesian coordinate systemHypertextSource code
10:01
HypercubeText editorHost Identity ProtocolHypertextOrdinary differential equationIntrusion detection systemWeb browser1 (number)Maxima and minimaFatou-MengeFluxDuality (mathematics)Convex hullMaizeComputer programmingMathematicsDistribution (mathematics)Physical systemInterface (computing)Library (computing)AlgorithmBackupSet (mathematics)Source code
11:53
Level (video gaming)Drill commandsHost Identity ProtocolConvex hullFamilyHydraulic jumpText editorHypercubeWeb browserUsabilityNetwork topologyPatch (Unix)Web pagePhysical systemView (database)Digital rights managementInformationMoving averageInterface (computing)Point (geometry)Software maintenanceFlow separationBuildingStructural loadSinc functionHTTP cookieTouch typingWeb pageElectronic mailing listPatch (Unix)Link (knot theory)Lecture/ConferenceSource code
13:51
Shared memoryConvex hullLibrary (computing)1 (number)Virtual machineQuery languageMathematicsComputer programmingData miningText editorPoint cloudView (database)Point (geometry)Different (Kate Ryan album)Utility softwareMoving averagePrototypeLink (knot theory)Fitness functionCategory of beingSource code
14:55
Data structureFunction (mathematics)Public domainLatent heatComputer hardwareElectric currentCategory of beingGame theoryWebsiteFitness functionLine (geometry)First-person shooterPoint (geometry)Lecture/ConferenceComputer animation
15:34
Data structureFunction (mathematics)Public domainLatent heatElectric currentComputer hardwareSound effectSemantics (computer science)Scaling (geometry)Descriptive statisticsCategory of beingUtility softwarePay televisionPointer (computer programming)Morley's categoricity theoremPoint (geometry)Arithmetic meanDigital rights managementSheaf (mathematics)Computer programmingInterface (computing)Physical systemComputer hardwareComputer animation
16:59
Virtual machineLatent heatCodeComputer hardwareDigital rights managementCategory of beingLimit (category theory)DVD-RekorderPublic domainInstallation artLecture/Conference
17:48
Convex hullQuery languageElectric currentMaxima and minimaExecution unitHill differential equationSummierbarkeitGame theoryType theoryDigital rights managementElectronic mailing listVideo gameRadical (chemistry)Interface (computing)Source codeProgram flowchart
18:40
Electric currentSystem administratorLatent heatPrototypeDigital rights managementTask (computing)Operating systemInterface (computing)Descriptive statisticsSet (mathematics)
19:34
InformationDatabaseFunctional (mathematics)Subject indexingType theoryComputer fileComputer programmingWebsitePoint (geometry)Lecture/Conference
20:32
Point cloudStatisticsKeyboard shortcutText editorLine (geometry)MaizeWeb pageBitStatisticsRoboticsNumberComputer animation
21:22
Physical systemRoboticsWebsiteLibrary (computing)QuicksortHeuristic
22:36
DatabaseAreaGraph (mathematics)Matching (graph theory)NumberText editorExecution unitHand fanProxy serverHill differential equationElectronic mailing listStructural loadNumberOutlierText editorDescriptive statisticsBitPhysical systemComputer animationSource code
24:03
SupremumText editorExecution unitProgrammable read-only memoryWeb pageKeyboard shortcutError correction modelProcess (computing)Internet service providerPatch (Unix)BitMedical imagingDescriptive statisticsSource code
25:25
Execution unitLemma (mathematics)Macro (computer science)Video gameLipschitz-StetigkeitOpen sourceCodeFirst-person shooterServer (computing)Information managementKernel (computing)Chi-squared distributionCompilation albumModule (mathematics)Mach's principlePlastikkarteDynamic random-access memoryDevice driverVideoconferencingElectronic visual displayNetwork topologyKey (cryptography)Text editorWeb browserHTTP cookieMereologyFlow separationPoint (geometry)Computer hardwareVideoconferencingSource codeComputer animation
27:11
Patch (Unix)UsabilityEmailRevision controlBinary fileWebsiteHTTP cookieGreatest elementRevision controlElectronic mailing listBackupPattern languageComputer animation
28:11
Patch (Unix)HypertextWeb pageLink (knot theory)Mathematics
28:51
Moment of inertiaArithmetic meanMathematicsWeb browserRevision controlFile archiverLecture/ConferenceSource codeXML
29:46
Revision controlEmailBinary fileDefault (computer science)TrailCore dumpCASE <Informatik>Multiplication signInteractive televisionOcean currentGroup actionMessage passingPhysical systemSoftware maintenanceFile archiverFile Transfer ProtocolWeightRevision controlPatch (Unix)Electronic mailing listSource codeComputer animation
31:04
Web pagePrice indexDatabaseConvex hullUsabilityDistribution (mathematics)SicElectronic mailing listDistribution (mathematics)Flow separationWeb pageSubject indexingSoftware maintenanceSource code
31:49
DemonWeb pageDistribution (mathematics)Convex hullPolygonFunction (mathematics)Formal grammarComputer hardwareMaxima and minimaInterface (computing)Hardy spaceEmailEmulationLinear programmingDialectPrice indexDistribution (mathematics)CuboidLoginInteractive kioskBootingPasswordDigital rights managementGame controllerTouchscreenCASE <Informatik>WindowInterface (computing)Web browserElectronic visual displayWeb pagePhysical systemTraffic reportingStructural loadElectronic mailing listQuicksortVirtual machineSource code
34:17
Electronic mailing listSoftware maintenanceScripting languageOpen sourceWebsitePublic domainDatabaseWeb pageProgrammable read-only memoryCache (computing)PlastikkarteJava appletNetwork topologyIdentity managementString (computer science)Patch (Unix)Set (mathematics)BitDistribution (mathematics)View (database)DatabaseCodeDescriptive statisticsSource codeComputer filePatch (Unix)Process (computing)Link (knot theory)Web browserRevision controlText editorMatching (graph theory)Category of beingWeb pageWeb 2.0Level (video gaming)MathematicsGraphical user interfaceFluid staticsComputer animationSource code
36:21
SpacetimePatch (Unix)Web pageString (computer science)MathematicsBackupSource codeXMLLecture/Conference
37:29
Virtual machineInstallation artScripting languageCodeFront and back endsUniform resource locatorHypermediaRootDatabaseSynchronizationFrequencyBackupCache (computing)Server (computing)Computer fileConfiguration spaceDistribution (mathematics)BitDatabaseModule (mathematics)Descriptive statisticsFreewareLocal ringProcedural programmingMereologyMoment (mathematics)InformationServer (computing)File formatSource code
39:02
DatabaseSynchronizationServer (computing)FrequencyBackupRootCache (computing)Scripting languagePatch (Unix)Price indexVotingOpen sourceInformationFlagSpecial unitary groupSoftware maintenanceFile formatSubject indexingDistribution (mathematics)WikiSoftware maintenanceInformationOpen sourceException handlingStability theoryScripting languageComputer animation
40:25
Scripting languageSoftware maintenanceOpen sourceWebsitePublic domainCartesian coordinate systemWebsiteDifferent (Kate Ryan album)ComputerWeb pageFiber bundleMusical ensembleDot productXMLComputer animation
41:23
Distribution (mathematics)DatabaseFile formatInformationOpen sourceDistribution (mathematics)Installation artDifferent (Kate Ryan album)MathematicsQueue (abstract data type)Patch (Unix)Revision controlComputer animationLecture/Conference
42:11
Wechselseitige InformationWeb pageString (computer science)Patch (Unix)DatabaseMultiplication signLimit (category theory)Physical systemCategory of beingComputer fileGame theoryPoint (geometry)Right angleEmailMoment (mathematics)Cartesian coordinate systemRevision controlMenu (computing)Field (computer science)MathematicsSoftware maintenancePatch (Unix)FreewareComputer animationLecture/ConferenceSource codeXMLProgram flowchart
45:48
Patch (Unix)String (computer science)Web pageSign (mathematics)Set (mathematics)Cartesian coordinate systemBitPhysical systemGraphical user interfaceComputer programmingUtility softwareSource codeComputer animation
46:34
SoftwareSign (mathematics)String (computer science)Multiplication signCartesian coordinate systemFormal languageWebsitePoint (geometry)Lecture/Conference
48:48
Inclusion mapCache (computing)Computer-generated imageryText editorComputer programTerm (mathematics)Process (computing)Spectrum (functional analysis)File viewerInterface (computing)CloningVector spaceWeb pageOpen sourceComputer fileData modelPixelFile formatPhysical systemData bufferSynchronizationInteractive televisionDigital filterDatabaseSequenceMathematical analysisContent (media)LaptopMultiplication signSubject indexingBoolean algebraComputer animation
Transcript: English(auto-generated)
00:01
Good morning Raise your hand if you are awake almost everybody good Raise your hand if you are not a Debian person Excellent, I'd like to have a few
00:23
So good morning, I'm Erica Vini Debian developer and I'm Kind of responsible for that tags, which is the categories Categorization system for Debian packages Okay, the my screen still shows the first slide confusing when you just woke up and haven't had breakfast
00:49
So, okay So the point of the talk is that I've recently Rewritten the the whole website that manages the categorization of packages And I'd like to talk about it because I think there's interesting bits and bits that can also be reused by other distributions
01:07
So that takes use the category system for them in packages about nine years old now It's faceted classification Which means that categories are grouped in in in in facets
01:21
Which is like groups of categories and each facet is homogeneous. Like all the categories in a facet are Represent the same kind of concept For example, there is a facet for What language the package is implemented in so this is implemented in C C++ and there is a facet for
01:48
What Language does this do software development so that the categories are like the same but in one case You know, you could have something written in C to to work with pearl
02:02
Like the pearl interpreter And then so by grouping categories in in different facets it things make a lot more sense It's a controlled vocabulary so it's not If you are used to tags in like delicious, that's folks on them. You can type whatever you want as a tag
02:24
But we went for a controlled vocabulary So there is a central vocabulary and in order to have a new tag you send an email to mailing list and then proposing the tag and then it will be committed in some version control system and yeah, and then you have it and
02:41
It's currently 614 tags in 31 facets. So it's rather extensive and and expressive The classification is anonymous. So the data is collected in a wiki like way But then there's a manual review because with There are tags which it's nice to give them semantic value
03:03
Like if you say something is a shared library, then you don't want to show it in a package manager but since you want to do something based on tags then you want to have a bit of a review to avoid rubbish going in the database and Firefox disappearing from the package managers because it's not
03:24
Because it's somebody tagged it as a shared library. Oh, there's no Firefox in Debian actually management anyway Okay, and It tags the whole Debian ecosystem or we're getting there. It's currently Debian and Ubuntu
03:43
and Perfect derivative from Debian, but we are now integrating Debian derivative sensors to have any Debian derivative distribution involved And it currently knows all of about well of 48,000 and so packages There's also robots tagging things, but I'll show that later
04:05
So yeah, there's a web interface that tries to make things as easy as possible so when you go and categorize packages you have in suggestions and we're going to see those later and the website I Wrote like five or six years ago was had a custom C++ back-end demon for speech that was queried by
04:27
CGI's and I could like somebody said oh, it would be nice to have that feature in the website and I was like Yeah, it would be nice to It's not a way. I'm going to do it on this code base. And so I've
04:41
written a lot using Stuff that's Rather standard at the moment than five years from now people say oh you were using tag Oh silly you but well at the moment that's really nice to work on So it's not it's possible to implement all sort of features on it
05:01
Okay, so maybe the introduction to depthx is getting a bit long and I should probably show the website
05:26
Okay, not that impressive
05:53
Okay, this is a list of facets all the groups of tags that we have so we start having an idea of
06:01
What we are talking about So this is like one of the main facets which is a role the role of a package in the system It's designed so that each package should have one tag from it and These are the tags. Well, it doesn't fit but
06:24
That's the idea. So you have programs and Shared like development libraries shared libraries and it should be kind of familiar. It's the usual stuff you find in a in a package repository
06:41
Now just having this These tags is enough to do quite a bit of semantical stuff like you can hide shared libraries or You can say I'm not a developer or
07:05
Then we have something which is a bit more Task oriented So there are sets of tags for specific uses like this doesn't apply to the whole
07:22
Archive, but it's very nice to provide a view of the games in Debian a new addition. I would like to welcome is the system which is
07:41
What kind of system this software is specific for so like a personal information manager for tablets Would be like system mobile and then a configuration management for cloud systems then system cloud and it's quite nice because it also allows you to see
08:00
the packages see how Broadly scoped is the package archive So, you know you can go from embedded control devices mobile systems and servers and So it's also nice to have a way to kind of improve the perception of
08:26
The packages themselves Okay So that's a browser of the vocabulary We can search For I don't know browser. I
08:46
made a little package search system and it's got the Faceted navigation on the right which you may be familiar from shopping websites. This is like a proof of concept
09:05
and I do want programs only. Thank you. And there you have it. There's also Possibility of filtering for like show me only desktop applications and that's just done what by a combination of tags
09:24
That is not a program So we click on it Not there We click on it and there's the classification editor and And
09:42
Browser we get with hypertext capability. It does not sound like a program although it does have a screenshot All that's complicated. So maybe it is a program Although I would like to talk with the person that packaged it. Do we have any pearl team people?
10:00
No, probably not Okay Never mind if we decide it's not the program. We just remove program and do submit And that's it what yeah anybody can do that It's Well, let's remove it whatever there's one change change to submit, uh-huh
10:32
Okay, we removed it don't Yeah, you can go ahead and clear the whole data set I have backups
10:47
So the system will suggest you tags it does suggest program but probably because it had program so it was like Used to be program. Maybe it's not bad idea
11:00
It mentions DK So it's a testicle that kind of makes sense and it's also suggest development library Which does makes a lot of sense? It should also say oh There's a chance that a whole program is missing probably because it says that
11:26
It's got an interface So it's got the next interface so it chances are it's a program It makes sense There are statistical algorithms that analyze the tag distribution and give you feedback like the shopping
11:43
Algorithm things like you both this you may want to buy that as well It's exactly the same thing that runs on tires and you thought it like that. Maybe you want that tag, too Okay, there's pop-ups with more information about tags and it's also
12:06
Roll documentation is rarely used in this way because you don't have usually a documentation with an X interface probably So remove tag roll documentation. Thank you And it says well you need to have some role for it
12:24
So it does have this smart way of guiding you through tagging. It's limited But it does get you to cover the basis like and and I can use this to give Hints to People who are tagging out of my experience
12:42
like if I want to set the target that every package must have a role tag, then I just had a hint for it to check and And it works Oh loads of suggestions here Okay, never mind well we'll get in touch with the maintainer of it. Oh, there's no link for the maintainer
13:06
It's funny. Also you are anonymous to the system, but since it correlates Edits together via a cookie I can see my patch history No big deal but and
13:25
And since there's loads of checks then I can build to do lists with packages that that fail those checks And these are sorted by popularity. So you see the obvious stuff that needs to be done first I try to make several entry points for people that want to help with the tagging to actually go in the site and
13:46
Start doing something. There's a getting started page That has several links to Places where you could do something there's also a tag cloud which are so 90s and it's also so ugly but
14:02
it was like it's a prototype this one and you could say yes, I want a whole program and No, I don't want you TVT's and Then you get packages and and you can navigate like that
14:21
And if you think there's packages that don't fit you can go to Tag editor and you can just remove them Oh, sorry Sorry, you can just remove edit the tags. Like there's not a program. That's not a program
14:40
Okay, never mind They are programs. So It mostly it's experiments of mine to to try to tag from different points of view Sometimes it's nice to take a package and say these are the categories sometime Sometimes it's nice to to say show me all
15:02
first-person shooting games and then see if there's something that doesn't fit and Having a flexible site now allows me to do all these kind of experiments quite easily
15:28
so Users of that tags that the whole point was back in 2003 that there were discussions on they've been developing Maybe it's like oh, we should stop accepting new packages because they've been is too big. I
15:41
Was like no Let's just make that be unable to cope with more packages and So one way one idea was to have a categorization system that could scale because the previous one was like only one section per package and It didn't scale that well It did have a very nice side effect that you can move pointers details away from package descriptions
16:06
it's like if you see a package whose description is this is a Utility to with the GTK interface to do something then you can just take away all that and say this is a program to do something and
16:22
Then all the detail this kind of technical details that can be represented by categories Then you just do it by categories. Those are shown in package managers. So there's no point in the world nobody Generally you're not interested in what UI toolkit this have but if you are it's in the categories and you don't clutter
16:43
descriptions with unneeded details or generally unneeded details There's some semantic aspects of tags then hide and interesting packages is quite useful Recently, there's been experiments or for linking the hardware categories to limited hardware
17:05
Detection so you could have a feature like you want to install this package But you do not have a DVD burner. Are you sure you want to continue? or I Have a DVD burner show me packages that can use it or something like that
17:23
It's an experiment but it's nice I find it interesting to Attach two categories some code that can kind of do or guess something about them There can be domain specific package managers
17:41
Let's see if I have go play installed. I've recently reinstalled my It's like a package manager for games which shows you games and you can choose what type of game you like to play and what interface well and
18:13
I want to play text-based interactive games and you have a list so I can on the terminal I can play
18:21
these kind of games or There's something wrong here, oh It was both there's something wrong going on there's more interfaces there's like 3d interface at least I'm not going to debug it now, but it's a general idea and
18:42
To play with things you could do the same thing and say go admin and Have the same but system administration tools Obviously you'd like to change the interface the screenshot isn't that useful
19:00
Maybe you want to give more descriptions of packages or something But it's it's kind of a prototype to hint at the idea of having task specific package managers The their surprise of in what you can do with task specific stuff that we recently found out that
19:21
Debian is like the most widespread operating system for neurosurgeons and there's like a Debian booth at the world's leading neuroscience conference and And it's very big there and like what? But yeah make sense and
19:41
You know that could be catered for Okay, and then as we've seen search functions that allow you to say yes, I want programs and yes I want them graphical and I want to work with this kind of file you can
20:02
I did something Well, there's the mime type database for that but you could Until we extract the mime information from packages in an index You could do something that points at the file detects the mime type and show all the packages that can open it
20:25
Okay, that's skip it late So a tour of the website We've seen a bit Okay
20:42
Their statistics we can see
21:05
Okay, the numbers are similar to what I've been showing before it does mention tagged by human and tagged by robots and this is a So those are tagged by
21:22
Humans and those are tagged by robots. Yes. No, yes That Means when a package is first seen by the site It's marked with a tag that that says this hasn't been reviewed by a human yet
21:45
And if you are a human and review it, then you're supposed to take that tag out So So the system can tell whether it's something that's under viewed by nobody or not Things that no human has touched yet
22:02
There's all sort of heuristics that are taxed to them like look at the package name and say well that looks like a per library Tag it per library something like that. So there is a basic of tagging Throughout the system, although it may not be perfect Once you remove the marker, then the robots will respect the higher intelligence and not touch the package anymore
22:28
And So they won't mess up the tagging after you reviewed it. Hopefully it's a higher intelligence, but Generally, it is. I mean system seems to work and And that's like the number of tags per package
22:42
And so you got like loads of packages with few tags and then very few packages with loads of tags Never mind. Not that useful except as a that's the list of Packages with the outliers packages with loads of tags and squid happens to have loads of tags
23:09
Anyway and That's all that the the automatic checks that are run on the system and but let's go back to the editor
23:27
Squid is a bit insane. I'm not sure it should Well, most of these things actually applies Anyway, there's the suggested tags and there's like all tags then you can
23:45
Tag that way You can search tags so and
24:02
You can search pretty freely those don't need to be keywords in the tag descriptions because I did something weird There's load images and it did say works with images It's it's a bit contrived the way it works, but it's really quite nice to
24:24
To find tags you need by just saying I want something kind of like that Because I cannot pretend that people actually know all those 700 tags. I need to provide ways For people to search them or for the tags to be suggested to them
24:52
And then I can do patch review which is the process to
25:06
Bring those submissions into Debian
25:22
Okay, these are the paths that have been submitted there's an example of somebody that doesn't do doesn't use Cookies in the browser Which I find annoying from this side of the
25:40
Barricade because then I have like Several edits of mdb tools when it's obviously it's obviously the same person and so it could have been shown like this So that's somebody who's been like tagging all their packages and and I can easily review it And say yeah, that makes sense. That makes sense generally. Yeah
26:05
Definitely looks like a sane person to me. No need to see them all Why it's not hardware video that one It looks like it is actually so yeah
26:25
But it seems to have that he or she seems to have a point there I don't know enough to be able to tell so I'll just leave it like that and let somebody else fix it
26:41
There's the password submit and then yeah, and then I can say submit somewhere And that should go in Debian after a couple of days
27:06
Eventually, so the workflow is actually this one Using cookies they are grouped by the same person. So basically when you review you can just make a judgment like
27:23
Sane submission or a person that was trying the website by clicking every button That's the two kinds of submissions we get and if it's saying then you just say okay and then Once that's reviewed it gets committed into version control system. So I get historical backups
27:46
And then eventually uploaded to Debian
28:01
Yeah, it will be at the bottom of the list of stuff to review There should be actually We removed the Lib TK pod Perl, that's the edit I did
28:22
And I can say no that person's totally insane There you go, so I can actually amend the changes before submitting them. Well, you can edit it again
28:45
yeah, there's no undo but There's an undo before sending So before you send
29:04
Let's go mess up Firefox. So there is Firefox in Debian after all. No, it could be in Ubuntu So I've edited something and it says there's three changes to submit Actually, no, it is a web browser and it does work with HTML and it's okay. Okay, then nevermind
29:33
so currently the review tags go into the archive and then And then
29:42
Packages are only tracked by name. So every version of that package will get those tags It works 95% of the times there's all the cases in which it breaks so The current tags of chromium do not actually apply to Debian stable
30:02
because or git It used to be called git core because there were such things as GNU interactive tools In the past that was called git and so there's been a name transition and so It doesn't always work to track stuff by name only
30:22
You'd need to track them by version, but it gets too messy So the idea is to allow tags to be overridden inside packages But that doesn't work yet There's a new workflow proposed, but it hasn't been discussed much. It's just an idea of
30:42
I'm trying to move to a way in which a package maintainer can Override stuff from that text Debian net if it makes sense But yeah that there's going to be more of that possibly in Debian lists once I managed to talk it through with FTP masters and
31:02
Provide some patch to the archive system and so on There's QA To-do list that we have seen we haven't seen the one per maintainer
31:25
So I maintain packages and so I have a page for myself with the packages. I maintain and to-do list. Oh You bastard go and do some work So it Indexes several distributions, but I can say I don't feel like tagging anything for Ubuntu today
31:44
And there you go. I hide all the Ubuntu packages and I also hide the Debian packages and Only there is a package, but that's a glitch that is going to be fixed There's going to be so many more distributions in this box and I have to figure out how to lay them out
32:05
I think there's about 50 in the Debian derivative census That's going to be interesting And so yeah, these are all my packages and then One that makes sense to
32:24
tag Aha this is an example. Can you read this is an example of a case where?
32:46
The hints are wrong That's a display manager Which just logs you in it doesn't ask who you are it's configured like for kiosk machines You could just say well when the system boots open a next session as this user without asking any password. I'm a kiosk
33:07
I don't people can't log in via You know a touch screen and then they don't need to went that it only runs a browser or it only runs the control interface for Industrial devices and it's that kind of display manager
33:23
So it is a display manager, but it doesn't have a UI toolkit because it doesn't open any window And in that case that the suggestion is reasonable but in this case wrong That there's loads of corner cases and that's where being an intelligent human makes sense. I can choose to ignore that
33:42
Whereas if it were automatically tagged then the system would just add it and it wouldn't be correct Because it wouldn't know which UI toolkit to use but anyway, so personal page That page is linked from
34:00
Like QA dot Debian the org and all the other per package report pages So one can have a look at the sort of personal to-do list in Debian and then there's also going to be tags
34:21
and then there's a bit of internals like It does export the whole tag set There's links these are just download links and
34:42
You can download all the under view tags and all the review tags the whole data set. It's available for download There is well these are like used by the editor and so on the vocabulary is a static file It's a static JavaScript file with all the descriptions
35:00
so I load it in the tag editor so browsers can cache it and Description don't need to be loaded over and over again Certainly things like that These are the the code with all the checks that are done that all the hints you get obviously There's also the source code to download over here
35:23
And so Using these links you can just set up Chrome jobs that upload that download the new version of the database and you can get the review categories for Ubuntu for example or any other distribution that's covered by this
35:41
Or you could just download this convert it via distro match This is a tool that can map package names across distributions And then you get tags for your non Debian style distribution as well. There is a bit of a web API
36:07
Which is used by the various pages One this one and it's documented a bit So there's like an API to submit patches to attack changes and that shows how to do it
36:25
And it will apply saying if the change was okay if it changed something and Old and there's also other API's for searching packages, but I haven't published them yet because
36:41
They're not that stable But I intend to do so and these API's can be called from anywhere there's a cross-origin resource sharing headers so that you have a any JavaScript from everywhere can call these and send patches and Score all the data. No problem. There's backups. I won't go that much into the internals
37:46
There's a bit of internal I'd like to show Dependencies It's free Python packages Python Debian is can be pure Python So there's no particularly that mean specific dependencies, it's Python
38:05
jungle sapien and a module to read some YAML like files It there's a configuration filed That you used us to put parts
38:24
And That's it you can run the server There is a procedure that downloads package information Since it needs to cover Debian Ubuntu and so on it does not make any use of the local apt database
38:41
For example because well, there's no up to database that can cover all Debian and Ubuntu And so it's it's quite easy I mean, it's definitely possible to pour this to another distribution You just need to export your package names and descriptions at the moment
39:02
It will import them in a yaml like format that's used by Debian It's not that hard to change the exporter if if you just don't want to convert it and want to read your native format and That's about it update data
39:38
update data Downloads package information source package information to see who are the maintainers?
39:46
Popularity contest is optional you can do without a Seed of stable tags, which is also optional and the vocabulary information and then runs the maintenance script that will index everything and
40:05
Update a PTX up in index that will also index everything and that that can also be run from other distributions, there's a wiki page showing how to have an X up in index of packages for non Debian distributions
40:22
And Also the theme the The graphical theme of the website is a pluggable Django application. I created the generic Django up
40:41
for the Debian website layout and so everything else just Derives from it and doesn't do any particular layout themselves. So it's rather easy to just switch that With a page that has a different branding If
41:01
Someone from Ubuntu would like to do the work of doing the branding then I wouldn't mind doing something that Says that if that says if it comes as that takes dot Ubuntu comm then Show different branding that can easily be done jungle. So I support for it. So yeah, that's
41:30
That's what you can do if you want to set this up on for non Debian distributions I'm happy to assist. I'm not happy to do the work for you. Obviously because I can't manage that takes installations for everyone, but
41:45
Yeah, I can definitely assist and then if you set this up we can trade submissions submissions are there's a patch queue of stuff that is submitted and I can just send you my Reviewed changes you can send me yours or I can just download your new database and make a difference from the previous version
42:06
and So yeah, things are tradable and shareable and stealable And that's the work I've done on my Christmas holiday, so I think I deserve a substantial applause
42:31
There should be limited time for questions
42:49
Okay, how many the question is how many reviewers do we have for the Debian version of that takes and are we looking for volunteers? So to submit patches to submit tags like the anonymous submissions
43:04
It's difficult to count them Possibly every maintainer can just take care of their own packages to review submissions then it's two of us at the moment I'm not yet looking for volunteers because I would like first to
43:22
To allow people interested in one field to review only the changes for that field I'd like to to have the the Debian game team Be able to review the game submissions then not have to bother with other things But I don't have that yet, so I'm not reaching out I can manage loan actually it's
43:47
Less work than these spamming your inbox So you can do it once a week, and and you be spam your inbox every day, so
44:02
Yeah, so the question is
44:31
Can I Search for tags using like after No, I didn't understand the question then sorry yes, oh
44:49
Okay, I get it right It's a good point so the what the purpose is to be able like if if a package contains four binary
45:01
executable files that to tag each one indeed because they could be different how do you oh So they could show in the application menu I tried reaching out to the free desktop years ago saying well, there's also those categories and
45:24
There's there's a category system in dot desktop files, and that's been standardized and There is already a category system for application menus
45:47
so these already categorized and I didn't sign that I may or may not like it, but it's already a standard so I Don't think nobody would listen to me if I propose something else. There's also talk about removing these kind of menus
46:06
anyway, so No idea. I did make something experimental that shows binary executable available in the system by the tags of the packages they are in it's obviously bit fuzzy when these things are different like a program that a
46:26
package that provides main application and set of utilities obviously The two have totally different tags one can be a command line tool and one can be a GUI application, but One can split the package if that becomes a problem or the no
46:45
Am I running out of time somebody should throw a shoe to me if There was a strain sign there. Yeah
47:05
Okay there it's Technically easy to do It hasn't been done yet There's Very good people that intend to do it
47:21
The point is that Tags have a silly name, which you don't want to show users like this one This one could just be used as a handle You don't translate this Everything else but then that's a string you show to users and so technically it's trivial to translate
47:48
But then I don't know much About get text so I'm not that good at doing it myself Other people may not know much about that text and we haven't yet Got together with enough
48:02
Common push to do it. But yeah, it's possible. I'm not sure I'm going to translate the website Probably doesn't make much sense to translate this website, but it does make sense to translate it for Applications definitely like you do want software center or whatever to show
48:24
Those kind of strings in your language because that software is translated there is yes
49:26
You can do something like
49:45
It does have Boolean things and it's fast. It uses a local. It's based on the local Which does index
50:10
Okay, I guess