Changing the way we code w/ Tudor Girba

Tudor Girba gives us an update on how he and his team are changing the way we interact with code.

Full Transcript:

MichaelCarducci:             [music]

You’re listening to the [inaudible 00:00:08] Podcast, this is your host Michael Carducci and this week I am joined by Mr. Tudor Girba who has been on the podcast a couple times and we are here together at [inaudible 00:00:09] 2017 and I wanted the opportunity to kind of sit down and get an update on what you’re doing. Tudor, before we go into anything else, just say hello and tell us just a little bit about yourself if you don’t mind.

Tudor Girba:                         Hi, it’s nice to be here. Two years ago I co-founded a company and the main goal of the company is called Feenk, F.E.E.N.K dot com and the goal of our company is to reshape the experience of developing software. So, we think the way that software is being developed right now is a little bit arcane. Quaint but arcane and …

MichaelCarducci:             It hasn’t really changed that much.

Tudor Girba:                         It didn’t change, didn’t it?

MichaelCarducci:             In the history of software development.

Tudor Girba:                         Yeah. It’s amazing isn’t it? It’s amazing.

MichaelCarducci:             I mean, it’s like we got off of punch cards, on to terminals and-

Tudor Girba:                         And that was it.

MichaelCarducci:             PDU’s and that’s yeah.

Tudor Girba:                         Yeah. That was the end of it.

MichaelCarducci:             We’ve just maybe gotten better fonts and you know-

Tudor Girba:                         Exactly.

MichaelCarducci:             Some integrated tools but not a whole lot. You’re rethinking the entire experience.

Tudor Girba:                         Yes and we starting from this little problem, which is the most expensive problems right now, of that of reading code.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         We’ve been up already from there so, even at this conference, like I’m asking developers and technical people if they agree with these statements that developers spend their spare time reading code and then, they do. Then I ask them, when was the last time you heard developers talk about how they read code? And at that question people are at a loss because nobody talks about this.

MichaelCarducci:             No, it never comes up.

Tudor Girba:                         It never comes up. Which is fascinating because it means that we are spending a larger chunk of our development budget on something nobody ever talks about. That doesn’t make real sense. Now, if you do talk about it then you realize that reading is like the most manual possible way to extract information out of data.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         So, that’s clearly something, you know, that we can rethink there. Especially now, when we are bombarded with all sorts of data science approaches. So, yeah, this is where we are at. Now, the work that we are doing right now is based on our experience of working with, for example, this moose technology project, moose technology dot org, which is the largest software analysis platform in research and so we’re basing a lot on leading that project in years. A lot of that experience goes into what we’re doing now. What we’re doing now is we’re creating a new kind of an IDE.

MichaelCarducci:             Mm-hmm (affirmative) I’ve seen the early versions of that and it completely blew me away.

Tudor Girba:                         Yeah. So, now we work on the second generation of that IDE. But this year we had a chance of using the current production version of it. So, the IDE is called the Glamorous Toolkit, so, gtoolkit dot org, and that’s an IDE right now Pharo, P H A R O, dot org, which is a small talk like programing language.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         The interesting thing there is, in that language, is that it’s pure object oriented. So, it allows you to do really interesting modeling of domains. So I can do domain driven domains, domain driven design very, very interestingly there. One of the things that we did in the IDE, just to give you an example, is we rethought the inspector. So, for the object inspector, everybody in the world right now, kind of shows all objects regardless of their nationality and country of origin. All objects are shown at trees but that’s the least interesting representation of objects.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         Right? So usually when to look at objects in a different shape. The shape that is meaningful for understanding the purpose of the object and not the shape that shows you the internat structure of the object. So, we turned this a little bit around and we allow objects to be depicted in all sorts of different ways. So, one thing that we did this year, we did a project with a start up and they were in the restaurant business, restaurant automation business, and we helped them rethink their domain. The way we did that was to basically, they were doing right now a point of sale system, so one of these device, you know, the waiter comes with the device and gets the order, digitalizes it, and later on gives you the invoice. We rethought that business model and when we looked at the restaurant we noticed, well, the core of the restaurant is actually the communication that happens between the different contributors in the restaurants.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         The waiter, cooks, managers, whatever. So, those are the actors and then when you look at the amount of time that waiters, for example, spend on the floor, a lot of their time is spent polling for information.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         So, well we said, if we are to rethink that space then well, let’s rethink that communication platform. One of the things that we did there was, instead of looking at this problem as just one system we noticed that the restaurant has a very high degree of variability.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         Very often when people see variability they’re treated through configurations. Right? And you very easily get to hundreds of configuration properties, which basically means that you have not one system but millions of systems. Which actually makes debugging incredibly hard. So, an alternative to that situation is to not look at this … Whenever you see variability, instead of looking at it as a configuration problem, you look at it as if it’s a programing language problem.

