Billede af showet Decoding Love

Decoding Love

Podcast af Decoding Love

engelsk

Videnskab & teknologi

Begrænset tilbud

2 måneder kun 19 kr.

Derefter 99 kr. / månedOpsig når som helst.

  • 20 lydbogstimer pr. måned
  • Podcasts kun på Podimo
  • Gratis podcasts
Kom i gang

Læs mere Decoding Love

Learn how to build automation - from the basics up to reliable pipelines. Learn to solve data automation challenges with code 🚀

Alle episoder

5 episoder

episode Knowledge management cover

Knowledge management

Welcome again to the next episode of Decoding Love. Hey, I have Dina here with me. And today is again a special series. On the weekend we were talking to some friends about knowledge management.(...) And also Dina had questions of how to efficiently store information. To retrieve it to easily find it again. So let's dive right in. One of the tools that can help with managing knowledge is a software that is called Obsidian. So what is so particularly interesting about this software is that it allows to connect the sort of missing pieces between nodes. And unlike Notion or a lot of other productivity software does not force you or lock you into a specific vendor. So this is just plain text files with a little bit of structure that you can have air gap on the specific systems that you want, where you want to have it.The interesting thing is that Obsidian works heavily with this graph and allows you to connect the nodes.(...) And yeah, we will experience together in a minute how this works. And the best part about it is I have set up the template so you can follow along easily with us and store your knowledge in the future in a similar way. So what we see here on the screen. Is the software that is named Obsidian. You have here on the left side possibility to make it small and few. The files in a couple of different ways, in particular of a nice mode of searching. And you can later explore the graph, but we will come to this in a minute. So, first of all, how can you create a new node? Well,(...) usually if you want to create nodes in a structured way, you might want to store meeting nodes somewhere somehow. And you might have daily nodes.(...) Hier, du siehst die daily node section. Es hat ein paar Template Fragen, also du kannst natürlich die Template wie du siehst. Und das wird auch zu generieren. Interessant, die node, die wir haben, oder die wir heute geöffnet haben, sind also direkt Teil dieser Überflügel. So, wir geben jetzt eine Meetingnode. So verdeckt, Also, da ist eine Possibilti zu Pollack, so below, um, und einfach Kontrolle an zuiance. Meeting wateringless sp 드�io, um Nunstira, mit dem Bild kommen wir zu unseren ersten Also was das hier undクローボ ang~! Er ist ein bisschen un discrete. Aber ich glaube, wir...'s(...) Ich也 customise es als Klang-Gebü flop. Inhtaking wie, wenn du objetos command. Pay..(...) Du getest diese Voile, wo du den und hier wollen wir eine neue Person adden. Denn Dina war selektiert, die neue Person Dina hat bereits geplant. Wir können hier alle Details, die ich über diese Person storeb, adden. Und interessant ist, dass ein paar Konnexionen automatisch geplant sind. Dina hat zum Beispiel in der Meeting, die wir gerade geplant haben, hier zu beantragen. Also, um die Konnexion einfach zu connecten, die Knowledge in den richtigen Spanien, wir können, ja, arbeiten smarter. Und wie geht es Ihnen? Wir können hier ein bisschen der Query-Language, die ich automatisch hier automatisch vorbereiten, um die Details zu connecten. Aber man kann sie customisieren, wie Sie sieben. Wir können hier auch eine neue Person adden, Georg. Wieder, wir gehen zu dieser QuickAdd-Screen, machen eine neue Person, und hier gehen wir. Für das Zeichen des Examples, ich werde wieder skipen, mit additionen Details, aber ihr könnt es dir vorstellen, ein traditioneller CRM System, wo ihr viele Artikel wie ihr wollt, und ihr könnt auch mehr adden. Und ihr könnt auch die Template ändern, wenn ihr eine bestimmte Artikel wie ihr hier wollt. Und wieder, seht ihr den Link hier unten. So far, so gut. Also, wir können hier einen Agenda haben, und sagen Introduction to Obsidian, und ja, wir können hier einen bestimmten Noten machen. Aber es geht um eine Meeting-Einheit, nicht nur mit einer Diskussion und keinen Ausgleich, aber hoffentlich eine bestimmte Füße, Tatsache oder eine Entscheidung. Also, wenn ihr die Tatsache schreibt, dann machen wir eine Tatsache, und wir können die Tatsache schicken. Aber was auch mehr interessant ist, ist, dass wir eine Tatsache,(...) dass eine Tatsache, die eine bestimmte Füße ist,(...) eigentlich habe ich ein Projekt, namens Tests, und wenn ich das Tests zu bemerken habe,(...) in dem Namen des Tasches, dann ist es ein Tracht.(...) Also, wenn wir das Projekt öffnen, dann schaue ich hier, weil ich vergessen, wie ich das Foto namens. Also, ihr seht, wie man es finden kann. Es ist ein Testsprojekt, und das ist der Tag, der für ihn gebraucht ist.(...) Und wie ihr es sehen könnt, kommen wir dazu los. Also, erstmal will mir dieetaanter surgeries von TS & gibt ja manchmal dass Line, die dem Wiegel stecken. Wir haben damit illusionsgazanzenen, DNA,(...) Bei den individuellen Noten können Sie die Task Radviol هنا direkt genau vorne sehen. Sie können damit viel parkeden nach 아까 und mit verzentraliser Seiten Sachberater, damit sie wie Nature Deevorgang biedern. Im ersten Signal required an der du willst.(...) Also, wenn wir hier zurückkommen und sagen, dass wir diesen Task etwas tun, ist etwas, was Dina soll tun. Okay, ich werde etwas tun. Du wirst sehen, dass Dina hier etwas tun würde. Und das Interessante ist, wenn wir sagen, es ist fertig und wir schauen es hier auf und die Überflügel. Also, wir sehen, dass es hier fertig war. Wir sehen, dass es hier fertig war.(...) Und wenn wir zurückkommen, sehen wir, dass es hier fertig war. Das ist eine sehr breite Überflügel-Session. Wir haben auch andere Typen von Noten. Wir haben eine Linkliste, weil wir manchmal in den Literaturen, wo wir etwas auf die Web oder Books, die du mit Kollegen mitbekommen willst, finden. Und ich habe auch eine andere Typen, die called Ideas. Ein paar coole Ideas, die du in deinem Zukunft versuchen willst, um dein Projektarbeit zu verbessern oder etwas deiner eigenen. Ich finde es wirklich gut, um Ideas zu halten, als auch. Das Geste von Obsidian ist, dass es so viele Plugins gibt. Wir haben auch einige in Aktion gesehen, aber es gibt so viele mehr, also AI und NLM Plugins, und hemisphere dazu, aber da gibt es schon mal eine weniger off scutische neue�서 in fourth and fifth. Und bevor ich dir den Graph zeigen, ich denke, da ist etwas, was vielleicht von dir interessant sein könnte. Denn letzte Zeit habe ich mich erinnert, dass du einen Herausforderung hattest, wenn du ein paar custom Charts für Powerpoint daraus holst. Das wäre auch sehr schwierig, wenn du die Handdrucker endest.(...) Und ich glaube, da sind bessere Optionen. Also, in dem Fall, du könntest einen X-Kali-Druck machen, einen neuen Druck. Also, was ist X-Kali-Druck? Also, was ist X-Kali-Druck? Das ist ein Plug-in, aber das ist eigentlich etwas für Druck. Also, du kannst Boxen, Zerkel, sie connecten,(...) einen Arrow machen, du kannst die Colour schön schämen und sagen, dieser ist ein bisschen blüht. Was ist die Unterschiede zwischen diesem und, beispielsweise Powerpoint oder der Druck? (...) Also, eine Unterschiede ist, dass du diese Code in dem Background und Chat mit LLM helfen kannst, um dich zu drucken. Also, es ist sehr viel mehr konvenient als drucken. Wie viel Programmationslangen musst du da wissen? Nein, die LLM wird es für dich ziemlich viel machen. Und was anderes, ich finde es viel, viel schneller, hier zu drucken. Und unlike Powerpoint, where you have a locking on a per-page basis,(...) here locking, good. So, if you have Powerpoint open on SharePoint and two people editing the same Powerpoint, you cannot actually collaborate on the same page on the objects and move them together. Like Powerpoint will lock them, so you cannot actually select and move them. But here in X-Kali-Druck, you can in real time actually collaborate and draw this thing together with colleagues. And the interesting thing is that the X-Kali-Druck instance that you're looking at here(...) is not only isolated. So you can install a certain list of plugins that allow you to create a canvas that can be shared via a link with colleagues. And then you can store the X-Kali-Druck painting on your laptop, but you can share the process of painting with your colleagues in real time. And I think this is super powerful. Und once you're finished, you can always export an image and add it to Powerpoint if you want to have it. It's already nice, I see that it's interactive, not like in Powerpoint, that it doesn't move with it, with the object, that's nice. Yes. (...) And I personally really like this hand-drawn style, so you can select how curvy or edgy it is. And here is more, that's what you know from Powerpoint, and this is more sketched. I personally really like this sketched style. Anyways, what I wanted to show you was a graph. So let's check out where we find the graph. It's actually here in the left side with the graph view. So let's open the graph view, and you can see already, we have the nodes that are part of our graph here. It's just a pretty empty world, so there's not so much going on, not so much structure to discover,(...) but you can shade and style the nodes as per your specific node types, or filter out by specific tags or keywords, so even if you're storing massive amounts of knowledge, it should be quite easy to discover that again. This is sort of a very short overview of what I wanted to give you, Dina,(...) but what you can see here is storing pretty much a customized CRM system with some additional customer relationship management system. So, so you can, I mean, this is about storing these contacts, so colleagues or people that you're interacting with, the meeting nodes and the additional node types, like the daily nodes, the ideas and the links. If you have any questions, please feel free to ask me in the comments below. One question, like when I have reached a state, when I have a lot of information stored here, if I don't specifically note somewhere that this is what I want to see in the graph and this please don't include, then in this graph everything will be included, what's stored. Yes. And at each specific point, you can put whether you want to, can you make many different graphs with one, for example, showing everything you have stored in one you show specific areas. So, you can basically filter this graph and search for specific patterns or tags in the graph. So, when you take notes and then add, for example, tags, that means give a little bit of structure to your notes, you can use this structure to filter the information later on. Is there anything else you would like to know? How to make it.(...) This I can look into myself. Thanks. Maybe you want to share whether this is an open source program or ... Yes, I think this is a good question. So, how can you make it? Well, you can use obsidian in any way you want.(...) Let me bring it back here on the screen. I have created a template. In these templates, my is exactly what you have seen here on the screen. I hope it is gonna be useful for you. It has all of these specific template types, plugins and also shortcuts set up for you. So, you can just get started right away. There are a couple of instructions on how to clone and then basically get this template working for you. To answer Dina's question, so do you have to pay anything?(...) So, the template that I provide here is free of charge. You can just use it however you like.(...) If you like it, maybe send me a star so I know that you like it. And the software itself is obsidian. You can use it for free, for private computers. But if you want to use it for work after some evaluation period, the license would request to pay for the software. But I personally think it's totally worth it. And especially with the broadband community and these plugins around AI, drawing and so much more, you can really achieve a lot. And all these nodes can be version controlled by one main or another. Like if you're more technical, you might want to control them via Git. But you could put it also onto SharePoint, but I personally would recommend to either sync via Git or via the paid obsidian sync service. So version controlled means where you want to share it with other people? If you want to work with nodes and with multiple people, let's say a notebook, like in the house name of Microsoft OneNote, where you can share a notebook with others, you would have to either use Git for sharing the nodes or the paid obsidian sync service. That's possible. And there even, I believe, some real-time collaboration tools and plugins available, but you would have to check them out for yourself.

