Today's episode of the Bitcoin Show is brought to you by Mt. Gox and Thank You Economy Book and MemoryDealers.com. Hi everybody in bulk. Welcome back to the Bitcoin Show. I'm Bruce Wagner and today we have a really exciting day actually. It's even more exciting than normal because we have some of that new state-of-the-art cutting-edge Bitcoin software to talk about that is now available. What I've been saying is going to be available, I said within the next year, within the next six months, within the next three months and now the first generation of it is really here today. So today we're going to talk about new software called Safebit and my guests are Steph and Thomas and Alice Glar, developers and founders of Safebit. How are you guys? How are you doing? How are you? Hey. Good, good. So Steph is joining us from Switzerland and Ellie where are you? I'm from Tel Aviv, Israel. From Tel Aviv. Okay, that's right, Israel. Okay, cool, cool, cool. So we're very global as always and so tell us, okay, let's start from the beginning for those of you in the audience and me who don't know what's going on. Safebit is a free open source software project. Is that right? Okay, and who did the development, most of the development or did you share that equally or what? I started developing it almost six months ago, but now I'm starting to gather more developers around me and getting some investment in the project. Okay, and Steph, did you develop the server side of it? Exactly. And so I was working on Bitcoin.js for about the same amount of time and we realized that Ellie has a really amazing GUI and I have a server and so we started talking to each other a couple of weeks ago and now we're ready to make it official that I'm going to be consulting with Ellie and helping them integrate their client with our server. Awesome. All right, cool. So it's like a marriage made in heaven when you guys discovered the two pieces.  Is that right? I would say about the same time. About the same time? What do you think, Eli? Well, Ellie, did you have Steph and server side model in mind when you started? I'm sorry, I didn't get the question. When you started your client, did you already have Steph and server side in mind? I mean, like, was this developed synchronously or did you not know where it was going to go? No, actually, when I started, I started with the official Bitcoin client and then I met Steph a couple of months later and we started chatting and realized that would be a great partnership together. Oh, okay. So then when you met Steph and you decided to develop for his server, then did you have to like kind of start the client, start over a bit or at least some of the under-the-hood mechanics to make it compatible with Steph and the server side? Yeah. Yeah. Okay. So tell us, now, the entire project on both sides is free open-source software. Is that correct? Yeah. It is. That's awesome. All right. And now, what are the key features and benefits of SafeBit as opposed to the standard Bitcoin client? Well, let me start there. So obviously, with our server, you don't need to download the blockchain upfront, right? So you can pretty much start the client and you can get going right away. Now, one thing that I want to make absolutely clear to your viewers is that we just, we're just announcing the cooperation right now. So right now, the client that you can download and try out still relies on the original client. So we're now starting to move everything over so it actually integrates with my server and then you will get all of these features over the next couple of months rolling out. Yep. Okay. So the software that they would download, you're saying it relies on the standard Bitcoin client right now? Right. Or now, yeah. So I mean, is there a, so there isn't a server side aspect to it yet? Is that what you're saying? Right. What you can do is you can download it and if you're running the original client already, you can integrate it with the RPC API and you can try it out and you can see the interface which looks really amazing and Eli has done an amazing job. And that's part of the reason why I was so excited to work with him because I think our server is pretty good, but we don't have a good GUI for it. We don't have a good user interface. And I personally have absolutely no talent in writing user interfaces. So I think this is where we can really work well together. And I'm hoping that in a couple of months we can integrate the code that I've written and Eli's written and we can put them together. And I think the result will be pretty good. One of the things that fits very well is that both our software is written in JavaScript. So Eli's written everything in JavaScript, I've written everything in JavaScript. So we have absolutely no compatibility issues to bridge. We can just literally take my code, put it in, flip some switches and it should work. That's great. How did you guys meet? How did you two meet? Actually, through someone through the Bitcoin talk, I think, someone just threw me a word about Bitcoin.js. I started looking at it and then I think Thomas sent me an email. And from that, I looked down at a small scotch talk and started rolling from there. It's amazing how people can meet through the internet and then they can actually start collaborating. And then they can work day to day through the internet.  Not yet. My gosh. The next Bitcoin conference, we'll have to do that for sure. We're gonna be working on scheduling that maybe the same time, like New York in August or something like that again. But anyway, we'll talk about that. So now this, okay, so the client, which is Safebit, right? Is that, will it run on any platform, Windows, Mac, Linux? It's supposed to run on any platform, be it desktop, Linux, Mac, or Windows, or iPhone, or any smartphone, Android, iPad, or eventually even Google TV and Apple TV and stuff like that. Basically anything that supports HTML5. So, okay, so what you're saying, Safebit is a web app. Right. Okay. Safebit? Yeah. But what? It's not just a web app. With the, Stefan's Bitcoin JS, it has a lot more capabilities than just a regular Bitcoin wallet or a posted wallet. We're doing something different in terms of a posted wallet. We're providing some different features on that. Yep. Okay, so, all right, now I'm seeing it. If you flip over to my screen there and you can see, okay, this is in the Google Chrome Store. You go chrome.google.com slash web store. Chrome.google.com slash web store. And I think I searched for Bitcoin and I found it Safebit. So it says five stars, seven ratings. It's under productivity. And that's, here are some screenshots that you can see. All right, so let's, let's see, what is that? The various different screenshots that show you transactions, some graphics, bar charts, send coins, receive coins, buy and sell. You can actually buy and sell too. Does it integrate to exchange sites or is that a future coming? No, no, currently what you see there is basically mock-up. The current application has the standard receive Bitcoin. We're still negotiating, looking for a partner to buy and sell Bitcoin directly from Safebit. We're already partnering with Bitcoin and Israel, but we're still searching for that in the global arena. Okay. I see in the screenshots you've got Mt. Gox, buy Bitcoins, that's an example I guess. And then you've got your receive funds. We're not affiliated with Mt. Gox and not with Amazon. Right, okay. So the functionality of buy and sell Bitcoins is not there yet, but send and receive Bitcoins is. All right, so what this is, let me make sure I understand. So this is a web app that you buy, what is it, free in the Chrome Web Store? Yeah, it's free. You don't buy, Safebit is free and it's gonna stay free. But you can use it once you install it through the Chrome Web Store, which is just a distribution channel I guess, right? And you're not really installing it. I guess you're just kind of setting up an account to use it, is that right? It doesn't actually install code on your device, on your computer or your phone? Yes, it does. Well, it repassures it, so it starts up more quickly and it's integrated with Chrome and so you get a nice icon where you can start it right from the Chrome front page. Okay, so any device that can run a Chrome browser then you can use this in. Now what about Android? Will it work with that? Android we're talking on a local application, probably it's gonna be a web application with some kind of typing somehow to the platform, but for now they're not supported on mobile devices. For now it's not supported on mobile devices yet. So yeah. It's probably a good idea to explain. I mean, the basic platform that we're using is JavaScript and HTML based. And the nice thing about that is that almost any platform including mobile devices and smartphones can run that. Right. So basically once you've got your code running on one platform, you don't have to rewrite the whole thing again in Java and then in Objective-C for iPhone and so on, but rather you write it once and then you change the UI based on the form factor and then you're able to deploy it to all of these mobile devices. So whereas I don't see anyone working on a BlackBerry app for example right now or a WebWare app, all of these devices run HTML5. So once we have sort of one interface for the desktop and one interface that works on the mobile form factor, we can pretty much deploy it very easily to all of these different devices. And again, what I really like about what SafeBit's done so far is just the beautiful UI. And I'm hoping that together we can put in all the engine and all the backend stuff that makes it works well and all the features that you see in the mockups actually implemented. And that's why I'm excited about it and that's what I wanted to share with you. Okay. So yeah, the beautiful UI the way it's developed is the completely universal cross-platform plan. So once it's all fine tuned, it'll just automatically roll out on basically every platform. But that's not what excites me the most. What excites me the most is the backend of how the wallet is encrypted. So tell me about how the wallet is encrypted securely, where it's stored and how it's backed up and things like that. Okay. So we talked about this at length yesterday and the way we're planning it is we want to implement several different versions or ways you can store and manage your wallet. And so it goes from the basic wallet which is stored on your device persistently just like the original client and it would be encrypted with your password if you want or not. And you could use that for small amounts of Bitcoins where you don't want a lot of pass on a lot of security overhead. And you can of course then go for the next step up. You want to back up your wallet as well. So you've got some kind of cloud storage like your Google account and your wallet just stored on there or you could start encrypted. So there's a bunch of different options that you can actually go for with this model. So and finally, of course there's the latest stuff that Gavin and I are working on for the original client and me through an algorithm for BitcoinJS is split keys where you have multiple devices such as a server and a client and they sort of split the keys up and you need the permission of both and then there you can then implement all the security features that used to from hosted wallets without actually having to trust the server. And finally as a fourth option there's obviously hosted wallets themselves. And I don't know if Ali is planning to provide that service himself or if we're going to partner with someone else but just based on the client we want to just make it a flexible architecture where you can have all of these different wallet types all together and then based on your use case you can pick what you want and use your coins the way you want to. Okay, so the, now in the state right now is this is preview version, this is an alpha release in its current state, how does it work? It actually stores the wallet, it encrypts the wallet from the beginning, right? And then is the wallet stored locally on the device? No, no, it actually uses the official Bitcoin wallet so whether you're downloading the new Bitcoin wallet that uses encryption or you're downloading the old one that doesn't have those encryption basically uses that. It connects to the official Bitcoin wallet or any other Bitcoin wallet that supports JSON RPC and basically creates a good overlay on that. For now it's just a nice UI on top of the origin of both Bitcoin clients, nothing more. Just again, preview version. Right. It's not the final. Okay, okay. So some work to do. And the funny part is that what I have basically is I have all the libraries, the JavaScript, the signature stuff, I have the server and I don't have the proper UI, right? So that's when Ali came to me and he's like, I saw the stuff that you're working on that's kind of interesting and I realized that we pretty much have like the two halves that you need to make a good client and so it sounds like a marriage made in heaven. That was amazing basically. I don't know how Stefan did it but what he did with BitcoinJS is just amazing. The work that went in there, I could have seen it. Wow, amazing. Okay, perfect. And it sounds like you both had the two matching keys that just fit each other perfectly. So yeah, we have a lot of respect for each other and I think at least in Ali's case it's definitely earned. Yeah, it sounds like it's mutual. Okay, so the, all right now, the ultimate plan is that it will have its own wallet that it will be separate from the standard Bitcoin client wallet, right? And it will be always encrypted and then the idea is that that encrypted wallet will also be automatically stored and backed up at least a copy of it on the server side, is that right?  You would have part of your key on your device, part of your key on the server. The server would use an extra verification system, you know, like sending you an SMS for whenever you wanna do a transaction or something like that and both types of keys or both parts of the key will be backed up separately and so get a tremendous amount of security far beyond what you would get even at a bank today. So this is really exciting. That's only possible with Bitcoin and basically what we need for that is a new opcode that's being introduced in the Bitcoin network and that's what Gavin's working on at the moment which is called OPVAL and the plan right now is for that to land in the original, in the official client by February. Okay, so I don't know if that timescale will work well because it sounds pretty tight but if it is then hopefully we're going to be ready in February to use it right when it comes out and when it launches on the network. All right, okay, so now that's pretty technical but let's see if I follow. The bottom line then is once that's finished, once that's implemented, if I have, if I'm using a safe bit right on my laptop and I drop my laptop in a lake, the split key thing is that I mean, how will I be able to recover it? The thing is backed up on the server but I have to have a backup of my password somewhere. Is that right? Right, so you would have probably a paper backup because that's low tech is always the safest as I found out. So I'm a big proponent of paper wallet backups but you could have it backed up on a USB key or something like that. And if you dropped your laptop in the lake it would be no problem you just install a new computer, you'd set up the client again, reauthorize it, reconnect to the server and you'd be ready to go again. What's more interesting though is, let's say somebody spews your laptop, right? And it's not just that your laptop is password protected or your wallet's encrypted or whatever. Even if they, let's say they install a Trojan and have complete control of your laptop and they give it back to you and they wait for you to enter your password so they can look it up. Even that wouldn't give them access to your money because there's the extra channel where you can, where you get another verification for example via SMS. So even if your computer is completely hacked and completely owned and you can't trust it at all your money's still safe because the server does extra verification steps for these highest security split key accounts. So the server is doing two factor authentication. That's what I was actually talking to Ed about on the way in today was saying the one weakness is gonna be what they really need is two factor authentication and that's exactly what you're talking about. So can, could it be, I mean, so you're talking about like the server could do SMS verification, things like that. Could you also implement something with like a physical like a UB key, USB key or some other kind of two factor authentication? It's up to the server side, right? Yes, of course. So whatever the server side wants to implement, they can. One of the things with the UB key is the UB key can't protect you from fake transaction information.  So if the scammer is able to control your display, then the UB key won't do you any good. Whereas with the SMS verification, if you get an SMS back and you can read in the SMS what the transaction details are. So if it says in the SMS, you know, 1,000 bitcoins to Russian scammer, then you just don't enter the verification code because you notice that the verification details are one. Wow. They built- Yeah, well, implement security features based on our testing and we'll see basically what the users are wanting and what their ability. One of those features are going to be the iron key that is extremely encrypted, extremely hard to hack, this phone key that you can use and you can store a save bit on it and we can back it up even if you lost it and next day you can get a new one. We'll go a bit safe and secure. Mm-hmm, wow, okay. There was actually a talk just this weekend at the Prague conference by Clemens Kapp who's a professor in Germany and what they've done is they've developed an open source hardware device which includes a display and enough CPU power to actually do cryptography on it. So what you could do with that is you could actually have your keys stored on a hardware device and of course it's very easy for clients to support that so you can probably going to be able to use that with most clients and obviously again we want to be one of the first to support that so we definitely have an eye on that as well where you have just a hardware authenticator and then the hardware authenticator has a display that is very secure and you can trust it. Wow, okay. So if I install this app right now, if I install this version of save bit right now and I, do I need to install the official client first? Or can I, if I install it now without the official client will it create its own wallet? No. No, it just won't connect and it will show you in a screen. Basically it will show you, it won't show you anything. It won't show you anything, okay. So right now you have to have the official client installed first and then you can install save bit for the GUI. When is the next version going to be available that's going to have its own wallet and actually connect to the server? Well, it's hard to commit to deadlines but I'll give those questions to you. I said earlier, again, I don't want to commit to deadlines as well, but we're aiming to bring save bit as soon as possible to the client and to Bitcoin users. A lot of people are wanting to see this alive. I'm hoping that by the end of the first quarter, 2012, it will be out there, at least in a better version. By the end of the first quarter, 2012, okay. And I want to add that the server site for BitcoinJS is fairly stable. So you remember the New York conference, obviously. And during the New York conference on Saturday, I actually started the first permanent BitcoinJS exit node server at exit.truecoin.com. And that server has since then been running without any problems, without any crashes. I've updated it a few times so I had to restart it but other than that, it hasn't crashed on its own. It's just been running perfectly. That was actually unexpected. So I didn't think that the first version was going to be this stable, but it looks that the BitcoinJS server is pretty much ready to go so I can focus fully on helping include the client-side libraries that communicate with the server, with the UI that is still. Great. And this current preview version, is it communicating with the server right now at all or no? No, the current version, it's just a UI preview. So it's just a preview of how the UI is going to look.  We'll definitely come back on the show as soon as we have the final thing that works perfectly out of the box. Yeah, yeah, okay, this is exciting. So all right, for those of you who are watching us live right now, you can actually send questions. If you have any questions for Ellie or Steph and send a SMS text message to us number plus one<PHONE_NUMBER>, you'll see it right there on the screen, or send an email, you can do that, we'll get it instantly here and we can ask them the questions to feedback at onlyonetv.com. Feedback at onlyonetv.com, I'll spelled out, all right? So let me take a break really quick and thank our sponsors who are bringing us to you every day, we're so appreciative of Mt. Gox. Mt. Gox, obviously everyone knows the number one Bitcoin exchange online. You can buy Bitcoins, sell Bitcoins, transact Bitcoin transactions, you can even use it as an e-wallet, there's so many things. Mt. Gox is the ones with the two-factor authentication of the UB key we were mentioning earlier. But they have been around the longest and obviously the most famous leader in Bitcoin exchanges online. So if you wanna buy Bitcoins without leaving your home, just go to mtgox.com, we call it Mt. Gox, or mtgox.com. And they deal in more than 16 currencies, they have some major announcements coming up here as you go to mtgox.com, you'll see a countdown timer, all kinds of great things happening there. And so we're very appreciative of Mt. Gox. And speaking of thanking, thank you Economy Book, bestselling author, New York Times bestselling author, Gary Vaynerchuk has a second book out called The Thank You Economy, which is all about social media, using these new technologies in social media, like Twitter and Facebook and all that, to increase your business and to bring your business back to the days of like your grandparents had, the customer service they had with the corner store. Everybody kind of knows intuitively if you're in business or an entrepreneur or building a brand of any kind that you can leverage social media to bring business to your enterprise. But I say 95% at least are doing it all wrong. And then people receive it as spam and they're annoyed and it's just all bad. So you don't want that. This is the Bible on how to do it right so that you can instead of just selling stuff, you can actually build relationships. And so anyway, check it out. It's thankyoueconomybook.com is where you can learn all about it. Thank you economybook.com and the book is called The Thank You Economy by Gary Vaynerchuk. And memorydealers.com, memorydealers.com, the, we call it Roger Ver, Bitcoin Jesus. He is the owner of memorydealers.com. They're famous, they have, besides being Bitcoin evangelists, they are one of the largest online retailers that accept Bitcoin and they sell physical Bitcoin too. But their main business is, they have the largest inventory, one of the largest inventories in the world of fiber optic networking devices, switches, routers, anything you can do with, having to do with networking, infrastructure, hardware, memory, you name it, even mining equipment, graphics cards and all that stuff. So check it out, memorydealers.com. All right, so yeah, as I said, live viewers, send an SMS to<PHONE_NUMBER>, you'll see it right there, or feedback at onlyonetv.com. And so, all right, so the official client is going to have this, what do you call it, split key, is that what it's called? By February? Yeah, split key is the general term. Okay, now the split key is that, to make sure I understand, is that the actual private key that's split, or is it the password to access the wallet that's split? It's the actual key. The actual keys are actually split. So it's almost like taking your wallet file and slicing it right down the middle, like those old, what are those like hearts or something like that, so half a coin. So I get half of the private keys and the other half are actually stored on the server? Exactly. And then nobody can access it at all without both? Yes. All right, so how, okay, how do I, if I lose my laptop, like in the analogy where I accidentally dropped my laptop over the bridge and it's in the lake, how does the other half of the private keys get restored? Right, so we always think of loss and sort of theft as two different scenarios. And the split key idea is something that protects very, very efficiently against theft. So you would have to have some sort of backup solution independent of the split key solution. But the split key solution is designed to do is to make your Bitcoins very accessible so you can use them whenever you want and very easily and without a lot of hassle. But at the same time, a hacker can just take control of one of your devices and then spend all your coins. So it's designed to give you usability and protection against theft. And then backups is a completely separate issue where you can use paper backups or USB backups, whatever you want, you can backup both key, both halves of the key in the same place or you can back them up in different places.  So it has nothing to do with backups. All the backups methodologies are still available and there's still better ones being developed. But what this does is it really makes it easy and you don't have to have any hardware in order to have secure verification for your transactions and you don't, you don't get your Bitcoins stolen. I just want to know that we're also developing backup solutions for Bitcoins be it the split key or just your private keys and other form. So that will be a service customer take this as well, at some point. So when you, okay, once this is all implemented and the split keys and all that and then you have half on the server, half on your machine, you still have to do backups because you have to have both or you lose the access to it. Are you going to recommend, what would you recommend for the average user? Are they going to be backing up, for example, if they back it up to paper, are they backing up only their half of the private keys or would they back up both? So, I mean, everybody right now has a different vision. So if you ask Ellie, you'll probably tell you something slightly different, but the way I picture it is the client side keys, you just print them out and the server side keys, you get in the mail and then you have two pieces of paper and you just store them any way you like. And to me, that's the simplest solution. It's very low-tech, just a piece of paper, right? And you can put it in your safe or you can store one with your grandma and one with your brother or whatever. And so, neither of them can spend your points necessarily. So it's really neat that the split key really helps you even with the backing up. And you can make as many copies of them as you want. There's nothing stopping you from doing it. So it's kind of a nice way to have a little bit more security. So any place that you would consider secure for a backup right now, you can use the same thing for these split keys as well, except you have the additional benefit of, let's say you don't trust your safety deposit box entirely, so you just put one half of the keys in there and you put the other half in your safe at home or with friends or whatever. Okay. And you might have to have, I mean, if you don't trust, okay, yeah, I see what you're saying. If you don't trust your safety deposit box, you, there's different kinds of trust because you might only store half of them there, but you also need to have that same thing backed up somewhere else. So it's not only that someone might get access to them, but you might lose access to them. There are two different scenarios of everything, right? If you don't wanna lose your only access, even if it is to half, because you still need both halves to make the whole. Okay, on a day-to-day basis, when you're using this to send and receive transactions, do you, let's say in the future when you have the split key thing, right? Obviously those keys have to come together just to make a transaction. So is the other half of the private key from the server coming down to your local client or is my half going up to the server? Where does the, where do they get married before the transaction happens? So it really depends on which model you use. So there's different approaches to the split key algorithm. The way it's going to be implemented in the original client is you have two separate keys and it really doesn't matter if it's signed first. It's like, you know, at check, it requires two signatures. It doesn't really matter who signs it first. It's just at the end of the data it has to be both signatures on there. So clients probably would sign on the client's side first, then submit it to the server and then the server would do the final signature and then publish it. The only reason it might make a difference is for security, if the machine was vulnerable, anytime, if the machine had a virus, for example, and anytime the entire key was assembled together on that machine, that would be a vulnerable time when it could be captured, right? Exactly, that's what we want to avoid. We want to never have the full key on any computer, be it the client or the server or your mobile device or any device at all. The whole security comes from the fact that you can separately sign in different places. Yeah, you sign separately, but then, I mean, in order to actually spend it or make a transaction, they have to come together even if it's just for a moment of that transaction. No, no, not at all. So imagine the situation. Let me give you a metaphor, right? So you have this check, right? And you want to spend a lot of money from your business account, right? So it requires two signatures. So what you'll do is you'll put the first signature on it, you'll fill out all the checking details, you know, the recipient and the amount and everything. The check is fully filled out. The only thing that's missing is the second signature, right? So you've already signed yours and you've then handed over to your partner and he'll look at it over, is the recipient, right? Yes, is the amount, right? Yes. And then he'll just put down the final signature as well. And now the check has both signatures and now it's valid. And that's exactly how it works with Bitcoin. So the transaction needs both signatures to be valid.  It really is up to the server. But when they verify that you indeed want to make this transaction, then they'll put down the second signature as well and then they'll publish it. Okay, well maybe I'm splitting hairs but tell me if I'm wrong or off base or what. But the, okay, so you've got the client and the server being two separate partners in a checking account that requires two signatures, right? And then the blockchain is the actual ledger, the actual banking system we'll say. So if the client has to sign it and then sends it to the server, for that moment the server then has both signatures. Like your partner now he has your signature, he sees your signature and then he has his own. But what you're saying is they actually sign them separately and they submit them to the blockchain separately? Right, no, no, no, no. But remember that a signature, especially a cryptographic signature is only valid for what it's signing.  So the server, yes, they see your signature but it doesn't mean that they can just copy and paste it over to a different transaction. Okay, so now I think we're getting to the core of it that I'm finally gonna understand. So what you're saying is that this split key transaction stuff that's gonna be coming out in February, by February, that's a fundamental change to the Bitcoin network, the way transactions are processed on the Bitcoin network? Yes? Right, I mean, depending on how you look at it, right, Ellie, maybe you want to explain it. I see one head nodding yes and one head nodding no. So. The other thing's approach is like Seth has said basically changing the Bitcoin net protocol basically adding a new feature to it. Seth's approach is a bit more conservative and it's basically creating something that is outside of the Bitcoin network and just communicating between the two clients and creating the private keys, the first signature and the other signature separately without ever involving the Bitcoin protocol only just generating the two different signatures separately. So my, I'm going towards Stefan's idea because I prefer not to change the Bitcoin net protocol but who knows, we'll see how it goes from there. So is it, I mean, is this ability already built into the Bitcoin protocol? Is that what you're saying? No, no, no. So there's two approaches, okay? So one involves changing the Bitcoin network and one doesn't. And Gavin right now is working on the one where you have to add some new features to the Bitcoin network to make it work well. And I have developed one that sort of outside of the network and it just uses some fancy cryptography in order to make it work. And so both aren't finished yet. The one that's going to be in the network is hopefully coming out in February. Mine is hopefully coming out somewhere around that time as well. And then, you know, it really depends on which one's going to be better. I'm not particularly invested in either one, to be honest. I'm just trying to make mine the best that I can make it. And then really what the experts decide will be the one that everyone uses, I think. And it really doesn't matter. They'll both do the similar thing. Yeah, I mean, we just want the feature, right? We don't care who provides it. It's all open source anyway. I don't make any money if they use my algorithm. It's just, you know, as long as I have the feature, it's also maybe Bitcoin's on the line, so. Yeah. Are there any other side benefits? Like, for example, comparing your method versus the official client's method or whatever. Are there any advantages? Like, for example, could I do a three-party transaction? Could I do a five or three out of five have to sign it? Things like that. Does one method have an advantage over the other in additional possible features? Yeah, I mean, I could talk the whole evening, but basically my method, I think, is a little more difficult to get right and to finalize and to test and all that. And it's probably, yeah, it's more difficult. It's just more difficult to implement. Whereas, Gavin's method has a disadvantage that it creates a lot more data to be stored in the blockchain. So with my method, for one transaction, you have one public key and one signature to be stored. Whereas with the original client's method that they're working on, is they have to store every single signature. So if you have a check with five signatures, they have to store five signatures. So I would say that in the very long run, so when we really have a lot of cryptographers interested in Bitcoin, and Bitcoin is maybe getting a little bit more mainstream, I think that my method will be more efficient. But in the short term, it's probably simpler to use the Bitcoin client scripting language and the stuff that Gavin's working on. Okay, so in any case, one way or the other, it's definitely going to happen. It's just a matter of the experts deciding which is a better strategy. These are the technical details. The guy behind the current, you don't have to worry about this rule, figure something out about that. Yeah, that's what Bank of America and Citibank said. Don't worry about that. Wall Street, don't worry about that. Those are just derivatives. Don't worry about that. Yeah, that's the difference with Bitcoin. Bitcoin, if you want to know what's going on, you can at least find out. Yes, that's right. You can go as deep as you want down that rabbit hole. Okay, well, this is really cool. So, and is that, do you see that, all of that, is it what you're talking about is going to be included in this next version that you're talking about first quarter or whatever of 2012? Yeah. Sorry. We won't commit at this point, but most probably yes. Most probably yes. Okay, cool. Now, do you have any other people helping you on this project or is it just the two of you? Yeah, we're currently, we just started with getting the first initial investment and we're starting recruiting the more developers and we have a few advisors on various topics. But yeah, same bit of growing rapidly, I could say. Okay, so you're recruiting, anybody? Volunteers or are you actually hiring people? Hiring. Hiring. Okay, so that leads to my next question. So you're viewing this as a business, as a business. So you're looking for investors, you're hiring. What's the business model? How are you gonna, if this is free open source software, what's the business model? Most likely it will be using additional services like the backup, like more extreme security, some kind of a DNS system that we're looking at right now and more features in to save it one way or another. You have to charge, eventually you have to charge somebody for something because it's not free to send SMS messages, it's not, I mean, not everything is free. So it's services, it's add on services like that that you'll be able to sell. And also partnerships, like partnerships with an exchange site. If there's a preferred exchange site that's built into the app, then maybe there'll be some kind of a partnership arrangement where you get revenue from that too. Yeah, well, Bitcoin exchange is one of the revenue generating products that I think will be inside David as soon as we release a more stable version. But that's just one of them. So it sounds like there's many, many different opportunities. What about point of sale? Is there anything specific about this that, I mean, obviously just receiving Bitcoin payments on any kind of device across the board seems like that would be an ideal way for a small business at least to get set up accepting Bitcoin point of sale instantly, right? Yeah, from a Bitcoin jazzy site, we've already worked pretty closely with BitPay. So I could definitely see myself creating a contact between Ellie and Tony and Stefan. And you're talking about bit-pay.com. I always, it's called BitPay, but I, but you have to put, if you're gonna check it out it's bit-pay.com. Definitely have my stamp approval right there. What? It definitely has a nice stamp of approval for what it's worth. Right, right, yeah, yeah. So that really works well. Okay, cool. And also if you end up partnering with one of the exchanges, like if you end up partnering with Mt. Gox, for example, they have point of sale stuff, like vouchers and all kinds of, they're actually developing point of sale hardware, all sorts of things. So it's all gonna integrate one way or the other. Like you said, it really doesn't matter, you know, well, I mean it matters, but we know for sure that it's gonna happen. It's just the best one is gonna get flushed out and rise to the top, whatever the best solution, the easiest best way to do it. And then all these options that there are so many that everybody's working on is just, makes it obvious that there's gonna be some real major improvements in the ease of use and security and all these things, it's really exciting. That's what we're all about. Yeah, so first quarter, that's the, all we can narrow, we can nail you down to, huh? Does it depend on how many investors you get, contacting you? Not really, at this point, we're currently already closing the first round and talking with more investors on the second round. We're still offering for offers, obviously, but I don't think it's gonna be a problem. Okay. And it's not gonna be related. Is the company called BitSafe? Is that the name of the company? The company is not incorporated yet, but most likely it will be called SafeBit. Okay, SafeBit, I said wrong. SafeBit. Yeah, I'm continuously amazed at your ability to say brand names wrong, but I guess it's just so many, huh? There's so many, I just can't believe it. I keep saying BitSafe, but it's SafeBit. Yeah. You can remember it's Italian, it's Italian with the dot it, right? SafeB.it. SafeBit. There's so many and they all have a bit in there somewhere, but... I just came back from the Prague conference and I still, you know, I'm still, my head is floating with all the different names and brands and people I have met is pretty crazy. Yeah. How was that? I heard Max Kaiser was one of the speakers. Yes, he did both a talk and also he led a panel where they were talking about the future of money. There were a couple of interesting talks. What I thought was interesting was that there were a few talks that were critical of Bitcoin, so there were both speakers from a technical point of view for Bitcoin, then there was Rick Falkvinge and Max Kaiser who were sort of evangelizing for Bitcoin from a more non-technical perspective, then there was David Birch who was sort of from a payments perspective, so he'd worked with MasterCard and he's working with Transport for London who've got these little Oyster cards, they're very convenient and so they all brought very different viewpoints sort of to the table and the basic narrative that came out at the end was that Bitcoin is actually, everybody agrees that the base technology is really good and now everyone's looking to client developers to make better clients because it needs to be really usable. Right now my grandma can't use it, she just can't and until we get to that point where she can use it and safely without getting stolen or whatnot, that's going to be a very, very hard and long road and it's probably going to take years but we have to start now and we have to do it quickly because the need for Bitcoin is definitely there. Exactly and we had, yesterday we had Ben Wallace who wrote the article for Wired Magazine which is out on the newsstands right now, December issue of Wired Magazine which you can also get online and I was just rereading the article for the second time and I was reading about you Stefan and you know and I was actually this morning on the way in I was reading it again and I saw the talking about you and I was like this is exactly what happened when you had, we've all had been I think pretty much everybody's been hurt one way or the other, we've stumbled and tripped and lost Bitcoins in the process. One of the guys talked about he was an early adopter and he got into Bitcoin when it was less than half a cent or something like that and I said please tell me that you bought a lot of Bitcoin, right? And he goes, yeah I did. He goes I bought like $200 worth and I'm like okay please tell me you still have them and he says no he was so excited when they doubled in value and it was worth a whole cent that he sold them you know.  So anyway all of these things I believe there's a reason for that happening. I think that it's obviously it's made me really devout about security and you know know your banker or don't have a banker at all you know and you know basically trust cryptography and free open source software more than any people including yourself and for you Stefan I mean this must have really kind of emboldened you to kind of evangelize and say okay I'm gonna fix this problem so that this what happened to me doesn't happen to other people. Yeah and you know your viewers probably remember me from when I was on your show before and I was pretty excited about Webcoin and one of the reasons that even though Webcoin was very close to being finished I eventually stopped the development was because they couldn't solve the fundamental security issue with it and that is that the client code itself is still served by the server right. So whenever you have something that runs in a browser you know ultimately the code is still served by the server and you're still in the same sort of dilemma that you are in with you know PayPal or my Bitcoin where the server just has full access to your money and if they want to cut you off or they want to just go away or steal your money they can do it and it was only very recently that I actually figured out a way to get around it was what my talk in Prague was about so hopefully you'll be able to see that as a video pretty soon but there's different approaches so I definitely am interested in finishing Webcoin but I'm even more excited about SafeBit because it's just so much more usable and I'm really hoping that we can make SafeBit a really really good client. Now SafeBit is, okay that brings up a point so the code is not served by the server I mean well you download it first you download it into your browser or you download the code actually to your PC or where does the code live for the client? The code lives actually on your hard drive but Google is doing a really good job of making sure that it's not compromised in any way that's why we chose Google Chrome Web Store for the initial preview version so that I don't think it could be read about compromised code and stuff like that. Okay so it's not really a web app even though I think of Chrome like a Chrome Store as a web app store but it's not a web app it actually just downloads, it's an app store that downloads the app to your local machine. Exactly, it's web technologies but it's deployed in different ways so on a mobile phone it could still be a native app it's just in the inside there's web technologies running. Okay, okay. All right cool so the app is actually installed on your local machine and I mean it's independent of the platform so it doesn't matter if I'm running Windows or Ubuntu Linux or Mac it's as long as I have Chrome it's a local app and it's gonna run through Chrome. Right. Platform independent that is really slick. Okay cool this is the future for sure you guys are right on the cutting edge of it. So exciting, well but you gotta hurry though I want it before the end of February. It's gotta be done right? Hurry. We're playing web browser software so it's gotta be 100% rock solid and you can't release it a day too soon. Yeah. I agree. Okay cool so is there anything else that you wanna tell people about Safebit, Bitcoin in general? I would love if people followed us on Twitter on BitcoinJS there's a lot of technical tweets but you know I try to mix in a little bit of news if anybody news using BitcoinJS or if they're developing clients and so on if there's anything cool coming out that has anything to do with what I'm doing you can find it on my Twitter, BitcoinJS. Your Twitter and it's what is your Twitter again? Just BitcoinJS. BitcoinJS so it's on Twitter obviously it's twitter.com slash BitcoinJ like John S like Sam right, BitcoinJS right, got it. Okay and Ellie how about you do you have a Twitter? Do you tweet? Yeah I have a Twitter, L-E-S-R-E-L-I-S-K-L-A-R you're welcome to follow me. It's not just Bitcoin related there. Okay. So it's at E-L-I-S-K-L-A-R right? Exactly. Got it, okay cool. All right we'll be following you guys. We have to do this again. You gotta let me know as soon as you got something to announce and we'll have you back and you can tell the world about it. I so appreciate you're taking your time from Israel and Switzerland all over the place. It's always a pleasure to talk to you Bruce. Yes absolutely my pleasure. All right it's a mutual adoration society here we all love each other. Exactly. All right thanks guys. And thanks for joining us. All right take care. We'll see you next time on the Bitcoin Show.


