Hello, I'm Andres Martinez, Vice President here at New America. I'm with my good friend Tamar Jacobi, a Schwartz Fellow at New America, as well as the President of Immigration Works. We are sitting here in early 2006. There's excitement about immigration reform. Oh, no, no, wait, it's actually 2013, but it feels very much like 2006. I can remember being in Los Angeles at the LA Times, big marches on the streets of LA. We were going to do comprehensive reform. We had a Republican president who was backing this. A lot of the same senators that I saw go to that microphone this week were the gang pushing immigration reform back then. I feel like I've seen this movie. Is it going to end differently, Tamar? You have seen this movie, but the movie has changed somewhat. You're right. In 2006 and 2007, there was bipartisan support. You're right that similar characters, you're right similar outline of proposal. What's different is there's been six years of drought in between, and that's really important to notice, right? And a few elections. Well, I'm going to get to the few elections, but yes, six years of drought and a few elections. The six years of drought, you couldn't even mention immigration on Capitol Hill. When I walked through the hall and people associated me with immigration, literally people would go the other way or people would not return my phone calls. I should say you were very involved with that. I was very involved in the 2006 and 2007 effort. Then the 2012 election happened and the Latino vote made its muscle apparent, played a key role in electing President Obama. This was not a sudden thing. This is a power that's been growing for many years, many decades even, and is only in the middle of its growth. It will grow significantly going forward, but for some reason this was the moment in that kind of steady crescendo when people noticed and people got it and the penny dropped and Democrats and Republicans realized this is the future. And that has just changed the climate unrecognizably from as little as six months ago. And I would argue it's changed the climate from five or six years ago also because more Republicans get it now and I think there's an urgency on both sides. I've been quite astonished in recent weeks how much momentum I think there is and it's not to say momentum to get it right. It's a long road ahead to get the details right and the details really matter, the substance. Let's not call them the details. But I think there is a lot of momentum and I think it's quite unusual. Let's talk a little bit about the substance and the urgency. Let me just say one thing before we get to that because the Latino vote is what's driving this. I hope we don't just do this as a way to keep a Latino unhappy segment of the population happy. This really has to be done in a way that's good for America. And I'm not saying what's good for America is not necessarily different than what's good for the Latino vote. But I hope members don't approach it as let's check that box, keep those people happy, move on to the next thing. This is really about all of America. This is about who we're going to be for decades going future. This is going to be how every business in America hires people. This cannot be done as a check the box for that protest group. And we certainly don't want to be here again in 20 years, which is what happened the last time. And I think this is a little bit where you're getting at. For all of the political urgency around the question of immigration reform, a very important component of it is not getting much attention as you wrote about this week on CNN. So talk a little bit about that. Yeah, so when most people hear about comprehensive immigration reform, they think about the 11 million unauthorized people already here. That's who Latinos were voting about. That's the controversy. That's the path to citizenship, the quote-unquote amnesty, the what is it about illegal you don't understand. When you hear all those phrases, that's what they're arguing about. Those people are really here because of a failing in the past. They're here because people wanted to come to work. We needed people to come to work here. We had job openings that weren't being filled. But there was no legal way for people to get here. So there's a legal way, it's a little more complicated than that because we need workers, we need very skilled workers, and we need very unskilled workers. We don't graduate enough science PhDs, and we graduate so many high school diploma holders that there are not enough people left to do the farm work and the kitchen work. And there aren't enough legal venues for unskilled workers. Exactly. There aren't enough legal avenues or paths in. There's really no legal avenue or path in. Okay, they skipped a line. There is no line. As you pointed out, there is no line. There is no line. And yet there's a need for these workers. And if we don't fix that, if we don't create a line, we're going to find ourselves in exactly the same place 10 or 20 years down the road. But why is it so difficult to talk about this? I mean, even President Obama's pep rally yesterday in Las Vegas, and one of my personal pet peeves is that we always have to advance policy and campaign style pep rallies. I wish we could get over that. But anyways, even in his talk in Las Vegas, he spent an awful lot of time talking about the founders of Google, God bless them, and the venture capitalists. And that's a very important part. If we don't want to stifle innovation by not being a beacon to all kind of STEM graduates and engineers around the world. But even in that context, when the core of the problem is unskilled labor, he feels like he needs to lean on the founders of Intel and Google. Why is that? This is a holy alliance of labor-friendly Democrats and anti-immigrant Republicans that don't like the idea of more visas for workers. And Americans generally don't understand, are skeptical of having more immigrants. What they don't necessarily understand is that what we're proposing is not more unskilled immigrants. It's that the ones who've been coming illegally could now come legally. We're switching them from the back door, so to speak, to a front door. But people hear more visas and they say it's 8% unemployment. And even the employers who rely on immigrant workers, they've never had a program in the past. So they don't necessarily see, oh, I'm going to need a program in the future. They don't realize that the old way of doing things, and most of them didn't deliberately hire unauthorized workers, right? They looked at those papers and they ran them through the system. But you know, many of them were worried. They couldn't ask any more questions. They think that somehow that's going to go on. They don't realize that they're going to need a program. They don't like the idea of a bureaucratic government program. They kind of hope they'll figure out a way to get by and they're not really thinking to the future. So there's a big constituency for legalization. All the Latino voters for that. There's a big constituency for the Google and Intel and high-skilled piece. There's a big constituency for enforcement of every kind. But the thing that's the most important heart of the fix, there's not a real strong constituency for. And that's a challenge. I was very struck by how the Republicans, I first noticed this in Senator Rubio's op-ed last weekend in the Las Vegas Review Journal where he talked about the status quo amounts to de facto amnesty. And that seems to be this great talking point that all the Republicans now are relying on to justify their 180, that not doing something is the soft position because essentially these people are here, and so reform now is tough. It seems like something Frank Luntz might have come up for them or maybe you did, I don't know.  I've heard a couple of Republicans now saying that but it's an astonishing turnaround. It is an astonishing turnaround. It's a very clever turn of phrase. And to be honest, McCain has been saying it for years, to be honest, to be honest, to give credit words to him. Well, he wasn't saying it in 2010 when he... But anyways, I'm also struck by the fact that there seems to have been tremendous movement just in the last month on the question of citizenship. And that big difference seems to have been taken off the table as I understand it. Well, I think we haven't heard from the majority of Republicans yet. I mean, I don't know. Within the gang. Within the gang it's taken off the table. We still have the House to go and we still have a bunch of other senators. And I mean, you're right, there's so much momentum and people who weren't talking about citizenship even weeks ago are now talking about citizenship. I would be the last person to predict it's going to stop. You know, the momentum is rolling and people are waking up different people than they went to bed. And just so we're clear when I say citizenship, I mean that the people who've been here without authorization, not only would they be entitled to get legal residency, but they will be eligible for citizenship and that's always been a bit of a... Exactly. And now we're arguing, if you look at the argument between the senators who were behind the bipartisan proposal and the president, the dispute between them now is do we have... How long will they have to wait? How many hoops do you have to jump through? How many hoops do you have to jump through? And will we have to secure the border first? That's a pretty... That's all we have to argue about but we're in a pretty good place. And secure the flu and fix the debt. You're right. But so... But it isn't that. It's really just... All it really is is how long do they have to wait and they're pretty similar in that and arguably, Obama's, they'd have to wait longer. And do we have to secure the border first? I mean... Haven't we already secured the border? Well, you know, it's all in your definition. I mean... And I don't live on the border. You know, Jeff Flake, who somebody really trusts, who represents Arizona... Senator from Arizona, yeah. Senator from Arizona, who has been pro-immigration reform through his career in Congress and is very close to the ranchers on the border. You know, he thinks not that it's not secure. I mean, the flow is way down. It's net zero now. But, you know, there's a dangerous situation in Mexico and those people are on the front line. You know, when Jeff says, when Senator Flake says, there's still work to be done on the border, I trust him. There's probably still some work to be done on the border. I don't think we want to move the goalpost and move the goalpost and move the goalpost. That means we never do anything else. Right. The Washington Post, I think, had a good article pointing out this week that a lot of the metrics that were set forth in 2006, 2007 have been accomplished. Right. And I think there were... Yeah, and that's important to... 11 murders in El Paso last year, which is amazing. It's just stunning. Yeah, yeah. Considering the same city divided by one wall from five is... It's certainly... We're certainly close. And the flow has... Right. Has basically... Although the flow will pick up. The flow will pick up as the economy picks up. Whether it's a question of the demographics in Mexico, because Mexico has an aging population, or whether it's nearly a question of the slowdown in our economy, or the security measures. I mean, we could spend hours... We are just parsing. But the flow will pick up again as the economy improves. And it already has. I mean, the immigrants only come to work if there is work. And if you're going to be unemployed, it's much better to be unemployed in Mexico. It's warmer. It's cheaper. Food's better. Family and friends, exactly. So when the downturn started, the migrants knew about the downturn before we did. The flow started to ebb in late 0607. And the migrants are now picking up again. So I think the migrants are seeing the upturn, maybe ahead of some Americans. So there will be an economy's flow.  To be fair, if you're in a pueblo in Zacatecas and you hear that Obama gave this big announcement, you might think it's... There's a green light. It's more about the work. It's about the work. And it's been coming up since the beginning of the year. Let me ask you, just turning a little bit to the politics. Is it more productive in your estimation in terms of passing reform to have the president work closely with the senators and try to get on the same page early on? Or is it better for him to stake out a position that's far to the left so that enough Republicans can oppose his proposal and still vote for... If I was looking at this, let's say if I was president, I would say, you know, I haven't seen kindness work together on anything, you know, really serious since I've been here. We've got some people working seriously. We've got a lot of momentum. Just let it go for a while. Let it run. See where it goes. I mean, I don't... He feels he needs to step in and add some urgency. Perhaps that could help us by that becomes the left goal post and the bipartisan bill becomes the center. But, you know, I think something's moving. Let's let it breathe for a bit. Great. Tomorrow this is going to be really interesting to follow in the next months, weeks and months and years. Hopefully not years. Not years. We're going to get this done. We'll be looking to you for wisdom on this. Thanks a lot. Thank you so much. Thanks for the opportunity.


