 Hallo und herzlich willkommen zu den Lightning Dogs auf der Easterhack. Ich bin Tee, ich bin hier zu moderieren und viel mehr kann ich heute auch nicht. Ich habe eine Liste aus dem Wiki abgeschrieben für den Fall, dass mein Smartphone sterben sollte, was sehr wahrscheinlich ist bei 4% Akku. Hier werden schon die ersten Vorbereitungen getroffen für den ersten Talk. Ich bin mir nie sicher bei diesen Identitätszeichen, wie man das in einen sinnvollen Satz einbauen kann, um das einfach so flüssig runterzureden. Wie formuliert man das am besten? Ja, so mit den Identitätsoperatoren am Anfang. Die 3 ist gleich, sonst habe ich die 5. Aha, das soll deine E sein. Aber da sind so viele. Ah, ich verstehe, weil da war noch eins am Ende, deswegen dachte ich. Okay, der erste Vortrag, den wir heute hören, pretty easy privacy by default for everyone, von Sva. Ich habe die... Ich habe die Slides jetzt auf Englisch, weswegen es eigentlich am liebsten wäre, ich würde die jetzt auf Englisch machen auch. Ja, okay, weil sonst kommt man immer durcheinander und macht dann totales Englisch draus. Also das ist mir schon mal passiert mit einem anderen Thema. Okay, so, then I'll do this in English. Five minutes or a bit more, right? We have enough time, okay. So, I'm not taking more than 10 minutes, I believe. So, yeah, this is coming from a session yesterday as well, where we talked about mail encryption yesterday evening in this room as well, where then just said I briefly introduced this project. So, my name is Sva and I want to tell you about pretty easy privacy. It stands at the very beginning of rolling out privacy by default for everyone. So, the name comes from PGP, pretty good privacy. So, we're trying to do pretty easy privacy. So, I make a brief intro, explain the concept, which is going to be the biggest part, brief notes about the organization, technology and the current implementations. So, the problem is that online communication is visible like a postcard and that this world has mass surveillance. What we're trying to give as a solution is to make mass encryption and then also add mass anonymization on top of that. So, that's the overview of the concept, that's six points. I directly start with the first one. So, what we want to do is to have by default encryption for the user. So, what PEP does is what the user would want to do. So, we're coming from this like CryptoParty-Cypherpunk background, where we just said at one point, why don't we like stop writing how-to guides, trying to explain the people, but instead writing user expectations into software and standards, so that just software is handling the stuff out with each other and that protocols solve the rest. So, another part is that it's easy. So, it's easy to install, easy to understand, easy to use, there's no hassle, no trainings needed and it shall also be easy for app developers to include that. So, ja, with the Outlook plugin, which is already there, it is actually pretty easy. So, people who are using Outlook right now, installing that plugin, are just using Outlook and writing emails. There's no change for them, but they're writing encrypted then. Part of the easy is that we implemented this thing, we call Trustwords. So, instead of the hexadecimal Fingerprints, we transfer them into Trustwords, so that people can easily verify the Fingerprints and we're also trying to have a sync protocol, which is not ready yet, where you can sync your keys among multiple devices. It's solved over device groups, having group keys and exchanging keys with each other and agreeing on one key, which is used then. So, you always have the first device on these pictures and then the second device can be added. So, ja, it's already in testing, so it's already there, but not ready yet. Another part of the concept is the peer-to-peer end-to-end and no centralized infrastructure. So, we're trying to do things right because we really want to roll out this widely. So, if you do crypto and it's not end-to-end, it's not crypto, if there's any centralized service included, sure, we all use Signal, but still it's somewhat of a closed service, where you have to convince your friends to actually use it. But here we're just using PGP, which hopefully everyone is starting to use. Then another part is that it's free software. Sure, if it's crypto, it has to be free software. It's GPL3 and the software is also audited. Then it shall be compatible with the multiple crypto technologies and message transports, platforms and languages. So, for example, crypto, what we do at the moment is PGP, GPGS MIME, but what will be added at one point is OTR, OMEMO, the Signal protocol and what else would be there at that point. Same for the transports, at the moment we do email, but we also want to do XMPP and also non-open standards, like Twitter, private messages and also NUNET or stuff like SMS, even. So, then the next part in the concept is the anonymity, which comes then next. So, content encryption is not everything. We all know this, that there is a problem with email still, but if you encrypt it, the metadata still is still visible and PEP encrypt the subject inline already and tries to obfuscate and encrypt the header as much as possible. Then it will be piped over NUNET later, but I'm not explaining this now because I'm already running out of time. Also skipping the summary. Organization is a company and a foundation. It's a pretty long well thought concept of having a company still being able to earn money but having a foundation owing the code so that you can also receive investor funding and the code will never get lost. Then now quickly into the architecture. In general we have this engine, which is like an API, which you can include via adapters or applications. So if you write, like if you are the owner of an SMS application on Android, you can just add the engine and then your SMS will be encrypted. So as an app developer, you don't have to care for all the crypto parts. You need to trust the foundation and the code audits and everything, but you can just include it and whenever something changes in the encryption stuff, the engine will take care of it and you as the app developer, so that's a list. Now I'm already on nine minutes. So there's Jason and Java and Python and QT adapters are all there. We're developing on all platforms. This is some more in the tech, the engine, but I'll skip this. And the current implementation is at the moment that it does openPGP and SMIME without any hassle for the user. And there is a K9 fork, which is ready to use and an Outlook plug-in add-on, which is ready to use. And once you have installed this, you can just use email encryption or your parents can use email encryption without even noticing it. So you always have an initial handshake to exchange the keys, but then that's done. Oh, and then by seven minutes, by the way, I looked at the wrong time. So now, we're going to be using Thunderbird. Any minute is going to have it with the next release, coming some times during the year. I think that we'll be aiming for most of us. Using GPG at the moment, we'll be using Thunderbird. So, it's like as a now Thunderbird user, by default, nothing changes. You'll be still then having all these advanced settings, which you have right now, but you can switch them Das ist der nächste Vortrag, dass wir uns den Bahndamm schön grünen. Danach steht PSIC Web of Trust von Grotthoff. Ich bin Mitglied im Eigenbaukombinat in Halle. Wir haben dort ein ziemlich großes Gebäude und haben festgestellt, wir haben hinter dem Gebäude noch eine alte Schutzhalde, die war komplett zugewuchert. Wir haben angefangen da das Grünzeug rauszurupen, bzw. das gelbe Krams, was man da an der Seite sieht. Diverse Büsche und Donnenhecken und so was und haben das weggeräumt. Das sieht jetzt so aus. Und weil wir beim Aufräumen festgestellt haben, dort liegen Unmengen an alten Glasscherben, irgendwelche Backsteine und Zeugs, haben wir gesagt, wenn wir dort irgendwie Grünzeug anbauen wollen, wäre es vielleicht ganz gut, wenn wir das nicht direkt im Boden machen, sondern in Hochbeten. Haben geguckt, was sieht cool aus, was gefällt uns und wir haben festgestellt, wir möchten gerne Tassen machen, also Pflanzkübel. Haben von den Nachbarn eine großzügige Reifenspende bekommen und haben im Internet eine Seite gefunden, wo daraus eben Pflanztassen gemacht wurden. Ich will jetzt kurz erklären, was wir gemacht haben und was wir daraus gelernt haben. Wir haben sie aufgeschnitten. Einmal oben hier im Kreis. Haben den Siff rauslaufen lassen, der sich da angesammelt hat. Haben versucht, die umzudrehen, weil diese untere Seite umgedreht werden muss. So geht es nicht. Schlechte Idee, wenn ihr das nachmachen wollt, bringt nichts. Es geht mit sehr viel Gewalt und bestenfalls zu dritt. Die nächste Seite muss nach oben ziehen. Der nächste muss hinten umdrehen und umwenden. Der letzte muss nach da ziehen und Reifengummi nachgeben. So sieht es aus, wenn es gewendet ist. Wartet mal ab. Ansprühen, Hänkel dran machen. Wir wollten schnell fertig werden. Deswegen haben wir einen Ast genommen, der da rum lag und das ist genau angesprüht. Das ist die Version mit einem Gartenschlauch, den wir zu einem Hänkel gemacht haben. Den haben wir angeschraubt. Und dann noch mit angesprüht. Haben aus einer alten Gardine oder Tischdecke oder sowas, die als Muster genommen haben, das besprüht. Hier ist noch mal, wenn ihr sowas nachmachen wollt, müsst ihr halt gucken, dass das Muster wieder passt. Aber das ist logisch zu einer schönen Tasse gehörten Goldrand. So sieht das Ding dann fertig aus, wenn es ein Goldrand bekommen hat. Und so sieht das Teil jetzt fertig aus. Was wir gelernt haben, dieses Tutorial-Video auf YouTube, funktioniert nicht, weil der Gummi, den die dort verwendet hat, war, weiß ich nicht, war ein Witz. Wir haben normale Autoreifen gehabt und das geht gar nicht. Da musst du schon zu dritt ran, die hat es alleine gemacht. Wir haben festgestellt, Sprayfarben gibt es zwei Qualitäten, Kunstharz und Acryl. Uns ist auf halber Strecke dann die Acrylfarbe, die wir hatten, ausgegangen. Das heißt, wir hatten dann auf einmal eine andere Farbqualität, weswegen das Muster auch nicht so super geworden ist. Kunstharz hält wohl länger, ist aber scheiße, wenn man diese Decke nass macht, damit sie einfach auf den Material pappt. Und wenn du damit Kunstharzfarbe drübersprüßt, dann wird das Muster einfach scheiße. Es funktioniert mit Acrylfarbe richtig, richtig gut. Aber eben mit dieser Kunstharzfarbe nicht, das macht morgens. Kunstharz hält wohl länger, ich weiß nicht, ob es sinnvoller wäre, dann die Tasse mit Kunstharz zu gründieren. Das ist das, was man üblicherweise im Baumarkt kriegt. Und wenn ich in Sprayerladen kriege, dann gibt es da Acrylfarbe. Genau. Wir haben für die Goldkante Klopapier genommen, weil wir dachten, wenn man das nass macht, dann hält es gut und dann macht es eine gerade Kante. Das hat sich aufgelöst beim Abmachen. Also deswegen die Schössidee. Und wenn ihr das nachmachen wollt, dann bedenkt Autoreifen sind flexibel, die Farbe ist es nicht. Also fertig machen, irgendwo hinstellen, nie wieder bewegen, weil sonst die Farbe einfach ablettert. Genau, das war's. Fertig. Als nächstes PSIC Web of Trust oder PSIC von Grothof. Der Vortrag danach wäre netz.dg von... Danke. Haben wir wild? Wir haben wild. Okay. Ich habe gefragt, ob ich etwas über Grunet sage. Ich dachte, ich würde etwas über was wir in der Zukunft haben, um Projekte wie PEP oder Autocrypt zu unterstützen. Ich denke, ich hoffe, dass die meisten von euch die Idee der Web of Trust ist. Wenn ich in Groupie G bin und ich verify, ist das Ihr Key korrekt? Ich habe es nicht gezeichnet. Ich habe es nicht gezeichnet. Ich might rely on somebody else, to have checked it. So, for example, Bob says, these are a bunch of other users in the network. These guys have certified that Alice has some key. And if Bob trusts enough of these helpers, then he might say, okay, that must be Alice's key. So, we have to be able to do all that we will support. Now, the problem with the Web of Trust as this implementing Groupie G is we basically upload all of the edges here to the big internet for everybody to see. And, well, guess, now everybody has a record of who has met whom where, possibly. And we don't like that, right? So we would like to be able to say, well, there are enough people that have certified Alice's key and so what we have developed is a protocol but not an implementation yet to do this. So, the basic setup, as Bob says, he has a couple of people he trusts and people have signed Alice. But we do not want to expose the signatures. And we assume that Alice has collected these signatures ahead of time but has, of course, promised the people that have certified her to not ever tell anybody who has certified her. All right? That's the key part. Okay, so we want to compute the set of the intersection between the people who have certified Alice and the people who Bob trusts. All right? We assume Sybil Crypto. We have a private key CI. We have a generator G where we can do G to the CI to get a public key out of it. And we're going to start with Alice picking some ephemeral TA und Bob picking some ephemeral TB to blind their values. So, I'm going to start with a simple strawman protocol. Suppose we have Alice has her set of people she trusts. So, what she will do is she will take for every key she has in her set the key to the TA thereby blinding it, sends that to Bob. Bob takes his set, raises them to the TB, takes the set he received from Alice, raises it also to the TB goes back and then Alice raises Bob's set also to the TA and now according to Diffie Hellman well we can see if they match. All right? High level idea clear? Of course this does not work. Otherwise I wouldn't have called a strawman. Let me explain to you why it doesn't work. Suppose Bob has gotten two people into the set of individuals Alice trusts and so he knows actually Alice raises them to TA sorry should be TA here he can see that this relationship is still there and then he can use effectively linear combinations of one of them to produce fake matches in the set. So, it's not robust. Okay, so what do we do for real? Well, we assume some security parameter Kappa because we can see we're going to use a cut and choose protocol we're going to use a bunch of blinding factors TBI so Kappa of those and we need a hashing operation so we're going to have if we write a little tick here that means we hash every element of the set and return the set of everything hashed. Okay? So, then the protocol starts with Alice again her public keys in her set then Bob does the blinding as before just Kappa times with the Kappa different values but doesn't send her back the blinded ones but the blinded and hashed ones and resorted them we shuffled them, right? then Alice says, okay, well I need to check if you did the operation correctly so I'm going to give you a subset of Kappa entries and for the ones that I picked you're going to reveal to me the blinding factor so I can check that you did the the blinding correctly and with that she can then compute the overlap again and this time be sure that Bob did not do any cheating with probability 2 to the Kappa now little problem we also need to make sure that Bob doesn't put keys into her set they have to be signed to be certified that this is really his key and it turns out there is a blinding blind signature protocol a signature protocol by Boney which is compatible with this blinding so if you use this signature protocol kind of the signature you can do the same operation as you do to the blinding of the public key and the signature will still be valid okay Details in the paper I hope somebody implements this put this into AutoCrypt, put this into PEP and then we can have a web of trust verification of public keys without having a public web of trust thank you hast du es ja sogar in 5 Minuten statt 10 Minuten geschafft? ja ja ja, kann man sicher also Folien Englisch Vortrag Schwäbisch es geht um Borg-Backup und ein griechischer User hat mal gemeint zu Ethik nicht zu Borg, also zum Vorgänger er hätte den Holy Grail of Backup Software gefunden, könnte dann selber beurteilen ob das stimmt zur Geschichte Borg ist ein Falk von Ethik Ethik ist also quasi so das Parent Project ist auch nicht neu der Original Auto hat nur etwas wenig Ethik und Werbung gemacht, deshalb kennen es wahrscheinlich die meisten trotzdem nicht ist ungefähr 5 Jahre alt gewesen als wir es gefolgt haben und das Problem, weshalb wir es überhaupt gefolgt haben, die Entwicklung ist halt nur recht langsam vorangegangen und es gab ein Haufen Pull Request aber nix ist gemärscht worden also generell war nicht sehr offen für neue Developer und deshalb haben wir halt nach so ein paar Monaten dann beschlossen okay, wir machen halt ein Falk auch wenn es ein bisschen Stress macht vielleicht und dann haben wir es halt gefolgt und seitdem geht eigentlich alles viel schneller und es gibt jetzt auch so eine kleine Community von ein paar Entwicklern, es ist also nicht nur einer da drin rumhackt, sondern immerhin so eine Hand voll Leute und wir haben also diese ganzen Pull Request wo da so rumlagen haben wir alle gemärscht, also die wo halt brauchbar waren und hunderte von Bugs gefixt und auch wenn jemand mitmachen will, darf er jetzt gerne mitmachen wir reviewen also auch neue Pull Request und das ganze geht jetzt also viel schneller voran wie vorher kurz zu den Features es ist also relativ einfach zu benutzen, das Backup Tool es ist kein Monster Tool wo man erst 2 Wochen Schulung machen muss die Besonderheit an dem Tool ist, dass es dedupliziert aber es tut nicht nur komplette Dateien betrachten sondern es tut die Dateien praktisch in Brocken zu hacken also genannte Chunks und dann werden diese kleineren Brocken quasi dedupliziert, also wenn sich im Bereich von der Datei ändert aber der komplette Rest der Datei bleibt gleich, dann muss er halt nur praktisch ein paar neue Chunks generieren aber dann halt nicht die komplette Datei noch mal abspeichern wir haben auch Kompressionen drin sowohl sehr schnelle Kompressionen LZ4 ist was super schnelles Z-Lib ist so ein bisschen mittlere Geschwindigkeit und LZMA ist eine Kompression, wir haben auch Verschlüsselung AES im Counter Modus und wir haben nicht nur Verschlüsselung sondern wir haben sogar authenticated Encryption also es wird sichergestellt dass keiner irgendwo in der Krypto irgendwelche Bits rumdreht ist also noch ein HMAC obendrauf das Backend ist wie so eine Art Key-Values da und wir können also entweder direkt in ein Filesystem reinspeichern was irgendwie halt gemountet ist oder wir können über SSH mit einem Remote-Ball-Geräten über so ein Remote Procedure-Protokoll das Ganze ist unter BSD-License wir haben recht gute Dokumentationen inzwischen Plattform-Support ist ganz gut also Linux, BSD Cygwin, Mac OS X NetBSD OpenBSD also das ist ziemlich alles was man findet, außer Native Windows das ist momentan noch in Arbeit also wenn sich da jemand dafür interessiert momentan ist nur ein Entwickler der an Windows arbeitet da könnte man noch ein paar mehr brauchen wir machen auch recht spezielle Sachen so Extended Attributes und ACLs und BSD-Flex also so alle Besonderheiten wo es irgendwie gibt man kann Backups mounten und einfach dann über ein Fuse-Dataise-System reingucken und sich ein paar Dateien rausholen das Ganze ist auf Python 3.4-Basis und für die Geschwindigkeitsrelevanten Sachen haben wir Siphons und C im Einsatz wir benutzen Trevi-CI und die Test-Coverage ist auch ganz ordentlich so irgendwie 80-90% zu der D-Duplizierung noch ein paar Worte viele von euch benutzen ja wahrscheinlich Ausync irgendwie mit Hardlings zusammen und damit kann man ja auch schon so ein bisschen D-Duplizieren aber eines der Probleme die man dann typischerweise hat ich habe eine virtuelle Maschinen-Image mit irgendwie Windows drin die ist 20 GB groß und sobald ich die VM anstarrt ändert sich die Datei und ich habe sofort die komplette Datei wieder auf den Backup drauf bei Borg ist es viel besser weil er halt nur die Unterschiede speichern muss also wenn sich da nun ein bisschen was ändert habe ich nicht nochmal 20 GB extra das gleiche gilt auch wenn ich LV Snapshots mache oder wenn ich komplette physikalische Platten das Block-Device-Backup-Tool genauso wenn ich ein riesen Verzeichnis habe mit Bildern ich habe das irgendwie umbenennen auf Bilder 2016 das macht mir meine D-Duplizierung nicht kaputt weil er sich nicht an den Namen orientiert sondern wirklich an den Inhalten und die D-Duplizierung die ich kriege ist sowohl also die innere D-Duplizierung wenn ich Dateien doppelt habe als auch die historische weil ja historisch die meisten Dateien immer wieder die gleichen sind als auch wenn ich Dateien von Maschine auf Maschine B verschieb die D-Duplizierung funktioniert dann immer noch wie es ins gleiche Repository Backup-Tool funktionieren tut es über einen Rolling-Hash wir tun also wie so eine Art Fenster über die Datei drüberschieben und immer wenn der Hash auf den letzten paar bezahlt quasi in den Null-Stelle hat dann schneiden wir praktisch die Datei das heißt diese Schnittstellen sind nicht an bestimmten Positionen die jetzt ein bestimmtes Raster darstellen sondern wir orientieren uns an den Daten selber das heißt wenn ihr Einfügungen habt in der Datei oder Bereiche rausgelöscht werden aus der Datei bleiben die meisten Chunks trotzdem die gleichen und dadurch kriegt man da eigentlich eine recht gute D-Duplizierung hin man kann diese diversen Parameter auch konfigurieren eine Besonderheit die noch drin ist dieser Chunk wird geseedet mit einem Random Value das heißt man kann auch kein Fingerprinting nachher auf den Längen machen um festzustellen ob jemand eine Datei hat abgespeichert wird es in den Key-Values und die Storage ID ist entweder der Hash oder die HMAC wenn man die Krypto an hat wir haben momentan eine 1.0 Release draußen jetzt gibt es gerade 1.0.10 können da also benutzen funktioniert vielleicht nicht uralte Versionen nehmen weil wir haben halt immer wieder Backfixes und teilweise auch Securityfixes gemacht demnächst wird es eine 1.1 Version geben wo wir so ein paar neue Features noch drin haben wie zum Beispiel Differenzen berechnen zwischen zwei Fullback-Ups und auch im Code haben wir so diverses aufgeräumt und für den Sommer haben wir jetzt noch vor die Krypto noch deutlich zu verbessern zum Beispiel ISGCM Modus weil man dann halt in einem Pass sowohl die encryption als auch die Authentication berechnen kann seitdem haben wir da halt immer 2 Passes die Keys wollen wir ein bisschen flexibler gestalten und auch dass man verschiedene Cyphersweets verwenden kann ebenfalls wollen wir noch Parallelisierung machen momentan ist es noch Single-Freaded das ist von der Performance noch nicht ganz optimal aber wir haben da jetzt also vor vielleicht auf 0 MQ-Basis das Ganze mit mehreren Fretz zu parallelisieren ich habe aber schon einen Versuch gemacht und habe so diverse Race Conditions gefunden also den nächsten Versuch werde ich etwas vorsichtiger machen dass da weniger Probleme gibt wenn ihr helfen wollt wenn ihr Python-Sython C könnt einfach beim Coden helfen ihr könnt auch wenn ihr im Security-Bereich Engagierzeiten Security-Review machen Performance-Tests macht ein Blog-Post vergleicht es mit irgendwelchem anderen Kram also wir könnten ein bisschen mehr Publicity gebrauchen weil es ist irgendwie zu wenig bekannt eigentlich jeder kennt Arsync jeder kennt irgendwie TAR und so aber diese moderneren Tools die sind noch nicht so bekannt die können wir mit einfach auf GitHub einwerfen wenn jemand Geld investieren will man kann über Bounty-Source auch mit Geldsponsoren und entweder bestimmte Tickets Sponsoren oder einfach so allgemeine Donation draufschmeißen hilft also auch liegt auf GitHub rum Organisation heißt Borg-Backups gibt auch Free-Noten-Channel ihr könnt mich auch in der Frühstücks-Gegend dort finden ihr seid sehr am T-Shirt wie viel Zeit haben wir noch? ok ich habe nicht noch ein paar Bonus-Lites wir unterstützen übrigens OpenSSL 1.1 obwohl das so ein bisschen anders war haben wir eingebaut OpenSSL benutzen wir übrigens nur für die Krypto-Premitive also halt AIS an sich also wir machen nichts kompliziertes mit OpenSSL also braucht ihr keine Bedenken haben OpenSSL benutzt automatisch die Hardware-Beschleunigung wenn ihr also so eine Intel-CPU habt die das in Hardware kann dann geht es doch recht zügig die Authentication die wir obendrauf machen ist allerdings nicht Hardware-Beschleunigung das ist halt so ein HMAC der in Software gerechnet wird aber wir werden in der 1.1 Version dann Blake2B haben das ist doch deutlich zügiger wie so SHA256 genau so dieser GCM-Modus das ist etwas schneller Random benutzen wir übrigens von DEVU Random also so eine der besseren Quellen haben wir nicht selber gestrickt und als Tipp falls ihr irgendwas mit Hashes macht benutzt SHA512 nicht SHA256 das ist nämlich schneller 64 Bit oder noch besser Blake2B nehmen das ist noch schneller Kompression wenn ihr das Borg ausprobiert bitte nicht Performance-Tests das macht gar keinen Sinn weil das verbrennt CPU-Zyklen ohne Ende benutzt einfach LZ4 das komprimiert auch so ein bisschen und ist viel schneller werden wir übrigens in 1.1 auch für die Vorhersage der Komprimierbarkeit verwenden weil das einfach so schnell ist dass man das einfach kurz drauf schmeißen kann mit Recreate kann man Repos auch neu komprimieren zu dem Junking wird 1.1 auch über Recreate eine Funktion anbieten wie man Reechunken kann also wenn man sich die Junking-Parameter anders überlegt was ihr beachten müsst wenn ihr die Junker-Parameter so unterwegs ändert alte Chunks wird natürlich dadurch nicht geändert die bleiben dann erst mal wie sie sind und die Detoblizierung ist übrigens auf Basis von SHA256 also nicht auf Basis von diesem Rolling-Hash weil der ist nicht kryptografisch und dann wird das SHA256 auf diesen geschnittenen Brocken verwendet wir haben eine eigene Hashtable in C, da gäbe es auch noch Forschungs- und Messbedarf das haben wir deshalb gemacht weil wir einfach Speichereffizient benutzen müssen weil ihr könnt euch hier vorstellen wenn ihr Zick-Tera-Bytes an Daten in Brocken zähakt und die irgendwo reinspeichert ihr müsst nachher die ganzen Brocken ja wissen was hab ich und was hab ich nicht und wir haben jeweils 32 bytes pro Junk und die müssen wir irgendwie effizient checken können haben wir diesen Junk schon oder haben wir noch nicht und deshalb halt eigene Hashtabelle wird gerade auch dran gearbeitet vielleicht demnächst mit Robinhood-Hashing da könnte man allerdings noch ein bisschen Performance-Messungen gebrauchen wir haben übrigens einen sehr schnellen Modus wie man wenn man so das zweite Backup macht quasi gleichgebliebene Dateien überspringen kann die M-Time auf die Fallgrößen auf die I-Node-Number und wenn das alles gleichgeblieben ist geht er davon aus die Datei ist identisch und das geht dann sehr schnell Borg macht übrigens immer voll Backups das ist kein inkrementelles Backup-System es fühlt sich nur so an weil es halt so schnell ist ja und das kommt halt durch diese paar Tricks ja ok, bin soweit durch wenn ihr noch Fragen habt oder Anregungen findet mich ja das erzählt uns der Philipp stellt uns der Philipp 3 nicht miteinander zusammenhängend Nifty Tools vor und der letzte Vortrag der soweit im Wikistand zu Beginn dieser Session ist von Stitch SBA Terrain Trailer ist der da? du kommst da nach sehr schön, ist an hallo hallo ok, herzlich willkommen zum Kurzvertrag Nifty Tools Nummer 1 sobald hier die Leitung mal funktioniert an, aus, an, aus fang gleich nochmal an ja, da will ich auch nicht kannst du mal die Aufbildung mal klar wie auch schon die Herzstahl da aufnimmt du bist leid rühle mal umschalten der schaltet doch mehr hin und her ja du bist leid ok, mach gleich mal auf eine andere Aufbildung mal 720 ich versuch's zu erwischen, winden wir das jetzt ja sehr gut so, herzlich willkommen zum Vortrag Nifty Tools Nummer 1 VCSH jeder der Unix Linux, MacOS egal benutzt der liebt in der Regel seine Dot Files man stellt sich den WI ein seine Shell den ganzen Kram wird schön in so Dot Files abgelegt und irgendwie will man die mal sauber aufheben und am besten versionieren es kommt mir irgendwann sehr schnell auf die Idee na, da benutze ich doch Git dafür weil das kann ich überall hin pushen da hab ich eine Historie alles richtig schön, das Blöde ist bloß irgendwann will ich ja vielleicht auf einem Rechner nur meine WI-Config Files nur meine Git-Config Files aber beispielsweise nicht meine IMAX Settings und da hilft ein Tool das heißt VCSH und was das macht, das ist einfach ein Wrapper um Git außen rum und das ermöglicht mir ein Git Repository in meinem Home Verzeichnis zu verwenden, obwohl die Daten davon eigentlich woanders liegen klingt jetzt erstmal wahnsinnig kompliziert es wird total easy zu benutzen weil ich muss das Ganze einfach nur benutzen indem ich schreibe VCSH mein Projektname und dann mein klassisches Git Kommando um so ein Projekt anzulegen sag ich einfach einmal naja VCSH init und zum Beispiel hier WIM für meine WI Settings fügt dann die Sachen hinzu dann sag ich eben VCSH WIM add tilde.wim.ac und dann eben VCSH write Git Ignore WIM das ist das einzige was ich noch zusätzlich machen muss weil er sonst mein ganzes Heim Verzeichnis natürlich als Bestandteil dieses Repositories ansieht und dann kann ich das Ding ganz normal als Git benutzen wie benutze ich das Ganze wenn ich jetzt ganz viele Repositories hab auf einmal, dann gibt es so ein Rapper nochmal um ich hab ganz viele Repositories rum der MyRepos heißt und das war es auch schon, Dankeschön okay, NiftyTools Runde 2 ein kleines Tool namens Do the Backup ist ein kleiner naja Backup Rapper Files, MySQL, LDAP Git und ein paar andere Werkzeuge noch mehr findet man einfach auf GitHub und XZfastX Do the Backup kann man einfach mit pip installieren ist ein Python 3 Projekt und alles was ich dazu brauche ums zu benutzen ist so ein dolles Config File, ganz normal Jammel kopiert man sich am besten so ein Beispiel und darin kann man eben beschreiben dass man zum Beispiel Files mittels synchronisiert haben möchte mit diesem Modus Month wird auch automatisch pro Tag des Monats ein Verzeichnis angelegt wenn sich Files nicht geändert haben sind sie einfach auf den vorherigen Tag gehardlinked und irgendwann habe ich einfach so ein Verzeichnis von 0 bis Beispielsweise 31 und da sind immer die Vollstände drin ohne dass ich unbedingt mehr Platz brauch für die Files die sich nicht geändert haben das Ganze fügt dann einfach in einem und schau ab und zu mal in meine Logs ob ich den Fehler habe und auch das war es wieder und weil es so schön war ein relativ großes Tool wieder für alle die es nicht kennen Nifty Tool Nummer 3 MicroPython und zwar gibt es inzwischen und es kennen wahrscheinlich hier drin sehr viele aber alle die sich bis jetzt gescheut haben vor ja embedded Entwicklung ja es gibt inzwischen so kleine Microcontroller die nicht nur wahnsinnig billig sind sondern auch WLAN direkt an Bord haben ich hänge sehr einfach wie ein USB-Anrechner ich brauche keine spezielle Hardware keine spezielle Software mehr ich kann so ein Ding einfach in die Ecke schmeißen und gut ist jetzt scheut man sich aber vielleicht noch davor so C-Programmieren und so sehr low level aber da gibt es jetzt neben Lua auch noch die Möglichkeit Python auf diesen kleinen Microcontrollern auszuführen insbesondere der ESP826 und der ESP32 ja immer eine sehr prominente und beliebte Modelle und das Ganze kriege ich einfach an den Start in dem ich ein Python-Tool benutzt das ESP-Tool gibt den Port an unter dem sich das Gerätchen hier an meinem USB an meinem Rechner meldet schreibt dann das rundgeladene Image von der MicroPython Homepage drauf und dann kann ich schon direkt beispielsweise mit Screen mich auf das Gerät drauf verbinden und habe eine Rappel also so ein ganz normales Python geben Sie Ihren Code ein und wenn ich länger entwickeln will will ich natürlich alles schön in dem File ablegen, das kann ich lokal machen und dann auch mit diesem AMpy-Tool beispielsweise direkt aufs Gerät rüber kopieren und auch ausführen wenn ich das Ganze einmal richtig eingestellt habe und das Ding kriegt Strom führt da einfach die Main.py aus und ich kann total easy mit Python lange tun wo ich normalerweise immer sagen muss da packe ich dann C aus und dann muss ich mich mit Arduino beschäftigen und ähnliches das ist ganz normaler Python Code es gibt schon jede Menge Lips um kleine Displays anzusprechen um Sensoren auszulesen mit hundertzeilen Code kann man den Display ansprechen den Temperatur-Sensor auslesen wir Internet Nachrichten raus schicken wie die Temperaturverlauf um die Temperatur auszuprobieren Micro-Python, sehr coole Sache vielen Dank letzter Vortrag von Stitch SBA, Terran, Trailer und Schaar 1 ist nur gut für Dekoration das Computer hat auch Audio wir werden es jetzt finden ah, ok ich kann sprechen aber ich habe 45 Minuten meiner Zeit gebraucht um ein Video zu schaffen und das ist der erste Teil das ist der Terran der Outdoor Hacker Camp Schaar 2017 das ist dieses Jahr und es sollte jetzt Musik haben ich weiß nicht ob es funktioniert ich muss auf die Connector lehnen compared to the CCC Camp actually these camps are families of each other rented this whole terrain for all of us to have a good time this summer so there will be many fields as you can see here these camps date back to 1989 then it started with a few people like few hundred and it grew and it grew and now there is also CCC camps and EMF Camp in England and this year the Dutch are well asked to do this are willing to do this they are absolutely crazy but happy to do so what you see now is the scouting this is the terrain that scouting saved for over 30 years and they bought it they are very fast very diligent I know there is something new this will be the first Hacker Camp, big Hacker Camp with a harbour you can go by boat if you want to so yes this is basically the terrain of the next Dutch Hacker Conference it is on August 4 to 8 five days there will be three tracks over a hundred speakers and of course everybody here is invited to come and have a good time that was part one so part two also the creative commons music is awesome part two so sha one the well known hash function is broken for a few weeks now so we can hear you but they made it practical and we designed the design and the colors based on the sha one hash function so what you see here are six colors based on the sha one hash of sha and 11.036 spaces and then 2017 so the last four digits of the hash was also 2017 and I can show you this if I find the mouse come on hello nice colors and it works very simple I hope it's readable so if you make a sha one hash of something you get these 160 bits and it translates into hexadecimal and you can split it up into html color codes which is done here and there was a brilliant person who wrote a code that correct or that read some data from memory and was not allowed to publish it and what the person did was to create a flag in the exactly the same color as the code and well then that was a nice workaround to still publish the dvd decryption code so good this is a small change basically everybody can create their own design for their villages and for the projects and everything if you register on the wiki you get your own user page with your own flag so my name is then stitch but I write it a little bit different because I like the color better something like this so that's what you see also on the oh ja, there's no internet for me no internet for me here we go so all the pages all have nice colors that's because the title makes up the background colors and if you go to villages for example also different colors let's pick out a nice village emf for example and they entered the specific name electromagnetic field and they get these colors ja, one is now only good for decoration please make good use of this thank you mea vorträge haben wir nicht in wiki stehen gibt's noch irgendwelche Leute die spontan sagen ich hab gerade zufällig eine Präsentation offen und noch Zeit jolo gut dann nicht vielen Dank an alle Vortragenden und habt noch viel Spaß auf dem Event hier ihr seid hier jetzt durch ihr dürft gehen wenn ihr wollt