So, it turns out that in this space we ended up modeling communication [inaudible 00:06:01] in the restaurants and modeling the restaurants structure. Where we checked each being active and how they exchange messages and it was a kind of actor messaging model. When we showed this, the sketch, we brainstormed about this on a white board. We showed this sketch to developers they said, well we don’t see ourselves doing that. So we said okay. We’ll do a first implementation of that. So we did it in Pharo and like a month later we showed it to developers and the demo was showing some code and an object inspector. So, really showing some of these. The configuration of a restaurant and programing it and then getting some objects representing vectors and messages and then simply inspected those as a means to understand how that communication would happen.

So really everything that was on the screen, which is some code and an object inspector. Now only that object inspector didn’t show taxteral representation, it showed visualizations. The funny thing was we showed it to developers and they said, wow, okay, that’s interesting so then we could start to work with them towards implementing that into their target system, target language, which was in that case Java and Swift because they were trying to be mobile.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         Then later we started to talk with project managers and then we could brainstorm about new business use cases that came out of that. The funny thing was that afterwards we got to talk to the CEO of the company and then he said, well, okay, now I understand what this project is about but this was several months after the budget for the rewrite was allocated. Which is fascinating because very often you find that people investing to … We got so accustomed to the idea that software is an opaque thing, that nobody can really understand.

MichaelCarducci:             Mm-hmm (affirmative) oh, yeah.

Tudor Girba:                         Right? That it’s not unheard of to simply just wave or just shoot that investment towards it with kind of treating it as if its a lottery game. You know? So without really understanding the impact of what’s going on there. But here’s the funniest thing. The funniest thing is that we went then to the investors of the startup that we were working with and were talking about one of the largest retailers in the world, we work with the sea level of that company. We were showing them exactly the same demo that we showed to developers. That is-

MichaelCarducci:             To the business people?

Tudor Girba:                         To the sea level of a multi billion dollar company. They were sitting there and looking at code and object inspector and the interesting thing, that afterwards we had like a one hour conversation about the implication of that model and they actually made significant decisions based on it. For example, the intention of open sourcing and maybe creating an ecosystem around it. Now here’s the fascinating thing to me, to me the fascinating thing is that we intentionally, even though this was a business situation for us.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         This is how we get our funding. Right? We need to get projects or that we … Rather strange projects, in order to finance the way we work. So, for us it was a business situation but still we did this basically a scientific experiment. Because we showed through all of this, everybody, we showed exactly the same demo and the very fact that all of them had a chance of saying something meaningful and making a significant decision based on the outcome of the demo, shows that it’s absolutely possible to raise even individual objects all the way to strategic decision making level.

For us this is the very first, I think this is one of the first projects which I know, that this to happen. The funny thing again is that we did not show them a user interface, we showed them an algorithm.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         So it was not a user facing interface. It was something that just was happening somewhere in the bowels of the-

MichaelCarducci:             But you were able to-

Tudor Girba:                         [inaudible 00:10:17] System.

MichaelCarducci:             Present that in a way that was meaningful-

Tudor Girba:                         Exactly.

MichaelCarducci:             To the non technical audience.

Tudor Girba:                         Exactly and that happened, though it happened in the IDE. So, we actually … The demo was thee IDE or happened completely in the IDE. That means transformaty. The other interesting thing there is that we take these visualizations that we showed, we didn’t not create them specially for the demo. We created them for our debugging purposes because we don’t develop in the same way as we were doing five years ago.

MichaelCarducci:             We being you, not …

Tudor Girba:                         Me and my colleagues at the company.

MichaelCarducci:             Because I’m debugging the same way I was doing 20 years ago.

Tudor Girba:                         No, I mean me and my colleagues.

MichaelCarducci:             Okay.

Tudor Girba:                         Yes. Indeed.

MichaelCarducci:             Yeah, that’s why I wanted to clarify because you’re doing some pretty spectacular things but that’s one other thing and I just want to come back to this because I know you’ve got a few more things to say. The fact that you can demo that piece of the work that creates a vast majority of work that we create as software engineers is invisible to the business.

Tudor Girba:                         And it’s opaque. It’s worse than invisible. People want to know what’s in there but we got accustomed to the idea that it’s impossible for us to ever know.

MichaelCarducci:             Yeah.

Tudor Girba:                         That’s broken. That has to change and that’s what we showed in this project. It is the very first project in which we showed this one.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         It really works. To us it was also surprising to the extent to which it worked. It took us a little bit by surprise but didn’t expect it to happen so quickly. It’s very exciting from that perspective.

MichaelCarducci:             Wow. No, that’s incredible. So, you’re here at [inaudible 00:00:09], what are you speaking about right now? Cause you’ve got a variety of topics.

Tudor Girba:                         Yeah. Well, they’re all derived from this space of rethinking the way we read code. Actually, not necessarily only rethinking but first of all, starting the conversation.

MichaelCarducci:             Yeah. Actually asking the questions that nobodies ever asked.

Tudor Girba:                         Exactly. Right and then making the problem apparent sometimes you can attract afterwards energy because the way I look at is … So one of the things that we talked about yesterday was a software environmentalism.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         So software environmentalism starts from this observation that recreating software faster and faster, so it’s an exponential curve.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         The rate at which we are throwing software into the world but at the same time we’re unable to recycle old systems. It’s not that we don’t want to, it’s that we can’t. So from that perspective we kind of behavior much, very similar to the plastic industry from the previous entry and … Yeah.

