Visit our site to listen to past episodes, find additional content, sign up for our newsletter or learn about the hosts.
Summary
In this episode we talked to Liza Avramenko, the CEO of CheckIO, about Empire of Code and CheckIO. We discussed what differentiates them from each other and from the other coding games that have been spreading on the internet. One of the main differentiators for CheckIO in particular is the strong focus on community. The bottom line is that if you use Python then you should check out CheckIO and Empire of Code as a great way to practice your skills.
Brief Intro
- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
- Follow us on iTunes, Stitcher or TuneIn
- Give us feedback on iTunes, Twitter, email or Disqus
- We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a donation. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.
- We are recording today on July 27th, 2015 and your hosts as usual are Tobias Macey and Chris Patti
- Today we are interviewing Liza Avramenko about CheckIO
Interview
- Please introduce yourself
- How did you get introduced to Python?
- Learned about it from Co-Founder Alex
- For anyone not familiar with CheckIO, can you explain what it is?
- What was the inspiration for creating the CheckIO platform?
- Alex was bored working in a bank and wanted to create a place for sharing practice problems
- What is your goal with this platform?
- Become global community for most popular coding languages
- Remain open and supportive
- How do you deal with the question of ownership and licensing in CheckIO? Was this a tricky hurdle to get past in the site’s creation?
- Being willing to share solutions publicly is a core part of the site.
- This had to be more explicitly stated due to some users confusion early on.
- Being willing to share solutions publicly is a core part of the site.
- Growing a community is difficult because of the chicken and egg problem. How did you kickstart the growth of the CheckIO community?
- Community always number one priority
- Started organically
- Initially had 24/7 live chat to help new users
- Openness was attractive, led to critical mass
- As community grew, need for live chat decreased
- Nature of Python community lends itself well to a collaborative, open community
- Guido provided advice on how to grow and foster community
- Guido himself has participated in a number of conversations on your platform to critique submissions. Have you received any feedback from him directly about his impressions of the system?
- How does diversity play into CheckIO? Are there aspects of the site’s design that are purposefully meant to attract a diverse audience?
- CheckIO has always targeted people with basic coding experience
- Early live chat feedback focused around very new coders wishing there was more material for them
- These early challenges resulted in the development of Empire of Code
- There are a number of other online programming-oriented games available. What makes CheckIO and Empire of Code stand out from them?
- Priority of community
- Others are more about gaming, showcasing talent
- How did you design the gamification aspects of CheckIO, and how important do you think they are to the site’s success?
- CheckIO was never a game, more of a library of challenges that have game elements
- Empire of Code is all about gamification, code and algo improvement are baked into the gameplay
- You choose Python or Javascript “legions” at character creation time, this is a one time choice.
- Buildings, troop movements, materials, etc. are all based in code
- Players can steal code and algorithms from other players
- Incredible innovation
- Great adoption story for new users – can start playing without writing any code
- But in order to really excel you will WANT to start writing code
- So many people have their original motivations for coding come from playing games
- Cooperative play in the form of training missions with other players
- This is an opportunity to learn how people on the other side are solving the same problem
- New languages are planned – Ruby, maybe Java?
- Do you think that there is something about the Python language or community that inspires adoption of this kind of gamified practice?
- You recently released the beta of a new experience called Empire of Code which is more akin to the type of video game that many people are familiar with. What inspired that evolution?
- As part of the new experience, you also added JavaScript as an available language. Do you intend to add new languages in the future?
- Is there a particular demographic or set of demographics that you are targeting with Empire of Code vs CheckIO?
- What’s the monetization strategy for Empire of Code or CheckIO?
- For Empire, you can play for free but you might keep losing your resources until you can learn to code more effectively, OR you can buy a shield which will protect your resources for a time.
- In CheckIO, how do you label the difficulty level of the individual puzzles, is there a set of guidelines for that or is it up to the puzzle writer / submitter?
- CheckIO trusts its community
- The community rates each challenge
- CheckIO trusts its community
- Part of the CheckIO platform is the ability for users to submit their own problems. How much vetting is involved before these submissions are available to users of the site?
- Where do you see CheckIO and Empire of Code going in the future?
- Want to have Empire of Code known as the best online game that blends in programming by the end of 2016
- In ~5 years want to see people saying the CheckIO/Empire of Code inspired people to program as a career
- In ~10 years want to see all major languages represented
- Aiming to become a major game publisher
Picks
- Tobias
- Chris
- Liza
Keep In Touch
- Twitter: @avrliza
Hello, and welcome to podcast dot in it, the podcast about Python and the people who make it great. You can subscribe to our show on Itunes, Stitcher, or TuneIn Radio, or you can add our RSS feed to your favorite podcast app. You can follow us on Twitter or Google Plus, and please give us feedback. You can leave a review on iTunes, send us a tweet, send us an email, or leave us a message on Google plus. To be notified of new episodes, show extras, and new projects from the host, you can sign up for our mailing list. We are recording today on July 27, 2015, and your hosts as usual are Tobias Macy and Chris Patti. Today, we are interviewing Liza Abermenko about Check. Io. Liza, could you please introduce yourself?
[00:00:56] Unknown:
Hi, everybody. My name is Liza, and I'm the CEO, and cofounder of Check. Io.
[00:01:02] Unknown:
So how did you get introduced to Python or introduced to its ecosystem?
[00:01:07] Unknown:
Basically, I got to know about Python from my cofounder, Alex. He's actually the guy who started Czech. Io, and he's the 1 who introduced me to Python. Many people ask why Czech. Io is all about Python, and the simple answer is because Alex knew it, because Alex liked it. And this is how I got introduced to it.
[00:01:29] Unknown:
So for anybody not familiar with Czech. Io and what it is, can you explain it?
[00:01:34] Unknown:
Basically, Czech. Io is the platform where people from all over the world come to solve coding, puzzles, and after solving them, the system tests your solution. And if it passes, you can post your solution online to the global community. And this is when the magic actually happens because people from different parts of the world can see your solution and take different, parts of creativity that you came up with and learned something new for themselves. So, basically, Checo has become the platform where coders from all over the world exchange their coding experience around coding missions, puzzles, and challenges.
[00:02:16] Unknown:
And what was the inspiration for creating the Check. Io platform?
[00:02:20] Unknown:
Believe it or not, boredom. And Alex, my cofounder, he was so bored working in a bank. And when you are a good developer, you always strive to learn something new. So Alex was actually so bored in a bank that he wanted to see how people in the world, coders, can solve exactly the same coding challenges and see different solutions from different people. And this is basically when he started this project in 2010. It was a very simple design. He simply wanted to share his coding experiences with the rest of the world.
[00:03:01] Unknown:
And what is the goal with the platform?
[00:03:05] Unknown:
The goal of the platform is to become the global community for not only Python language, but for the major, the most popular coding languages in the world. And to keep our vision of keeping the platform, as I said, you know, like being open, being very supportive, and keeping the community of the most talented as well as, the beginners beginning coders, so that people can come, People of different levels could come to Czech. Io, learn something new, become a little bit better, or if they're top notch talent already, simply share their coding experience. And believe me, I see quite a lot of people who are very happy teaching others. Not only learning something new, but basically spreading their knowledge.
[00:03:57] Unknown:
Yeah. That's definitely 1 thing that I've found while working in engineering is that if there's 1 thing developers love to share and love to do is teaching other people useful tricks or different ways of solving a problem because it's 1 of the things that is the most enjoyable part, at least for me, about programming is just the process of discovery and learning. Oh, hey. I could have saved, few 4 loops if I did it this way instead or different ways of architecting a problem and how that can change the way that you think about both the task that you're working on and oftentimes the way that you view the world itself and how it operates. So it's great to have that platform and that forum for people to have that collaboration and share their knowledge, particularly in the context of having a specific problem that are that's being solved that everybody can approach in different ways and provide feedback to others.
[00:04:54] Unknown:
Yeah. Exactly. As you said, I totally agree with you. It's basic formula, having the same missions for everybody be solving the same challenges, but hitting people with different backgrounds. This is what makes it interesting. You know, there are engineers from different parts of the world. There are engineers from different industries, chemical engineers, bioengineers, and different different people who bring very interesting solutions to Czech IR and share them with other people. This is really great.
[00:05:25] Unknown:
How do you deal with the question of ownership and licensing in Check. Io? Was this a tricky hurdle to get past in the site's creation?
[00:05:33] Unknown:
That's actually an interesting question. You know, in the beginning of building the platform, we got 1 user asking us to delete his solution because after he solved and, clicked the button publish, he didn't realize that his solution will go into the open world. Oh, wow. Yeah. That was a bit of a challenge, probably for him, but not for us. We totally understood him. We deleted, his solution. But after that, we added terms and agreement, basically saying that is an open platform, and it's a place for people to share their code and knowledge. We are not using any of the algorithms. We are not selling any data to any companies. So this is just simply a condition of playing at is that you're willing to share your code, you're open to post your solutions to the rest of the world.
[00:06:34] Unknown:
Right. Right. That makes perfect sense. Can I can easily see where people might be confused off the bat if that wasn't explicitly made clear, but I can also see where that idea of code sharing, you guys were just discussing it, is really critical to the goal of helping everyone improve their own skills and helping others improve their skills as part of the process? Very cool. Thank you.
[00:06:57] Unknown:
Yep. So going back to the topic of community, growing a new community can be very difficult because of the chicken and egg problem of needing to have people involved in order for it to be an appealing place for other people to go to and needing to have it be an appealing place for people to go to to get other people involved. And I'm just wondering what sort of methods you guys use to kick start the community and the growth of the community to solve that problem.
[00:07:25] Unknown:
You know, Cheddar is a very complex project. It has it's very complex technically. It has, on top of being technically complex, it also has a layer of gamification, and it also has a layer of community. But community was always number 1 priority for us. And from the whole beginning, we were always focusing on building very supportive, very friendly, and very open community. So I would say it started off organically with us. I remember, like, when we launched Check. Io in 2012, the website that you see actually right now, we had a very simple button, live chat, which was very popular probably at that time, and all the teams stayed for a month or maybe even more. Like 24 hours, we tried to substitute each other. We were talking with the community. We were helping. We were, like, dealing with bugs problems. We were also helping people who were stuck in their coding challenges. But that was a really great experience.
After that, the community started growing on its own because people got so attracted to this openness that we were very, I would say, explicit about from the whole beginning. We wanted checkout always to be a community for people to share their coding experiences. So this, explicitly about what we want to be helped us to attract really talented and great people. And the more great, friendly, and supportive people you have in your community, believe it or not, the less work you need to do. So we stopped spending 24 hours, at life support chat, and community became a very huge support to us. And later on, we started talking with, Giro.
Giro, you probably know him. He was the 2nd big push for us of, I would say, building the community at Czechia. Python has the most incredible community in the world. Python community is consists basically of people who are extremely supportive of each other. And we were lucky, in the beginning, the as I said, that Alex picked up Python as the language to use at, but also we were lucky that this language has the best community. So when we started talking with Viro, he was not only helping us, you know, with his advice of how to build the particular features or helping us doing reviews for different code for different users.
But, also, he was given really great advice about how to build community. That sometimes, you know, you need to be strict, that you need to be very sharp at cutting, rude people, at cutting down people, you know, who are trying to be not appropriate. Obusive. Exactly. Exactly. So his help was incredible in that.
[00:10:40] Unknown:
That's really interesting to hear that you had Guido as an advisor on how to build and foster that community because as anyone who has ever used Python can attest, he's definitely done a very excellent job of fostering that for the Python community as a whole growing it from a language that he was tinkering with as a means of teaching people how to code and then growing into this massive ecosystem of libraries and people and organizations that it's that it is today. And I know that he's actually provided feedback on a number of different problems and conversations on the platform form and critiquing people's solutions and, wondering if you if you've got any feedback about his experience in interacting with users and providing that insight.
[00:11:31] Unknown:
I think, Rick, he's he's incredible in in terms of not only creating the language, but also in terms of building the community. And, you know, I always think about the name of the language, where it came from. It all comes from particular humor, good attitude, friendliness, openness. It's just it's I I love it. I love it.
[00:11:55] Unknown:
How does diversity play into Check. Io? Are there aspects of the site's design that are purposefully meant to attract a diverse audience?
[00:12:04] Unknown:
Was always I would say, at we were always targeting people with basic coding experience. And 1 of our biggest challenges, as I mentioned before, you know, when we launched the website in 2012, we were staying at live chat, and the majority of questions were there. I am a total newbie, and why you don't teach people how to code? It's such a beautiful website. It looks like an amazing game. Why you don't teach me how to code? Right. So I would say that it was the biggest challenge for us that we were not diverse enough. We were always trying to bring people of different levels of knowledge.
We were always including people from different geographics by doing PR in different countries. And it means a lot, believe it or not, but different countries have different cultures of writing code. So, that was intentional that, you know, we were including different communities at Czechoslov. Diversity, as I said, for us was extremely important, but it was also a big challenge. And this is why it was 1 of the reasons why we decided to start building Empire of Code at which we target not only people who know basics of coding, but also everybody who are interest everybody who is interested in coding.
You can start playing the game even without knowing how to code. But we want to drag you. We want to excite you about coding so much that after playing the game for a couple of days, weeks, or months it depends on a player, you will be simply addicted to coding. This is what we want to build. But this is how we are solving this problem of Checo, of not being diverse enough, I would say.
[00:14:02] Unknown:
It's a really good point. So in this case, we're talking about diversity of skill set levels, of skill levels, which I think makes a lot of sense given what Check. Io is. That's great. Thank you.
[00:14:13] Unknown:
There are a number of other online programming oriented games available. What makes check IO and Empire of Code stand out from them?
[00:14:22] Unknown:
I would say, as I mentioned in the beginning, number 1 priority is a community. So you can see a lot of online catalogs with coding challenges, but they are more about gamification and about finding and identifying the best talent, ranking people, maybe even introducing helping people find a job, which is amazing. It makes it makes its job. But what makes Checkatrade different is actually that we are about community. We are about being open, and we are about exchanging experience. This is why 1 problem of 1 coder who asked us to delete his solution, but it was 1 of the millions people who simply asked for it. The rest of the users, they are very happy to come to and to solve coding puzzles, and to see solutions of others.
Pretty often, you know, I hear people switching from other languages, like 1 of the guys, who switched from Java, And he started playing Czech. I was playing with Python. And he told me that he was solving 1 of the simplest coding missions for a couple of days. And I know that he's extremely talented coder. So I was really surprised. And it turned out that he didn't know that 1 of the modules, I forgot which 1, exists in Python. So for a couple of days, he wrote the whole module himself. So when he saw the solution of other user, he was so happy. And, you know, this moment of happiness, I see quite a lot when people, you know, after solving some coding challenge for a couple of hours or days, after that, they discover cool tricks or tips.
This makes a huge difference for people.
[00:16:15] Unknown:
Yeah. It's definitely a good point about people discovering all the batteries that are included with Python, particularly when coming from other languages and not realizing that all of that ecosystem is available to them and readily accessible and provides so much power versus, like like you said, the other gentleman coming from Java where a lot of the Java standard libraries are still incredibly verbose and occasionally hard to handle and work with. So it's definitely interesting hearing other people's experiences of learning about those elements of Python from a site such as Check. Io and getting the feedback from the community to for for those moments.
[00:16:57] Unknown:
Mhmm. And I think you're being I think you're being very kind. You basically have to read the book, The Effective Java by Josh Block, in order to use Java's standard libraries the way they were actually intended, because there's so much there's so much boilerplate and so much flexibility there. So that's that's definitely true. So how did you design the gamification aspects of Check. Io, and how important do you think they are to the site's success?
[00:17:24] Unknown:
This is 1 of the biggest differences between Czechia and Empire of Code. So when we were building Czechia and when we were promoting it to people in all over the world, we were saying that Czechia is the game for coders. And to tell the truth, to be honest with you, it was never a game. It was a gamified catalog of challenges, which as you mentioned, there are a lot of competitors out there, a lot of other websites which are doing kind of similar things. So gamification was always, for us, crucial, but we had to stay true to ourselves and realize that we didn't build a game as it is.
And this is why we decided, you know, to start building Empire of Code, which is actually a game. So if is the platform for community to exchange coding experience, solve coding missions, and talk about them, The Empire of Code is the next level of this coding experience. It's the game where you can it's basically something like, strategy, tactics, economics game where you code your way to victory, and you have to build 1 of the strongest bases in the space. It's a sci fi game which takes place in the space. And you can go into the source code of almost each building. You can write improvement algorithms so that, for example, your base your gold factories produce gold 5 times faster. Or the more efficient your algorithm, the more gold you are getting. And once you are getting quite a lot of gold, you can start buying army, basically your troops.
So once you started buying your army, you can play around with the algorithms of how your troops, behave themselves. And, of course, you can then go to the war. So you can apply your algorithms and see how your troops are behaving, in the real time. And after that, you can even start stealing the code. So this is the funnest part. When you attack other people, you can steal not only their gold and other resources, you can also steal algorithms. And through such a reverse engineering concept, we want to prove that learning how to code can be fun. As I mentioned before, you know, we want to drag people into coding by first of all exciting them about a fun game.
And once people are hooked up about playing this game, maybe somebody didn't even know you know how to code. They simply started playing the game by moving buildings, making their base more stronger by tactical positions of their buildings on their base. But once they started attacking other users, they started stealing more and more algorithms, And then they started, you know, taking a piece of this algorithm, combining it with another 1, combining it with a third 1, and they would get an amazing strategy. And of course, like, people while they're tinkering with something, they are learning a lot.
And so I I really hope that, you know, this idea of reverse engineering will make miracle in the world of how people learn how to code.
[00:20:55] Unknown:
That's really awesome. I mean, I think there are so many people that I've even talked to through the years who their entree to coding in general was games and gameplay. Right? Like, there was a guy that I worked with in my last job who got started coding because he ended up wanting to write World of Warcraft modifications. And I think that that idea of wanting to take control of the game and make it behave the way you want is huge, and having a game that was designed with that idea baked into its very DNA is very cool and very, very novel, and I and I really look forward to giving it a try myself. I haven't I haven't done that yet. I definitely intend to, this evening after the show.
[00:21:37] Unknown:
That's awesome. And believe it or not, you know, this is the feedback that I keep hearing from people from all over the world. Like, you know, I started tinkering with this game. I wanted to write a board, or I wanted to build my own game, or everything about people who started learning how to code always goes back to games. Either they wanted, as you say, you know, take control of the game or they want to build something new. It always about having fun, playing something fun. Absolutely.
[00:22:08] Unknown:
Going back to what you're saying about being able to steal algorithms from players that you've defeated in Empire of Code, that's very innovative and not something that I've seen or heard of anywhere else. And it definitely seems like a really excellent way of getting exposed to new algorithms or new approaches to again solving the same sets of problems because everybody in the game really has the same goals ultimately. But there are so many different ways that that can be approached particularly with building out some rudimentary or even advanced artificial intelligence for your different soldiers. And being able to obtain that code through that kind of interaction with other players, then being able to assimilate that into your own strategies is just amazing and a really great way of fostering collaboration even if it's not necessarily intended. Being able to sort of steal other people's ideas from their from their implementations and improve your ability in the game as a result of that. That's just a Yeah.
[00:23:13] Unknown:
Exactly. And, you know, on top of that, for people who who would go right now to the Empire of Code landing page, they would see that we are right now opening the game, but with both languages, with Python and JavaScript. And, you know, as you were just saying about being competitive, but in the same way being supportive of each other, maybe unintentionally because everybody is having the same goal in the game. But we are launching the game with 2 languages. And once you've gone through a tutorial, once you learned what the game is about and what are the main rules, you have to pick a side. Either you are with Python or you are with JavaScript, and this is non reversible. So, this is 1 time choice that you have to make, and you are sticking with it. So the idea is that when you are joining the Python community, when you're joining a Python legion, let's say it like that, you will be fighting for the Python.
And, of course, people want, you know, to be more supportive because it's like Python versus JavaScript. Who is cooler? Who is stronger? So of course, your legion will be much more supportive, and you can always go on a mission with your Python friends. So you can go and train. So when I say train, it's basically attack other Python users, but you will not be stealing their resources. You will be only looking at their algorithms and, you know, like, sharing the strong weapons. In this case, strong weapons is algorithms. But when you decide to go on a real war mission, you will be attacking JavaScript users.
And this is when, you know, like, you will see how your algorithm behaves, where your troops go, how efficient they are. And the fun part I've noticed while talking already to some early adopters is that people are also excited about looking into algorithms of other languages. So even though somebody might pick a Python language, they are looking very much into an opportunity to see how JavaScript is solving exactly the same problems and what are the tricks, What are the main instruments that JavaScript is basically, like, using in that case?
[00:25:29] Unknown:
That's really amazing that you have the ability to do, as you said, those training runs with other people as a way to get acclimated to the game and learn the other people's techniques in order to educate yourself about, oh, maybe I can approach this problem in this other new way that I wasn't aware of before because there are some other games, there's 1 with JavaScript where the whole idea is to write a JavaScript AI to control a bot where basically you write the the the the different routines and then you set the bot loose and it does its thing. But I didn't from playing it, it didn't seem like there was any way to get back collaboration. And so it's kind of hard thinking in isolation about particularly an AI problem.
How am I going to structure my conditionals in a way that it will actually be effective for this particular task and having the ability to do that collaboratively. And then again, as you said, be able to view and steal other people's algorithmic implementations is amazing. And then going back to what you were saying about getting exposed to the same kinds of algorithms but in a different language is another excellent way of learning more about code in general and different ways of thinking about a problem because JavaScript and Python have very different idioms about how to approach various problems.
And getting that exposure can really broaden your horizons and your ability as an engineer. And I'm wondering if there is any ability or any plan in the future to be able to mix the different languages for perhaps using JavaScript on 1 set of soldiers or Python on another set to combine the effectiveness of the different languages and leverage their strengths where they're best used. And as a corollary to that, I'm wondering what your plans are for adding other languages to Empire of Code.
[00:27:33] Unknown:
On the first question, it was actually 1 of the ideas that we are still thinking about. Given our users an ability, you know, if you've stolen a really awesome JavaScript algorithm while you are a part of Python legend, why not to give an opportunity for you to apply also this algorithm while you're attacking or while you're training. So, it's it's on the road map, and we are still discussing it. It might be a premium feature, so we'll think about it. But, also, we want to add the majority of the most popular languages out there in the world. I really like also Ruby language. As I mentioned before, Python has a great community. I would say Ruby has the 2nd best community, and I would say that adding Java, Ruby, and a couple of other major languages to Empire of Code and Czech. Io would be definitely a big step for us next.
And the system is built in such a way that we we we initially, while we were architecting the website, we were planning on adding other languages. So it's a simple sandbox where you can build other interpreters to other languages. And what we will have to do only on our end is to change our missions, to change those coding challenges, to change the source code of buildings, and that's it. And we will be all set for working with other languages.
[00:29:09] Unknown:
So is there a particular demographic or set of demographics that you're targeting with Empire of Code versus Check. Io? And I'm wondering what the synergies are between the 2 platforms.
[00:29:23] Unknown:
We are targeting people who are interested in coding. So this is who we target at Empire of Code. If in Czechia we target people with basic or higher coding experience, At Empire, we are opening our doors much wider, and we want these 2 websites to supplement each other. Basically, will be a platform where people can come, solve coding missions. And believe it or not, many of them will be the same as Empire of Code has. So people can come, solve, the system tests your solution, then you can see how others solved it, and then you can discuss them. So Czecho was always about discussions and about people sharing something, their coding experiences.
So at Empire, being strictly the fun game as it is, we will keep it more on a game side versus Czechio being a platform for community.
[00:30:27] Unknown:
And going back to you briefly mentioned the possibility of combining languages as a potential premium feature that sparked by curiosity about what sort of monetization scheme you have for both Check. Io and Empire of Code and what your business model is around both of those platforms?
[00:30:49] Unknown:
I would say the game that inspired us with Empire of Code is, Clash of Clans and Boom Beach. Those are the 2 games from Supercell company. And we took quite a lot from there. Even if you launch and start playing Clash of Clans, you will see the same layout, you will see the same concept, of course without coding element. The basic monetization that they are using, and it's been 1 of the most successfully proven in the world, is a free to play model where you pay money for speeding up processes. So for example, if you cannot wait enough, you want to proceed with the game as fast as you can, believe it or not, you know, this anxiety of people who cannot wait is a huge driver, and thus people are spending quite a lot of money on speeding up things.
And having this internal currency, which can be spent not only on speeding things up, but also, for example, you can use it to purchase a shield. So, for example, you're total newbie. You started playing the game and you're so excited. You're playing the game, you're having the fun, you're stealing the algorithms, but you're not having because other people can also attack you since it's gonna be a multiplayer game. You will be losing your resources quite often, and you won't be able to accumulate enough resources to proceed with the game if you're not an experienced coder. So you have a couple of options. Either you have to speed up your learning curve and start learning to code as much as fast as you can. Or you can purchase the shield that, you know, will protect your base for a limited period of time while you're developing a defense algorithm or while you're accumulating particular number of resources.
[00:32:48] Unknown:
I think that's a really great strategy, you know, that the whole free to play idea, especially the angle of really making it such that there is a way to very easily not require the premium element. Right? Like, there are so many games where, okay, they're free to play, but in reality, in order to actually get any value from the game, you have to buy the the the premium content. I think that's a really smart way to do it, and I think it'll it'll make people feel good about investing their time in Empire of Code.
[00:33:22] Unknown:
Yeah. And this is believe it or not, I always wanted to keep, the game free and available to people all over the world. And this was always the pinpoint for me. And thus, you know, when we were developing the monetization strategy for Empire of Code, we were looking at all the different options. And of course, like, pay to play is quite popular, the majority of games you have to purchase them, But we are not a simple game. We are we were always about helping people in the world to become better coders, to see that coding is actually fun so that people can create more cool things with coding. Thus, you know, this model of pay to play or even, like, premium, we we dropped it in the beginning.
[00:34:13] Unknown:
In Check. Io, how do you label the difficulty level of the individual puzzles? Is there a set of guidelines for that, or is it up to the puzzle writer or submitter?
[00:34:22] Unknown:
We always trust our community. So, basically, you know, in in the bottom of every challenge, there is an edit button where our users usually go and they rank our challenges. So we really rely on the community, on people telling us how elementary, how challenging, or how moderate the challenge is.
[00:34:50] Unknown:
So as Chris alluded to, part of the Check. Io platform is the ability for users to submit their own problems. And I'm wondering how much vetting is involved before those submissions are made available to everybody who uses the site.
[00:35:03] Unknown:
That is a really good question. You know, as I said in the beginning, community is very important for us and being open is very crucial for us. Another concept is quality content. We were always very peculiar about having the best coding missions at Czechia. It's not a simple, you know, set of boring math challenges. It's always life related coding missions that help develop people their logic, their math, their coding skills, and in the bottom of every challenge, we always say, you know, how this particular challenge can be applicable in real life. So every time when a user submits a coding mission, we simply pre moderate it. So we help our users to build better challenges, so that they can challenge their friends, families, mothers, grandmothers, etcetera.
But this small pre moderation is also very important for us.
[00:36:07] Unknown:
So where do you see Check. Io and Empire of Code going in the future? And what are some potential new directions that you see your company moving in?
[00:36:16] Unknown:
I would say that by the end of 2016, I want Empire of Code to be known as the funnest online game that blurs gaming and coding, that helps people to learn from others via reverse engineering, or improve their coding skills by skill sharing. And I really hope that by that time, we will be up to 4, 000, 000 users. We will be self sustaining, and we will have a really awesome team by that time. I mean, awesome team in in terms of the number. We need to we need to grow our team. We are really growing really fast. Thus, we are really looking into building a a team.
And I would say in later future, in 5 maybe years, I want to see people saying, I was playing Empire of Code when I realized that coding is actually fun. Thus, I became an engineer. And maybe in 10 years, I wanted to see that we have major coding languages at both platforms Cheka and Empire of Code, as well as I want to see, you know, not only Empire of Code as this only game where we have integrated coding and gaming experience. Maybe in future, it will be some kind of racing game where you have to write algorithms of the best logistics, or maybe it will be a fighting game, or whatever game it is. But we want to become this major game publisher that integrates coding and gaming experience at its fullest.
[00:37:56] Unknown:
Those are some very ambitious goals, and I definitely hope that you achieve all of them because I have greatly enjoyed using both Check. I o and the little bit of time that I've been able to spend on it, Empire of Code. And I really think that they're excellent platforms for people to, as we've said throughout the whole interview, both learn to code and learn new ways of coding and collaborate. So are there any amazing
[00:38:27] Unknown:
conversation. Great questions. That was think we've had an amazing conversation. Great questions. That was really interesting to share everything with you guys.
[00:38:36] Unknown:
Alright. Well, with that, we will move to the picks, and I will go ahead and get us started. So for my first pick today, I'm going to choose JSON Web Tokens because I was recently working on a project at my job where I needed to be able to have a centralized authentication for people being able to log in to the main application and then use an API from a separate application as we move to more of a service oriented architecture. And as I was evaluating some of the different options that were available, I eventually landed on JSON Web Tokens. And it just greatly simplifies that that approach. And you can just create a JSON Web Token, sign it with a shared secret between the back ends of the 2 apps, and then it can just be sent as a cookie in the user's browser. And that can provide whatever authorization information is needed between the 2 apps.
So I intend to write a blog post about that when I find time, but definitely worth taking a look at. My next pick is the source code pro font, which is what I use when programming in e max. And it just is a really well nicely done font. It makes it very easy to see all the different characters and punctuation that you use in programming. It just makes it really clear and easy to scan through your code. And for my next pick, there's a library called direnv, which is a Go package that you can install that will automatically source a dotenvarc file in your project directories so that you don't always have to remember to do that manually.
Just 1 less thing you have to worry about when you're developing. And for my last pick, I'm going to choose the movie Chappie, which I just watched last night. And it is a very well done movie that addresses some of the more human aspects of artificial intelligence and how we interact with it and just some of our fears and stigmas that are associated with robotics and artificial intelligence. So definitely worth taking a look at. And, Chris, why don't you share what you've got?
[00:40:55] Unknown:
Excellent. So my first pick is an iOS game, because as I've said in the past, I think the iPad, iOS in general, are a really great gaming platform. It's where I do most of my gaming these days on the train or whatever. So the first pick that I have is a game called Prune. It's really kind of unique in that it the gameplay is you are growing these trees, and in order to grow the trees in the way that's required, that's specified by the various puzzles, you have to prune the tree such that it will grow in the appropriate direction. I know that seems like an odd concept for a game, but it's really fun and very very relaxing, and very simple, very easy to pick up. Just my perfect kind of brainless commute pastime.
My next pick is something Python related. It is a blogging engine. I haven't quite switched my blog over to it yet, but I've been playing with it and working with it, and I've been totally impressed by virtually every aspect of it. It's called Nicola. And I just I really feel like these folks are doing a lot of great work. The documentation, so far, as far as Azim, is top notch. It's written to be very extensible. It has a task based engine as part of the build process, so you can extend that in any way you might see fit. It's just it's it's a great it's a great project that I think, I I look forward to working with in the future.
And my last pick is a drink pick. It's not a beer, but it is a cocktail that I just tried this last weekend for the first time and really enjoyed called War Days cocktail. It's kind of unique. It it it has a blend of ingredients that I'm not used to in cocktails, gin, and green chartreuse, and a few other things, and it's very tasty. Unlike most cocktails that I've tried with green chartreuse in it, it's not overwhelming. Usually, when you get a drink with green chartreuse, all you taste is green chartreuse, but not in this case. It's a really good drink, and and, you know, it takes a little bit of effort to make, but, it's worth it in my mind. And that's it for me. Liza, what do you have for us for picks, if anything?
[00:43:05] Unknown:
As for me, I would say the first pick would be probably Kyiv. I have spent past couple of years in the United States and I just came back to Ukraine. And I was extremely surprised how Kyiv changed recently. It became an incredibly European city. I'm originally not from that city, so for me, not seeing the city for a long time, not being in the capital for a long time, it was a total new rediscovery. A lot of young people, a lot of things happening on every corner. And, of course, like, you know, probably there are some war disturbances happening in our country, but Kyiv lives its own life. So it was great to discover that.
And on the second note, I would say 1 of my discoveries was maybe it's you you already had it here on the podcast. It's becoming pretty hip, but I just decided to try it only recently. It's a bulletproof coffee. It's basically a coffee with a bunch of butter, and I love it, no matter how gross it sounds. And I advise all my friends to try it. It's amazing. It's like, you know, a cappuccino with the best cream that you have ever tried. And of course, it's advised to try it more with butter and coconut oil. But to tell the truth, I am simply blending it coffee with the butter, and it makes amazingly, incredible breakfast food I would say. Not just a drink, but a food.
[00:44:40] Unknown:
That's great. You know, with regards to Kiev, it's it's kind of interesting. I as a Westerner, have very little knowledge of that part of the world, but my company actually has a team in Kyiv, and it's been very interesting to talk to people who who live there and work there. It seems like there's a really thriving tech community there these days.
[00:45:00] Unknown:
Yeah. And, you know, you've probably read the news, you know, in what not only political bad situation Ukraine is, but also economically. Ukraine has 1 of the worst economies at this point, and it's, like, pretty default country. So it's very hard to invest money right now to totally reinvent all the, equipment and factories and to change our industries. So, 1 of the ideas of the government is actually to use the full potential of Ukraine, its technical potential. Ukraine has an incredible math school, extremely extremely math heavy, I would say. So whenever you're learning physics, math, engineering, whatever it is, people are getting such a deep knowledge of math that they are later on becoming really talented engineers.
And this is why I see, you know, quite a lot of cases when I talk to my American friends that people are working a lot with Ukrainian outsourcing teams. And we want in Ukraine, to tell the truth, to make it 1 of our expert points here. It's as I said, we don't need to reinvent to reinvent any new industries. All we need to do is to invite more people to play Czech. Io Learn Python and become talented coders so that the country can, you know, provide, like people already have computers. So this is all we need to do to create this amazingly talented community that can help build more new cool things in the world and bring more money to the budget.
[00:46:47] Unknown:
So what you're saying is Check. Io and Empire Code are the the solution to Kyiv's future problems.
[00:46:54] Unknown:
Exactly. Exactly.
[00:47:00] Unknown:
Alright. Well, we really appreciate you taking the time to join us on the show and talk to us about Empire of Code and Check. Io. And I definitely recommend anybody who is considering it to go check them out and play a few rounds of Empire of Code and solve a few problems on Check IO. So for anybody who wants to keep in touch with you and follow what you and your company are up to, what would be the best way for them to do that?
[00:47:25] Unknown:
My Twitter handle is avrlia. So I'm always happy and open to answer any questions, help in any possible way that I can.
[00:47:36] Unknown:
Excellent. Well, thank you very much, and I hope you enjoy the rest of your day.
[00:47:43] Unknown:
Christo West, thank you so much. It was really interesting to talk with you.
Introduction and Host Welcome
Interview with Liza Abermenko
Liza's Introduction to Python
Overview of Check.io
Inspiration Behind Check.io
Goals of Check.io
Community and Collaboration
Building and Growing the Community
Guido van Rossum's Role
Diversity in Check.io
Check.io vs Other Coding Platforms
Gamification in Check.io
Empire of Code: The Next Level
Python vs JavaScript in Empire of Code
Future Plans for Empire of Code
Target Demographics
Monetization Strategy
Labeling Difficulty Levels
Vetting User Submissions
Future Directions
Closing Remarks
Picks