Okay, so we have like one hour of the presentation, then the second hour from six till seven, I guess there's some other team wanting to present. I mean, that's what the schedule says, I don't know. Oh, great, so yeah, I didn't know who was. So from six till seven, is your slot, is that okay? Yeah, sure, I need like 45 minutes. Yeah, likewise, okay. So hi everybody, I'm Mateo Gekwets from Slovenia. The piano guy is Meinig. This is Reinhard Katzman and Georg Rudolf. We are the founding members of Canorus. Now, I guess most of you don't, didn't hear for Canorus yet, or maybe you did. So the whole story started back in 2004, 2003, 2004. When Jörg Anders, the original author of NoteEdit, stopped or yeah, stopped contributing to the NoteEdit. And back there, NoteEdit was, hmm, I think the most sophisticated notation editor for Linux at that time. So this was when Moose score was in alpha, pre-alpha stage and wasn't anywhere near today. And we were maintaining the NoteEdit project. And in one point of time when Qt4 was released, and then KDE4 was announced, we decided to, so we wanted to migrate NoteEdit from KDE3 to KDE4 and Qt4, but it seemed too overwhelming. So basically, we dropped NoteEdit over two or three released versions and decided to write our own music notation application. The main goals were, okay, besides using the modern, for that time, modern tools like Qt4 and making the application cross-platform. NoteEdit wasn't cross-platform, recall that it's KDE3, it was KDE3 application. So we decided to write our own application, we named it Canorus, and in 2006 we had the first release. So that's it. Then in 2009, development mostly stopped because of the real life jumping in, the family and kids and so on and so forth. And now we got older and the kids grew up and it's time to go back to development. So Canorus is a cross-platform application. We provide packages for Debian Windows, and we provided packages for Mac OS X, but the guy who built the packages doesn't provide it anymore. So if there are any Mac users here, you're welcome to build your DMG packages or whatever and contribute to the latest version, latest subversion trunk to us. We didn't migrate to Git yet because we didn't yet, we will. Okay, so this is Canorus. The first thing you notice is, so you start with, I have, oh, sorry, Slovenian, sorry, sorry, sorry. Yeah, English. So the first thing you notice is you have two staves here, which are infinitely long. Okay, and in each stave, in each stave you have two voices. One, two, one, two. So this LCD button for those of you who know, NoteEdit is actually the same principle. So the main console, in 2006, from 2004 to 2006, I was attending the secondary, we call it the secondary music school, high music school in Slovenia. I was doing this music theory course, and usually, so it's kind of a composition style music school, and what I did was I made some arrangements, I made some compositions, and basically, I all did it by hand. And the main goal of Canorus at that time was, how could we design a notation, music notation application, who provides the most natural user interface for a composer to write his own score. Because at that time, the user interface of Finale just sucked.  And similarly, we wanted to implement this kind of, so this is our main paradigm, and the main difference between other notation software as Musa score today, or Finale or Sebelius, where first you need to set, I will make a score which has 100 bars done, and you have it. So this is the concept which is weird for a composer.  Q-Synth, what's wrong? Okay, so if we play it. So the main, so okay, now, let's remove the second whilst we don't need it. The main feature, I mean, it's not a bug, it's a feature actually, but the main thing we support is you can just add another quarter note into the first bar, for example. We just make this here, okay? So the auto bar placement detected in the previous bar, we have four quarter notes, and now we need to introduce a new bar, but hey, you can just remove the bar here, the bar line. And now, okay, it's a pickup measure, and you can remove the note here, and it works, and you can make another note here, for example. And here you might notice that there's this spell checker thing we integrated, which marks that this bar line here is broken, this bar here obviously contains too much notes. So you can do that, it's allowed. And that's the main difference between our music score and others. And this is exactly how composers usually do. They don't care about bars, measures, and so on, they first need to design a melody or a theme, and then they make a polyphony, and then they take the same theme and paste it somewhere else. So copy and paste feature, we also support. You can just take this, do edit copy, and click here and do edit paste. It doesn't care about the bars, it doesn't care about the bar lines. So you can switch the clef in the middle, and this happens. And yet again, you can just copy this, and you paste it here or below here, for example. It just works, okay?  Bar line is just another music element. You can draw it wherever you want. Okay, now, from the features point of view, well, we support, yeah, I think we're half a way to all the notated features, though. But basically, so we have slurs, we have different types of clefs. We have, what's this? Oh, that's a key signature. So it's a C minor here, or G major here. Different types of time signatures. Again, you can write whichever time signature you want here, and see the whole score, it works. Okay, there are some spell checker errors, obviously, but this is loud, okay? What else? So different types of bar lines. Okay, tempo marks, dynamics, fermata, pedal marking, so all the expected features from a music notation software, also for specific note marks, so we have the symbols. Okay, let's make some accents here. Now, we have two states for now. We can simply add another stuff, and it's here, and then we make a clef, we make a time signature, we can copy it. So it's very natural, kind of a, we aim to be a natural user interface, right? What else? So besides stuffs, states, we also support lyrics. So we can just write Alt, Mac, Don, Alt's, add, okay, okay? And what else? So we have this feature wasn't, so this is the figured bus marks. I don't know if you used it any time, so basically, from the music theory point of view, you say write a chord of six here. Okay, should work, it doesn't work, it's broken, so I didn't use this in five years, I think. So this figured, but I have the example here, I think. So it's a shipped example, canotus trunk, and it's, oh, examples, sorry, examples, this one, yeah. So these are the marks, the figured bus marks, and you can just change it to whatever. So here you can add, I think, another one here, yeah. So this means you should put a chord on top of this bass note, which has a fourth and a third. So for those of you who play organ should be familiar with that. Now, this yellow track here, so this is a Stave, this is the lyrics track. This is the figured bus track, and this is the function marking track. Now the function marks denote which degree, this is again used in music theory, sorry, yeah, Mike. Chords, do you support jazz notation as well? Like the jazz chords notation? Oh, jazz, no, no, no, it's actually, these marks are taken from Baroque style. Yeah, Baroque music, yeah. But you don't support jazz notation like you would find in a real book or something? Not yet, but you can add just a text in top of the note. So you can always do that. So this works, and it's also exported to Lilipon, I think. So yeah, this works, but the guitar chords and this human readable chord notation is not there yet.  So this yellow and this blue tracks here, I implemented that back in 2006 when I was attending these music theory courses. And this is the way we marked the chords. So, okay, for example, this is the F major. This is just one homework, one task from that time. And usually the music harmonic exercises are given, you have a best line given, and then you have this six here, which means that this should be a sixth chord on top of this G note here. And what you need to do is write other three voices, the top three voices, following, obeying some rules. You cannot have parallel fifths or parallel octaves on many other rules. So this is the basic music harmony, Bach and other classical composers originated from. And this yellow track here denotes which, well, how's it called? Which degree of the F major the chord is? So this is the tonic degree. This is the seventh degree tonic, dominant tonic. And so on, second degree here, and so on. Yeah. So those of you familiar with this classical notation, so this can be changed, for example, this all works. Now what else? Well, we have under redo, naturally. So this works. And for printing, we didn't complicate. So you may notice the whole user interface is like a technical sketch of your score. It's not aimed, again, in contrast to Musa's score and Finale and Sibelius, it's not aimed to be a nicely typeset score. It's just a technical kind of a sketch of your score. And that's exactly what composers, in our opinion, should use and should see. It's more close to a composer than to a final end user. So eventually, when you click the print preview, the whole file is exported to Lillipond format and Lillipond does the dirty work for you. So this is the, okay, that's the PDF type setting of very high quality. So for other details, what else do we support? So there's a nice feature usually when you, so I don't have any midi, do we have a midi keyboard here? So basically we have this midi recorder, which just grabs all your midi events, you set in the config file in the options. And it is, yeah, I think I have it, but yeah, not installed.  Yeah, it's still the beta face software. But we have the recovery implemented, so we didn't lose much. So the recorded midi file is then saved along the score, right? So originally you can save into Canodos document, it's just an XML file, our own format. And this Canodos archive is actually the XML format plus all the recorded stuff of your score. So it's just a zipped archive. What else? We have, so we have multiple views. So for example, you can, if you just want to write the same theme as in the beginning for example, one third lower, you can just do that by watching at the beginning of the score and whatever. And one of the features which is currently, I mean it's not broken, but just the user interface to our Python is broken. So one of the ideas we had is to make Canodos as open as possible so people can write their own plugins for it and one of the plugins. So you write plugins in Python and the way how we do it is you can write the plugin for Canodos and you call the plugin from Canodos user interface or you write your own application which just uses Canodos for the backend. For example, we have a very good midi importer code designed by Georg back there. And if you just want to import some midi files and then analyze them in Python or do whatever you want with them, you can import our Canodos Python backend. It's here, it's here. So okay, I Python. So basically what you do is you do import Canodos Python, sorry, wrong version of Python, I Python free. Import Canodos Python. Okay, and you can use any internals we use. So you can just write doc equals new document and then, okay, so what exactly does document offers? Yeah, you can add sheet. Okay, so what do we need? Yeah, I mean, you get the idea. So you can call whichever internal function here and then you can export it or do whatever. And I'm not sure if I have a working example here, but one of the ideas was, so we have these plugins here and if I link the harmonia, give me a second, plug in here. So I hope it works, might work, might not work. Sorry for that, this is another arrangement I did. So it's a Bob Dylan blown in the wind for four guitars ensemble and the lily pond output, this looks kind of nice. So what I wanted to show is this export sheet to harmonia. Yeah, okay. Again, another bunch of code, maybe this works. So basically for my bachelor thesis, I developed a harmonia plug-in for Canodos and what this plug-in does is it finds the most important melodies of your score. So basically, if a score has multiple voices, I serialize all the score and then I found the patterns inside the score which are long enough, which are repeated enough times, so frequent enough and interesting enough. Interesting means that they are rhythmically and melodically interesting. So basically I measure the entropy of the rhythm and melody inside a theme. And here, I'm not sure whether this Oh great. So again, this after wasn't run for quite some time, but basically you import some...  So basically I can actually show you the thesis. I have a nice screenshots there, so you get the idea how what this Yeah, okay. So you get something like this. You import a score, midi score or something, and then this is the minuetia. And then it, so in the back end, it uses Canodos to import the midi and make all the events and the pitches and then I search for the patterns and basically I create the suffix tree. So the first phase is to clean up this crossings of voices because it's just midi, you don't know which voices, which, and eventually I make a tree. So here, for example, is repeated same pattern, right? We have four eighth notes, one quarter note, and the relations between consecutive notes are the same. So we have a second, second, second, second, four seconds in row. Yeah, and this is the user interface of this harmony application. So here we have the length of the pattern, number of occurrences, and then the calculated weight, which consists of the length of the number of the frequency and the entropy of the melody and the rhythm. So yeah, this is the practical application of what you can do with this Python bindings. And we use SWIG to generate bindings from C++ to Python, that's it. So this is a Bach, I think, it's Fug number 20, yeah? And the red is the most common theme found by harmonia. So this is this one, da, da, da, da, da, da, da, da, da. Even further, yeah? And you see this is the same theme, and this here is the same theme in another voice, and here is the third repetition of the theme in the bottom voice, and yeah, so on. It's in Slovenian, sorry. And here is the harmonia interpreted melody. So you see, actually it's the same, but it didn't recognize the eight notes because it was imported from midi file, and yeah, you can't. So that's it, how much time do we have? Okay. Yeah, not US, oops, sorry. Okay, so there are some, okay, I guess we should write a score now. So I'm sure you will notice quite some bugs currently in the process of making music right now. And that's also, so this workshop today is meant, I mean, Canorus is far from being a final product obviously, but what we want is to get some feedback of our main concepts we strive to achieve, okay? This composer's best friend, pencil and paper-like natural user interface, which we want to kind of achieve until, that's where it's different than other score editors. So all of us have a count, okay, let's do it. So the numbers one, two, four, five, six is the note length that's similar to other note editors. And one of the things you'll notice is we have this shadow gray notes, which are shown in both states. Now this might be inconvenient for the first timers, but we'll see later on that when you write, for example, the second, when we will fill the second stuff, it's very important not to cross voices or repeat the same thing the other voice is already singing or playing. And this is where the second note in the second stuff helps you out so you don't cross something. Okay, okay, or this is actually a half note and a dot. Okay, and then we use copy paste. Oh, we removed the second voice here, or maybe not. Okay, let's leave it for now. Is this right? Okay, that's it, end bar. So, play. Instrument. So what's this banjo, does this exist? Okay, by the way, safe often, safe frequently. So it's gonna list trunk examples, meaning lack. Let's put if anything goes wrong as XML document. Okay, now the other, the other scores. Let's begin with the second voice. So one of the issues we have here is if I write the second voice now, if I put it here, for example, so this green, green rests here are the rest of the second voice. The first voice is in the background, grayed out, okay? Now, if I click after the rest and before the second rest, Canolos recognize this as I want to insert a note between the two rests. So what it does is it keeps the first rest alone, it keeps the second rest where it is, and it inserts a new note in between. But now, you mess up the first voice. Because in the first voice, now we have four quarters and here now we have five quarters overall. So it will insert another quarter rest into the first voice. So that's one of the problems you get into where you want to allow this freedom for user. So that's exactly what happens. So it inserts a quarter note after the first rest, before the second rest, and now if we check the first voice, now the first voice has a quarter rest here. Now the question is whether, what's the expected kind of a scenario that we should allow? Other note editors simply don't allow it if you want to insert a quarter note between the rests. It, so the original finale had this error message pop up showing up. So yeah, I mean how to solve that now? Well, we can just select this and hit shift delete. So ordinary delete turns the note into rest. If you hit shift delete, hit, yeah, and this one should be invisible. And do, and do, and do. Okay, so in this case, you need to be very careful. Okay, so if you want to replace the rest, you need to insert it where the rest is. So we should go with that here, for example. And by the way, this is F major, right? G major. So it's this, okay. Okay, sounds nice. Second voice. By the way, the second voice should also be banjo. I think you grasp the concept. Now the bass clef, what should we do? Well, it's a nice folk instrument. So now you see the note, the gray note in the first state. That's where we want to see whether we duplicate the same note in another voice. That's something you should always avoid when doing the arrangement, of course. So that's why we have it enabled by default. So we should be like this. Sorry for that. This would be like this one. And lyrics track, of course. We already had this, so Altemak, Donald, Da, had a cow, A, E, I, O, U. And this copy paste, oh, here's nothing.  By the way, there's a nice feature I didn't talk about is this view, where's the view, view, view, view, view. Yeah, so here we have a score view and we also have this source view. By the way, this gray on top is the ruler. I guess you noticed the number of current bar. So the source view gives you the lilypond output. Or if you select the voice, you get a lilypond source of that voice. Now we also spend some time and implemented the lilypond parser. So basically, I don't want to use the lilypond parser in current state, but if we make a new document, I can show how we parse lilypond. So basically, if you're more keen to lilypond, you can just use that syntax. So it's G4, can't, this one's up. So that's for all the lilyponders. And the auto bar is not there. So it is there when you use the mouse, but not that. Oh, yes, yes. You also see the lilypond syntax below, automatically being generated. What's going on now? Yeah. So you can notice this idea of having this friendly user interface and freedom for composer brings lots of challenges. And we try to think about them, we try to trickle them down, but the basic concept how we do it is you can put in any voice, whatever you like, and then we call something like synchronized voices and it makes sure that shared elements like bar lines and so on are aligned. Because so each voice can have whichever music elements, quarter notes, half notes, rests, but when it comes to the bar line, the bar line should be the same bar line in both voices. Now, what happens when you have a, yes, poly metric music? So if you have the friends. Yes. This, oh, sorry. Yes, you can. Something like this. Yeah, it works. I'm not sure if lilypond supports it out of the box or some special syntax. No, for lilypond you need to set it manually, yeah. So printing this. So again, the main model we use is you have staff and inside the staff you have multiple voices and each voice contains the music elements. Music elements can be playable, which means the duration is not zero and it can be non-playable, which means the duration is zero. Non-playable elements are bar lines, time signatures, key signatures, and so on. Playable elements are rests, quarters, and so on. And once you're done with editing the voice, you call the synchronized voice method, which makes sure that all the non-playable elements, which are obviously shared among two voices, are correctly aligned. And if they are not, well, it inserts some rests so that it can be aligned correctly. So if you have a whole note and a whole note and below you have a half note dotted and another half note dotted and they call the synchronized voices, then you have the bar line after the first whole note, but then this conflicts with the half note in the middle of the second voice. So in this case, it actually appends, so it doesn't break up the half notes, it appends a rest to the first voice so it can add a bar line and fixes it. So that's the main concept behind it, but I don't know if it's the right one. I mean, it seems natural for the composer, but it's so difficult in so many cases you need to cover. It complicates things hugely, but still I think that's the right kind of direction to think. So going through the options dialogue, we have these new shortcuts we implemented during this and last year's lack. The idea here is to also have a MIDI shortcut. For example, you can reserve some MIDI key on your MIDI controller to insert bar line, for example, or to hold down some note and then click insert and you don't need to hit the key on a keyboard, physical keyboard of your notebook. You can just use another MIDI key for the MIDI shortcuts command. So kind of emerging the two together and make a hybrid shortcuts possible. That's what Reinhardt is currently doing the most. Yeah, loading, saving and MIDI and printing where you can set the type setter and so on. So this is mostly for the Windows operating system where you need to set the path to the lily pond installation manually. And then we have properties of the score. So you see the user interface is like this. On the left-hand side, we have the insertion dialogue. On the top, we have the properties of the current elements. So we have the time signature. For example, you have this here. For the clef, you have the offset, for example. Here, you can force the accidentals. You can set the stem direction and so on. You also have the properties dialogue where we have some other stuff like document title, arrangement composer, some predefined copyright ideas. Number of lines. We also support that. Some MIDI pitch offsets. So the MIDI is played differently. This is where I encountered that if you play for Clarinet, right? It has different pitch than the one you... It's written there. So, yeah, sure, go on. Okay. In a short time, you showed a lot of cool things. And a lot of crashes. Unfortunately. I think you can live with crashes. The idea is only 0.7. But in your opinion, what are some of the... You've touched on a few of the shortcomings. What are some of the major shortcomings at the moment that you see? And I don't see crashes as a major shortcoming. Sometimes it'll be fixed, you know. No, I mean, personally, I used Canodos for quite some projects. But these are mostly a few pages long arrangements for voice and piano, for example, or for guitars or something like that, a combination of lyrics and music. For this purpose, it's great. So the basic workflow is like you design your score in Canodos and then you export it to Lillipont and then tune some other printing stuff there in Lillipont and you print it and take it. So for this scenario, Canodos is actually suffice us and I think it doesn't have any shortcomings, in my opinion. But if I compare it to Muzza or... Let alone of the finale or Cibilius, I just don't want to go there, okay? So I'm sure there's contemporary music. We don't have absolutely no idea how to do it. We don't support chords yet. We don't support... So triplets kind of work, but again, I mean, if you combine triplets with this freedom, composers' freedom, it's just bad. You get these rounding errors and then you have the second device which has ordinary notes and now what? So triplets are here. You can use it, and you can also set triplets of... So you want to have eight notes instead of five and you can, let's put this one. And this works, it should even be printed. Yeah. So I think the stability issues is in fact a major shortcoming. We need lots of testers. So we urge everybody here to download. So the only dependency we actually have is the Q5 dependency. Everything else is mostly shipped with your distribution. If you don't want to use any scripting, this is totally fine. We don't need Python if the CMake finds it, then fine. We use Python. We don't need Python. Yeah. But for Reinhardt, yeah. Stop for scripting. If you don't want scripting, you don't need to speak. Do you need a special version of GCC or a Seedline or something? So after the Noterite problem with... So Noterite depended heavily on KDE3, not only Qt3, but KDE3. And for the Conoros, we said, no, we don't want any dependencies, just Qt. And then slowly plug-ins ideas came around and let's use Python and so on. But still, you can still use Conoros with Alzadeo, you need for the midi to work, and Qt5 or Qt4 even. But we dropped Qt4 this weekend because Qt5 is now everywhere. So basically, yeah, we urge people to try it out and to try it out in your scenario for your music and report any success stories or problems. I'm sure you will encounter many problems, many frustrations, so please share this with us so we can make a better... This whole thing is experimental. I mean, maybe nothing will come out of it, maybe we'll move something to better. Conoros is on SourceForge still, yes. You should use the current trunk. The current trunk is okay. You didn't release any version as stable right now? So we released... The last version is from the last year's lack. It's this one, 0.7.2, release candidate one, and we will release 0.7.3 tomorrow or in the upcoming days. But basically, no major things are broken, so just check out the latest trunk and it should work out of the box. But no resists actually, no, because we don't have time to release stuff officially. Sorry. Okay, any questions? Okay, worked. Can I use Conoros as an external editor for... So I'm writing a track on myself and I don't want to write a score editor as well. It would be nice that if the notes that I can enter in the piano roll, I could also enter in a score editor just by starting it as an external editor and so basically passing a set of notes to it and then getting it back. Yeah, this might be... I also thought... I had the same issue there, but then I decided to solve this differently, but... Yeah. Yes, I think so. We have to... Conoros... Actually, we have... We have the microphone. You can actually create a library from... Exactly. Yeah. And you can use this as a base and import it in your program and then you just need to call the right... As we do in our main window, you need to set up basically what we did in our main window in your own program. Well, that's not really an external editor. For instance, my program would have to support Kutchi then, which it doesn't do. So, are we talking about launching an external program, which would be Conoros here? No, it's not an external program. It's just calls to the library, actually. Yeah, I couldn't do that. I can start an external program from mine, but I cannot link a QT application into my program. Oh, it's not GPL. No, it's not QT. Okay. So, external application... So, we need the mechanism to send the data to Conoros and then receive it back. That was part of the question. It could be a file, for instance. I guess so. But for example, you don't want to parse Conoros' document. Basically, I would be asking you, what would be the best way in order to use Conoros as an external editor? How would I parse data into it and get it back if I don't want to implement score editing for my nodes myself? I think it should be the other way around. I think you should... So, when you launch the external application, you write a plugin for Conoros, which reads data from your application. So, you have your document at your application, then you launch this external Conoros, and on startup, it reads data from your application, fills the score, you do the score stuff, and then when you click the Save button, it actually sends data using this plugin. So, this plugin would be a glue between your application and Conoros. So, this is, I think... It's an external application still, so you don't link anything with it. The only thing you need to do is this plugin. And this plugin could easily be done in Python, so the only question is how to send data back when you click Save button. You should expose your functions somehow to Python in this case. That's how I would do it. Any other ideas for the audience? Yeah, so this is an inter-exchange format somehow. I mean, we support music XML, import-export. We support MIDI import-export. So, we don't support notated import yet. But we should do that because we have lots of... I mean, personally, I have some scores in notated written, and there's no way to, you know, open that scores anymore, because notated requires KDE3. You don't have KDE3 now anymore, so we don't have notated it. So, these scores are just lying there, and no one can read it. I mean, it's an ASCII format, though, but nevertheless. Okay, thank you.