1. apr. 2025 - 18 min
episode No-Code data collection cover

No-Code data collection

Welcome back to Decoding Love. It's been a while, but we're working on more content. Today is a special edition. So we will pause for a minute where we have sort of stayed. We will pause with basics. And today will be a special edition focused on data entry and how you can do this in a scalable, efficient way. And then, in one of the next editions, we will continue with the basics. I like your smile. So let's get right to it. Let me pull up the example that I have prepared here. And actually zoom in and make this much, much bigger. Dina,(...) I also need you here. You recently approached me that you faced some issues with your data entry. So that you have certain things that you care about, but that you are not finding them in an easily accessible way. For example, you were talking about tasks that are spread across many Excel sheets.(...) But you might have also machines or big projects or just back office processes where you want to record some information about certain items.(...) And what I have prepared here for you today is something that can actually help you solve such topics rather easily. So let's jump right in. We have a move us over into the corner and make this here big. What are we looking at here? Actually, let's go to the other corner so you can see it better. Well, what we're looking at here is something that is called a no code, low code database tool or backend as a server solution. Everyone of you probably has heard of Microsoft Office and some people know Microsoft Access for database. And a lot of people with an IT background are a bit scared of access because people build applications in there that are very hard to eventually transition to a more proper IT process or proper database. Imagine you had something like access,(...) but with the means of in the background interacting with a proper database and also giving you a proper machine readable API on the fly without any extra work. How would this be? Well, let's just start here. So, Dina, I ask you now to just operate this. It's actually the first time Dina is taking a look at this interface. So bear with us. It will be fun. And I will ask you to help me to join me here in building actually your new application from zero to hero in a couple of minutes.(...) So let's get started. Please take the mouse and click create collection. So for starters, we will create collection.(...) Do you want to do something with tasks or do you have? I actually had one idea. Machines that we want to collect here. Machines. I had one idea. I don't know whether it's possible or whether it makes sense. But for example, if many people are working on one, I'd say Excel. Yeah, one idea. And if I create a version for myself, because it might be that I make the most amendments and then other colleagues are working on the other version where they just put their comments in our scheme, what we currently have. And then we get another version from some external with their comments. So they are scattered. Would this apply for that? Yeah, we can try this.(...) So let's give it a name.(...) If you want to collect tasks, we will probably name these tasks.(...) Maybe it is nicer to give it lowercase letters, but both would work. Looks nice. And yeah, from a database perspective, like we still have some matter, but you will have an easier life later if you select this option here instead. Because of this particular task, particular application, or there is another reason I don't need to understand it now. We need to understand it now. But basically, if you want to create a copy or backup clone of this data that is stored in the system, it's much easier to just get the unique values instead of an incrementing value of the state of the increment stored in the database. But that is nothing we have to care about for today.(...) Anyways, so we can select a couple of fields which we may want to have. Let's say, for example, a status field. We want to be able to sort this thing, and to store who created the task and when it was created, and if it was updated and who updated it, we serve the basics. Okay, so that's quite boring. Let's create our first collection. So what has happened behind the scenes, a table in the end of our database was created. In fact, the tool that we are using here is Directos, and it is a backend as a server solution, and it allows us to flexibly plug in any database from your self-hosted Postgres database or MySQL database or something else to a more cloud-native database. What we are currently using here is something that is running on my local computer, and I will explain later how you can run this also on your own. But for now, we want to focus on the use case of DINA of saving certain information. Okay, we have already a task. Well, we don't know what this task is about.(...) So can you add a field so we can store information about, let's say, maybe it's task title and task description? What do you mean? Just click the create field button here. Do I need to amend something here? No, just click the create field button. Now we can create a new field. So perhaps you want to have a title about the task. So if a short summary of what the task is about. So we would just select the input box and say we need a new thing where we can store this. We could give it a short thing like summary or title. We don't need to prefix it. You could just give it name, for example. What do you mean? You don't need to write task underscore name. You could just write summary or just short description or name. Name.(...) That's the same. Okay. Yeah, it's the same. And we can say, ah, this is my L you must actually be set. And there's no placeholder or anything. What do you mean it needs to be set? Well, it should not be empty. Okay. We always have to store name. And this is interesting because let's say if you do this in an Excel sheet, you cannot set certain constraints, right? People are very flexible in what they can enter. And if you later want to work with this, it's very tricky because it's not super structured. Okay, let's save this. We want to store a bit more.(...) Let's say the description. If you want to store the description, what you can go for is, for example, a text editor, because you want to store the description. So let's select an input. We are also inputting text. That's right. It's a good question. The difference is that in the text from input is just a plain text without any formatting or layout information.(...) If you here go for this, what you see is what you get editor. Let's name this description. We get a proper, let's say, text editor like a note from the word. And we say that must also be said it should not be empty. And let's save this. And let's briefly take a look at how this actually looks like. So if you go here on the side, we will see we have the tasks and that's create a task. But now we are creating the task only with this description and the name. Yes, let's start. So we can call this maybe test. Yeah, I have a full effect. Test. Yeah, I'm a bit nervous, right? Okay, fill in. Actually, let's make this more nice. This one should be something big and something small as well. Cool. So let's save this. For now, it's status draft. And now we end up with this thing here. We can always come back to it. So my question is, do we want to store something in addition to these things? What do you commonly need to also store? Sometimes you need a link. Linked to another task. No, I mean link in the description maybe to easily find it afterwards that you don't need to search. But you have already a link to your document, for example. Okay, yeah, this is something we can do. So let's go back to our data model, to the task and change this. Let's add a new link here. Can you say create field? But it's the same thing we did before, yeah? Okay. It's the same thing we did before, exactly. So we have different types of fields. We have, for example, the possibility to search for tags.(...) We can have other things like a date, for example. You can enter a specific color, that's a due date of the task. Maybe we need this as well. You can even have checkboxes. You can have a dropdown.(...) And we can infer also, let's say if you have tasks, you want a reference to a parent task. You can also create something like this. So you can connect one task with another task. Say, first of all, I have to finish task one. Then we can finish task two. I think we need all of this, what we just said. And then there is also the possibility to have some, I guess, file upload. You can say, I want to directly upload a document, for example. It would be actually stored with this system.(...) But you can say, it's already hopefully not just an outlook in an email, but somewhere else. And instead of uploading it here,(...) we could just basically make another text input and say, this is the file path. For simplicity, we may for now assume this is the file path. This is okay for you. How do you prefer to upload it? Yeah, file path is good. But I wouldn't put it on required, because sometimes you have a symbol you don't have. That's totally fine. You can even give it a cool icon, but for now, let's just skip that. Okay, we have a file path now. And we said we want to have a due date. So here, let's select a due date. And we say this must be set. Can't be empty. Is that okay? Or sometimes we don't know. Sometimes we don't necessarily have a deadline, you know. Okay. So let's skip this. And yeah, actually, the format that we need is just a short form. And we don't need seconds or something in too much detail. Let's also add this due date. And now we also want to have this parent. So it's not called relation. But here we have groups maybe. Yes, we have it here. Some of them have relationship that we can say one task can depend on. Many things can depend on a single one or with the versa. Many to many or one to many. So let's just test this out so you see the difference. One to many. We say one task can have many children, for example. Or many tasks can have one parent. But it's the same thing, actually. No, but it's opposite. So let's choose with parent. It's empty default value. But the parent value that you want to have, you have to select it. And here we want to tell it, "Ah, we want to get this from tasks." And the name should be what we see actually with the name. So we can see them. You will understand in a minute what I mean. Let's save this.(...) So we have added a couple of things. Let's add a second task. Again, let's keep it in draft. Let's say this is task two. Content two.(...) We have a file path. It is testpath.xless.x using new axle, not on SharePoint. And new date will be whenever,(...) this time. Or maybe let's set to no. That's always cool. It's usually task or date, right? It should have been done yesterday. A bit too fast. So set to no. And then here we have a parent. Let's select a parent now. And as you can see, here we can select what issue is the parent. We can in fact reference ourselves, which is maybe not necessarily what we want. In principle, we can add some more constraints. So that this is not possible to select ourselves here. But for starters, for this quick introduction, this doesn't matter so much. And let's say issue one is the parent. And let's complete this. So here we will not see anything change. In fact, we could add some more data. And here we have stored this new data and we know that the parent is test now. And the things that might get interesting is that we could potentially generate dashboards or visualizations from these items that we have collected. That would be nice to have like one that is due date is very near, one that due date is already over. You could create whatever you want. Actually, I'm not an expert here with the dashboards. I have to check this out myself, but you can basically add some panels and say, I want to have a bar chart or let's say line chart of open task or closed task or list of tasks that are older than something. And you can then basically pull in the collection. For now, I will just pull it in quite simple.(...) Yeah, we should get a list here, for example. Obviously, it looks like you have to configure them a little bit more detail, because it should not be empty. But I guess you understand the point. Like this is a quite flexible system that allows you to quickly structure the data in a way that is machine readable. It is stored in a database so you can easily integrate it into some IT processes. And in fact, because it has its own machine readable API, REST API, GraphQL API, you can directly make IT systems talk to the data that you have collected here. And unlike Excel sheets that are rather flexible and fluffy sometimes, people just fill in something on the column in the different cell, not the one you would expect the content. This is when causing problems when you want to read the data in a machine. Here, it is nicely structured in a database. In our case, it's Postgres and everything has their own row and column, and it's just easily to consume. But still, I cannot sync it with my Excel sheet where my tasks. No. And then sync it with another one and it feeds in like, no, right? I mean, I say no because it's not easily. What you obviously could do is you can configure certain triggers. So if we go back to the edit, if you're here, you can somewhere. Let's say your parent changes. What you can then do is you can set. First of all, you can hear, add, for example, additional validation so that you cannot select yourself. But what you cannot select yourself? What do you mean? Currently, we can select ourselves as the parent of ourselves. Maybe we don't want to do this. You may only want to select. The parent or what? Yes. Now we can self-reference us. So we can. Where self-references? So here we can say the parent is actually. I clicked the wrong thing. I want to select the parent and not just edit it here. So we can select ourselves here. Maybe we don't want to see us in the list, but only the other items. This is what I meant with validation. You can filter these things out. So you have removed. They're not part of the list. So that means people can only select valid values. Values that you would like to see there in this list. What do you mean with valid values? If I have insert and filled everything out and it's valid, basically for this system. Let's take one step back here. So assuming you would have an additional column that is called. It has a dropdown. And has some some category. Let's call it category. And the choice might be. A task for marketing. And we have maybe a different additional category for the technology. When we can. Let me save this and go back. So now when we added this,(...) we can select the category. This is a marketing task and safe. But what I mean here, when we in issue one and we want to select the parent. We can select ourselves as a parent. So we can self reference as in create a loop.(...) And potentially this is something we don't want people to do. And with the validation. Extra details that we in principle could set up here. We could actually. Say parents doesn't equal. I don't know if it is.(...) If it's possible to do you mean with self. I don't know. I would have to look up a syntax to be precisely. But basically if you remove ourselves from this list. But what do you mean with ourselves? What I mean with ourselves is that if I jump over and open this in a second window. Currently. This list includes two tasks. But maybe we only want to be able to select. This can be our parent, but not we can be the parent. You cannot be the parent of a parent directly. Like to say whether this task is the parent or the child. No, but basically. If you have a parent. You cannot be the parent of yourself. You can only be the parent of someone else. And then we could potentially bring this logic directly into this filter. Here I would have to look up. Not to you not to choose the same task that is apparent.(...) I don't see it like that. Yeah. It's always a bit tricky to find right words, but I think it's a good exercise. To learn how end users think for it. No, it's like myself. Yeah. But this is one example. Is there a second case that you would like to build to better understand this? Or are you already good?(...) So can you understand the power in tools like this? Yes, but then I would want to work straight with this because then it doesn't matter to to reinsert everything in another device that is maybe better organized. But then it makes sense only to insert it straight away here and not to like gather information from different programs. Then you need to insert here straight away and that, you know, yeah. So this doesn't help a chaos that people are used to work with. This you just need to straight away to work with this. So so I would agree with you. Like I personally think it makes sense to properly use excellent SharePoint in the first place and then not even have this problem. But there are many issues where they are not, let's say, excellent only, but there you have machines made want to track who is currently renting or using the machine or some back office tasks that you have to do. Yeah, some managed certain bills, for example, or any process where you have to collect some information and just keep track of it over time. And for all of these things, a solution like this could be rather helpful. And the interesting thing is in one of the projects working, using this at hub. there we have a data class every collect information about data sets that we are working with. And on the admin interface or internal part of the application, people actually use something like this here that we just have discussed. Obviously, it has different fields that are more sensible for storing metadata about data and a little bit of sample data. But the interesting thing is because the directors is exposing a machine readable API, we can easily integrate the data of directors into a very nice front end. do what? Because then you need to type in everything by hand. So what you need to type by hand is you need to collect the data.(...) But once you have collected the data. Can't you feed it in with Excel, for example? Possibly.(...) You can feed in the data also directly to the database. There are many possibilities, but the assumption is that you don't have the data in a structured format and you want to collect it. For example, in the list here. And then you want to do something with it. And what I want to show you is that it's so easy to connect the APIs to something more custom. So here we have created a custom graph visualization viewer. You can select specific topics that you might be interested in, be it complex systems or human regression or whatever. And you can filter this graph and see, ah, this is an interesting topic. And then you can see what are the offers or data sets that are connected to these particular topics. this, you can easily repurpose the data that you have collected and give it in a different new way to end users. you don't have a structure and you want to collect information in a structured way, because currently you might be using an Excel sheet where people are always filling out the wrong columns and you just have a mess using a solution that you have a proper database, a very strict structure. But in the end allows you to do something with it with collected data. So you can work with this data in a machine readable way and repurpose it easily or automate processes based on the data that you have collected.(...) Now your question was given, I already have a lot of structured data. What can I do with it? And then how can it perhaps combine it with something like this? So there are two interfaces to local, local database tools like directors here. First of all, you can directly write to the database if you know what you're doing. Secondly, and that would be more recommended, it has a machine readable API. So instead of reading the data that we have collected there manually, you could instead write to the database using the API. So you would send some create request as an IT web service. And then basically your data would be transferred from one structured representation to the other one. But this is not really what I want to focus on the field today. Rather on showing you how easy it is to keep track of things in a structured way that doesn't involve the inconsistencies that actually inevitably will make a reality for a lot of people. how can you run something like this in the show notes of today's call, you will find details.(...) Basically what we have been doing, we have used a containerization technology. We will touch in a couple of weeks again on what is this actually and how does it work for now. Just assume it's something that makes things smooth like real containers. You can stuff whatever you want.(...) And they always have the same proportion. So it's easy to handle them here. The stuffing software and you can just simply start the whole solution by running this command. What happens in the background, couple of containers are started, something for the backend, something for the front and something for the database. And that gives us this nice service that we're looking at here. We had some extra possibilities that you might be interested in using. For example, using a full text text search option or a vector search option. But that is sort of too much to go into detail now. It's a possibility to even easily construct a backup. Here's some example code of how this might look like. And there are also other possibilities. So other similar each solutions is something like Airtable, Base Row or NOCODB.(...) I personally really like this solution directors because it's super flexible for permission handling and allows so many other possibilities with regards to uploading larger files. Sending events based on changes and it's quite a cool solution. But you may be interested in exploring these three options just as well. Then there are other options that are slightly different like Superbase for example. It is a bit of a different user group. It's more like a managed traditional database with some extra features. Not so much with NOCODB solution like these here. There are specialized options available. So if you're looking to use spatial data a lot and you might want to track machines or if you're a city council and you want to track things that are broken or waste in the city. Exploring something like Qfield could be a really good option for you. And last but not least, there are also other options for managing NOCODB apps like Bodybase or Retool that gives you something that has a more fully fledged production grade view of an application like a proper application. But it's much much more effort to build an application there compared to these simple list based applications. When you want to deploy this, there are a couple of ideas how you can do this but this would be too much detail for the start here. I think the main takeaways. It's super easy to construct a custom data model to store data that is not structured in Excel in such a NOCODB database solution. It behaves almost like access. But if you ever want to integrate it into IT processes like the example that we have shown here, it is actually easily possible to do that. Does it have any constraints that it works with this kind of solution but not with this program? Can you detail this? What do you mean with constraints? The directors can work with, for example, this program that you have. Can you click on it? Complexly it signs up. For example, I don't know which program does these interlinks. This is not any special program. What I mean is we have stored the data in a machine readable way. After storing the data in a machine readable way, you can access it with any tool. You have standardized interfaces to pull the data out in a machine readable way. What we have done here with this custom visualization,(...) using some JavaScript and consuming the rest APIs of directors and pull the data out that we need. But you just as well might have another IT background process or a custom front that some of your developers have designed that is custom-tailed for a specific use case. But collect data in a structured way with some guardrails in place. In fact, guardrails that are missing or impossible on the Excel side. I hope it can help you in your actual work, maybe. You're discussing about how you want to keep track of things with a particular topic of tasks. Maybe a proper issue tracker like Jira might be a more finished product. But in any case, instead of not tracking things or just in Excel, having a database backing what you're doing can be highly beneficial because you're more structured. And whenever you want to work with some automation, it is easily possible.

