Live from Nassau in the Bahamas, it's theCUBE covering Polygon 18. Hello, welcome back everyone. This is theCUBE's exclusive coverage from the Bahamas. We're here at Polygon 18, put on by Polymath and Grit Capital. This is an amazing event. It's really the cryptocurrency, blockchain, token economics, the decentralized future internet is happening now. The industry is forming, theCUBE is starting its 2018 run and we'll cover all the top events this year in the crypto. As you know, we know cloud, big data, we do all those other events. We're going to start covering in a big way because the ecosystem is formed. You're seeing people making money, the early whales, the big guys, now you got institutional investors coming in, a real ecosystem dynamic. This is what industries look like when they're formed. Our next guest is Carlos Domingo, founder and managing partner at Spice VC and the founder and chairman at Securitize. One of the tell signs of a maturing ecosystem that's growing very fast is companies that are adding value. You're one of them, Carlos? Welcome to theCUBE. Thank you, thank you guys for having me here. So, you know, Dave Vellante who just had to jump on a plane because of the snowstorm in Boston would comment, he would say, because we talk about this all the time.  And that's when this stuff being created, value being captured, industry being formed with an ecosystem and a community. This is absolutely happening. You're bringing a very valuable service to market. You guys self-funded this operation, Securitize. You're automating other value chains that were old guard businesses in a new way. Take a minute to explain, Securitize, why the idea, what you guys have built, what you got going on, and what's the disruption of that product? Good, so the idea came originally because last year, me and my partners we wanted to tokenize a VC fund and basically issue a security token that contains the economic rights of the fund as a way to provide liquidity to the investors because liquidity on the VC space is one of the biggest problems, right?  So we had that idea that Time Blockchain Capital had done, one security token was the first security token for a $10 million offering and we wanted to kind of build on that. So we went out and looked for people that could actually do the issuance of the security token in a regulated way. So the KYC, the AML, the accreditation process per country, not just for the US, then basically run the ICO in a secure way with secure wallets for different cryptocurrencies and then also have the smart contract issuing the token but also smart contract managing what happens with the token on the secondary market, which is very important, right? Because in the secondary market, the tokens can actually move from a wallet to a wallet and suddenly you're outside the regulatory framework that you protected at the beginning, right? So we went out and took polymath and a few companies were doing that and no one was actually ready with a platform last year. So we are all tech entrepreneurs and product people so we did what we know how to do. We hired CTO, hired engineers and went and built our own platform for Spice VC for tokenizing the fund. And then when we announced the project like on September, October last year, I posted the medium about the investment process and the screenshots of the platform, how it works, all the features that it has. We've also integrated Bancor as a decentralized exchange to provide liquidity. And then I started getting floated with people saying, wow, this is very cool. Yeah, we want to do security tokens, we think this is the future and no one actually is ready with a platform and you guys seem to have one. So who has built it? And I tell people, we built it, it's our platform. And then we took the decision last year to basically separate the platform from the fund and the fund becoming the first customer and we created Securitize, which is basically an end-to-end issuance platform for security tokens. And so this is really filling a void for people who want to raise money for a startup like Venture, and then also maybe want to raise cryptocurrency and capital for growing a business that they're tokenizing. That's a big trend. So you got the startup, hey, I got a great idea, we're going to white paper, we're going to revolutionize the world, people are interested. Some people call it a dumbest idea they've ever seen, which turns into a billion-dollar idea because that's the way it works. So they got to raise some cash. And then there's the business that are growing saying, you know, I can grow with working capital in a tokenized environment because the business model shifts for that. Correct. I think that what people don't realize is that, you know, getting actual liquidity in a market, like doing an IPO is either very difficult or very expensive, or both things. So I think this allows- And the hurdle's very high. Yeah, the hurdle is very high. The cost could be like 10 to 12% of the money you raise, you know, paying the underwriters and paying everyone to get it done. So I think that what tokenizing real assets like asset-backed tokens or security tokens is basically allows you for two things. One is, you know, the network of investors you can actually reach is anyone with an internet connection that within the regulation in their country are allowed to invest. So suddenly you've multiplied by a hundred the reach you have in terms of finding investors. And second is cheaper to do it. It's less friction. Third is that managing all these thousands of investors would not be possible in the traditional financial system, right? Because you will have investors from many countries with different currencies, different bank accounts, different banks, and with a smart contract and tokens you can automate the entire process. He's a very skilled person. And from your accent, you're obviously not in the U.S., not American, but you're from? I'm from Barcelona. Barcelona. So you really laid back, you're chill about this, but you're hardcore techie. Okay, so let me just go through the process here. So what's interesting to me is, first of all, I love cloud computing. I think what DevOps has done on software with open source that's clearly in line with crypto market, same mission. Automation is a really big deal. When you can automate something down to efficient process, you're doing. You guys are doing those different. Well, not different. Automated and great. But the investment piece is accredited investors, right? Is that my guess? It depends on the jurisdiction. So for most countries have security laws. So what our platform does is we'll actually identify, do the KYC and AML on the investor, and depending on the jurisdiction where you're from, we will apply a different rule because in the U.S. it's accredited investors only, but in other countries you can take a small portion of retail. Also the meaning of accredited investors is different. How you actually comply with that. The documentation you need to collect or not collect for validating that someone's an accredited investor is not the same in the U.S. than in other jurisdictions. All right, so here's the problem that I see you solving. Mick, correct me if I'm wrong. If I'm a company, XYZ Corporation, we're growing like crazy, and we can tokenize our business, and we say, hey, we can raise a token because we actually have a product and security tokens, a great vehicle. So they go to their lawyer, well, you're in the U.S., so you can only get accredited investors. If you want to go outside the U.S., you've got to go to the Cayman Islands or somewhere else, set up a new company and do all that stuff, because they have to manage the process, and they're going to go find investors. Correct. That's hard. That's hard. Okay, do you solve that problem for them? We streamline the problem, so we basically, first, the fact that you set up the company in Cayman, doesn't actually prevent you from the regulation in each country because the regulators care about where the investor sits and not where the company is. So what we solve the problem is basically allow them to provide a liquidity event, do fundraising, and provide liquidity for the investors on the secondary market. So we basically will save them the trouble of having to figure out how to do all this process country by country. So there's a liquidity value too, so it's also getting the process done streamlined, and then managing some liquidity challenges that the company would have to put cycles into, managing it. Exactly. Okay, so here's a question. So this is like a consulting hour for the people watching. I'm a company, XYZ Corporation. I want to tokenize my business. Now we've been up and running for a few years, and we say, hey, token securitize is really interesting. These guys are amazing. They're the same ethos as us. They're cloud guys, they're automating. Let's just go through them. Let's sign up. We apply to you. What do we do? Do I have to set up a new company? Is there risk issues? Not necessarily. What's your advice on the playbook?  You can just do it from whatever you are, because you're using a security that assigns some economic interest on your business. Now in terms of us, we're trying to become kind of like the quality security token ICO play. So we create a lot and decide which ones we bring on board or not. First, because we have so many, we have hundreds of leads coming to us all the time. And second, because we want to make sure that people go to securitize, they know that those are quality companies that we've betted and our lawyers have checked, that the company's interesting, that the company is going to do well, not on the fundraising, but down the road. So that's kind of- What are the legal and regulatory challenges? So again, most people do a new cope because they want to protect their corporate shield. Is it corporate shield to protect themselves? Investors always are gun-chai or trigger-happy when it comes to suing people, because she, in this economy. How does an entrepreneur protect, or a business manager protect against that? Is there, do you guys handle some of that or is it just buy or beware kind of thing? No, so we work with our attorneys, Cotton in New York, specialization securities. And we basically will advise the customer that actually uses our attorneys because they've already experienced on doing this. And then in terms of investor protection, on a security token, you know, just getting the token, you actually sign a subscription agreement, which is a legal binding document that explains exactly what the token is going to do. And there's an information memorandum which is basically describing what the business is going to do. So there's a legal framework, off-chain, if you want, alongside the on-chain token and the smart contract side. So all that stuff's happened, it's awesome. All right, want to change gears, Carlos. Talk about you. Why do this? What drove you here?  How did you get here? What's the story? So the story is I've been, this is kind of like the third phase of my career. My first 10 years of career, I was at the middle of the dot-com boom, I took company public in Nasdaq, Japan, and then went to the US, acquired three companies, and then everything crashed. So I left both the app on the down. The second part of my career, starting in 2006, I lasted for another 10 years, which is I joined Telefonica, one of the largest telcos in the world. And I lived through all the mobile boom with your iPhone coming out in 2007 and 2008 and all the excitement happening in the industry. But to be honest with you, I was looking for what is the next thing I do because all these industries now are not as exciting anymore, right? So I came across blockchain and crypto through two things. One is I was doing a project on Smart Cities in Dubai where I live, where we started looking at blockchain and run some pilots. And then one of my colleagues and friend is Brandon Ike, who is the founder of Mozilla, and he actually did an ICO for a company called Brave in March last year. When I saw that, I was like... Great browser. Yeah, yeah. Batch open, great, great offering. He's a great entrepreneur. He guys invented JavaScript. And when I saw he did that, he actually, I met him actually a year ago and I met him this week as well in Barcelona and Moal World Congress. And when I saw what he did, it's like, wow, this is very revolutionary, right? So this is a completely different way of raising money and it's also a great way for investors because you get liquidity. So why not trying to get there and find a project? So started with the fund and then moved to the city. Serial entrepreneur, great story. A lot of experience coming into crypto. So you got some young guns who are inventing and making some cash and doing well, also starting funds. You got developers and business entrepreneurs who are successful and they're becoming investors. Then you got the pros coming in, alpha geeks, serial entrepreneurs, pros on the banking side, all think differently. And they see the vision. So I got to ask you, what is your vision of the decentralized internet? Have you seen how telcos work?  What's your vision of the decentralized internet? How would you describe how big the wave is and what's the opportunity? So I think that if you think about why people were excited in 1994, 1995 over the internet, it's precisely because the internet promised the decentralization back then, right? So there were all these protocols that allow you to move boys, move data, move web pages that were going to disintermediate people. And what happened is a lot of the traditional players got disintermediated, but then the wave shifted into other players which are now highly concentrated and decentralized, right? Everything about Facebook or Google. So I think that the excitement around crypto is about making reality, the decentralized internet that didn't happen the first time, right? And I think because the protocols have a way to monetize and there's an economic incentive to be part of the network, this time will be different. I think it's- Computing has also helped a little bit too because with open source and cloud computing, you have a great creative environment on the technology side. This is like open source money if you think about crypto. So I think yes, the fact that the maturity of some adjacent technologies is helping this move faster. And open source has been a proven formula, one second tier citizen when I was growing up in the open source community. I remember people were poo-pooing Linux back in the day and also now it's tier one power in the world and now you have community modeling around how that worked. How would you compare and control? And you have other things coming into this too. You got cryptography ecosystems, you got gamers and cryptocurrency and you got a cloud. How would you tease out the industry and describe the cryptocurrency in the blockchain communities? I mean, it's kind of a confluence of a lot of- I think it's a very interesting industry and it has forced myself also to have to learn about adjacent topics, right? Because you're going to understand about technology but you're going to understand about software or cryptography. You're going to understand about finance and economy to understand what a monetary policy is and how you're going to define that into your token. You're going to understand about finance. If you do security tokens, security is lost. So it's fascinating because of this confluence of different things. We were having a joke on one of our broadcasts. I said to my co-host, the startups will soon have a CTO, a CEO and a chief economic officer. Correct. I mean, this is kind of token economics. Makes all the sense. Hey, do we increase the coin rate? We're going to drop this down?  Correct. I think this is for me why I'm so excited about it because I was kind of bored of being in an industry for 10 years. You feel that you already know more or less everything and yet there's new things coming but there are kind of incremental improvements. This feels like an exponential improvement. Something is going to really change things and as you said, it forces you to understand more disciplines than just software technology. I mean, if you use a California example to end the segment, you know, you see the waves coming and the surfers grabbing their boards and they're on the wave hanging in 10 and that's what's going on. You're seeing the best people attracted to this space because their problems or opportunities is challenges. And there's a social impact, mission-driven impact. I think people are seeing that and it's attracting new entrants into the space from banking, all sectors now coming in. They're seeing the ecosystem develop. How would you see that going? Because we do agree that the ecosystem is forming pretty quickly. It's forming very, very quickly, surprisingly quickly. And I think that one of the things you mentioned is that the fact that people like me or other people that come from long-standing backgrounds on tech are moving into this industry, it will also make the industry kind of grow faster because the industry is a bit immature if you want. In terms of everything technology, this is why there's so many hacks. The usability of the products is still not there. So as more people from the traditional tech industry move here and start building good products, this will actually change very quickly. Great leadership, Carlos, on your end. Congratulations. You're seeing an opportunity. You're making a difference. You're putting out a great product and service I think people are going to use a lot of and looking forward to chatting more about it. Of course, you've got a VC fund and you're doing some investments to put some skin in the game as well. With your companies, congratulations. This is theCUBE, live coverage. We'll be back with more here in the Bahamas. And a friend from Barcelona here, a great entrepreneur. I'm looking forward to chatting more about the decentralized economics, the technology, how the value will be captured, the technology that's going to enable that and the impact of society. It's theCUBE, more live coverage after the short break.


