Steve Marx Interview

May 26 2011

Steve Marx, Tactical Strategist for Microsoft, talks about interoperability on Azure. Steve writes Python and Ruby apps that he hosts on Azure and says you can too. He explains why it makes sense for Microsoft to support developers of all languages... not just on the .Net Stack.

Links referenced in the show:

The music in the show, Have Mercy — Big Walter Horton, was provided by Mevio’s Music Alley.

Transcription

  1. Steve 00:00:21

    Hi. This is Steve Marx and I work on Windows Azure at Microsoft. My title is “Tactical Strategist,” which is an intentional oxymoron that guarantees that whatever the work is to be done, it’s not my job to do it. But mostly what I do is I write blog posts and I write demos and I go to conferences and give talks and sort of just think about cloud computing, where it’s going, what we should be doing at Microsoft to be kind of ahead of the curve with Windows Azure. And one of the topics that I’ve been thinking about a lot lately and wanted to talk with you, Ryan, about is interoperability. As much as I hate the word “interoperability,” I’ve started really saying “operability” instead, I just wanted to talk about what is it like. You know, Windows Azure is Microsoft’s cloud computing platform, but what is the story that we have for running things that aren’t traditional Microsoft things; so not .NET, not ASP, but maybe some other stuff. So I’ve been writing lots of Python code, lots of Ruby code, my blog is running on Ruby and Windows Azure, I’ve been doing server-side JavaScript. I’ve sort of been touching everything I can think of that’s kind of cool and fun to work with. I’m a real language buff so I like learning new languages and frameworks and been doing all that in Microsoft’s cloud computing platform: Windows Azure. And so I thought it would be fun to kind of come on here, talk a little bit about what that story is; why people should care.

  2. RP: So interop on Azure. Sounds like jumbo shrimp from what the word on the street is. So I think it’s good that you’re here to talk about that.

  3. Steve 00:01:54

    That’s good. First, I’ve got the tactical strategist title and now we’ve got the jumbo shrimp. It’s the podcast of oxymorons. Yeah, you know, we have this problem in Windows Azure. When Windows Azure first came out, here’s a little history lesson here, in 2008 at Microsoft’s big developer’s conference, we came out with sort of the preview of Windows Azure and talked about the capabilities and wherever. And at that time, it was purely for .NET applications, pretty much exclusively ASP.NET. Not even, sort of, the full-blown. It was partial trust. It was a lot like what you get from, like, an ASP.NET hoster, like, shared hosting. And so we started from this, like, really .NET-centric, you know, you’ve got to use Visual Studio pretty much, you know, to work with it. We started there and since then, we’ve transformed a great deal. And so now, I mean, you can write Java code in Eclipse and then publish it to Windows Azure and not really think twice about it, but not everybody knows that. Like, the message still lingers; it’s one of these things. It sounds confusing and it sounds not like Microsoft until you think about Windows. And so one of the things that we like to emphasize these days is that the Windows in Windows Azure is there for a reason. We’re built on, you know, Windows as the operating system that runs on the machines in the data center. And in Windows, nobody thinks twice about the fact, I mean, sure, you can write a Python app and run it on Windows. It’s just Windows. Microsoft doesn’t care. We want to sell the operating system. We want to make sure that your laptop is running Windows; then we don’t care what the app is written in. We actually work really hard to make sure they all run very well on Windows and that’s kind of the story. And it makes total sense and it should make sense in the cloud too. And I think once people think about it from that angle, people understand exactly what our strategy is with Windows Azure. We want your apps to be running in our cloud. We don’t care how you write them, we don’t care what language you use. We’re obviously big fans of .NET and Visual Studio, but we like all that other stuff too. And it’s just as good for us in terms of our cloud strategy and the overall platform play that we’re making. And it’s just as good for us if everybody ends up writing Ruby apps that run in our cloud. So we’re really happy about it.

  4. Ryan 00:04:08

    That seems like it’s probably counterintuitive to a lot of people, but it does make sense; especially if you just want to, you know, brass tacks business sense. It seems like you don’t want to just cut your market down, right? Like, if someone chooses a language for some sort of technical reasons and then if you draw a line in the sand, that’s not good for anyone.

  5. Steve 00:04:27

    Right. Right. What sense would that make really? So, yeah. It’s exactly what you said. It feels a little funny, it feels counterintuitive, I think, to a lot of people because they expect us to kind of really push .NET and, you know, they see us as, well, we’ve got all these different things and we’re trying to sort of push them all together and, you know. And obviously, as a company, we want to push all those different things. I mean, we have in some places, we’re competitors and, you know, in some places, we’re partners. And it’s just kind of part of being a really big company is that that happens. But, right. When you go to the actual bottom line it’s, I mean, why would we want to drive somebody to some other platform when they could be running on ours? You know, we’re happy to embrace it. And I think that once people think of it from that angle, then it makes sense. They feel a lot more comfortable. I don’t want people to feel like, “Well, sure. You can run “X” in Windows Azure, but are you sure they’re always going to support it or, you know, maybe but they don’t really like it.” And it’s not like that at all. In terms of Windows Azure, you know, we don’t care. We really love it all. Our goal is just to make as much stuff run as possible. And not everybody just uses on thing and it’s, I think, a lot of the reason that interoperability counts is that people are mixed shops. It’s just -- it’s rare these days, actually, that you find a whole company where they only run, you know, one programming language. Because there’s always some component that you got somewhere else or, you know, you had that one dev for the summer who really liked PHP and so he just -- he built that part of the app in PHP. And so you’ve got a few things running, you know, and it’s not one-stop shop. And so you need a platform where you can run all of that. You don’t want to end up having to choose, you know, Windows Azure for one part of your app and then Amazon EC2 for a different part of the app and put the whole Internet in between them in terms of latency and bandwidth and, you know. And so you don’t want to split that stuff up. You want to deploy all these things to the same place, but they may be in a variety of different languages or they may have different dependencies and things. And so I think it’s really important that really all of the cloud computing providers figure out a way to let all that stuff in together so they can run in the same data center, get managed all together, have super-low latency, and whatever. And so that’s our goal with Windows Azure and that’s what we’re trying to achieve.

  6. Ryan 00:06:44

    It seems like, at the same time, it becomes a more interesting conversation and then also just infinitely harder one to have with people though. If it isn’t just a, “Well, pick a language and you pick a platform,” right? Like, all of a sudden there’s so many more ways to compete, which is great for everyone.

  7. Steve 00:07:01

    Yeah. Absolutely. I mean, one of the easiest, like, sales of Windows Azure to make is when there’s just, like, a .NET shop and they’re like, “Well, what’s the best place to put, like, our ASP.NET Web applications?” You know, and we just go, “Well, look. We’re Microsoft,” you know. We’ve got all the tooling baked into Visual Studio, we’re running Windows, it’s IIS just like you would run in your data center, you already have an enterprise agreement with us or something, you know, they’re already in that camp, it makes total sense. But that’s a rare conversation, I think, where it’s just like that; that people are making these decisions. And it’s much more -- these days, everybody’s making a much more complicated decision that’s based on, well there’s a lot based on, like, pricing, there’s a bunch based on, you know, the service level agreement and kind of reputation as sort of a provider because this is your business that you’re running, you know. You want to make sure that whoever you’re entrusting with all this can actually stay up and can give you good support and things like that. And so it’s this much more complicated decision than most technology decisions are. Because a lot of time with a technology decision, it’s like, “Well, you know, our devs will look at it. What do they like,” you know. “Does this feel right? Does the API look good? How buggy is it?” Things like that. This goes, like, far beyond this. Here, you’re picking, like, a business partner, practically, in addition to making a technology decision. And when the technology is still an open decision, when deciding on that business partner doesn’t dictate the technology (which is exactly what we’re talking about, right), you can choose Windows Azure and then still have a hard question about what language do we write in and, you know, which flavor of this do we use and what’s our development environment going to be? That just means that the decision is even more complicated. And I think that might scare some people off. I think some people might find it very appealing to just go to say salesforce, to go to Force.com, where there aren’t as many options; I’m not trying to say this in a negative way.

  8. Ryan 00:08:59

    No, I understand. Yeah, it’s like the -- it goes back with marketing with there’s an example about jam, right? Where someone’s just staring at the jelly row and they can’t figure out which one because there’s too many options and they end up just not buying anything.

  9. Steve 00:09:10

    Yep. Exactly. Sometimes it’s actually nice to just have, “Look, we think this is sort of the best way to go and so we packaged it all up. You don’t have a lot of choices to make. You decide that you like this and then you just go with it.” And of course, you can do that. You can certainly say, ”Well, look. We’re going to just be a Microsoft shop.“ And then you choose a lot of things based on that decision, you know, from the IDE to the technology to the cloud platform. But, yeah, I think it’s interesting. It’s not always good to have all those choices. But if you’re one of those people who really, like, wants to maximize, you know. If you’re one of those people who does want to go dictate all those decisions and go to that level. And I think, particularly, when you’re choosing a cloud, it’s sort of scary to make a decision today about what technology you’re going to want to use, like, six years from now. And the thing is that once you’ve chosen a cloud to be in, there’s a lot of momentum that keeps you there. It’s not like you can’t move somewhere else, but all your data’s there so you have to figure out how to transfer it out and back into something else. And you’ve already figure out how to use those management tools and whatever. And so there’s a lot of momentum that keeps you, you know, just inertia will keep you in one place. And so if that also locks you into a bunch of other things, it’s sort of scary to, you know, not be able to pull the ripcord later and make a different decision. And so I think it’s something people should value. Certainly, if they don’t want to think about all those things, it’s not that they have to, but I think it’s nice to know that those options are there.

  10. Ryan 00:10:29

    It’s funny how different people respond to, like, just the whole concept of interoperability. It just seems like there’s some people that are, “Oh, thank goodness,” you know. I’m so glad that they are concerned about a thing like that. And then there’s others that’s just very, “Meh.”

  11. SM: Yeah.

  12. RP: “Like, I’ve already picked a side. That’s why I’m here. Why would I care if they can use these other things that I don’t want to learn anyway?”

  13. Steve 00:10:52

    Yeah. Yeah. I think that’s true. There are basically those two groups. And I think, largely, there’s a group where they already use more than one thing. They don’t have a camp, you know. They’re sort of -- they’re picking different tools depending on what they’re doing. And, especially, the larger the team is, the more likely it is that there’s, like, one guy who likes something else or, you know. And so they’re kind of already in this mixed environment. And they always care about, I mean, this is one of the first questions they’ll ask you is, you know, “Well, what if I want to use something else? Or what if I change later,” or something like that. They really care just for the sake of interoperability they really care. There are also, of course, I think, ideological sort of reasons to care about interoperability where you just think it’s the right thing to be technology-agnostic and to give you that freedom of choice. So some people are really in that group. And then, exactly, as you said, there are other people where they just don’t care as long as, look, they want to Heroku because they like to run Ruby and that’s all they’re ever going to run and Heroku runs Ruby so what’s the conversation about? Right. They don’t care. It’s just, I mean, it does the thing they want it to do and they’re good. I think -- I’m sort of more in the first camp anyway. I just -- I love so many programming languages that, to me, it seems terrible if I had to just choose one for the rest of my life. You know, it’s, “No, I’m going to keep learning new things.” And new things come up all the time that you didn’t even know you wanted until it appeared and all of a sudden it’s actually a perfect fit for the job you’re doing. And so I’m sort of in the “I just want interoperability for interoperability’s sake” just as my personal take. That’s not a Microsoft thing, that’s just me, right.

  14. RP: Well, if something new comes out, you want to be able to play with it, right? You don’t want to wait until it’s sort of somehow folded into the tools that you can use, right?

  15. Steve 00:12:36

    Right. I don’t want somebody else to decide when it’s time for me to adopt that new thing, you know. Like, that’s me. That’s, you know, I want to play with the things when they’re new and shiny. That’s kind of just a geek thing, to some extent. But I just want that choice. I mean, I feel like sometimes that’s the right thing for what you’re working on right then and you should be able to look really broadly for tools. You know, I feel like there’s a whole world out there of developers building things and making new tools and I want to be able to grab those from wherever I can find them. And I don’t want a decision I made about the infrastructure or the operating system or something lower level than that, you know, to dictate these decisions way up the chain at sort of the level of devtools and programs and so I care a lot about that. I think that even the people who really just care about one thing and, you know, they just want to use that. So even if you’re, like, a Ruby guy and that’s all you want, you just want to run Ruby, I think there are two reasons, really, to still care about all this interop stuff. And one is you don’t know if that’s always going to be the case, right? I mean, there may come a time where you have to make a transition to something new for whatever reason or maybe something else comes out that’s just going to give you an edge and you really need to move to it. And then the problem with that is it’s never just, like, a binary switch. You never just kind of flip a switch one day and you’re on the new thing. There’s always this transition period where you really need the capability to run both and you’ve got one component of the old system and, you know, new components with the new technology. So you don’t know. So even if you feel like, “Well, look. This is a good fit for running my programming language on this infrastructure. I’m good.” You don’t know that that’s always going to be true. And so it’s really hard to predict the future. “It’s hard to predict things; especially the future,” I think, is the quote. And so you’ve got to plan ahead. And I think the other reason you should care is that you happen to be, you know, for example, not you, Ryan, but, you know, somebody I’m talking to right now happens to be a Python guy and that’s sort of what you do. There’s another guy who happens to be a server-side JavaScript guy and that’s what he does. And you both don’t really care about interop with the other, but you both want the same things out of a cloud computing platform and you both want the same management tools and you both want the same service level agreement and, you know, there are lots of things that you want in common that have nothing to do with what technology you’ve chosen. And so I still think it sort of makes sense. I mean, why shouldn’t we put that stuff together and put that into one cloud and put all of our efforts. And then you guys can share with each other. So you, the Python guy, wrote some cool tool for how to deploy your bits, you know. And the guy who’s doing server-side JavaScript can use the same thing. And you both win when you do that sharing. And so I think it’s good for the developer community; good for us as developers. Even if we’re sort of in one camp, to do what we can so that we get the benefits that are coming out of those other camps and so that we, you know, we sort of cross-pollinate tools and ideas and things like that. So I think it’s just good for all of us to keep open-minded about it and put in the effort to make sure that whatever is common ground is actually common.

  16. Ryan 00:15:37

    Yeah. It seems like this whole “pick a side” mentality; it’s real contrary to what makes the Web as strong as it is. It seems like it just tends to be, you know, if you talk about the Web as a platform, it’s a melting pot of all kinds of technologies. I mean, just thinking about front-end development, you’ve got HTML, CSS, and JavaScript just right there. You already have to be a polyglot, right? We’re not even talking about the back-end choices. And then there, the different languages foster different platforms to be built around them that all have their strengths and weaknesses. Maybe the right tool for the job isn’t just one tool.

  17. Steve 00:16:12

    Yeah. And it’s sort of easier to -- the thing that the Web has done that’s really nice for, kind of, language choice and things like that is that a lot of the application development or whatever is now back-end stuff. So, I mean, even though what you’re building is a UI that’s going to be a Web page that people are going to interact with, where the code runs is on some server that’s yours. It may be a server in a cloud computing platform or it may be just a server in your basement or in your data center, but either way, you’re the master of that server and so you can run whatever you want on there. And nobody can even know from outside the server. They see the HTML that came out and they see the CSS and, you know, they see Silverlight or Flash or, you know, sort of whatever you’re serving up and they don’t see kind of how it was prepared in the kitchen. So now you have all that freedom without having to worry about -- you know, it used to be that if you built a nice, you know, desktop app and you built it with Python, you had to make sure that the people who ran it had Python, right? On some OS’s, that was a common thing. It was usually pre-installed. On Windows, that’s not the case so you’d always bundle, sort of, the installer with it or whatever. And it always felt kind of bad and, you know, it wasn’t -- and when something new came out, nobody had it installed. And so you had to always figure out how to get it. You’d have to ship it with your code and whatever; it’s kind of a pain. With the Web, it’s like, “Well, no. As long as I get it on my servers, no one even knows what I’m writing my code in.” And so people have felt a lot more free, I think, over the past few years to just kind of choose whatever they want and to make it work. And now you see the frustration, I think, on phones I think is the place now. On mobile devices, people are getting frustrated that they’re kind of getting locked into language choices again, you know. And now it’s like, “Well, if I’m building for Windows Phone 7, I have to write .NET, but if I’m doing, you know, on Apple, I’m going to write, like, Xcode or,” like, people are just sort of -- they’re just annoyed now, right. And so you see stuff like, you know, there’s some new stuff in the Mono world and all that MonoTouch stuff and whatever. It’s all kind of flowing together. And so .NET might be that common language where you get to write for all those things, but then you’re having to choose that one. And the freedom of choice is sort of gone and I think people love that about doing Web development where it’s, “Well, that runs on my server. That’s my business; it’s none of yours. I’m going to write in the stuff that I like.” And cloud computing just makes that even easier, right? If you have a platform that really supports all this different stuff, you just get to click a few buttons and get the stuff that you want and deploy the code that you want in the way that you want written with the tools you want using the programming language you want and nobody has to know. And so I think it’s great. I think it’s really liberating for developers and lets people kind of focus on the real creative stuff and the real hard technical problems and stop sweating little stuff like this.

  18. Ryan 00:19:01

    Yeah. That’s definitely been my tendency with mobile strategies has been just look at the Web; they all have nice browsers. The mobile platform; it can be the Web, like, for a lot of things. And then there’s so many neat little tricks to just kind of wrap a little Web view with something if you need more of the native stuff like access to the camera, where you can do most of it like it was a Web technology. It definitely seems like the path of least resistance.

  19. Steve 00:19:27

    Yeah. I think that as there is actual competition in smartphones and, I mean, it’s starting to heat up again, I think, and I mean, people aren’t going to write the same thing three times. That’s sort of the worst -- that’s the opposite of this interoperability stuff, right? This is the -- not only do you have to choose one particular thing, but you have to choose several of them and do the work over and over again, right. And that’s sort of the worst and it’s an unfortunate place that we’re in. And I know why we’re there and, you know, nobody did anything wrong, but that’s kind of where we are and we will get out of it. I’m sure that that’s going to happen.

  20. Ryan 00:20:02

    It’s funny how with technology a lot of times, kind of, as a whole, everyone agrees that something’s a bad idea and then a new piece of technology comes out and everyone kind of forgets. Because it’s new, they just want to do it. And then we start making all the same mistakes all over again.

  21. SM: Yep.

  22. RP: It kind of feels like that.

  23. Steve 00:20:18

    Everybody’s doing these little cost-benefit analysises (analyses) all the time, right? Everybody’s sort of, well they’re like, “Well, this kind of sucks, but, you know, if I write code for this platform I could, you know, make a lot of money.”

  24. RP: Right.

  25. Steve 00:20:30

    “Or I can finally do the things, like, nobody else’s platform has capability X, which I really need for this app to actually work.” And they override those other concerns and so they’re sort of, I think, a lot of the time, people go in with their eyes open, they know that they’re not really happy about something, but what choice do they have? It’s sort of, you know, there aren’t an infinite number of possibilities, you know. And so you’re always faced with this, well, to get benefit X I’m going to have to give up, you know, this cost Y and people are just constantly deciding that. And I think developers are generally pretty rational people. As a group of people, developers, I think, are pretty good thinkers and pretty good at logic. And so I think they’re capable of thinking this through and going, “Well, look. This is a bad idea, but it still makes sense for me right now and, you know, we’ll have to change it later.” And they’ll start working on changing it, but, you know, it’s a slow process. And developers are also -- they want to use the best stuff. And so if it comes at a price but it’s really the best and they’re going to have the best time writing their code, they’re going to get the most done, they’re going to feel good doing it; they’re going to choose it. And it’s half the fun of being a developer is using new things.

  26. Ryan 00:21:37

    Okay. So I think, largely, the interop on Azure conversation has been academic, I guess is the right way to put it, in the past. Like, yes -- well, also thinking about you calling it operability, it almost implies, like, “Yes, it works.”

  27. SM: Right. Yeah.

  28. RP: But does it really work? Like, is it really an option for, you know, the real world.

  29. Steve 00:22:02

    I think, you know, the state of the world now in terms of, you know, sort of running around my hallways at Microsoft is the weird stuff, you know. So running stuff that’s not .NET and whatever. Of course in the rest of the world there’s nothing weird about it at all.

  30. RP: Right.

  31. Steve 00:22:15

    But I think the state of sort of all that stuff is it all works. I mean, everything runs on Windows and so you can run these things in Windows Azure because underneath it’s just Windows. I think Java and PHP are the languages other than the .NET family, you know, that are the best kind of supported by the Windows Azure team. Like, we actually have tools that we’re involved in shipping and, you know, so there’s Eclipse plugins and there’s storage libraries for PHP and Java. And that’s kind of where we’re sort of the furthest along. And we’ve made a fairly strong sort of public commitment around Java and we have some very large Java customers. And so you’re only going to see more. I can’t really say much more about what’s coming there, but expect to see us kind of making further announcements about Java and really pushing that. And so those are the ones where I think you can feel really good and feel like you’re going to be supported and feel like you can go forward and not have to think too hard about it. A lot of my recent work has been on Ruby and Python and node.js, which is server-side JavaScript, because those are the shiny new ones for me. I think those ones are the coolest. Those were where I’m really productive. And on Ruby/Python/node and those other ones you’re sort of best following what you can read along on my blog, I think, for just sort of best practices to get it going. It’s not something that we’ve shipped frameworks for. I’m actually on the verge of shipping some code that I showed at our MIXX conference, which is Microsoft’s Web focus conference that just happened in Las Vegas; I guess more than a month ago now or is it around a month or so ago.

  32. RP: Yeah. Right around there.

  33. Steve 00:23:54

    And I’m about to finally get that code shipped so people can follow along there. But I’ve got sort of a framework that’s specifically for Python, Ruby, and node and Windows Azure and makes it really easy to deploy those things. Now there, you know, I kind of want to differentiate between, well look. There’s some .NET stuff that obviously Microsoft is really behind, there’s some Java and PHP stuff that Microsoft is actually shipping tools and code for that’s supported by the Windows Azure team, and then there’s some stuff that, you know, Steve Marx, in his spare time as his job as tactical strategist has cooked up, I think it all works. I don’t see any problem with people using it in production and going for it. But you have to understand that level of support and kind of get, “Okay. I better read this code and see what it’s doing and make sure I’m kind of comfortable with it and I can make changes to it if I had to.” And so I do want to differentiate between those and not -- I don’t want to make any false promises here. But you can absolutely do that. The underlying technology is there. It’s Windows. We’ve got particular features in Windows Azure that make all this stuff possible, like you can run with administrative privileges on the machine, which means you can run installers and, you know, install whatever framework you want. We have these things called startup tasks that make it really easy to kind of script; setup that happens before your app actually starts. And so that makes it easy to do those installations and whatever so that then that’s kind of all out of the way before your code actually starts. And so it’s really some features that make it very easy to customize the environment that you’re going to be running in and get everything set up. And that’s all that the code that I’m shipping just has; just has some little scripts that do that. I mean that’s basically all it is. It’s just getting things set up so that all the right dependencies are available and you’re ready to go. And so that’s all there. So that the technology is there. Those are all well-supported features of the platform. Where we are is, you know, we’ve done a lot with Java and PHP; we’re pushing Java even further. I think you’re going to see more in the space for other languages. I think the bottom line is you don’t need us to do anything for you to run your favorite thing. Just like I did, you could write your own little script or you can even use a VM role, which is sort of just the raw, you know, ship a VHD to us and we’ll boot it. Which means you can really do whatever you want on Windows Azure. The real question is where’s Microsoft investing our resources and, you know, what are we pushing for versus what’s being pushed for by people in the community. And that’s, you know, an ever-changing and evolving split there. And so we’re doing a lot. Lots of people in the community are doing some things. I’m personally happy to help if anybody’s doing anything like this that, you know, that they’re passionate about or they’re bringing some other language or some other framework. If anybody wants to send me e-mail, I blog at smarx.com (s-m-a-r-x.com) and my e-mail address is on the side there and my Twitter account is also smarx and reach out to me. I’m happy to help with all this stuff because I really care about it. And a lot of people on the Windows Azure team and at Microsoft in general care about this stuff. So the time is now. We sort of -- we built all the features into the platform that you need to run all this stuff and now it’s just a question of, you know, making it even easier and providing tools to your fellow developers to help them and let’s get this stuff going. Let’s make sure we spread the word that people understand that Windows Azure isn’t just about .NET. And that’s kind of what I’m after so yeah, that would be good.

  34. Ryan 00:27:20

    That’s really cool. I think that’s comforting doesn’t seem like the right word, but I think a lot of people will just enjoy the sentiment of they don’t need, you know, your blessing/your permission to kind of use whatever tools on this platform. Like, that’s not really what it’s about. You know, you can pick an infrastructure because of lots of benefits and, you know, just use what it is that you like.

  35. Steve 00:27:39

    Yeah. Yeah. I like what you said. Right. You don’t have to call us and ask us if you can run something. Like, that’s exactly right. I mean it’s -- no; this is yours to do what you want with. We’re here to help.

  36. Ryan 00:27:50

    To a lot of people it sounds funny to say that, but I’ve been in situations like at Code Camps. You know, you talk about a certain tool that you like and people just kind of they got kind of a funny posture.

  37. SM: Yeah.

  38. Ryan 00:28:01

    Like, I don’t know. I don’t know if we’re allowed to use that. It’s like, “I’m pretty sure there’s not, like, a rule against that.”

  39. SM: There’s no language police that…

  40. RP: Right. Has there been a series of memos that I just haven’t gotten because, as far as I know, we just pick the right tool for the job.

  41. Steve 00:28:19

    Right. Exactly. Just pick the tool that’s best for you and our job as the platform provider, you know, is to make sure that all the ones we know about work well. You know, like, I mean, we run around and try different things to just make sure that there aren’t any “gotchas” or any problems, you know. And then if there’s things we can do to smooth out an experience for one community of, you know, for some programming language or for some tool users or something, you know, if there’s something we can do, you know, we’ll help out. But none of that is required. I think that’s something that it’s good for people to realize is you don’t actually need Microsoft to do anything in Windows Azure so that you can use something. Like, you can still just do it, but, you know, if it turns out that a lot of people are interested in that whatever, we’d love to make it a really smooth process and then, you know, provide tools and things like that. So that’s kind of what we’re after. We’re looking for what’s the biggest bang for our buck in terms of, you know, what’s a big growing community that could use, you know, specialized tools or guidance or samples or things like that. And that’s what I spend a lot of my time doing and figuring out who those people are who could really benefit from some other help. Not that they couldn’t have done it already, but where can I help out and where are they not sort of helping themselves out. You know, which communities haven’t already just sort of figured it out and have their own tools that they’ve built. And that’s where I can get some Microsoft resources to come in and, you know, help build some things and do stuff. But as you said, you don’t need that permission. You don’t have to wait for us to do that. Just dive in and use what you want.

  42. RP: Awesome. Well, Steve, thanks a lot for your time.

  43. SM: Yeah. Thank you. This was really fun.