The study aims to estimate worldwide prevalence of chronic low back pain according to age and sex by consulting electronic databases such as Medline, PubMed, Lilix and M-Base. The search strategy used descriptors like back pain, prevalence, musculoskeletal diseases, chronic musculoskeletal pain, rheumatic, low back pain, musculoskeletal disorders and chronic low back pain. Cross-sectional population-based or cohort studies that assess chronic low back pain as an outcome were selected. The review included 28 studies, with around one-third of them having low scores due to high non-response rates. Chronic low back pain prevalence was found to be higher in women and increased linearly from the third decade of life on until the 60 years of age. A standard chronic low back pain definition should include a precise description of the anatomical area, pain duration and limitation level for consistency and comparative analysis between studies. This article was authored by Rodrigo Dahlke Musi and Claudia Gast Alfassa and Ys Muller Xavier Faria. We are article.tv. Links in the description below.


What's going on everyone Sam here with late sports cards have been 2223 Pini mosaic basketball hobby six box half case break number 36 pick your Team style Let me read off of this for names in our teams got Alex C with the Mabs and Suns Brandon S Celtics Blazers Raptors Brandon T cabs and jazz shipe with the Spurs illegal with the Pacers Derek K Bucks and Wizards Gavin K Kings it with the Warriors Jeffrey Y with the Grizzlies Jim L bulls nuggets pistons rockets magic Joe M Hawks Joshua B nets Clippers heat and nicks Nick V with the Timberwolves Paul S thunder Thomas C Sixers Tyler S with the Pelicans Willie H with the Lakers and Zang G with the Hornets So good luck here everybody Bryce picking up the Finns in number 18 Brandon picking up the Cardinals in 17 and 18. So thank you guys there We're down to two and seven in black now again Really the big break we need to fill tonight is gonna be crown 14 to go everyone 14 to go tiered random team style We have a full sellout promo going tonight. Only if every single break sells out tonight Only goes if all breaks sell out tonight That is crown hobby as well everybody. That's crown hobby. So guaranteed Guaranteed Kaboom as it is, you know the case it should be Laundice Williams O'Shaik Bajie Silver Joel and bead red Dinwitty for the Nets Jaden Hardy and Benedict Matherin Swagger Vaga Is it three to go and select now three to go and select that's breaking right after this Coloco Silver Time Lord Jordan Clarkson red for the Jazz Keegan Murray overdrive of KD Mosaic there's your guys is linked to select That's Mark Williams nice to 49 Keegan Murray going to the Kings Congrats Sacramento. Very nice Here you go Kings You go into Gavin K Congrats Gavin Keegan Murray pick the graphs harden D'Angelo Russell to 149 for the Lakers Stairmasters LeBron and a Donovan Mitchell again full sellout promo tonight We were giving away a hundred Panini National VIP gold packs Jared Allen read the fro Zion Keegan Murray breakaway one of one Black mosaic Keegan Murray Congrats Gavin there you go, buddy with the Kings One of one that's nasty man.  We're down to two to go and select that will again go next Thank you, sir Martianne Champ Marvin Bagley Jalen Suggs purple to 99 That's cool Josh Giddy and a DeMar DeRosen. I'll say one of one Keegan Murray right there Now on the card Silver shade on sharp blue iota sumu to 199 got a Luca and Steph Curry notarite Chris Middleton red Walker Kessler for the jazz J Dub and D book Shade on sharp rookie Keras Levert red Jared Allen Matherin breakaway and Levine Yeah, no the kabooms out of basketball Because they're much harder. You can't get them in retail Which makes the kaboom the basketball kabooms like a thousand times more valuable Same with the downtowns if you look up the downtowns of basketball They do insanely well because they come out of a higher end product instead of just being thrown in the blaster boxes like they are football both in football both kabooms and Downtowns in football that is Blake Wesley. We've got a Derek Harper nice one there for the Mabs Pat Connaughton gold Ryan Rollins rookie to 10 nice one there congrats warriors Steph Curry and notarite of Yanis. Oh, yeah for sure basketball Basketball case hits like that are awesome, dude Like even like just the Trey young from this year because I'm a Hawks fan. I always looked at those Blue Dyson Daniels to 199 Palo and a Julius Randall Montage Even the like the Trey young this year, which would be like his fifth year fourth year, whatever it may be like a thousand dollars For the kabooms on real man. Actually it's up there Jeff Jeffrey Y That was a Wendell Moore junior a Dante Divincenzo red Levine Walker Kessler and base Can find retail to mini products. We have a lot around here actually Yeah, 1300 see 1300 on the on the Trey young kaboom Red Reggie Bullock, which I like don't give me like I love Trey young obviously, which I think is cool But I mean $1,300 that's not even a rookie Like the Palos and stuff go absolutely nuclear in that product Kisper Darren Fox to 149 It's on real dude Benedict Matherian and Jade and Ivy Crowns a good product man and the silhouettes do pretty well Never forget I got into a huge war on Facebook with some guy Silver mark Williams purple is cam reddish to 99 Okay, Connie him yet to disable comments Yeah Mosaic NBA mega is a target today There's chat home grid That is Bobby Portis red Palo. I swung there and base and more base Hey, Walker Kessler, Jaden Hardy Brunson, Yaka, but hurdle red and Bradley Beal Palo Moravia Jimmy Butler red and a Devon Booker overdrive Christie silver Reggie Bullock during the war a red and a stained glass Kevin Arant Congrats sons nice one there You go in it shoes Did did did did did Alex see Congrats Alex you just throw that we have to You can throw that gold. I don't know if that there was a gold of Brian Rollins You can also as well Alex for the select spot. Thank you, Alex down to one to go in that now Again, here is your link to crown under market price right now as well price to move is crown Royale basketball full case The last case we have in the shop That I saw at least I don't know if there's one floating around somewhere That was the last one where it was supposed to be Shade on sharp. That is a magic Johnson 9 of 10 gold auto going to Lakers. That's awesome dude. Congrats, LA Who's got the Lakers that is gonna be?  Silver Cole Anthony nice purple Jade and Ivy going to the pistons to 99 here you go. I think Jim had them, right? Yeah, Jim congrats on that one man Yeah, that's a very well could have been a stash very well could have been There's a lot of stinky people here today That could have been Silver Keegan Murray pink Keldon Johnson to 149 Fontecchio base silver IO to sumu red Kennedy Chandler rookie Uh, dame and a razzle dazzle of Kyrie the montess of bonus We need to hear like Any grids in this or last half? Um, there was a santee aldama white to 25 I don't think there was any autos Herbert Jones red Shet and base Not that I really remember to be honest the aldema would be the The one from this half case For you Jeff silver nozz read Kobe white red And be a straight fire of dame I say a mobley blew my conley to 199 and shrey Oh no, I'm on there 12 hours later again 14 to go and crown everybody 14 to go And base oh no Oh, mr. No views jade and ivy silver keldon johnson red rus The clips Yeah, what do you do? True Shade on sharp jade and ivy pink of Patrick williams to 149 stained glass step curry going to the warriors nice one there congrats warriors very solid And a jade and ivy montage Just got word two father's day packs per spot and crown Two father's day per spot and crown Derek white to 49 nice one there congrats celtics silver shea purple quintin grimes to 99 razzle dazzle j-dub And zion londes williams oshaig bhaji time lord tray jones red A base and base two father's day packs What do I think of the rangers like the texas rangers or the new york rangers texas they look good They look really good They're really hot right now jaymond greens sexton red and bradley biel That is a blue oj none of e to 199 jaylon green and murmur That is a Andrew nemhard aj griffin silver mark williams tai tai washington to 199 kairi and a lebron Gavin picking up a spot in crown. Let's go gabin and matthew closing us out on select Thank you guys 13 to go on crown Thwaitine to go on crown royale bkb jaylon durin How are you durin jason tatum red johnny davis rookie? That is a keegan murray and a damien lillard How are you durin bradley biel brandon clark palo?  It's unbelievable. Oh my god. It's so bad, dude Like oh my god. It's so funny though But I watched like a video that just some it was like the lowlights of it. Oh my god carl anthony towns red Jabari smith. Nice white jabari smith to 25 Oh my god I don't know if anybody has ever seen that either. It's so bad. It's so funny Palo bancare. I kind of like there's a couple songs of his I really like which kind of sucks santee aldama Because that freestyle is everybody knows he's like known for how bad that freestyle is So Andrew nemhard silver mac mclung. I'll play a little piece of it after this To 199 jordan noir. I can't play it on stream. Unfortunately jay and ivy. I would So I'm not really no blue marcus smart to 199 That is a shade on sharp introductions again. Here's your link to crown Uh 16 box full case break 13 left Two father's day packs per spot that you purchase in that ship sealed to your door We'll also get you into the full sellout promo everybody. That is karis lavert red viente murray and stef curry Curry and murray there pascal siacum red is shade on sharp nightmare man Yes, sir Yes, sir gavin. Congrats, man. Yeah again right there Right there keegan 101 dude looks pretty clean overall too Like surprisingly clean. So not bad. Malik monk red overdrive of a kairi Yeah, congrats, man. Thank you as always gavin. Appreciate you buddy Good stuff on that. Geez man. That's another stained glass stef curry. Hell yeah, dude Let's go go into the warriors Forest is losing it man. What forest is this a link to a youtube video that looks just jay and ivy Very bizarre to be honest Spencer din winnie and a merry-go-way appalo That I think is pretty valid That is pretty valid. I think that that might have to be A situation here brown shade on sharp rookie colloco jordan goodwin to 149 pink face and daemon lilor I have not no Not that I know of at least oh brandon t With a crown spot. We're down to 12 everybody 12 to go brandon. Thank you my friend We're down to 12 on crown royale. Kenny Chandler. There's an hoshai igbaji going to the jazz Congrats to utah silver job boy on mcdonough. It's to 149 deer and fox and Stair masters of dame Ian willard stee That is guy. I can't even type That's also catch up Jeff and Tyrese martin red That's your new name. It's steve hallow bank arrow Name is no views. Keep it up and we'll take more letters away Shade on sharp silver christian wood dylan brooks red Mixing the water for us even a legal style in your mix And That is benefit matherin some on fontecchio blake wesley purple joellen bead to 99 make it a you'll get straight fire and a starland There is garland mixing a crown Yeah That's hoshai bhaji. We've got david thompson to 49 going to the nuggets little throwback hit there. I love it Love it Love it Silver damante grand purple jade and ivy the second one of the break to 99 Congrats again jim jason tatum on the storm chasers and a jaw notoriety That's how shawna mix the water in over here keegan murray red anfrony simons new No, no, no, no marcus smart red markel folds Four packs to go everybody four to go Like wesley wendelmore jr. Silver sugs kelly olynnick jazz legend Nice one there for the um go dolphins Jazz that is a benedict matherin and walker kessler dolphins Colonel sand. Oh, look at this guy Chicken jaylen durin silver chet What do you say? that is how you durin blue to 199 jade and mcdaniels What up rory? What up rory should durr sanders babies. How about that?  No kfc mashed potatoes joshikogi and base quick recap here everybody uh perfect razzle dazzle of urban gold ryan rollins that curry two of them on the stained glass Also had a stained glass kd white javari smith to 25 white aldama to 25 autos david thompson Uh, oceanic vaji derrick white derrick harper keegan mary gold magic johnson and a one-of-one keegan mary breakaway black mosaic I'll do it for the break everybody. Thanks again for the fill Up next is select