Hi everyone again welcome to this another lecture of the LPS class today we are going to talk about we will continue to talk about the tickle ticket that we left last time last class or the last lecture we saw from the canvas as a widget and we got a lot of commands as to how to play with the canvas and how to actually get people to use the canvas we also found some of these new commands like first of all like the bind command that we started talking about it like a couple of weeks ago that bind commands and then we also associated with bind tags because there are more than one binding for an event so essentially like I mean when there is an event whether it is a button press or a move of a mouse or whatever it is on a particular graphical user interface we typically use the bind command to create a binding for an action so when you actually select or put together a command using the button press we can write all the characters and then you need to press run that command gets run in the background that is because of this binding that causes it to run where the run command is bound to that event or that event is actually bound to the front command so that is something that we have seen now we also talked about this bind tags essentially the bind tags essentially like I mean we that determines it is a command that determine which binding supply to a window and the order of evaluation so a bind command itself is created creating the binding and then the binding is associated usually with a window a class or all so you can specify one of them basically so we saw this in the previous lectures the bind tags and command actually now determine which bindings apply to the window and order of the evaluation what does that mean so the usage is essentially it is bind tags window ordered by the tag list so an example will be bind tags dot B is our window and then the order that we specify is all dot button and then dot B so when an event happens basically like the supply to the all which is like everywhere outside and plus the button and then to the top level then the button itself whatever is that is going on that will be evaluated and then finally like dot B so this will allow you to actually like this multiple events can be trapped and then they I mean sorry multiple bindings can be trapped and then they can be a run and then they don't need to be running at the same time or all simultaneously which they follow this order by which it will be run so this is something that I wanted to tell you like I mean last time we saw this bind tags we didn't explain at that point whole lot now it is there and then the other widgets that we haven't really touched upon but I really want you to understand try to read upon this is the tree widget this is also like very common when you look at your outlook main or any kind of form lists basically like I mean the views that are displayed are based on the tree so the tree view widget can display and allow browsing through a hierarchy of items and show one or more attributes of each item as columns to the right of the tree so you have like big thing basically you have each item which is displayed and on the right hand side there are columns there it is displaying the its attributes so if it is a mail program you can see the subject from date to things like that the various fields that you can think of or a particular mail I mean you can also like say like important priority whatever so for this mail you can associate all these attributes also and then this particular widget is created by the tree view command so here we create tree view dot tree then dot tree is the widget and then if you want to add anything to the tree we just say like dot tree insert and then rearranging items is dot tree move and we can detach an item from the tree using dot tree touch or even completely delete that item using dot tree delete then we can open widgets basically so that is like set is open command first we need to specify whether it is an open is true and then set is open to open the widget and then by opening the widget we can now add stuff into it delete stuff query stuff things like so this is another widget that we never talked about in the previous lecture but I just want you to know so useful one so in today's lecture we will be talking about extending tickle with C and then some of the third-party tickle extensions or expect BLT and tickle die and then finally the future of tickle TK actually this is more like the past past kind of determines the future past of tickle TK what are the various versions and what they did what kind of thing and then what is the latest version so that is what we will cover today and now let us look at the topics so extending tickle so the main philosophy that we will be talking about is to focus on the primitives and then we will have like some basics on the interpreters and how to execute scripts how to implement new commands dynamic loading managing the results thing I am not going to talk about it today the main thing is essentially like I mean this is regarding machine level understanding as to what are the different memory pieces and where the result goes into and how do you manage the whole results and then we will also like look at some useful libraries like parsing variables lists and so we saw this in the very early lectures of tickle one is usually we can write usually better to write a tickle script rather than a sequel it is quick development and more flexible and it is high level so no compilation it is also like a higher level way to write and why do we write it in C this is something that we also like talked about earlier you need to access the lower level facilities that is like hardware resources can be managed like in fact malloc or mLoc actually is a memory allocation in C that specifically goes to the heap and actually allocates the memory we can request all those kind of different hardware features directly using C then there is also efficiency concerns basically like when we have like iterative calculations C and since it is a compile language in optimize and hence it provides much faster execution and then finally if you need the more structure and then if the code is complex say for example we are generating a program for DNA sequencing algorithm or DNA sequencing that entire algorithm can be coded as a C program than tickle script again this is the hypothetical and probably ideal case you may argue even for a tickle board which is okay but when this board gets complex we need to have like definite infrastructure to be in place and for that C is better the if you have to write a new tickle command like I mean that implementing new tickle commands that provide few simple orthogonal committees so it is low level to provide independent access to all the key features but at the same time it can be high level to hide unimportant details and allow efficient implementation so that is the reason why we can implement new tickle commands so here quickly like a weather reports so the goal is to retrieve weather reports over network from different servers so if you use the tickle command set one where we say like retrieve report format print on standard output that is too high level so it is inflexible now let us look at a second set of the month we open a socket to the weather server select a station ready the first line of the report this is too low level so you can see that actually like we still use the same tickle command set here and here now consider a third command set which is basically returns the list of all the available stations and even a station name retrieve report that is a that is your command structure this is just right so we will look at how to do it with these kind of so commands itself so in this section like I mean to designing a new command we want to make sure that we need to choose the textual names for the objects for example . dialogue . bottom . okay file 3 or STD in so really like objects can be aimed in the textual context if this is the case then we have to use like hash tables to map to the C structures other one is essentially like we can also try to use the object oriented commands for example we can say like dialogue bottom okay configure foreground red this kind of style is good for small set of small number of well-defined objects they do not pollute the namespace basically each one will be independent and also like allows similar commands for different objects so there is there are definite advantages in doing objects so in its commands and then the third category is actually the action oriented command which is string compare dollar X dollar Y this one is good if many objects or short load objects so again when you design a new command make sure that your considerations go through these three things now how do you format the the new commands so usually the preferred days make them easy to parse with tickle script so somebody else writes a tickle script they can easily parse your command results so for example here 10 53 high 58 low 37 precipit precipit point to sky part so this kind of thing basically now you can move that okay this is the index and this is the value so the current temperature is 53 highest is 68 low is 37 and amount of precipitation is 0.02 and then sky is partly cloudy whatever it is and make them symbolic wherever possible example it is we do not want to specify just numbers alone so these kind of in between like those things will make it easier now we can also use package prefixes in the command names and global variables for example instead of the stations we can stay with the stations or if the weather station is xxx we can say like weather stations xxx on the score xxx instead of just saying like this except same weather report and then maybe play think like that basically like we can use the package prefixes so this way like I mean it allows you to allows for the packages to coexist without any main crashes now let us talk about the interpreters so that is the basic one and then now the interpreters so pickle inter interpreter inter structure this is a structure that captures that encapsulates is the executing execution state what are the execution states it variables the commands implemented in C the tickle procedure the execution stack so it encapsulates this entire the execution states you can have many interpreters in a single application but usually there is only one in fact there so the way to create the interpreter is tickle interrupt use a star or Asterix interrupt this basically creates the structure and then we can just point that structure to the create command create an interrupt command so once we have the structure then you just say basically interrupt people to tickle create interrupt and this is just an object or in command which now creates your interrupt and then if you want to delete use the procedure tickle delete inter I in T T so this will delete the interpreter and if you want to execute tickle scripts the basically like define integer code and then code equal to tickle eval inter set a equal to 1 or set a 1 now it evaluates this one and then sets the value of that as a code the code typically indicates the success or failure is it tickle okay normal completion tickle error error another way to do it is the set a 1 you can put it inside the init dot tickle and then you can say tickle eval file interrupt in it dot tickle and there is yet another third way to do the tickle evaluation which is interrupt set a 1 as 3 different strings so now the interrupt result points to the string the result or an error message and then the application will display the result or message for the user okay and then where do scripts come from basically you can read from the standard input read from the script file or associate X events and wait for the events invoke the associated scripts with this the TK and then embedded in the sequel this is fixed or private scripts that we will talk about so creating this new tickle commands essentially so we write the command procedure in C so eq command client data the client data tickle interrupt where we create that one basically like then we have the integer arc C and the char star star we argue so this is an in C it is written so if it is less than 3 or like not equal to 3 then we just say like wrong arguments otherwise we go and like compare the argue v1 and argue 2 from here and then if they are not the same then result is 1 otherwise result is 0 so this is basically to compare two commands to see whether it is the same or not and then we return the return to the main and then once we create this command procedure then we register this with the interpreter that is tickle create command interrupt eq eq command client data and now so the eq command is now called eq which is essentially a string compare now once we register this the eq command will be called whenever eq command is involved in the intro and the interpreter you can also be delete you can delete the command by just giving the tickle delete command interrupt eq so this is the most useful for object oriented now so we talked about the client data what is client data so in the tickle command file here so we talked about the client data uppercase client data and then lower case and data so here we talk about it again it is used to pass any one word value to the command procedures and call back so the second client data is usually the pointer to the data structure manipulated by the procedure so we pass the first one and then the second one is manipulated by the procedure can and then the cache pointers in and out of the client data types basically so we can say like client data is more pointer and then pointer we can define that basically like star and then the client data so we can have many objects share one command procedure by using this so this is how we write new commands and register new commands with the interpreter so now let us look at the packages so our goal is now to make it easy to develop and use tickle extensions so we can use the package prefixes to prevent name conflicts so this is the one of the things that we talked about in the earlier one right and the other slides we use a package prefix so we can pick a short prefix for a package for example RDB so we use this in all the global names essentially so in C procedure it is uppercase RDB open the variable is RDB and then the tickle command is also like RDB so now once we have specified or use the package prefixes now we create the package initialization procedure and it is named after the package so RDB underscore in it is the package initialization procedure this creates packages commands and then evaluates any startup script if you specify so here is an example there is int RDB init tickle interpreter in TRP then we create the tickle command first create command tickle create command and then return to return tickle eval file with that and then what the init dot tickle is now if you want to use the package basically we need to compile this as a shared library so here we do the cc compile so RDB dot C compile that and then we load it as RDB dot O and output is RDB dot SO now we can dynamically load into the PCL shell you are wish so to load it basically load RDB dot SO and then the top level RDB now tickle will call the RDB init to initialize the package so this dynamic initialization is fairly new I mean the versions we will talk about today and where tickle and TK what versions are there and what we should use so now let us talk about the load command the load has several forms load file name load file name package name load nothing package name here the file name is the name of the file basically here you have belt it as RDB dot SO so that will be the package that will be the file name and then the package name is the top level package specification that is inside which is in this case is RDB so in this case it be just XOR so we whether we load it as a DLL dynamic link library or SO dot SO is we can use info shared live extension to decide between these two we can also use info loaded command to see what packages I mean loaded into this if you want to load a program statically then we specify that tickle static package is tickle and trigger and character star packaging so that points to the thing and then we also specify the tickle package init proc which is star init proc and then tickle package init proc star safe in once we specify this then we can say load XMT of course in the scenario the dynamic loading is preferred now the fourth option for managing results if you use library procedures so tickle result set result interpreter string this will replace the old value and if you say like tickle append the result then that extends the old value and if you do append element then it extends the old value but now as a list if you do use reset result now that clears the old value now let us look at the utility procedures and one of them is parsing this is used by command procedures to parse arguments usually it takes in a value and a code the code is just to tickle get int interpreter or be one and then value it stores the integer in value and it returns tickle okay or tickle you know if there is a parse error then it returns a tickle error and leave message in interpret result other useful procedures tickle get double tickle expression double tickle get boolean expression boolean expression long and expressions form the tickle get boolean accepts s false 1 0 extra and expr is essentially like variations interpret argument as an expression so in utility procedures what are variables essentially like so basically they can be read write or unset so here an example basically like we have a character value value is tickle get war interpreter a something and then tickle set to war interpret something and then unset something else so we can use get set and unset basically pretty much rewrite and unset then you can also set traces basically so that is you can trace a variable so that is trace war and then we can say okay tickle trace reads people try writes trace procedure and plan data so we can trace it through how the value actually is changing throughout the program throughout the script so and then the trace proc is it will be called basically to doing each read or write of a they can you can monitor the accesses and override value and read or the value value read or written now for parsing assembling proper list use the tickle split list and tickle merge the hash tables are quite flexible basically in it hash table create has entry point has entry delete has entry and delete the whole hash table the hash table is just like having tickle associative arrays in C it is also excellent way to store the client data records for object oriented command model and then dynamic strings is through this these procedures the string in it this thing append these things the string append element the string value and then finally the dynamic strings grow efficiently without bounds like a good string class in C++ it is used internally by tickle for result management so this is again another data structure within tickle in terms of extending tickle interfaces to see itself are very simple so tickle is designed to make this true and when we write when we extend tickle we focus on the primitives and use tickle script to compose basic features so we write the most primitive procedures first and then we basically combine the features of tickle to come in multiple primitives into one and then all that the larger command if you are writing a widget for pk the good news is that one which one widget that can work on Unix windows etc so that is your best one but so the pk port uses the port of Xlib to suppose that so it's okay but what is the bad news is that you will have to write to Xlib so TK actually uses only Xlib which is the lowest level part of the Xlib it doesn't use XP just now motive etc so to draw you have to use the Xlib also so TK supplies utilities for example the 3D outcome drawing the font utilities even notification timers idle procs etc and then you have to supply the tickle commands the initialization procedure configuration table even handlers and deletion callbacks then we use object oriented command paradigm that is one tickle command per widget class and one tickle command per widget instance the now I will talk about couple of other meta languages or metascripts basically one such thing is called the expect the expect is really the scripting language to interface with FTP telnet FSTK etc which cannot be automated so one way to it's also a very good way to create DUIs for interactive command line applications it's also good way to react to prompts from the command line maps and usually they expect an automate tedious interactive processes view GUI actions to simulate keyboard outputs and reattach the subclasses to people and one thing to notice it works only on true politics of the unit systems so uses the pseudo TTYs basically TTYs a unit construct and that's the reason why it doesn't work well in others so expect the commands are like this basically there is a command called spawn you can say basically it's telnet and which machine it is the server and then what is the port number so the expect response to patterns from type for example expect can say like connect connection refuse unknown host login default so when connection refuse basically that means that exit unknown host is DNS so complain then we have the login we connect to a pipe to the console so the other one is the BLT essentially this is also it's a toolkit offering set of widgets and geometry manager so this helps you to draw pictures display graphs very easy and this particular tool kit offering is written in C it has several mega widgets the BLT graph is one of the sub one and that is the most useful one and that is the one that is very popular also then other commands basically like highlight text drag and drop bar chart table things like that can be built using the BLT so to invoke a BLT graph widget we specify the BLT graph command with the dog D as the widget name and then we specify all the other things then here we are just configuring the dog D and then we can configure the x-axis and y-axis as to what the value should be here the x-axis is pretty much it's time and y-axis so once we create the configure this and then we create the various axis the x-axis and the y-axis we then create the the elements basically elements we see one x data is $x1 y data is Y1 and then what is the line with foreground background and then similarly we can plot another set of data as well so this is that is how the BLT graph widget is used which is very common now let us look at one more thing which is the TC tickle die essentially this is usually the front end to corba projects the it lets tickle TK talks directly to the Cobra object the Cobra let us objects written in different languages communicate essentially so corba is a place sitting in the center and it gets the objects in from various languages and it communicates the TK GUI is the TQ TK GUI for remote objects are easy and very powerful TK die scripts are faster and easier than C++ so okay so this this is pretty much the technical aspects of it of the tickle TK let us look at some of the releases and what is the latest and so 7.6 and TK 4.2 was originally there and this one has revision of reader needed for spectacle FCS C API change for channel drivers actually the beta release and all that happened so you know that statement there and then 7.6 plug and photo photo 2 plug which is which is have features needed for next K plug-in and you can just use the plug-in information and then safety of them in already released in plug-in binaries and no source release until tickle 7.7 and TK 4.5 is also like pasta so 7.3 is essentially 7.5 is the latest greatest sorry not 7.5 basically we will talk about that but after 7.6 the 7.7 came into being and tickle TK was from 4.2 it became 4.3 here basically we had native widgets on PCs and Mac there is a new mechanical menu mechanism essentially the menu bars are implemented with the menu widgets there is a new menu option for the top-level windows the chair of menus are clones and it can use the same menu in several places and hiding the pair of entries is another issue so the new font mechanism basically like this is very nice for non-units machines basically we specify label and then $ L I mean for dot L and font times 12 bold and then we say font create title family Helvetica Helvetica size 24 and various bold and then we label basically to title and then font configure title and size 36 so the other things were basically virtual bindings essentially and even generation so this is something that we did not touch upon the TK windows can create a virtual bindings essentially virtual events which can be bound inside so you do not really need to do all the actions that the the the tool is expecting now it also supports the standard dialogue there is a portable file commands R M M E made and etc. It also supports the binary IO so read write blocks of data inside extract fields of blocks and then copy between channels and then other possible extensions to 10.7 and TK 4.3 or mega widgets image revisions in that channel support and then finally more text improvements these are all the original dates essentially but the the next one is the TK 8.0 this one has a bytecode compiler and this is fdp.newsoft.com I should have it and then we have a new object system for data representation the new C API for command procedures many other TK library procedures the old interface is still not supported but it is slow I mean it is still supported but it is low and then what about name spaces basically like that is another thing that we need to stop we need to worry about okay so in TK 8.0 also made some possible changes to the semantics the more aggressive list syntax checking is enabled in TK 8.0 and then the conversion for LFN and LX for for the TK 8.0 you have the bytecode compiler essentially and you can go to the fdp.newsoft.com for the third-party items there is a new object system for the data representation the new C API for command procedures and many other library procedures so here the old interfaces are still supported but they are very slow and what about the name spaces and then there is also like some changes to the semantics a more aggressive list syntax checking basically LFN then L index and then changes to the error messages error info and then line numbers so the view the schedule basically like these are all like the same so the latest one is tickle is tickle TK 8.6 tickle supports object oriented programming it has a stack less evaluation so when the procedures are called and the procedures are nested the next procedures are called in the sequence previously it used to use a stack for the execution basically it stores all the state in a stack and then it executes the next one and if that also nest another procedure it retains everything into another stack and then go on so in the new one that particular thing has changed basically like that that is that was found to be like failing efficient so it is changed and then it's a stackless execution in tickle 8.6 it also has enhanced exception handling the commands called try and throw which attempts to actually catch an exception and then actually also like to change the course when then exception happens okay and then there are many other enhancements to to the tickle 8.6 on the TK front there is a built-in support for PNG format for the graphics there is also a new command for busy windows essentially it's called TK busy command there is support for angled text and moving things on camels and other projects basically the spectacles spec Java web edit micro scripting basically like we can use the we can edit web pages just what you see what you get kind of the mode using the web edit we can insert tickle TK scripts at various places and then the script fire at interesting times essentially and then the safe tickle basically which is so has a better TK it has better PK support the socket communication and developing in interesting and interesting security policies you can add authentication for example the MD5 signatures so that's pretty much what I wanted to cover in terms of PK so today mainly like I mean we looked at several areas basically so in once again like I just wanted to summarize so things that we did for today so mainly like I mean we talked about the extending tickle with C we also looked at the third-party tickle extensions the expect PLT and tickle die and then we talked about the past and the future and the present of tickle and TK which is essentially like which versions what is what are supported what can you expect in future so I think this concludes this lecture once again thank you very much for listening thank you