Cotton fabrics were modified through an oxidation with hydrogen peroxide followed by chitosan to improve their diability toward cochineal natural dye, and studies were conducted to select the best modification process and assess their diability. The scanning electron micrograph showed chitosan was deposited on the surface of cotton fibers, while infrared spectroscopy revealed interaction between chitosan and cellulose. Thermal gravity analysis showed little effect on thermal stability, and treating with 15G L chitosan and baking at 130 degrees Celsius offered higher cochineal adsorption. Dyeing with increased time and temperature resulted in higher dye uptake, and the ratio of ethanol and water affected solution polarity, with a proportion of 9 to 1 reaching maximum cochineal adsorption. pH value had complex effects on Ks value, with pH 7 yielding the highest colour strength. Dyeing kinetics curves indicated that increasing dyeing temperature increased the diffusion coefficient and decreased half dyeing time. The washing and rubbing fastness of treated cotton fabrics were improved and rated above grade 3. This article was authored by Guayshanku, Kandishu, and Mofasa Hub Choudhury. We are article.tv, links in the description below.


Okay, I gotta get set up here, hold on. I actually got here at 7.30, but we were like too early, so we went to go and get food, and it took a while to find some food. We were looking for vegan food, which took some doing. There's vegans. Yes! Actually, we knew Awesome Place, which, where is it, where is it, where is it? Arrangements, aha! Okay, I win. We knew Awesome Place, but they were not open for breakfast. Watch, I win. Yeah! All right, so the first thing I wanna actually say, normally I don't think introductions are a good idea, but because the most important thing is just get to the point and introduce yourself later, but there's a few things I do wanna say to introduce myself or to talk about myself. And the first thing is, if you don't know why I'm wearing this hat, it's just because, I was out there, so I don't know how many of you were here in 2008, but it's an homage to 2008, so. Yay! All right, glad that some of you were. All right. The other thing is that I am not working with Ruby professionally. In fact, I have been for several years, but currently I work doing, like making videos and doing career coaching, and it's this kind of weird experiment, but I really like it because hopefully, it's going to enable me to write only the code that I'm interested in and none of the code that bores the hell out of me. And I don't mean to suggest that any of my employer's code has, you know, at any point, any employer bored the hell out of me, but I think you would be able to figure out that in fact this has happened once or twice, maybe.  It's like, no, I'd rather just play, you know, Dead Space or something. So the other thing is, you know, as I mentioned, this is a slide, and this is the website, which mentions no slides at all, where do I, there it is, right? Right there, no slides at all.  And in fact, here's a picture of me two years ago saying exactly the same thing. And this was, I had promised slides and delivered slides, it wasn't slides, it was, I thought Archaeopteryx was going to have a different feature set than it ended up having. So please just bear with me, if you were expecting, or even indeed demanding, no slides, I'm gonna make it quick, and so there's gonna be a lot of Q and A, because I do wanna do the whole discussion thing. So I'm gonna be talking about Archaeopteryx, and here's me attempting to give the presentation about Archaeopteryx with no slides, and this is kind of what it was like, right? Which is why I decided to go with slides. The other thing to know is that there's gonna be some math, but because math can get boring, there's lots of symbols and whatnot, there's also gonna be animals, including this scary, evil little turtle. The other thing is if you wanna ask questions, and please want to ask questions, because I'm trying to make this Q and A, and I'm trying to get through the slides fast, the way to do it is go on Twitter, and if your friends ask a good question, or you see somebody ask a good question, whether you know them or not, retweet the question, because if I go and look at Twitter, and it's like 300 retweets of the same question, then I'll be like, oh, that's the question, but there's also the old-fashioned way of yelling, and the old ways are good, right? So please, by all means, yell. Okay, so I don't know how many of you know what Archaeopteryx is, but it is basically a Ruby library for making music, essentially. So one of the major technologies that enables it is MIDI. Now, all you really need to know about MIDI is that it's like JSON or HTTP. It's a protocol which is unbelievably dead, dumb, simple. Basically, this is MIDI, on, off, and which note, right? So if you've got a synthesizer, you can send it MIDI saying play this note or play that note, right? Or if you've got, this is a soft synth that it's a drum machine on your computer, you can send it a note saying play this drum or that drum. And actually, let me just demonstrate that. Hold on one sec, because you'll need to see this. So it's gonna take forever to load, so I'll just show you some more stuff. There's more to MIDI, but, you know, I mean, if you want, you can like say, turn this knob like three degrees, you know, or something roughly equivalent to that in MIDI speak, but that's not so much what we're gonna talk about today. If you wanna work with MIDI, you need a pair of gems. Gem install MIDI Lib, gem install MIDIator. So the history with these is MIDI Lib was created like 2003 or something, it's really old school, and it allows you to work with MIDI files. MIDIator is basically, I created Archaeopteryx and I went around and promoted these conferences and I'm like, everybody, look how great this is. And somebody looked at the code and he was like, eh, I wanna make this better, and he did. So now it runs on this. And this is basically for doing live MIDI, right? If you're, you know, MIDI Lib is for files, MIDIator is for live MIDI. And to get Archaeopteryx, you can go to this URL, H-D-C-P, github.com, Giles Boquette, Archaeopteryx Tree MIDI files, or you can just Google Giles MIDI, which I would recommend, because the other way takes a lot of time. And the smart thing to do with Archaeopteryx or anything else is look at the branches on GitHub, because you can see that this MIDI files branch actually has like a lot more activity than master. Okay, so one of the things I wanna talk about, and I'm, again, gonna make this quick, is Lambda, okay? So Lambda is a feature of Ruby that a lot of people, you know, maybe they don't use so much. It's a very, very powerful feature. So here's some JavaScript in WebKit, okay? If you're going to JavaScript console in WebKit and you do foo new object, foo.bar equals function, right? You can just put a function on the object as a piece of data, as an attribute, as a key in the sort of hash that any JavaScript object is. And you can reference it as the object itself, right? Here we have a function object, foo.bar is a function object, foo.bar with the parentheses actually executes the function. Okay, so you can actually do almost exactly the same thing in Ruby if you want, and it's very, very simple, right? Here it is. You create foo equals object.new, obviously the same. This part is different. You do class, open, open foo, add our accessor bar, end, right? And then you can say foo.bar equals lambda return bar.  Here you do foo.bar, you get a proc, which is essentially a function object. And then before, you can do foo.bar to execute that function. Here you can do foo.bar with the square parentheses I don't know what they're called, but the box. And it'll execute the code. So this is a very different way from writing Ruby from the way, you know, normally people do write Ruby. But the nub and the gist is if you wanna do this JavaScript thing in Ruby, it is extremely easy. Okay, I mean, it's right there. So we'll talk more about that a little bit later. So next thing I wanna explain is going to seem like a bit of a tangent, but I wanna tell you how Google PageRank works. So this is the original white paper on Google PageRank, right? And this is the algorithm, right? And here's where the math comes in. So this says that the page rank of a given page is equal to a dampening factor applied to the page rank. Well, this is iterating, right? When you have PRT1 yada yada to PRTN yada yada. What you're saying basically is for T1 through TN do this equation. So you're iterating over a collection and doing the same equation on it. And it sounds complicated, but here it is in 126 lines of Python, okay? We can do it a little bit better than that.  So we assume page A has pages T1 through TN which point to it, right? That's T1 and TN. The parameter of D is a damping factor and CA, that's C here and also here is defined as the number of links going out of page A, right? Which means, well, I'll just show you what it means. So you got the page rank of a given page is equal to a dampening factor applied to the page rank of a page linking in divided by the number of outbound links on the page linking in and then you iterate over all those pages, right? And if the math is too much, here is a hippo with a turtle, right? And you can see they're friends, right? This is a cozy picture, right? So here we have the page in question, yada, yada, yada, right? This actually works out to a very, very, very simple thing, right? Here it is in one line of code. This might be difficult to read because it's kinda small but page rank of page, one minus damper plus damper times and then you just do an inject into zero page, page rank of page divided by outgoing links from page. Not actually that complicated, it's almost one line and the power is in the probability matrix, right? Because what this does is it sets up a probability matrix. Now here's an example of what a probability matrix might be. It's a very simple one, right? You've got a thing and a probability, right? So we're saying that for some set, in some context, the probability of encountering an aardvark is 80%, what's that, a bird is 50, right? Cat is 90, this is some kind of bizarre zoo, right?  But the point is that you're simply associating things with probabilities, okay? So here's one way that this works, right? I've got this blog post here, it says config.gem, unpack, blah, blah, blah, this is obviously an error message, right? The whole post title is an error message, right? And here is the solution.  Rails, vendor gem source, yada, yada, right? And if you encounter this cryptic, unhelpful, and deeply annoying error message that does not affect the running of your app in any way, shape, or form, all you need to do is Google it and you get the one liner solution, right? So these terms, if you were to make like a probability matrix that they link to my blog, this is actually what Google does, right? It forms this assessment of the probabilities that they link, and then because it's a high probability, if you put in the search term, you get the blog, right? So you notice that it contained like things like anything and whatever, right? Config.gem, unpack gem, whatever, right? Well, the reason that works is because these are terms with very high probability. You can also select a term with very low probability, like arizdif, right? You're not gonna see the term arizdif on the web very often, because it does not mean anything in any language, right? So its probability is zero, right? So if you search for config.gem, unpack gem, arizdif, you get dilly, right? So going back to this implementation of page rank, right? The page is inject, it's kind of a mistake. It's one of two mistakes in this code. It's mistaken that the variable name is not particularly clear, right? What we're really talking about when we say pages is the referring pages or the sources of inbound links. So a better way to write this thing is to fix that and also fix that I did memo wrong in that previous slide. I did the inject wrong, right? Page rank of page, here's the damper. Then into inbound links, you've got a collection of inbound links, right? Or pages containing inbound links, right? You know what, I'll just go forward here. Here's that diagram, which I know you guys got because it made sense. So here is it translated into code, right? So the page rank of a page, right? The damper, you find the page rank of the inbound link, you divide that by the number of links on the page containing the inbound link, and then you just iterate over all those links. So here we have the essential equation part where you are comparing the page rank of the inbound links to the page rank of the page containing the inbound link to the number of links on that page, right? And then you just iterate over it. That's where you're building a probability matrix because what a probability matrix really is is a probability distribution. And when it comes to distribution, there's a couple of slides here which are boring, so I'm just gonna skip them. Uh, however, it would be interesting if you were like shocked by the idea that Google is somehow imperfect. And if you were shocked by that idea, I include a picture of a hippo looking cute to like kinda ease that pain. And now it's gonna get even worse.  So brace yourselves, it's gonna hurt. I'm sorry, it's gonna hurt. The thing is, I did this great presentation where I'm like promoting Archieptrix, and I'm like Archieptrix is something to get excited about. And people are like, well, that's great, but how does it work? And I'm like, I just told you for an hour. And they're like, yeah, but three of those slides had code. So now I'm trying to give you the code. But I don't think it's actually what you want. I think it's actually what you say you want. But I'm thinking out loud here. Anyway, the Google page rank algorithm is 126 lines of Python, right? That's great, right? Here's how to write a spelling corrector in 21 lines of Python. So this is Peter Norvig, chief scientist at Google, and he's showing how, basically, he was talking to some friends of his, and they're like, oh my God, Google's spelling correction is amazing. And he's like, what? What's wrong with you? How don't you know that that's obvious, right? And here's his quote, right? What surprised me is that I thought Dean and Bill, his buddies, being highly accomplished engineers and mathematicians would have good intuitions about statistical language processing problems, such as spelling correction. He thought they knew it was easy, right? I figured that on the plane flight home, in less than a page of code, I could write a toy spelling corrector that achieves 80 or 90% accuracy at a processing speed of at least 10 words per second. So here it is in 10 lines, 21 lines of Python. And here are those 21 lines, right? And if you're not used to reading Python, and if you have no idea where I'm going with this, you might wonder which of these lines you should look at. It's these, these lines, right? And yes, it's 21 lines, but basically what these lines do is they go through a list of words and they compile basically frequency. And I think it also does something with the letters and the words, the misspellings, I don't know. But essentially it's just compiling a mapping of frequencies, right? And it's doing that in 21 lines, but the money shot is just five lines, right? And this here, our Ruby implementation and the page rank is again just five lines, right? So this probability matrix thing is a five line thing, right? People talk about Google and they're like, wow, you know, chief scientist Peter Norving wrote the book on Lisp and artificial intelligence, right? They think it's rocket science, it's not rocket science. Google is a post-it note, okay? All you need to do to understand like almost everything they do is understand how probability works. Things like a probability matrix, it's easy. Everyone in this room can do it, guaranteed, okay? Tangent, there's something very sick and wrong about the Python community.   It's just unreasonable, right? There isn't even like a web framework called Trousersnake, there's nothing. Seriously, what's wrong with these people? If you go to like a Python meetup, right? They're gonna be like, oh, yeah, how are you doing? No, your Python looks really good. And you're like, thank you.  Look at this Python. What do you think of this as Python? Well, it's too long, you know? We're gonna have to trim that Python. I'm like, you're not trimming my Python, dude, whoa. You know, and they're like, if you tell someone, no, you know, don't trim my Python, trim your own Python, they'll be like, well, it is kind of hairy. Anyway, I just had to get that out of my system. I mean, I imagine meeting the guy, you know, who like got Python to work on Wang computers. I don't know if you remember these, they were around in the 80s. They're still kicking around somewhere. And I'm sure, I'm sure somebody got Python running on them.    Nothing. So anyway, Python. I don't know what's up with those guys. I just don't see how they resist. Anyway, so here's some Python I wrote in 2005. It doesn't run. However, it ran in 2005. And back then I was on a Windows machine, and this is a Mac, so I don't know what happened. I guess Python is like not good enough for the Mac, but it was good enough for Windows. No, I'm kidding. Okay. Anyway, what this Python does is basically, it learns to play rock, paper, scissors, which is probably the most useless thing you could train a computer to do because they don't have hands. But I thought it would be cool. I thought it would be cool to train a computer to play rock, paper, scissors. And what it does basically, if you go rock, rock, rock, like 10 times in a row, the 11th time, it'll know that you're gonna do rock, right? So if you do, or if every time you do rock, rock, paper, it'll see that coming and it'll do scissors, right? So this is a Python program that learns how to beat you at rock, paper, scissors, right? And if you were going to program something that learned how to beat you at some real game, like chess or go or something like that, it would be much more complicated, right? This is just a toy that illustrates probability matrices, right? And basically this, well, there's a lot of code here. You might be wondering where the money shot is and I'm gonna say it's here and essentially this line down here where you say move probability equals sequence followed by move divided by overall frequency and that's 15 lines. But there's a reason for that. I'm not Peter Norvig, right? I'm not the chief scientist at Google and this was five years ago, right? And Python isn't my forte, but if I was to sit down and write it again, it would be less than 15 lines. And actually I should balance out all that trashing the Python community because there's something really cool about the Python community, which is there's a lot of work outside of the web in Python and you can talk to Python programmers who are doing non-linear fluid dynamics for special effects houses and stuff. That happens, I'm from LA, so that happens there. Anyway, let me explain how this stuff works, this rock, paper, scissors thing because I think it'll make the probability matrix somewhat clearer, okay? Here's what it does. It builds little matrices like this, right? Like if you play rock, paper, scissors with this thing 10 times, right? And eight times you just do rock, rock, rock, right? It says 80% of the time rock, rock is followed by rock and then it says 80%, right? If you say, if you do it like this, say you're playing it in a very unimaginative way where you do rock, rock, rock eight times, rock, rock, paper once and rock, rock, scissors once, right? Then it'll note that, right? And obviously if you do it eight times out of 10, that's 80%, one time out of 10, 10%, et cetera. That's all the probability matrix actually is, wait a minute, what happened? That, yeah, that's all the probability matrix actually is. Keynote is really hard, I don't know what's wrong with it. Anyway, what it is, is you could call it a probability distribution, that's another term you could have for it. Another thing is you could call it a frequency matrix, right? Your probability is essentially just your frequency divided by your total, right? So getting it to play rock, paper, scissors, you do this with the 0.8, yada, yada, yada. How the code handles inference and prediction is using something called Bayes's theorem. And since this has been a lot of math, here is a hippo chasing a perfectly innocent human being with the intention of eating it. See, I put these, I have this personal crusade to let the world know that hippos are not just cute, they are also dangerous.  Anyway, Bayes's theorem, okay? Here's the math with Bayes's theorem and it's already gotten boring, so here are the jaws of a hippo. Which is what you would see, this would be the last thing that you saw if a hippo ate you. And then when I was making these slides I got bored of the hippo meme, so here's a picture of Jessica Alba and she's wearing very blue eye shadow, if you notice. Here's a blue helicopter. It's almost exactly the same shade. Anyway, here's the math, right? And what this is, this is Bayes's theorem, but I got it from Wikipedia.  It's a great place to start, but it is not the place to find the real information. So this is, in my opinion, this is a really good place to go. This is one of the key books on Bayesian analysis, Bayesian networks. It is an extremely difficult book to read, but it is really good. It's called Probabilistic Reasoning in Intelligence Systems by Judea Pearl. And I showed you this code, it was like five lines, 10 lines, yada, yada, yada. Mathematicians write stuff that can be expressed in five to 10 lines of code that does amazing things. That makes these books fantastic, but this is like 600 pages of extremely dense math that shows you how to write five lines of code. So, caveat, don't go out and buy this and be like, dude, this is gonna be the most exciting thing to read ever. It's not, but it can lead to writing really interesting code. What's up? No, no, there are some, no, but he does talk about it raining. You know, rain, it's something. But that makes a perfect segue because one of the big examples he gives, and this is how he does the equation, is the probability that it rained last night if the ground is wet. Now, this is something that if a human figures it out, you're not gonna give them a Nobel Prize. But if a computer figures it out, that's pretty impressive. If a computer can figure out that it rained last night because the ground is wet, most computers, they can just get rained on. That's all they can do. Well, I mean, there's more that they can do, but that's a lot of thinking for a computer. So the math on this, right, is the probability that it rained if it's wet is the probability of it being wet if it rained times the probability of it raining, and then all of that divided by the probability of it being wet. And you could go into the source of this, but it's kind of an epic tangent. Reducing it to code is pretty easy, right? Like the probability of an event given some information is the probability of the information given the event times the probability of the event divided by the probability of the information, okay? There's just one problem with this. If you actually tried to use this code, right, it's, what is it doing? Sorry, there's real keynote problems. This here is a recipe for a stack trace, right? If you actually built that method, it would just go poof, you know, and your computer would just fail, right?  So what you need to do instead is something different, and what I did in this code is I just used array indexes, and the result is kind of ghetto and inelegant, but whatever, right? So the probability of rock paper, right? Rock leading to paper is the probability of paper given rock times the probability one, there's just a, sorry, just an array or a hash with the probabilities in it, indexed, divided by another, you know, indexed probability. And another way you could put this is you could say infer rock paper based on, you know, the frequency of paper given rock, yada, yada, yada. And you use frequency because it's really what this code is about is about frequencies. This stuff here is about recording frequencies. It goes through this collection, right, and counts the features, right? And this here is going through these collections and making calculations based on the frequencies of these inbound links and the frequency of any link appearing on the page with the inbound link. Okay, so that's enough math. Now we're gonna talk about drum machines, okay? This part might be a little more fun. So I told you I was gonna show you a drum machine. Here it is. Now I gotta do the thing where I like code on one screen and look at the other screen. So, boom. So we're gonna create like a drum machine. And then this will probably freeze because my hard drive's kind of crappy, but what this is is, this is a program called Reason. It's got synths, drum machines, samplers. It's a virtual studio. Oh, and the samples are over here. Okay, so there's a base drum. All right, so if we get it running, I don't know if you can see, there's little dots that go across here. Can you see them? Little dots, okay. So then you put them like this, right? Okay, so then you got a base drum on every beat, right? So then we'll add like another drum, right? I'll throw a clap on there. Okay, so here's, turn the volume down on the clap a little and so it's pretty clear what this is doing, right? I'm just setting up the drum rhythm. And then this here is a hi-hat. I'm gonna turn the volume on down on that one too. Okay, and there you have like a very basic rudimentary drum rhythm, right, done in Reason. All right, so this basic model dates back to the Roland TR-808, which is like the best loved drum machine of all time. It's so well loved. People make pillows to look like it so that they can cuddle it at night when they go to sleep. It's a very well-loved drum machine. And this is the software drum machine I was just showing you. If you look at the structure, right, it's the same structure, right? You've got these columns up and down and then this little micro grid of one row at the bottom. Columns up and down, row at the bottom. Columns up and down, row at the bottom. Okay, so, and as you just saw, right, this column gives you a row for the hi-hat, this column and a row for the clap, and this column is a row for the kick, right? So what this actually is, if you're a programmer, you look at this, right, and you've been like working with these things, this is an array of arrays, right? Like the first element is the kick drum, which I guess it's a hash with, you know, kick drum mapped to an array of beats, clap mapped to an array of beats, and hi-hat mapped to an array of beats, right? So this is a matrix, right? You can represent it like this, right? You can see if you look at like where the yellows are and the greens and so on, it's the same thing, right? So this is basically a matrix of true and false, and this is the model the drum machines have run on since the late 70s, since the first drum machines. This is how they work, right? And you know, obviously if you can express it as true and false, you can also express it as ones and zeros, right? But I have been, you know, playing with drum machines like my whole life, and I'm reading all this stuff about probability matrices, and I think, well, I got Booleans and I got, you know, zeros and ones, why not put in floats, right? And this is what Archaeopteryx does. Here's some code from Archaeopteryx. This is a drum probabilities hash, right? And drum probabilities, you know, drum probabilities of 36 equals, and then you've got this array of floats. Drum probabilities of 41, and then an array of floats. So a little bit of background about how MIDI works really simply. When you're saying choose this note or that note, you're specifying a note number, okay? Now this, here's the kick drum. This is note number 36, right? Here's the clap 37, right? When you're saying drum probabilities of X number, you're just mapping directly to the MIDI note number. So what I'm doing here is I'm saying this drum has these floating point values assigned to it, right? And it's just like this, right, except that the values are probabilities. They are between zero and one, okay? So it's a probability matrix. And we're kind of like the way this works. You must be 45 inches tall to ride the crazy mouse, right? This kind of roller coaster thing, except it flips it upside down. It says you must be under this height to get through. It gives you a ceiling. Like for example, if you've got the number 0.8, you throw a random number at it.  If you got a 0.9, you throw an eight at it.  So this is basically a series of gates through which you send numbers. And if the number gets through the gate, it becomes a note in the music. And if it doesn't get through the gate, then it doesn't become a note in the music. It doesn't become part of the drum pattern. So here's another blue helicopter. And now I'm out of slides, okay? So I'm gonna show you the code and I'm gonna do a little demo of Archaeopteryx. Let me get that up and running here. Okay, so over here, there we go. Try and make it nice and big, so it's easy to see. Okay, let's... Okay, so the first step is just to open up this utility. And this utility is like UNIX pipes for... Where is my mouse? Hold on, I'm gonna have to hide this. Oh, that's great. There's a black mouse on the background of a black terminal window.  Oh, there it is. Okay, so MIDI patch bay default, this is just a simple utility which is essentially UNIX pipes for MIDI, right? And this just says that you open a thing called ASDF. And, well, the variable names don't matter, actually. But you could type anything in there, and obviously I did. Anyway, here... Well, I'll use this one, because I think that's the... So then you just open up a Reason thingamajig, and here's... Oh, this is killing me, I don't know where anything is. Oh, there it is. Okay, so here's a Reason setup set up with a few more instruments. And one thing we need to do is set the preferences, which we'll also take a moment. Okay, so you wanna set your advanced MIDI preferences to whatever the variable name is. And then at that point you should be able to run something and get some music. The screen. Oh, and obviously there's a file though that says, God, I need specs in this motherfucker. That's actually a note to self, because I realized that I needed specs in there. Okay, so it's called Drums Live. Here it is. So you do Ruby, Drums Live, and let's see if it works. And judging by the way this presentation is going for me this morning, it probably won't, but let's find out. Yep. Oh, awesome. Okay, so that sounded like not so good. So the reason that I actually know exactly what went wrong there, if you go in here, and I'll open this up in TextMate, because it's easier to change the numbers. So here's the code in TextMate. And you remember that I said that, okay, I'm gonna have to change that one too, hold on. There we go. Okay. So you remember that I said that you are, basically you've got a series of gates and you throw numbers at that, and it just lets through whatever is lower than the gate. So if what you're throwing at the gate is zero, it's gonna be lower in every case. And what you have here, this right here, is 0.0. It's couched inside a lambda, which is, well, I'll talk about that in a sec. But say I do it differently. Say I move it up from 0.0 to 1.0, and I do that thing again. So every time I change the number, it should change the beat when I hit save, which I'll do like right about now. And if I change it like extremely down to zero, it'll sound bad again. But I can undo that. So that's kind of cool, right? It's really fun to be able to do that. Thank you. And what I hope is that you actually have a clearer understanding of what I was doing there than most of the people who have heard this and seen how it works. So here are the probabilities. And just so you know, this file is not actually the main, when I say Ruby Drums Live, this is not Ruby Drums Live. This is DV Drum Definition. Drums Live requires this file every four measures. And that's how if you change the file, you automatically get new music because it reevaluates the file on an ongoing basis. And you can, if you want, make it much faster than every four measures. You can make it like every two measures, every one measure. In practice, you don't generally want to be changed in the music that much. And in fact, in practice, I found that it is most useful generating MIDI files, which you can then chop up. Because a very common practice in producing this type of music is to have sample libraries or record collections or some source of existing, you know, content that you then, you know, reprocess or reorganize. What's that? Oh, really? Oh, God. Okay. Well, I better show you how Lambda is involved. And that would be relevant, right? Here, okay. So the most important place that a Lambda comes into the picture. And Lambda is used all over the place in this. So in five minutes, it's gonna be really difficult to tell you everything. But this here is a Lambda, right? Where generate beats is this method that generates beats, right? And then what you actually have to do is you're telling it later on to do that method again. So you store it as a Lambda to be invoked at a later time. But there's a bunch of other ways that it's used. For instance, down here, oh, I forgot to show you something very important. You might notice like right down here, it's got the Lambda where it's just a constant, right? Actually, I completely misused Lambda. God, I could show you the other Lambdas which are more interesting, but I don't think I have time. So this is real basic. But here, instead of giving it a 0.5 every time, I'm giving it Rand. So it's gonna be a different value each time, which means it's gonna sound different. It's gonna do a different loop each time. But that's different, but it's not different enough. So we're just gonna make it more different. See, now it'll start getting more different-er. So the way it does that is this Lambda is doing something a little more complicated, okay? Now, earlier, when I said that, you know, you can just set it up to do what JavaScript does where you put like a function in as a data object, you might have wondered, why on earth would that be useful in Ruby? Okay? Like, why would you ever wanna do that? You have all this metaprogramming capability anyway. Why would you bother? Okay? The reason is basically, if you know what a strategy pattern is in Java, right? It's this idea that you've sometimes got code that needs to make decisions about how it's going to do things. So if you just put a Lambda in an array and then you have another Lambda here, which is exactly what I'm showing you, which is a Lambda for choosing things from an array, right? That is like a meta-strategy pattern because it picks out strategies by working on the array. And you can like pop in different ones depending on what you want to do. And that is the major strength with it, although there are some other ones. To be honest, the main strength is it gave me incredible flexibility when I was building this thing. Just really, just incredible flexibility compared to like, you know, I've worked in Java and Python and Perl and it was as powerful as Perl but like much better organized, you know? So I was able to, you know, move these things around and create this. You could redo it today in Objective-C probably, but in order to find the structure, I needed that flexibility. And that's a massive, massive over-generalization but I'm really out of time so I should ask some questions or I mean, I should let you ask some questions if you have any, which I hope you do. Cause all I got is more babbling and a picture of a helicopter. Oh, awesome. Yeah. Yeah, well the way you change that is you go into this file here and you change these probabilities, right? Cause that's the array of floats that determines, you know, what, you know, if you're saying 0.8 and everything below 0.8 gets through, you know, you can bring it down to 0.1 or all the way up to 1.0 or indeed, you know, beyond that but 0.1 is supposed to represent 0% to 100%, right? So these are entirely arbitrary and you could set them up in a variety of, you know, different probabilities. I have them set up in such a way that they, you know, produce like typical rhythms for drum and bass. But actually I found that this system, if you wanna create like techno or house, you know, obviously this is focused on electronic music but there are other styles of electronic music that don't use break beats so much, right? This style of music is a lot about like, here's a beat and here's a variation on that beat. If you were to create like a style of music that was just like going forward and adding layers, this system works for that but you would have to change a few crucial parts which I was hoping to do for this presentation but did not. More questions? Pat, I have not, other people have, there's a guy called David Cope who's done really great work with this.  You know, and these experiments have had like varying degrees of success because there is a real art to it, right? But it is essentially just a probability matrix, right? Is that a question? Exactly. No, I think, you know, God, on the one hand, I feel embarrassed to admit this especially with such an eminent audience but I am behind on Ruby 1.9 but I have seen like the new ways of doing lambdas which are much more powerful and I imagine that it could, yeah. I think that's absolutely the case. Yeah, yeah. Actually, there was a bass note in there which didn't come from the drum machine so it was driving multiple, put it, no, no, no. It was doing different notes but the bass line stuff is very unsophisticated yet but I mean, I've driven hardware with this at the same time as driving the software because MIDI is a universal protocol.  It is ubiquitous. So, yeah. Yeah. With the software, yeah, yeah. All you would have to do like it's in here. Where is it? Choose bass note. It's got bass rhythm probabilities. All I basically do is I add a generation of notes, right? Section where it just goes through and creates notes but there's another way you can do it too. Where there's this concept of mixes and rhythms and I actually even have a fork which does things in multiple time signatures. It's quite messy but it works. Sorry, hey Mike. Oh, that's it, I'm done. Okay, thank you very much. Thanks for your patience.