19. mar. 2025 - 33 min
episode Overview cover

Overview

So you can reverse it and you can get multiple ranges. We call that slicing. So you get a string slice, that means you get a particular-- I would rather have a cake slice. time, I hope you remember, so finally go now. We've been trying to look into, like, why does it make sense and how easy it is to get started with doing something with programming. And now, the idea is to start with the basics and then really get something going. So I have prepared a couple of slides and want to go over them together with you. In order to do this, let's jump right back. I think that's better like this. So the picture that you can see here on the screen, that snake, this is actually the symbol of a Python programming language. And Python has a specific philosophy. Basically, you can import this, and then you see the philosophy. Instead of reading it here on the slide deck, I think it's much more interesting to explore this directly hands on. OK? So let's move back where we started last tim We were exploring the tool PyCafe as an easy place to get started writing some code. Can you take over the control and you basically-- drive what I'm telling you to do. So let's click the Streamloot app as last time. And instead of basically starting the Streamloot app here, let's simply actually delete everything and simply type print hello. Now if we rerun this, we should very soon see the output. In fact, should show it to us. Exactl Here in the corner, we see the result. So simply typing print hello will basically allow us to do something. So you mean on the left side we have our comments, and on the right side we see result Yes. OK. So instead of typing here print hello, can you import this like we have seen here? Import this? You mean what? Can you type this import this? Import this here instead of hello? No, instead of everything. So delete everything her And now type import this. And import this. you import this special module, this you basically can get in touch with this then of Python. So this because Python is this? Therefore, we get like the-- It's a joke, but it makes a lot of sense. And basically, you can see these items would make Python special. And then basically, beautiful is better than ugly. And explicit is better than implicit. And simple is better than complex. items that make Python very, very useful, in particular, to newcomers like you are. So the idea is actually to have something that is readable, simple, and gets the job done. That allows you to solve your problem. And the idea is that even special cases should not be especially enough to break these rule And that it should basically be better to solve a problem now than never. So the idea is that the human is more important than basically the computer. So the idea is that there is no need for hand optimizing the low level code. But basically, it is good enough to write the high level, easy to understand Python code. The rest should work just fine at least as long as you don't try to do something crazy. But for the start, that's not what we're up to. In different programming languages, for example, in Java, you may need a lot of boilerplate code. What about code? Boilerplate code, so stuff that you're actually not really interested in order to type print in Java. You have to write all of additional text here as wel But in Python, as you have seen before, you can simply type print and the text, and you're basically finished. So it's much more concise. So it requires less boilerplate code. Or in other programming languages like C++ here, it also takes a lot of additional text. However, in Python, as we have seen before, it's simply exactly what you want to say as a human being. So there's no need for this boilerplate to make the computer understand what you want to do. It's basically better to always include everything simple. mean, the same thing. We could also print, let's say, print 1 plus And the output that we get-- Yeah, would it be 2 or 1 plus 1? OK, OK. So in terms of words, it will give the specific word we type in, and in terms of a calculation or function, it gives the result, yeah? Yes. you can use it to write a comment. So then we basically add this here. Computer will not execute this line. So we can write, this line is not executed. And we can add additional context, but another human that should read the line needs to understand. Maybe you have made certain assumptions. And then you can state them here so that another human who is working with this can easily follow them. So it won't be visible in the result part. It will be visible only in the comment part. Yes, it's only visible in the raw source code. It is not visible in, basically, the output. So there are different types of comments that you should be aware of. You have these single line comments with a hash or pound symbol. And then you have multi-line comments. Multi-line comments are convenient if you want to document something longer. But why is there a difference? So why? Because basically, the computer's amaha is to understand that the comment is longer than a single line. And you have to tell the computer, ignore whatever comes between these particular symbols here and just treat it as a comment. OK, so with hashtag only one line comments? Yes. OK. We have briefly touched upon variables last time with the input and the slider. But what is a variable? Basically, it's a thing that has a name. Not so hard. So we can say the thing is named x, and the value is 2, for example. Let's do this in Exploit Hands-On. You want to add this here? What exactl A variable? Or what exactly? Because there were different types of them? So we can say x equals 2. So one question before that. So always between those characters, we need to put a spac No, it's just nicer to rea OK. So you can also type it like this. But it's not as readable. In fact, later on, we will touch on tools that help us automatically format the cod They clean it up according to specific coding standards that some people agree on, that it looks nice. OK, but space, it doesn't matter. It doesn't matter. Maybe in some-- What you want to do, but in general, it doesn't matter so much. OK. And here we can, for example, interact with it and multiply it. And then we will eventually get some outcome, but only if we print it. Otherwise-- So to get the out, yeah? Otherwise we don't see it. OK. So what about other actions or calculations? Every time we want to see this result, we need to put print befor So print is just to define that it will come into output, section or not? Basically, yes. In the future, we'll see a couple of other options to do it as well. But for the start, this is the most straightforward approach to see something. OK. So you just had print and then the thing that you want to look at and then you will see the output. And we can do these operations, like adding something, assigning something with numbers, with text, with pretty much anything that you can think about. We can even do this with code itself, so something like a function. Whereas computing something, we can even assign that one to a variable and then do something with it. A whole function, OK. And some programming languages explicitly require you to set some type in Python. This is not necessary, as we have seen, right? What did it mean with my typ So some programming language requires you to specify that x is a number. But here, as you can see, we don't need to do this. So this, again, makes the code very readabl Imagine pen and paper and some math code that you want to crac Python is pretty similar to that. So there's not necessarily so much additional fluff around it. That can be needed for simple things in particular. However, types are not gone. Types are still her So if we ask a computer what is the type of something, we will actually get it back. So if we go here and type-- you want to look at it, right? Print type of, let's say, x. And we will see the output is a class. And the computer understands on its own that this particular class is an integer or numbe Integer is basically discrete numbers, like one, two, three natural counting numbers. And then the computer inferred this automatically. There are means in Python to explicitly assign a typ And that can be useful in certain scenarios. But for the star we will omit them for the sake of simplicity. But when you build larger amounts of software, it can make a lot of sense to add them in. Because basically, types are like a kind of contract. And when you and I have a contract, and we have a handshake, and say, we agree on something, then it's easy if you maybe write it down and if it's not only verball And the same goes for the types. It's easy to check later what the contract was about if you write this down with the types. And with that, let's dive into a little bit of numbers. Wel we can do basic calculator things with numbers by simply assigning the basic calculator symbols and then that just works. Let's not take too much time for this and rather explore it later hands-on. Because I think that's quite clear for you. What is maybe less clear are things where the normal calculator doesn or here the model or operator or some exponentiation. We might have different, let's say layouts, these types of functions on your normal calculator. But the basics ones are probably clear. Boolean values, are values that either true or false. And we can have some algebra around them as well and then have calculation Or we can check certain values of them. Like for example, here we can multiply them and see that the result is not true. Can see that some other result might be true. This allows us to check conditions. So in the past, we were talking about this example, right? Where you have specific data sets and maybe an energy plant is reporting their kilowatt hours. One of the preconditions might be a check that this is actually kilowatt hours, not kilowatt minutes or watt minutes or something else. But a specific type is matching or the semantically matching your expectations. And you could have some kind of automated check similar to what we see here. It is doing a quality assurance on the input data that you're processing in that axle. And if you have a check, obviously the program of the axle that you create will be more reliable later on because it will automatically point out any inconsistencies or problems with the input. Well, and there's obviously text. Like a lot of data is text. And by default, the text is more or less the dummy default type for almost anything. And text can get quite tricky. So it has characters that you might not know from the standard Net-N-Off, but it can be invisible characters even that sometimes hackers use to trick people or characters that look like an A but are acrylic A and are similar for domain and type of squatting topics. So it can be a bit tricky with characters, but in general, maybe it look like you would expect them to look like and operate in the same way like numbers work. You can add and even multiply tex So what do I mean with multiply text? Well, if we say instead of X is true is hello, for exampl we can now still multiply X. One question, if we want to have our variable to be text and we need to put it in this, how do you say emphasis? With quotes, yes, with the single quotes. Yeah, it's necessary. So he understands this is our variable or? Yes, so basically text could be a space and we could say, hello D, n And then in particular for this reason, it's important that it knows like the whole text should be this variable of X. And now as I told you, we can repeat it. What does it mean? Just multiply the text and then we concatenate the text here. Seven times, huh? Yes, seven times. I mean, people should know your name now. Maybe seven times watching, huh? Yes, MDNet is a really brave student and I hope over time you will learn something from me and eventually maybe be able to apply pieces of this to automate things that you're annoyed with. So this is text basically. But text is a culmination of character So for example, if we have a text like alph we start by zero and then we have these particular characters and they have all the index. But what do you mean we start by zero? That's, so if we go here and say print X in the place of zero. With in the place of zero? Yes. In the place of zero. But so with this, you mean that everywhere there's a zero you put this variable or what? No, what I mean is like these characters here, they are sort of a list of characters and together they form the string, right? Okay. And the first one, we give it the letter zero or the digit zero, the next on one and so on. So we start with zero, but otherwise we just count them and we can look at them individually. But these, wait, wait, wait, these two commands, print X is zero and X instead of one. These two define that the first character of the string is zero and the last, what do you mean? No, but I want to find. What do we have down here? So basically we have defined that X is a specific, let me delete this so it's more clean. We have defined that X is this particular variable. Let's say your name, Dina. And now the first letter would be D and the second letter would be I. So if we want to manipulate the text and replace them or do something with that text, need to access the individual characters, right? But you just said that the first character, you said is D. However, now you have written print X instead of zero. So why this zero? So basically the characters are at least. Yeah. So what do you mean? Yeah, this is the first one, second is I and so on. Yes, and they're basically released. If you ever want to access the element in the lis you have to use this bracket notation to we call this indexing, select that particular element from the list. So A is the zero element and not the first. So here D is the zero element or the first element? The first element is a zero element. So we start by counting with zero and we don't start by counting with one. Okay. And we can then take the last element, A is at position three, so fourth element, because we start by counting with zero. But then if you go one further, let's say four, we should see an error and it tells us, oh, this doesn't work. We are too long now. This can actually go both ways and we can reverse this indexing as well. And we can even select a list and subset here. There is more than one item. I'm curious because Arthur has actually, oh, two, four, yeah, it has six digits, very, no, but if it has six elements, so to say, then it should be only from zero to five, what is six? This is why we wanted to demonstrate the error case that we had here. Okay. Cut out. No, it's okay, I guess, to keep that. Because everyone should learn, right? And these questions are not bad by any means. It's really important to ask these questions. So you can reverse it and you can get multiple ranges. We call that slicing. So you get a string slice, that means you get a particular-- I would rather have a cake slic Right now we just ate. Too much chocolate, huh? I didn't make it any, okay, so cut. No, but string slices are like cake slices, actually, that's a good analogy, Tina. And then basically, you get a piece of a string. However, unlike cake slices, where ideally are all equal in size and equally good in taste, it doesn't matter, not necessarily, but ideally, it doesn't matter which one you take here with the string slice, the position totally matters. It's really importan Because as you can also see here, depending on the position, you get a different resul Sometimes for non-ideal, normal, real cakes, it's the same. If you don't specify an end or start condition for these sliced cake you basically get a bigger piece of it. So never specify, hu It can be a convenient thing to do. And why there are two equality marks here? Because the idea is to show that this is the output. This is the output. So you actually, if you would type it in, you would need to type too, yeah? No, you don't need to do it. In fact, let's just try it and show it. So here, if you remove it like that, instead of I-N of Tina, we would say, "Din." No, I'm confused because I thought the D is the zero. Yes. So the first character, this is the first and this is the second, but we asked to give the result until the third element. So to my understanding, it should be the whole element. But it's zero, one and two. So D is zero, I is one and N is two. Exactly, and where's the third one? Until it's not including, it's excluding the third one. No, it's including the third one, but it's excluding the fourth one, like thre We're starting to count from zero, so three would be referencing four, right? Again, we start to count from the zero, therefore. So D is zero, right? Yeah. I is one and N is two. Exactly. And A would be three. But here, we're going until three, that means we exclude three, this means we exclude A, the fourth elemen We exclude it. And zero, one, two, that is D, I, N are included. And do you also have it like in math, that if you use this other bracket, then it's either including or excluding in the math, it was like that? That is possible and we will later see how to do this in more, let's say, complex scenarios. But here, the default option is sort of excluding it. even get a bit more complex and pass in a step siz but that's something I would say you skip for now. And you can convert between the types of values. So you can make a number to behave as if it was a string or you can convert a string back into a number. That is actually really important. So again, let's come back to this example energy data, maybe one power plant is sending you a bit up data, where they have mistyped some formatting. And then maybe send you data like this where the numbers are in the shape of the text value. And then you need to clean this u I don't know how often you had to do stuff like this by hand in Excel, but I imagine even doing it once can be super daunting. And here you can easily automate thi but you have to be advised if they put something here that is not a number, let's say, and some other text value that cannot be passed to a number, then you will get an error message from the program. Mm-hmm. Yeah, this is it with the basic scalar value That being said, do you have any questions before we move on to collections? We can move on, yeah. Okay, then let's look over into lists. And yeah, we will deep dive on them very soon. So we have already seen one type of list, it was the string, where it sort of, the string was implicitly a list of characters, but we can also construct our own lists. As you see here, one, two, three, and put them into this grab brace This is the array of lists, basically. And at least for the sake of Python, it's sort of the same thing, but underlying it is an array list that is often object that is automatically adapted on the size. So there are other types of arrays that are more optimized, perhaps, but they're more complex and not the ones we will be looking at for the start. So for your purposes, you can always think scrap braces and items inside, but it's a list of all these cake pieces, cake slices. So some lists might be empty, others might have numbers, and even more might have letters. And in Python, it is possible to even mix the type So you can mix, for example, numbers and text in one list. That can be quite tricky in more typed or more strongly typed programming languages, because they tell you this list is only supporting text and not numbers, or only supporting one of the types and not a combinatio However, for someone using or consuming this list, it can be a bit simpler, because we can trust that this list has a well-defined type, right? So here, if you expect to get numbers and one element is a text, you might run into issues. And it's possible to add and remove those elements for the list, for example, here, adding elements at the end, simply calling out to append. So it's here at the bottom of the screen. Is this clear or are there any? What do you mean with add? We can add the elements and then-- Okay, let's try this in order. Do I need to understand this dot append? Let's do it hands-on. Let's say my list is Nina Georg. So now if you want to append somethin you can simply, you can simply add it. And now the question is, Nina, what should we add here? So append means we want to add something to the list here? Yes. I'm not English native, therefore for me, it's good to explain this. So what should we add here? A child maybe. S as you can see in the output, we start with the list, where this basic only contains you and m and then we add a child. (Nina Laughs) Okay, so dot append is basically adding. As we have done before, we can also get elements on this list, a particular index or cake slice. This is understandable for you, so we can apply the same concept that we had before, or it will use this again. What do you mean with this? So we can again-- Just like basically to say, okay, what was in this position? Which element was in this position? So we can take for something the zero position, and then we will get your back. Mm-hmm, yeah. Or we can rearrange and get both of us. Yeah, yeah, yeah. So here, you will see both of us. Yeah, you write two times actually. So this particular shell is printing twice, because it's, first of all, keeping all the output that we had before, so you see all the old things, when we wrote, and twice, that will be printed here and here. So here we have it, both of us. We add the child, and then we take subset. So if we print three times, you will see us together with a child, and then alone again. because can you go back before you did, no, no, no, before you did, before you added these things, before you added another time, where we just had two times, mean delete, but now it's still visible? Yes, this is the log, basically it contains all the things that we have done in the past. So it's not clear, so when we rerun it, it doesn't itself delete the log. Ah, if we delete some, okay. I think you might be able to delete it somewhere. Okay, okay, okay. But very soon, it will move away from PyCafe to something a bit more flexible, and there you will also be able to delete the log. It can sometimes be very convenient if you want to find a bug. Okay, because here we saw, okay, okay. Yes, but can totally be confusing if it keeps the log. Well, we covered the basic lists and in similar fashion you can have more complex lists that are nested with zeros in a minut As said before, elements can be indexed. So for the nested list we can have lists of lists. So we can, as you can see here for example, we can have sub lists, elements of a lis Is this understandable, Dina? So listed lists are nested lists? Yes. Listed lists. I like your analogies like the cake slices, right? Yeah. Python has a couple of, let's call it magic functions. For example, this one gives you the length of an array or the length of a string. So you can always call this length function on the input and you will get the right value. It's quite useful to know. Or for example, you can test if one element is in another one, like if character is inside of a list of characters, like a string. So this membership test is also some generic functionality, but it's quite useful. for console.io we already covered the print to write something. You can also ask the user for input, like for some request name Control flow. So if you want to control the flow of a program. What do you mean the flow of the program? The flow basicall it's like a cooking recipe, right? And if the water is hot, then you can boil the potatoes and otherwise you have to wait a little bit longer until the water is ho So you branch the instructions on what has to be done in what conditions. Sequences, yeah. Yes. So you control the sequences basically. And this is how that looks like in Python. So if the water is hot, then you boil the potatoes. It's not super fancy. Oh, wait, can you go back? Because for me, it doesn't look like a flow. It looks more like if statements, you know, if something is right, then this, if this doesn't apply, then that, you know, for me, it doesn't necessarily means flow for it. It means the condition conditional. Yes, it's just conditionals. But if you combine more than one, you eventually end up in a flow, right? Like the cooking recipe. But with this flow, everything is in these if sentences or doesn't matter. Yes, it is the condition is constrained in this line, basically, where you define it. And do you have also other options than if or you have other options? So for example, the possibilities to have other data structures and then perform key based lookups, but if is one of the most easy options. And there is a possibility for loops, for example, to iterate elements, but we will come to this soon. Okay. Yeah, you can basically have some harmonization how your editor looks like, but that's that's on this later hands on. If statements like this one are relevant, if you have more complex control flow. But this is exactly what we just discussed a minute ago. So I think that should be rather clear. It's like complex cooking recipe that I usually don't understand. And this LIF we currently don't need to know. Yeah, this we will see. Basically, this is just changing the conditions. Changing. So this is the first condition with if. And then if you have another condition that you want to evaluate, then that's else if or a lift in short, and then the last that's the catch all if everything else didn't apply when this one will happen. we could check given the word, what is the reversed word. And if they are the sam we could say they are palindrome, this is a rather naive implementation. But still, it gets the job done. a possibility to look at what variables are true or false. So for example, you can evaluate the boolean value of none. What is boolean? So we have discussed before, right? Volume values true and false. Okay, this is the same. And this is sort of the same thing. So given some input, you can evaluate if it's true or false. Loops, Dina. Wel we can iterate over items. So when you have a basket of cake slice you eat them already one after the othe At least this is what I would do. It's what normal people do, of course. Eat all of them. And then this is what we can do here with the loop. Basically, we iterate and take the item from the iterable, and then call a function, for example, and then do something with it. For example, consume it and eat it. Enjoy the chocolate. We can generate lists of number for example, numbers from a range her And that can be useful if you want to iterate over the first three items, for example. Always keep in mind that this is zero indexed. So it is including the lower bound and then excluding the upper bound. Four loops can be stopped, for example, with a break condition. And then it will jump out of the loop before the loop has ended. Can you come agai Four loops? What? So if you're assuming you eat all the cake slices and you have ten in the basket, but you only manage three because you're already full after three cake slice well, then you have to break out of the loop, right? And stop eating the other side. Okay. And this is the same thing, basically. And with continue, we can skip some statements, but in general, these two are not the easiest ones to handle, especially as things get more complex. about functions. Well, we can easily create a function that creates some parameters, like here, function name, parameter one, parameter two, and then do something with data. Let's explore a function here. You know, let's make a function that is multiplying, for example, the input. So we def multiply a and b and we return eight times b. Now we can print multiply dinner, for example, is. And we can also run multiply on numbers like And then we will see an outpu If we click rerun, here we get it. Mm hmm. So this is all that there is to functions, basically. And if the return statement, we ensure that the value gets returned to the caller. Assuming you only want to find prime numbers, then we could iterate over all the numbers and then check if it is prime and only if it is a prime number. Basically return the value. do we check if a number is prime? If we divide it with some numbers, whether there's left, how do you say this left over? Yes, exactly. So there is no nothing left over. All the cake is eaten. You can basically take all the numbers that come before this number and check if any one of them would divide it. And if it would divide it cleanly without any remainder, then it is not a prime number, basically. So there are a lot of more topics to come. This was a brief dive about what we were looking at for now. And slowly, you will look into more and more and get more hands-on.