transcribed ladies and gentlemen the railroad hour and here comes our star studied show trade tonight the Association of American Railroads presents Victor Herbert's charming operetta orange blossoms starring Gordon McRae and his charming guest Evelyn Case our choir is under the direction of Norman Luboff and the music is prepared and conducted by Carmen Dragon yes tonight another great musical success is brought to you by the American Railroads the same railroads that bring you most of the food you eat the clothes you wear the fuel you burn and all the other things you use in your daily life and now here is our star Gordon McRae thank you Marvin Miller and good evening ladies and gentlemen in Victor Herbert's charming operetta orange blossoms I play Roger Belmont and lovely Evelyn Case is kitty the girl who gets kissed in the dark you're my lawyer Brossack do something well Roger what do you want me to do let's spring and I'm in love I want you to help me what they didn't teach us about these things in law school Brossack there's only one woman alive in a whole world as far as I'm concerned well who is it this time Ruth no Mary no Sheila absolutely not Helen I thought I've been in love before but Helen tops them all it's true that I'm susceptible to ladies it's true that I'm a weakness for their charm I have always found it to succumb to just difficult all I'm at the landering is over those mates of just one charm have left my mind for my new loves are complete I have found the only sweet thing who has all the other charmers charms combined though I've always played about I can say without a doubt this time it's love for the thumping of my heart from the stars this time and the skies are blue well this way before in my small affairs of your but this time he can say without this part seem to whisper from the stars this time she has made this weary world and the skies Brossack I want to marry Helen but well there's a problem maybe we can solve it legally let's get all this down on paper what's her full name Helen de vacay divorcee yes Aunt Mary and I both met Helen on the revere I loved her immediately and then Mary loathed her so she said if ever I saw Helen again she disinherited me but you saw her anyhow no no Helen left the Riviera a few days later I would have followed her but and Mary became ill and naturally as her perspective there my place was by her side naturally by the time Aunt Mary died I had forgotten you had forgotten Madame de basque oh no no no I'd forgotten her address anyhow I saw her again never saw her again until I met her by chance last week now we're engaged to be married I see Brossack my aunt left me 17 million dollars some I have the greatest respect for well almost as respectable as 18 million dollars ah but in her will she says that I can only inherit that money if I marry within the year and if I do not marry any woman who is the divorced wife of a Brazilian subject Helen's former husband was a Brazilian yes what can I do I don't want to lose Helen I don't want to lose the money we're why not marry someone else just temporarily a marriage of convenience at the end of a year you can get a divorce and and marry Helen where can I find a woman who'd do that I know just the lady all right I'm in your hands I can't see that I care very much for the idea well I have to have someone I can trust in after all you are my god child that isn't necessarily a guarantee that you can trust me where do you you can use the money yes well then what's the matter oh nothing really it's just that like every other girl in the world I've had my own dreams of spring and love and orange blossom here are the papers if you'd like to look them over kitty if you say they're all right I'll sign them well there's a clause stating that if anything develops of a personal nature between you and the gentleman you forfeit the settlement is a fiancee insist on that and she's quite a jealous woman she doesn't have to worry about anything of a personal nature developing under circumstances like these there that sign oh come in I'm sorry I'm late my car stolen traffic Roger what you've met I don't believe I've had the pleasure I'm sorry for a moment I thought we had well this is the young lady kissy me I present Roger Belmont and Roger this is my god child miss Winfrey if you wouldn't mind waiting in the next room Roger we're just completing the arrangement why of course it's a pleasure to meet you miss Winfrey so that's the man what's the matter kitty of course he wouldn't remember why should he I was just a schoolgirl both such children that I had almost forgotten that's all right Roger put the second act of orange blossoms in just a moment of the freight trains well maybe I'm just imagining it but it does seem to me that in that familiar sound there is an added note of pride anyhow today's freight trains have good reason to be proud for in 1951 the average freight train set a new record in serving you by hauling more tons of freight and hauling them faster than ever before the railroad set that new efficiency record while doing the second largest job of hauling they have ever done in peacetime and the important point is you could not have lived as well as you did the nation could not have had the goods and materials needed for commerce and defense without the kind and quantity of railroad service performed in 1951 now the reason the railroads have been able to do these bigger jobs and do them better stems largely from the fact that since the end of World War two they have spent over six billion dollars on improvements that money in average of over one billion dollars a year has bought the new and better equipment and facilities that have given the nation continually better railroad service however while the railroads hauled a near record volume of traffic with record breaking efficiency in 1951 their net earnings were way down and the reason is that the wages prices and taxes they must pay have gone up so much more than the rates they can charge that's why as the railroads carry on with their essential improvement program it is so important to all of us that they be allowed adequate freight rates only then will they be able to keep on raising the money needed for the continued improvement that can alone give America the transportation it needs for commerce and defense now for the second act of orange blossoms starring Gordon Macrae and his guest Evelyn case so kid he and I were married I rented a house for her and she lived there alone I hardly ever saw her since Helen was my fiancee she naturally resented any display of affection on my part towards my wife however I did go out to see kitty with my attorney on the day before she was to file for divorce I wasn't nearly as happy about the whole thing as I thought I would be I left the room so kitty could talk to the lawyer alone out on the veranda I didn't mean to eavesdrop yet well you know how it is when they're talking about you well kitty are you happy why should I be happy the year is up now you can get your divorce collect your settlement and live the way you want to live the way I want to live if I could live the way I really want to live I'd live here with Roger I didn't know you thought that way no idea I'm no good for you I'm a fullander a heel I'm a bum I know what you're no good at all I wouldn't go as far as to say that as a matter of fact I don't like you at all I just want to stay married to you kitty you'll be a free woman tomorrow you'll be lots of attractive men but how could anyone be as attractive as you are right about that it doesn't matter to you how I feel does it all that matters is how Helen feels no kitty you've got to find a man and be happy to why any man would fall for you tell them all to run along you like the way or not yourself today now kitty everything's going to be all right for you I'm sure of it when living here alone has probably made you over sentimental I'm sure tomorrow you feel a great deal differently are you I'm positive you tell her that Roger you can make her understand kitty these days are trying but they can never look so tomorrow when saw pretty picture Helen Helen this is my wife kitty this is my fiance how do you do you've broken the terms of your agreement you know Roger it is stated in the contract most clearly nothing of a personal nature is to develop between you two all right I thought I did the settlement you can keep your money I wouldn't touch it anyway kitty don't worry I won't spoil your little romance I never want to see you again is that clear Roger let her go my dear you know you hate women who make things thank goodness she'll be out of your life for good tomorrow Ellen yes darling goodbye what did you say I said goodbye I'm going away at all kitty after all this was a modern marriage a marriage of convenience you know as well as I do a fellow can't get along without modern conveniences Evelyn case we're back in just a moment now thanks to Isabel jewel Howard McNair and to our entire company orange blossoms with music by Victor Herbert and book and lyrics by Fred degray sock BG to silver was dramatized for the railroad hour by Gene Holloway the railroad hour is brought to you each week at this time by the American railroads last year Americans lived better and America grew stronger as the nation's productive might swell and your railroads an essential part of all production whether for commerce or defense did their part setting a new record for efficiency and hauling a near record peacetime volume of freight despite that fact railroad earnings continued to fall as expenses went up faster and farther than railroad rates and revenues today as the railroads carry on with their billion dollar a year program of investment better facilities for better service it's important to all of us that they be allowed to earn the money they need for that program now here again is charming Evelyn case thank you God tell me do you have this trouble every week on the railroad hour trying to decide which girl to marry well Evelyn it seems as if every story in the musical theater was written to be played on just one instrument for the triangle no no common not the musical triangle the eternal triangle who are the corners of your triangle next week Gordon well one corner is the devil mephestrophiles himself or I'm going to play the author of Faust Johann Wolfgang von Goethe and the prettier corner of the triangle will be the gracious star of pictures and Broadway lovely Patricia Morris it must be France Lejas delightful Federica well that's right Evelyn will you listen to see if I get the girl no I already know but I listen anyway good night Gordon good night Evelyn all aboard no friends it looks as though we're ready to pull out and so until next Monday night and Fred Rieker this is Gordon Macrae saying good night orange blossoms was presented by special arrangement with the Tams Whitmark music library Gordon Macrae can be seen starring in Warner Brothers Starlet our choir is under the direction of Norman Luboff and our music is prepared and conducted by Carmen Dragon this is Marvin Miller saying goodbye until next week for the American Railroad now keep tuned for your Monday night of music on NBC the preceding was transcribed here Barbara Gibson on the telephone hour next on NBC