going to talk about talent, the war for talent, the scramble to find tech talent. And what can we do to make this easier? This is a theme, I feel, that has been very apparent here at Slush. Everybody's talking about how difficult it is to hire. And we've talked about lots of different ways of doing that. But I think we're going to kind of dive deeper into that now. So thanks, everyone, for joining the panel. And we will get to the question of whether stock options. But I'd like to start really with a general question, really, to Johannes and David, because you're both running tech companies that are scaling fast. You're hiring a lot of people. So how many positions do you have open at the moment?  Can you put the problem sort of into perspective for us? No, hiring is something that you always think about, right? You always are hiring. And we're a smaller company in terms of employees than you are, but we have been growing rather quickly. We're now, I think, around 200 people in Stockholm. We were 20 people a year and a half ago. And we also employ a lot of clinicians. So we have more than 400 clinicians employed. And of course, as a fast growing company, hiring great talent is something that's always on your mind. And what do you find hardest to hire for? Is it software developers? Is it other positions? I mean, what's the most difficult skill to find? It is always hard to find great talent. I think we have been in a good position where we have not been so much trouble to attract great talent. And I think that one of the reasons why we are attracting a lot of great talent is also that we are a very mission-driven company. But of course, there's a talent war all across Europe. But we know, both of our companies, we are attracting a lot of great talent. And, David, what about you? How many open positions are transfer-wise right now? We're a team of 1,300 globally. We have 10 offices. And we have more than 100 openings right now. So more than 100 open? I wouldn't be surprised if we hire 1,000 people next year. And definitely, every fast growing company thrives on talent. Access to talent is the most important thing. And in my experience, it doesn't even matter that much whether we're hiring in New York, London, or Singapore. It's hard everywhere. The issues are slightly different in different places. But in the end, it's about building a machine that can do the hiring for you. That's the only way you can succeed in the long term. OK. So is there a term? Just to give you a sense for the size of the task at hand, we looked at job postings on Venture Loop and on Angelis for European VC-backed companies. And we estimate that for next year, the number of hires to be made is about 100,000 across Europe, across these companies. So that's the scale of the task ahead for European startups. So 100,000 physicians are going to need to be filled. And are we confident that we have enough people to fill them? I mean, where are they going to come from? Are the universities producing this number of people? Yeah, I think the talent is definitely there in Europe. I mean, obviously, the education system is very strong. But what we've been campaigning for at INDEX is for companies to be in a stronger position to attract these people. And to us, there are two ingredients to make great startups, to fuel the growth of startups. One is capital. And that was the topic for the past 25 years in Europe when we started with INDEX. And we feel that's been mostly solved when you see the number of scooter startups being funded. Clearly, there is capital in Europe. So that's not really a topic anymore. But the other one that's even more important to us is the talent. And if you're a startup, you have only really one way to compete against more established, profitable company. You can't align yourself on salaries because you're not profitable and your runway is limited. And the only way you can compete and attract good talent is by giving them options. And where Europe is falling short in many places across Europe is on the option side. So we've published this report, which is the second edition updated version, which explains a lot about how to set up your option plans across Europe. So giving data and making sure that it is comparable and that we'll know how much to gain, to who and what situation. But we've gone one step further this year. And we've also launched a campaign to policymakers called Not Optional. And I think we're going to have a ranking of countries across Europe on screen. And the idea is to push policymakers to make it easier for startups to grant options to their employees so that startups can compete with the Google and the Facebook and the banks and the consulting firms of this world to attract this talent that does exist. But today doesn't necessarily have the incentive to join the startups at the very early stage. Getting lower salary, they need to get better reward and upside if the startup is successful. And just to kind of recap the problem, so yes, at the moment, US companies can find it a lot easier to give their employees stock options. And we don't really have that as a tool in Europe, partly because the regimes are different all over the, in every country as well. Yeah, so I think, so we did this research last year and at exit, employees in the US tend to have about 20% ownership of the company. In Europe, it's 10%, so it's half. And the other thing is two-thirds of these options in Europe go to the senior managers versus one-third for more junior employees. It's the opposite in the US. So as a junior employee in Europe, you get a fourth or less than that you would get in the US. So obviously, the incentive is just not as strong as it would be in the valley. And some countries have really good option schemes. I mean, you see, there was the ranking. Estonia is exceptional. UK is very strong. France has some good scheme. But some countries are very low on that scale. Belgium, Germany, Spain, for example, are very poor. So what we're trying to do is at least start with getting all the countries to a high level. So let's say to the UK level, I think it's a good benchmark. And then the next step, which would be harder, will be to try to harmonize things across Europe. Because today, not only some countries are really poor, but as you said, the schemes are different in every country. And like France, for example, is very good for French companies with French employees, but not really good if you're a foreign company wanting to open a subsidiary in France. So those are the two dimensions to take into account. But let's turn this to Tavet and Johannes for a moment. I mean, are stock options something that your employees are asking you for? I mean, Tavet, I think you had some experience where people were able to realize they're stock options for the first time last year. So I mean, definitely it's a thing where a cultural Europe is behind the US. But maybe taking a step back, so I was part of the teams that build Skype, and I had stock options in Skype. And Skype did well, so I was pretty lucky to benefit from that. So to me, it was very much a no-brainer so that everybody at TransferWise should have stock options. So we started giving some out to every employee since the beginning. And for us, it's always felt important. I do think that you have to think more holistically about what is your kind of talent proposition. Stock option is one thing, what kind of works it is. There are many things which actually make a company attractive. But back on stock options, so we've been doing it since the beginning. But I've always had these nagging feelings that however much we explain to people how they work, still, some people believe in it, some people don't. But I mean, the other thing about options is you have to turn them into money eventually. And given that companies take longer to go public and so on, that becomes an issue on its own. So last year, where we had our last fundraise, we actually allowed certain people to exercise their options. So people who'd been with us for more than a couple of years were able to sell a share of their options. And they actually had a really positive impact because even the people who previously didn't quite value them said, actually, this is something real. So that's, I think, really, really good. And then I think as a kind of ecosystem, we should think about how do we make these things more common and how do we create the culture where these things can happen more frequently without companies needing to be public. And legally, this whole thing is a minefield. And it's hard to give options in Europe in different countries. But then if you're doing it globally, it's even more of a puzzle. And unfortunately, way too much money goes to lawyers for figuring it out. But you're lucky in the sense that you're in Estonia, UK, and some of these regimes where it's actually relatively easy to do this. Again, if you were going into, say, Germany, or speaking to thinking about doing something in Spain, I mean, again, how much of a sort of hindrance do you think that would be for you? To be honest, when we open a new office, I'm sure we look at it, but it's not the major criteria. Probably as a result, what can happen is that certain people might just suffer a little bit more. If the tax regime in Spain is really bad, then I actually don't even know if it would give them more options or say it would just be able to realize less. And we'd say, hey, you have to go and campaign with your government to fix your tax laws. And Johannes, is stock options something that you're talking to your employees about? Is there interest in this? And in Sweden as well, the law is changing and evolving on this. Also, since the ecosystem keeps on evolving, I think that people are now trying to understand what stock option is. And yeah, of course. And we have the, I would say it is a disadvantage of being a European company, since we have to have set up different schemes in different markets and high complexity. And in many markets, as we know, it's not super favorable for the employees and for us. But yes, we are currently now looking into how to do this, since we're now growing and setting up local entities and local offices in many European markets. And I understand that Sweden is in this kind of halfway house where it's easy to give stock options up to a certain size and then it becomes much more difficult. So again, I think one of the problems in Martin, maybe you can speak to this. It feels like it's a sort of harmonization problem in Europe, which is, we quite often have harmonization problems in Europe and all sorts of things. Stock options is one of them. But isn't it both? You have markets where it's really, really bad. And Sweden have been one of those markets up until recently where there's now some initiatives in place. And that's up until 50 employees. Now, it's fairly easy to do it. And we were far from that number when that was implemented. So it's no, for us, it's no benefit. It didn't help you at all. And then you have the harmonization problem. Like you have a lot of companies within European ambition going off the many European markets. So it's both of those problems. And in many of those markets, like it is, you could solve it, but it's highly complex. It's a lot of legal effort and a lot of complexity. And if we were a US company, that would have been easy. So of course, it's a disadvantage. And I think it's both some harmonization and it's a cultural issue. And I think we need to tackle both of them. Like the technicalities of how to do it, it needs to become easier and hopefully over time it will. But I think the other one is a cultural one. And I think for the cultural one, actually having success stories is going to be the best things that help. So I'm sure that in Sweden, so there were quite a few people who benefited from Spotify, transfer-wise, all other European iconic high-gross companies, they will create people who create some wealth as a result of it, which I think will force a cultural change to happen. Like if I look at what happened in Skype, Skype was 10 years ago and I'd say, the amount of options given in Skype was tiny, it was by far not 10%. But the impact that it had on Estonia was huge. The amount of monies that Estonia made and which went back into the ecosystem. And as a result, everybody in Estonia is going to ask for stock options now. That might not be the case in Lithuania or some other country where the ecosystem isn't that mature yet. Yeah, it's really amazing actually to see what the Skype alumni sort of did later on. And I think that's the ecosystem effect that we're kind of going to see. I think there are two things. One, I mean, there has been a service showing that companies with high entrepreneurship are faster growing, more profitable, and create more jobs. So it's a win-win for obviously the employer who can attract more talent. It's obviously a win for the employee who can get participating to the upside. And it's also a win for the country. So that's why we're pushing hard. And I think to the harmonization point, I think these are national government policies. It's not an EU level policy. So the harmonization is going to be further down in the future. I think you really need to understand that there is a real pain point for a lot of countries across Europe. Take Belgium, for example, where it's a place where basically you get, so it's not only about the tax rate. It's about even the tax timing. So in Belgium, you get taxed on the stock option the day you receive. You get granted options for something that in 90% of cases will be worth nothing. So you pay taxes upfront for something that in 90% of cases will have no value. And then if it ever gets successful, you don't even get taxed anymore.  It's such a shame what is happening. So the result is that it is unfair. Employees don't want stock options in Belgium because they don't have the cash and they don't necessarily want to take the risk. And it's just totally counterproductive. So you do have, before even harmonizing, you have a lot of countries that need to really step up their game and some large ones, like Germany, or including in that bucket. And it's not, again, it's not only about, we're not pushing for a flat tax rate or a low tax rate. It's not a question of you tax whatever you want. It's a question of admin, making it easy to do and manageable. One issue is voting rights. So for example, in Germany, you can't have a different class of shares. So every share has voting rights, which means that if you have 1,000 employees with options and they exercise their option, you've got 1,000 people to vote on every decision. So you need to go and collect physical signature for 1,000, so it just doesn't work. So there is the admin part and then there is the tax, it's not even the tax rate, it's about when you tax. If you tax people before they've received any cash, that is never gonna work, right? So I think that those are the two things we're pushing for. And just to give you a sense for why it's real is that the campaign, we launched it with 30 people who signed. So, you know, Tabet, Johannes did sign the letter when we published it. Then we have 500, and you name it, any of the top CEOs in Europe is a signatory and top BC is a signatory to that campaign. So I think the pledge and what we want to keep from this panel is really to say, policy makers, this is a real issue. There has been value being created. People want to redistribute it and be able to compete and build the next, the 100 billion dollar company from Europe. Yeah, and just for anybody in the audience who's interested, you can sign up to NotOptional. So if you check out the hashtag or NotOptional.eu, I think it's remarkable actually that you went in a week, you started with thirsty signatures and now it's gone to 500. So I mean to me that feels like it is a real indication that this is a common pain point for a lot of companies. Doesn't even have to be, I mean it's nice that we have some of the biggest company names on there but it doesn't have to necessarily be a big company. I mean it's too early yet to have feedback from the regulators but my understanding is that this isn't necessarily one of these issues that would become a big battleground. I mean it doesn't have an enormous implication in terms of government revenues or anything. I mean it's more of a, it's an administrative change that could be made relatively easily if there was a will to do it. It's high impact and it's fairly low difficulty. It's more of a question of education. Again, it is something until you had seen the transfer wise, the Spotify, the Addian, it wasn't really an issue because employees and policymakers don't really realize that the value and the strengths of options to attract talent and then create an ecosystem but now that it is, value has been created and people have started to notice. And so I totally agree. I think as I said there is a win-win-win so it should be feasible to push for it but you need to educate and you need to explain why it is so important and why this is the single most, potentially most powerful lever to really build these very large European companies. What's interesting also, sorry, I'm just gonna say that even the EU's own research though indicates that when employees, employee ownership of the company has all kinds of beneficial effects. So let's even take it out of the tech realm and the startup world for a moment but just employee ownership of companies is generally proven to be beneficial in terms of productivity, in terms of returns and all sorts of things. So you would imagine that we'd want to do something to encourage that. And I think in countries where the government is listening to tech sector is actually pretty simple. In Estonia, the prime minister hosts regular round tables with the ecosystem and these issues bubble up naturally and it's actually a great way for the governments to show that they care about it. It is relatively simple. The tax authorities typically don't have anything against it. It does take processing to go through it but it starts with having the will to do it and having the government listen to tech sector and if that's the case, then it's easy. Johanna, are you talking to the Swedish authorities about the tax issue at all or? Yeah, we are. Yeah. I think there's a willingness to change it. I think as you said, it's a matter of understanding the benefits of doing this and it's the name of the campaign. It's not optional. Like we are competing to be talented on a global scale and as you said, in order to achieve that we could build great companies from and huge companies from Europe, we need to just fix this and it is fixable in all markets. It just needs to be done. And similarly in UK, when there was a prime minister who was dealing with the country, and there were regular discussions and these things came up. So which country do you think, Martin, should it be modeled on, do you think? Is there, I mean, is Estonia the example that we could follow? I think UK is probably the more, Estonia is so unique and so ahead. I think for larger countries it's going to be difficult. There's a flat tax rate, very low tax rate, for example, which wouldn't probably suit Germany or even France. I think the UK is a really good model and I think it's a good target to hit. If everyone could just copy that, I think Europe would be in a much, much better position and then we could, she could make it pass portable so you can use the same option plan across Europe. That would be even better, but let's start with moving everyone. And I think Sweden has launched a new pilot kind of program which is very similar to the UK just with a lower threshold. The only thing, I guess, about the UK is that the threshold was great when companies were smaller. I think now we're seeing companies like Transferwise and like a few other are growing really fast, fairly large number and the threshold is a bit too low so it would make sense to make it a little bit bigger. We would want to make it too big either because we don't want to have larger corporates benefiting from it. It has to be something that's very well suited and focused on the earlier and the younger in the smaller companies, otherwise it just defeats the purpose. I actually, I would disagree. I don't see why it should be special for startups. And in UK, the UK EMI scheme is really good. So trouble is it caps out the 250 employees which we hit pretty quickly. And even then it could be made simpler, like it should be like by default. There's no need to apply anything special. It just feel like, but I guess the argument would be that once you have a scheme, then it's easier to sort of move the cap upwards than to come up with new regulation. But again, do you think there is some resistance to kind of taking it to bigger companies? Do you think that people are worried that then it would be unsusable companies or companies that they didn't have in mind taking advantage of the tax? I actually haven't heard of it. I think if you talk to policy makers, some of them will be worried that there will be some excesses and, you know, because stock, let's say France for example, stock options have a bit of a bad right because they've been used for a lot, you know, top executives of large companies that may be too generous in some cases. And so because of that, there is some suspicion. So that's why limiting it to a certain size makes it much more of a no-brainer. If you start pushing for every company, then you get into this, you know, why is total benefiting from this? You know, you started getting into these arguments, which is definitely not where we're, you know, we become way too political. We're not here, and it's not a political campaign. It's just, we believe it's a win-win-win, and it should be kind of a no-brainer to kind of, to pass that. And having some form of threshold makes it just much easier. So, but Talvit, so did you, in terms of, you know, the, we'll come back to this question of when you see people realize there's stock options. I mean, what did, you know, what did the employees typically then do with that?  Did they kind of invested in something else? What have they done? Crazy binge drinking and buying Ferraris, see? You know, I think we have pretty sensible people, so. I don't think anything, anything ridiculous happened. Did it, did it increase motivation?  So, but I think it's just the, it's the biggest impact, it made it real. So, we've always spoken to people, hey, we don't have bonuses. You know, we have a simple salary and then you have options. And I think, you know, people have been discounting their options to a degree and I think now it just actually makes it to kind of like a full, like a real citizen. So, just makes it real, which I think is really, really important. Just to give a sense for the impact you can have. So, in France you had Crete or going public and overnight you have 50 people becoming millionaires and most of them today are some of the largest and most active angel investors in France and all have restarted, you know, other company of their own.  Yeah, I guess that's the, this is the ecosystem problem and I think it's quite interesting because every city that you go to now is very interested in creating a tech ecosystem and there's, you know, they're giving spaces, you know, facilities, they're trying to make sure that they have things like, you know, fast internet and trendy restaurants and all this kind of stuff. But actually maybe they're not thinking about what they could do on the back end is just make it easier for people to realize some of the gains from these companies. I was just doing a back of a napkin calculation that employees own hundreds of millions of dollars of transfer-wise stock. So, this will, you know, a lot of it will get invested back in the startup ecosystem eventually and, you know, this number over time will become bigger and bigger. So, it's pretty significant. But I think that's of course, it's great when it's a big exit that you have the new generation of angel and so on but also, you know, if we look back in our history like early on when you don't, you can't afford big salaries. People join and they take a big, big risk. They do big pay cuts and so on and it's just fair that they could, now that we can provide them with some extra option skin. Yeah, I'm always quite intrigued by the salary relevance. I mean, that's always something that's interesting in the state of European tech report is when you see that actually, you know, the big American companies, the ones that have been established, they obviously they have much higher profitability and all this, you know, they can pretty much outbid in terms of a base salary level always. So, you know, this is the daily battle for you guys.  But even, you know, not competing with the Facebook, you know, you're hiring someone and, you know, it's very typical that somebody used to earn 100,000 pounds and they'll come to a startup and they'll get 60. And, you know, it's not the trivial choice to make for anyone. And the only way, the only thing you can apply is, well, stock option is one thing. And, you know, hopefully you can talk about the more meaningful work you're doing and the better environment and so on. But, you know, the options part, I feel it needs to be there as well. And do you think that... It's not only, I think it's not only about the tech sector. You know, you're not only competing against Facebook and Google, look at, you know, Tavett. He's hiring people from the financial, you know, service industry. No. And, well, you know, some of them.  And they will get a bonus over the years. Plus bonus, exactly.  You need to attract this talent from, you know, not only from Google and Facebook, also from these places. Yeah. And you're also potentially competing, not just with someone deciding to work for you or company A, B or C, but also that they could do their own thing. I mean, if, you know, we were just hearing earlier today, it's never been easier to set up your own startup. Then you would own it. So then the choice becomes, you know, do I go to work for someone else? And I don't even get a, you know, a stock option or a share of ownership in this company.  That's a sales pitch. Really? I mean, we had a number of people who were with us early, go and start their own company. And I think that's super exciting, you know. And I'm hoping for a transfer-wise mafia which will beat the hell out of all the previous mafias.  Well, for us, I hope that people don't join because of the options scheme. So that's, like, it's, I would not put that on top of the, that's why people should not join because of that. But it's great if we can have a good options scheme and people could actually create some wealth. Yeah. Well, I think we're out of time. But I mean, I think it's gonna be a live issue and it's something that, you know, at Sifted which is this new media platform that we're focusing on European tech. I mean, I think it's one of those issues that we want to keep following. Because I think it cuts across Europe, it cuts across all tech companies and everybody is gonna have to take a view on this. And maybe, you know, hopefully, we'll get some sort of feedback soon from regulators in terms of whether they're willing to... Yeah, absolutely. So you can, again, you know, you can go sign on notoptional.eu and we're sending the letter with all the signatures to the policymakers in early January, all the local ones and the commission in the EU as well. But this is a local affair. So go sign, pledge with your CEO or an investor because I think with the momentum there is behind it, change will come next year. Yeah, we'll keep you posted, watch the space. But I mean, certainly, you know, once the letter's out and we start to get some feedback back, that will be a story to follow. So thanks very much for putting, you know, shedding some light on that and good luck with all the hiring. You have your work cut out. Thanks a lot. Thank you.