13. dec. 2024 - 39 min
episode Overview cover

Overview

Today we start with a couple of motivational basics and then we will move on and get deeper into coming sessions. I'm really curious because I don't know what we're gonna do now. I guess that's a good start. So, welcome back at DecodingLove. I guess that's a good start. So, what is Python all about? Well, Python is a programming language. It is used wideley. Learning python as a beginner It is super easy to get started with as it can get you going very quickly. So, as you can see here on the screen, we have a variable that we are assigning. We can interact with it. We can assign some numbers. We can print items. We can iterate over them. We can even have functions. In the coming weeks, we will explore how you can do this yourself to automate your business problems. We will be working in the ecosystem about Python and data, the PyData ecosystem. And you will over time explore more and more tools there. At http://decodeinglove.tv [http://decodeinglove.tv] there is actually a blog attached. Over time, we will try to have content with videos there in the blog and also on the podcasting website for easier consumption. We still have to build this out. I hope you bear with us whilst we get started with content creating. And that you will enjoy the show and the learning and grow alongside with Dina. So, we were talking about the PyData ecosystem and let's jump right back here. Dina, can you let the welcome banner move away? Okay. This first stream is private, but eventually you can join us live on YouTube. We will add your comments like this one, for example, to the show and then discuss it and hopefully also answer your questions as they come up. We were talking about the PyData ecosystem and the DecodingLove.tv blog. What we will be using is PyCafe for the start. It is a tool that allows very quickly and easily explore Python as a programming language without hassle. There is no need to install anything or have anything prepared on your side. It's still a bit of getting used to it with you on the side and I want to have you in the spotlight like this. But we're going to make it eventually to be more streaming native. So, let's switch to GitHub and put ourselves into the corner the videoframe. So, we have show notes on github in the organization named Decoding Love. You will find a lot of things. We will over time explore what all of these things mean. But most importantly for the start, here are notes about the show. And we will share certain links and discussion items or perhaps summaries also here so that you can be sure to follow along with Dina. Let's dive right in and start a first minimal example. This is a lot of code here on the left side. But I don't want to go too much into the details for now. It's more about showing the outcomes of what is possible to achieve with every little code. Here, there is a title statement and if you go over to the right side of the screen you will basically see that on the right side of the screen this title statement can be rendered like a big title. And it's looking rather nice. Let's change this and type here Decoding Love. Can I have a question? But can you use this code only on Py-Café or can you use it also in some other places? Yeah, this is a great question. So, this interface that we have here, this is particular to Py-Café. However, the code, that is something you can use on your own machine, laptop, infrastructure server at home or perhaps at work. Yeah, but which program you need to use this... Ah, only Py-Café? No, this is something we will cover in the coming sessions. So, in this case, we will talk about getting a bit of a feeling of what it is and how things are connected. And to make sure you don't get lost in the details and you lose motivation. So, here we are. And we can have a simple code that is rendering a bit of text. Let's go over here and check this out: It's asking us for the name. Dina, do you want to type your name? You will see the result when you hit enter. Isn't that cool? The name from the drop-down field is used via code directly here and returned.. I already know these kind of examples. Even better. But we have to start somewhere. So, instead of having a textual input, for example, we could have a slider and then do something with the slider. Dina, please explore the slider here on the right side. What is happening? Can you drag it over? But you don't see the whole thing, you know? Yes, you have to zoom up a little bit. And I have to fix the zooming. So, we need to zoom out, huh? No. We need to lock the window. So, here is the slider. As you can see, we move the slider. The numbers are counting, but also this chart, this plot is changing and adapting. I think that is the main takeaway message here. It's really easy to get started with Python. The chart includes just random numbers, that are plotted here. The interesting thing, and in this particular tool that we are looking at, that is actually Streamlit, is that whenever we change something on the top, the bottom stuff is also refreshing automatically. So, if we change the number, so, instead of 73, we select another number, by rotating the slider. A new set of random numbers is created, and then the plot is redrawn for us. Imagine a business case, where you perhaps in the world of energy have to conduct some pricing exercise of a new offer, and you could perhaps upload a ready-made Excel sheet with a couple of parameters that are relevant. And then you have a couple of options, depending on how safe or risk a thing with the investment should be, or the pricing. And then you can quickly have this kind of runbook, where you can from the start to the finished offer, perhaps even with a button send email, could process this request. What I want to share with you is how easy certain things like that can become. I wanted to understand what is this calculation, that the value influences? So, the calculation is actually literally what I am highlighting here. So, it's just a random set of numbers, but every time we refresh with slider value, it's currently updating this random set of numbers. So, it's rather boring, but it looks cool. I hope it shows you, how powerful things can be when they are connected, but still simple to control and process. This is, good enough for a quick motivation, why to use Python and how easy it is to get started. In the coming weeks, we will deep dive the principles of Python. So, next time we meet, we will discuss the basics of the programming language, and then move forward from variables to functions, and then data, and then solving real world business cases. We have some really cool problems already queued up. See you next time. I hope you like, what you see here. I'm sure you will become a data expert.