MichaelCarducci:             We just build disposable things.

Tudor Girba:                         We just build and disposable things.

MichaelCarducci:             Well literally throw away code but the thing is your throw away code never, ever goes away, just like plastic never, ever goes away.

Tudor Girba:                         Exactly, it never goes away. We can’t get rid of them.

MichaelCarducci:             I’m fond of saying that the most permanent thing in the world is a temporary worker.

Tudor Girba:                         Exactly. Exactly and so why is it the case? So, before you can take the system apart you first have to understand the parts.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         The problem here is to understand the parts of a software system, right now we rely on code reading.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         Which is fundamentally capped in speed. So, they can not accelerate code reading. Maybe you can. Then you go back to Woody Allen who said that he took a course in speed reading, and he read War in Peace in 20 minutes, and he said it was about Russia. Right?

MichaelCarducci:             Yeah.

Tudor Girba:                         To that extent we can do it but that’s it. So, the problem here is that recycling software systems is capped at a constant speed but at the same time the body of software grows exponentially. So that’s a fundamental problem and that’s why I think, giving the extent to which software is touching the world and reaching ever corner of it. That’s why I think its … Were in the middle of a crisis as large as the other crisis. Maybe the other crisis has not happened here in the U.S. anymore so I don’t think it.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         But you know, given that I live in Switzerland, we have it still there. So.

MichaelCarducci:             Now are you familiar with a company called Primitive?

Tudor Girba:                         Primitive? No, I’m not.

MichaelCarducci:             So, I ran into the folks [inaudible 00:14:36] Primitive at Uber comp this year and they were doing something interesting around software visualization.

Tudor Girba:                         Interesting.

MichaelCarducci:             In VR space.

Tudor Girba:                         Mm-hmm (affirmative)

MichaelCarducci:             So, that was fascinating what they’re doing. Even just the early proto types of their product. You could get into the space and so literally the entire application and not just, you know, one module, the entire application is represented in 3D space and you can follow the threads and you can pause time and then you can go on and expand things and look at that as well.

Tudor Girba:                         That’s exciting.

MichaelCarducci:             I think that’s interesting. Like the work you’re doing, the work they’re doing, I mean there really is going to be a seismic shift in the future. So, what’s your advice to people listening right now?

Tudor Girba:                         My advice to them is to simply start talking about it.

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         So what do I mean by that. Well, if you go to [inaudible 00:15:24] and the implications of dab offs is there are not common knowledge. Right?

MichaelCarducci:             Mm-hmm (affirmative)

Tudor Girba:                         They were not common knowledge five years ago.

MichaelCarducci:             Yeah, exactly.

Tudor Girba:                         The only thing that changed in between this and them, today and that time, is that we made it a subject of conversation. We accepted it as a global subject of conversation and the consequence is, now we have business that propose business models that were completely unthinkable five years ago. So the solutions, right, once we deem something as important, we are able to create solutions that are completely unpredictable. What I know now is that I have the beginning of the conversation and then very, very convinced that we have … The end solution is nowhere in sight yet.

MichaelCarducci:             Yeah and that’s the reason we have to have that conversation.

Tudor Girba:                         That’s the very reason.

MichaelCarducci:             Because the insights can not all come from you and your team.

Tudor Girba:                         Exactly.

MichaelCarducci:             This is an industry shift that has to happen.

Tudor Girba:                         That’s it exactly.

MichaelCarducci:             So, if you want to find out more where can they go?

Tudor Girba:                         Yeah, so our company as I said it called Feenk, F E E N K, dot com and from there you’ll find all sorts of links to the kinds of … To the project that we are building and everything we do right now is essentially free.

MichaelCarducci:             The other company, that I talk about Primitive, I believe they’re online at Primitive dot io. I got to play with their demo and I think some of my code is on their YouTube channel because they loaded my code into there and I was able to do a code review with somebody else.

Tudor Girba:                         That’s nice.

MichaelCarducci:             So two of us were standing there in VR space and he’s like, what’s the deal with this number, you know, that right there and you could draw a circle around things. It was pretty neat so hopefully we get to see them again or you get to see what they’re doing as well.

Tudor Girba:                         That’d be great. Yeah.

MichaelCarducci:             I will not forget the demo you gave me, I think last year.

Tudor Girba:                         Yeah it was last year.

MichaelCarducci:             It’s still growing so, it’s really exciting stuff and I want to thank you for your time-

Tudor Girba:                         Thank you.

MichaelCarducci:             To be on the podcast here and encourage everybody who listened to check this out and start that conversation because we really haven’t evolved our tools or we might have had an evolution of our tools but it’s time for a revolution of the way we do things.

Tudor Girba:                         I agree. Thank you.

MichaelCarducci:             Thank you.


Leave a Reply

Your email address will not be published. Required fields are marked *