What's going on guys? Rudlinal here bringing you some HTML. This is the second part of some footage that I recorded for you in the last code commentary that I was doing. I think just a few days ago, was that maybe two or three days ago? I don't know. Like, it's Wednesday, it's a weekday, I actually had school today and I've got homework to do, so I just wanted to like pop this code commentary out of here before like I get started on actual academic stuff that I probably should be focusing on right now. But yeah, I feel special guys. Feel the love. Do you feel the love in the air tonight? Because I am putting some love in the air tonight for you. I'm like blowing kisses and stuff. But whatever. Yeah, this is HTML. This is me writing up a no shell article on some Python code that I had written that I had talked about in the code commentary previously. This is just looping through HTML tables on Python. This is actually the code that I had written in school that I had done a code commentary over the footage of that I was, you know, you probably understand what I'm talking about. If you don't, it's okay. I don't either half the time, so like no worries. But yeah, let's get down to business. Let's see, I actually wrote down what I was going to try and talk about this code commentary. So what is on the agenda today? And it says, X drive stuff. What does that mean? No, I'm just kidding. In my school, you guys know I'm a high school student. I attend school. I'm learning, doing all that good stuff, bettering my future. Bettering my future. I almost said that.  But yeah, the way that my school works is that they have a network and for every student, they allocate like a terabyte of disk space. And this is accessible by the network. So every time you log in, you get parted, you get moved. You run the now use command and it starts as a batch group when you first log in. And it connects to a network share like students and then your personal identification number. And then that's a share on the network that gives you a terabyte of space and that's where you would use like your academic portfolio and everything. That is where you can save your classwork, save some stuff that you did electronically and you would save it all in what they called the X drive since they would mount it to the X drive port obviously. But yeah, and the thing is today I've been trying to move some of my files over onto the X drive because what I, well like the last couple days of school, I actually forgot to bring my USB drive and that's what had all my tools, all my utilities, my like, my favorite tech senators, my Unix programs and the SIGWIN and like all the stuff that I really wanted to have with me and I had forgotten it. So I'm like, oh man, this sucks, you know. And so I realized it would be a lot more convenient if I actually saved some of that stuff on the X drive and would be able to use it just in case like I forget my USB. And so I tried to copy some of my stuff over there, but then all of a sudden it gives me this message like, hey, access denied, you know, you can't do this. It didn't actually say that, but it gave me the whole like big strong and bold access denied. And access denied, the disk is either full or right protected and you do not have permission to be able to do this. I'm like, well, what is this? What is this? I have a whole terabyte of space here. I had only used up like 156 gigs, not even that, most of that is just network stuff. But I still had like, I don't remember the exact number, but it was like 981 gigabytes free. So I'm like, dude, I have plenty of space. What are you talking about? So I got really worried. I got really freaked out and apparently this is happening to some other students too. So like I copied, I tried to compress actually, I tried to compress all my folders, all my files, I used a UHARC, which is probably one of the best archivers ever. Like the compression rate is so much better and all that. But yeah, like, I don't know what I'm saying here, but yeah, I compressed all my files. I'm sorry, I'm trying to jump back onto what I was thinking. And I compressed all my files and I tried to move things over there again and like, it still told me, no, you can't do this man, too bad. So that got me really irritated. So I'm like, okay, fine, I'll try a different alternative. I will, I'll just delete everything from my xDrive. Obviously I backed it up. I saved it all on my USB drive. But even then, it still won't let me do anything. So I talked to the administration guys and apparently they are the IT guys, information technology, the people that try to manage the system and everything. And I guess that what they do is they don't allow executable files on your xDrive. So students aren't playing games in the middle of class. And that makes sense. I mean, I can see what they're doing that. But at the same time, I don't, I don't, I have no reason to be playing games. I just want to have access to my tools. Like, just in case I forget my USB drive, I still want to be able to do what I need to do. You know what I'm saying? Obviously I didn't say that to the tech guy because like, he doesn't know what I do. But the thing is like, yeah, I do want to be able to use my things. So I feel like, what if I just, what if I hide them inside an archive? I don't know about zip folders. They might look through that. I don't know about RAR files, but uhark.uha, those kind of files, they can't really look through. So I could just hide what I need in there. But that's a little counterintuitive though because I am going to need to store the program that will extract the files. So what do I do about that? I might actually just use that on Google Docs, which is another thing that my school gets into. So that way I'll have access to it and I can use it however I need to. But the thing is, like, what if they let me, I was questioning it, like how far could I go with this? What if I used, what if I used like, Perl scripts? What if I used Python script? What if I used things that don't end in a .exe extension? Because I mean, that's probably all that it looks for. Is this like, judgment whether you can write on this directory or not? Is that based on the file extension? Or do they actually check the permissions of it and see where like, whether it's read or read write, execute and stuff like that? But that wouldn't make any sense because if it were permissions, it wouldn't allow you to transverse through folders. Because to be able to go through a different folder, it has to be executable. At least that's how it is on Unix systems. I don't know about Windows. But yeah, that was interesting. Like, that was still something that I was trying to think of. So I'm trying to do a little bit of a workaround to be able to run my things at school because I need those. I want those. So I'm sure you guys know how I feel and it's not fair. It's a hard thing to say because it's a hard thing to call because there are students, there are people who are just going to goof off and not do what they need to be doing and they are just going to play games. So it makes perfect sense to block executable files. And in all honesty, the people who are smarter than that will probably try to hide it like I'm going to. And yeah, but wow, that actually took up a lot more dialogue than I actually thought it would. But okay, okay, I guess I can move on to the next topic. I actually only wrote down like three, but I figured the xDrive stuff would be the most important thing that I'd be talking about. Like, it's not fair. No, it is fair. But at the same time, you know, it's a debate. I'm sorry. It really is something that I can't decide on, but I still want to be able to use my things. All right, all right, next topic. GML, Game Maker, Game Maker Language, what I have been doing in that wonderful world of Windows, JKOMGWTF BBQ. Okay, I should have said BBQ there. I'm sorry. But yeah, you guys know that I've been trying to, at least I've been thinking about this idea where the Game Maker interactive shell where you write GML or the Game Maker language line by line and executes after each line. The way I've been doing that is that right at the beginning of the program, when it starts up, it gives a little disclaimer. It says like, this program was written by John Hammond or whatever. It says it's a Game Maker interactive shell. You know, it gives a date and everything. And there you go. But I save those as variables and there are still things that you need to output. So that's added to an array for the output array. But since everything in the output array should obviously be outputted, that also means the prompt. The prompt for writing your text. So in the prompt, you have, well, no, in the array. So you have like, index zero is the caption. Yeah, the caption. Index one is the prompt. Index two is the keyboard string, what you're actually inputting. And then, because it's going to have to display that as well. And then it'll continue with prompt, keyboard, prompt, keyboard, prompt, keyboard on and on. And the reason is because we have that first, that initial caption that displays, it's only using like an even or an odd number to be able to determine whether we want to output the prompt at this position or the keyboard string at this position. So I had to use a little bit of an, not so much an algorithm, but at least a little bit of logic to be able to determine, okay, is this the first thing that we're outputting? Is this the caption? Or is it not? Is it the keyboard? Is it the output? I feel like I'm not describing that or explaining it the way that I should be. And I'll honestly, if I do keep working on this project with the Game Maker language and the interactive shell and stuff like that, you are going to see it. In fact, I probably will record some work that I will be doing on it, except this little logic that I'm talking about now, I didn't actually record. But you'll see it in the code, obviously. And I'll probably comment through and all that. But yeah. All right, I am running out of time, sort of. Like, I only have 20 seconds and I'm obviously not going to start the new topic. That is including the Nokia N900, so we can save that for the next video. I might do that tomorrow. But yeah. I'll actually probably record it now and then upload it tomorrow, because, you know, efficiency. But yeah, that's all. Thank you guys so much, guys, for watching. Well, I almost screwed up on my outro there. That would have been bad. Okay, okay, I'm running out of time. I am out of time. You're looking at a black screen. What am I doing? Yeah, thank you guys. Comment, like, subscribe, favorite, do what you do, people. Thank you so much. Have a great day.