30. okt. 2024 - 11 min
episode The beginning cover

The beginning

Welcome here at Decodinglove. I have Dina next to me. And I have Georg. Together we are Decodinglove. The idea is to share a bit of knowledge about problem solving and data with you. I am an expert with data, computers and automation. And Dina is very curious to learn. I am actually also curious what we are going to do because I don't know it yet. Yes. We additionally want to explore the world of streaming. And, indeed, we have to learn a lot. Dina is very curious to learn, as I said. So, why would you want to learn Python to add automation? Dina, do you want to share a bit about the problems that you are facing? The larger the data at some point Excel cannot cope with it anymore or the humans using Excel. It gets so tedious and error prone to draw down the formulae. I know there are simple and more efficient means than seeing Dina suffering with Excel. I couldn`t let her continue suffering - this is why we together started to train Dina on learning Python and automation. Agenda for the future: * start with a quick motivational example * begin with the basics * move on to the data ecosystem * work on some real problems * become an expert in automation and data See you next time

29. okt. 2024 - 2 min
Tilmeld dig for at lytte
En fantastisk app med et enormt stort udvalg af spændende podcasts. Podimo formår virkelig at lave godt indhold, der takler de lidt mere svære emner. At der så også er lydbøger oveni til en billig pris, gør at det er blevet min favorit app.
En fantastisk app med et enormt stort udvalg af spændende podcasts. Podimo formår virkelig at lave godt indhold, der takler de lidt mere svære emner. At der så også er lydbøger oveni til en billig pris, gør at det er blevet min favorit app.
Rigtig god tjeneste med gode eksklusive podcasts og derudover et kæmpe udvalg af podcasts og lydbøger. Kan varmt anbefales, om ikke andet så udelukkende pga Dårligdommerne, Klovn podcast, Hakkedrengene og Han duo 😁 👍
Podimo er blevet uundværlig! Til lange bilture, hverdagen, rengøringen og i det hele taget, når man trænger til lidt adspredelse.

Vælg dit abonnement

Mest populære

Begrænset tilbud

Premium

20 timers lydbøger

  • Podcasts kun på Podimo

  • Ingen reklamer i podcasts fra Podimo

  • Opsig når som helst

2 måneder kun 19 kr.
Derefter 99 kr. / måned

Kom i gang

Premium Plus

100 timers lydbøger

  • Podcasts kun på Podimo

  • Ingen reklamer i podcasts fra Podimo

  • Opsig når som helst

Prøv gratis i 7 dage
Derefter 129 kr. / måned

Prøv gratis

Kun på Podimo

Populære lydbøger

Kom i gang

2 måneder kun 19 kr. Derefter 99 kr. / måned. Opsig når som helst.