It's the Indian Uno and it's going to be a rock show without letting us know. Yeah, we'll send that to her in a second. But you can also stay up in your life. So everyone was afraid about rocking without laptops. I can ask them to announce this upstairs to us. Yeah, some people. Two people. Okay. Henry, you have three people? Yeah. Okay, great. Then we start. I will talk about design close events for developers. What we've learned. I'm Sandra. I'm from Wikimedia Deutschland TV. And what we did was, in the last three years, we worked on 14 and 15, trying out a lot of the events as developers to encourage people to open some software and also try to figure out which events are good and how we can check new people. And what is the video? We will also put a presentation later on in the presentation about what things we did. So what we did is we did this year the experiment and we're testing with a podcast called SoulScore Berlin. We put developer topics on to get people listening to more and there's developing happening at Wikimedia or Wikimedia on these topics. And we had a mentoring program for new developers to get people invited to write in their PhD internships or literature to integrate them in our teams and provide working students or interns for them. What we also did was, in their second, this is a bigger event where developers were invited to talk about their passionate topics or the topics they're passionate about and share their ideas and share their hobbies. Then we had a free knowledge game jam which was about inviting the game developer community to work with free knowledge to use the liquidator or open content to create games. This was today's Hackathon and we also had last year the Ladies at Frost. Hackathon or the Ladies at Frost conference where we invited a lot of women to join the open source community and this is together with the mentoring program from also other organizations like Mozilla or NextCloud or of Document Foundation to help more people to join these events which is today a regular Meetup group, open source, Ladies Meetup group, you can find Meetup.org which is really awesome. And what we also did in these two years we had deep interviews with seven developers where we were in the first four hours to talk about how did you get into your project, how did you learn coding and how did you get into Wikimedia and how was to set up everything, how did you keep yourself motivated over the long time and also how did you communicate in the projects and what you need, what first trade stuff makes them happy and this was really available to create some model stories for them to have some model developers for showing others this was my lane to the project which could be also good. And then what we also did that our developers overall went in 2016 and 2015 over 50 external developer events like JavaScript conferences or PHP conferences to talk about what they do to attract also people from conferences to our projects. And also this year we created a website software.wikimedia.de which is looking a little bit fancier than Wikitext to all sorts of people that we did and also used this for recruiting and getting involved in projects. And the lessons we learned of this so you see all the links there there you find all our reports, all our numbers because this is more workshop thing which introduce you go out and explain everything a little bit quickly and when you would be more people let me know afterwards. The first thing we learned was really important for us was that both impact and popularity is attractive to people. On the one hand side people like to work in projects or spend their volunteer time which is maybe between five and 20 hours a week for a project that's having a big impact on the five website world so people like this what we also figured out was that in the whole open source software scene Wikimedia is not that attractive like working for one seller or developing Android and so on because it's really complicated to get in and you have a lot of high barriers and so you really have to convince people to start and really get people on the hand to push them into the community and other projects compared a little bit easier to go into first step. Another big lesson we learned with creating the events was eye individuals so every event you created you really have to make some kind of user story beforehand to figuring out a user journey to figuring out what is the target group what kind of people I want to get into for example for the ladies and first events we also interviewed with some women before we talked about the cats or other women networks figuring out what is important for these events we figured out that for example writing some policies for events has to be really focused on the target group then we also for the game developer or game journey did important for us was to work with museums together which is providing us with virtual reality glasses or other things we can play with because this is really important in game industry that they can prototype games and that they can explore stuff. The other thing which really came to us was a clear communication to large entry barriers with all the developers we talked to with all the developers we meet on events or we interviewed which are also a little bit younger in the movement we got a message here that no one was able to go or actually we can be alone for themselves so everyone needed someone else to get mentored or continuously contact our IRC and so on and to make it for them easier and this is not really the fastest way to get people into projects so one of our big goals for last year and this year is already to improve the competition where we can and the first thing is that all people are rated that freedom and well-come culture is the main motivator for everyone to be here so everyone we talked to and everyone who joined our events and then joined for example Hackathon's law get deeper in contact with people but really happy that we're making quality views and that there are possibilities to that you have to freedom to do stuff after you learn everything and you learn also to set a wiki base and other hard things it's really all related good that you have to freedom to choose your own projects because it's really important when you invest your volunteer talent and you can get a post and you have to do distance and okay and the fifth one is that we also figured out that the offline engagement is good to get in a project but the online engagement makes me stay so providing hackathons and events is nice to get people contact to each other it's also nice to show them the project or show them people how to get into a project but what make people stay in communication is to have people that can meet later on so okay so these are the five topics we learned so far and how we did this and we did this with a nice met world we also do our software development engineering department and this is the science thinking yep okay so design thinking is a human centered approach to innovate the draws from designers toolkit to actually create needs of people the possibilities of technology and the requirements for project success so it's in some innovation method you can use to develop solutions to think about problems and develop effective solutions so that you can prototype something and you can test it and you have really good data results and then you can figure out which is the best action item which is the best solution for solving a problem and it's a really nice way to do and behind this one this is also mindset I quickly wrote down and then you go through this whole design thinking process as a process I also introduced you to and you have to think about that you are a beginner of things that you have to stretch not influence from all the past and things you have never done mindset that you always keep what for the person who first is trying out his service or product yes mindset then you should focus on human values what a lot of people are providing it for then you should raise experimentation so it's really important to be open to everything and not block ideas or block experimentation things then be mindful of the process try to add color right what we figured out is that when we make a woman hackathon we not have to do it with our project alone we can ask as a project how a similar project have similar problems and together and find better solutions together than alone this is really important and don't be afraid to fail when some events doesn't when will be low then it's okay you try it out and know it later so for example Tim's into the RCcon was really interesting we had a lot of nice talks from the developers and we also recorded them and could use the content afterwards but to get people in the project it was not a right event construction because people who did it for themselves social media marketing were really important so the thing of the corner cases but don't obsess this detail that you also think in the corner cases and we ever need to kill the babies so this is also a thing we learned and you always wanted to do a hackathon or a game jam and you really stuck with the idea sometimes maybe it's also not the right thing and you have to say to your best idea you have or to the thing you really want to do good by because it's not what a target would be once or what a people wants you pulling in for so yes the process we are talking about is this one, this is also the thing we try out now you have the first part always the first part, the research part where you're trying to understand the needs of the user so you're trying to understand the needs of the developer you're designing events for then you observe the people you're engaging people and you're listening to asking why you have a problem with that why you may not have a problem to get into to set up the key base so why you have a problem to work with media wiki or why you found a slightly attractive and then you ask to try to understand it then you get more information you will understand this this is a defined process step you define a problem statement and ask yourself how might we and then you put a problem on it and this is your main question for the whole process in the ADM process it's a wide brainstorming process where you sketch, building on other ideas where you have producing first ideas and have a big brainstorming time without looking to be open and then you have a prototype part where you really go more deeper in your prototyping of your idea you try to create some kind of concept how you can make it real and then you get feedback on it from other people you iterate with the feedback you got you capture the feelings from the people when you find something, building a product people can touch it, people can feel it and then you see how they use it when you serve as an event you can introduce people to do reactions and then you will test it and in the end you execute it so when you found the good idea then it's really important to always stay open, call away and other people get people involved and also be agile with it so trying to make it flexible as possible for you and your attendees okay, it's getting colder good and that was basically all what I wanted to sum up about the things we did at Wikimedia and why I chose the topic and I think it's nice topic to work on and now it's your turn because now I want you because I prepared the questions I want you to do one whole sensing in process and for this it will be super great when you pair up in teams so we need can do two teams of it two people and what I already did is give you a problem situation or problem that you can solve so I did the first two steps to make that time much more faster so how may we appreciate monitor developers in Wikimedia projects to keep the fire burning also after events I think it's a big challenge that everyone have and for this when you when you prepare everyone gets a worksheet and then we will go through the worksheet so I always get for every patient single introduction and then I have also a time timer because every task you have to do is a couple of minutes and then you work on it and in the end we improve all the results because you probably can also sit in the front when you find FNA and sit together somewhere so I have hands on most of it whatever you need because he is doing it very well