POPULARITY
An airhacks.fm conversation with Alvaro Hernandez (@ahachete) about: first computer experiences with Amstrad CPC 464, early programming with Basic, university studies in Telecommunication Engineering, transition from PHP to Java development, creating an ERP system, attending JavaOne conferences, failed startup attempt with a mobile phone bill analysis app, specialization in PostgreSQL, founding ongres company, developing stackgres as a kubernetes operator for PostgreSQL, discussion about the benefits of open-source software and the "My Server, My Rules" philosophy, comparison of cloud-managed services vs. self-managed solutions, the importance of control and transparency in database management, Stackgres as a solution for running PostgreSQL as a service with full control, the use of Java in developing kubernetes operators, the shift from on-premises to cloud deployments and its implications for developers, the challenges of setting up and managing databases in the cloud, the benefits of serverless and managed services, the importance of understanding the underlying infrastructure in cloud deployments, the evolution of database management from dedicated teams to self-service models, the potential for new container-related products from Ongress, the recent popularity of Bluesky as a social media platform for the Java community Alvaro Hernandez on twitter: @ahachete
An airhacks.fm conversation with Mario Fusco (@mariofusco) about: early programming on ZX Spectrum and Commodore 64, father's computer shop in South Italy, work experiences with Olivetti and IBM, the Olivetti M10 laptop, introduction to Java and aspect-oriented programming, project on advertisement optimization for Berlusconi's company, experience with Scala and presenting at Scala Days, joining Red Hat to work on Drools rule engine, current work on quarkus and langchain4j integration, importance of open source contribution and conference participation for career growth, evolution of programming languages and technologies, thoughts on AI and rule engines, social aspects of software development, importance of community involvement in tech industry Mario Fusco on twitter: @mariofusco
An airhacks.fm conversation with Vadym Kazulkin (@VKazulkin) about: journey as a Java developer from the late 1990s to present, early experiences with Java and J2EE development, transition to cloud and serverless technologies, particularly AWS Lambda, discussion of Java performance on lambda compared to node.js, detailed explanation of AWS SnapStart technology for improving Java cold starts, pros and cons of "fat" Lambda functions versus microservices, challenges of using GraalVM with Lambda, importance of optimizing Lambda package size and dependencies, comparison of quarkus and Spring Boot on Lambda, benefits of serverless architecture for business logic focus, involvement with Java User Group Bonn and AWS Community Builder program, brief mention of asynchronous patterns in serverless architectures, importance of staying technically hands-on as a manager in the rapidly evolving cloud world Vadym Kazulkin on twitter: @VKazulkin
In this episode of BragTalks, host Heather VanCura interviews Ed Burns about how to incorporate standards leadership into your technical career journey. Ed shares his experiences and the impact that his participation in standards has had on his career Listen to hear about how he approached getting involved and how he developed his leadership in this area. Season 7 is about sharing the experiences of technical professionals and building on the interviews from the recently published book 'Developer Career Masterplan'. This episode is a story that links to Chapter 14 of the book. Biography: Ed Burns is currently Principal Architect on the Java Tooling and Experiences team at Microsoft. In this role, Ed will help make Azure the best place for Enterprise Java. Ed has worked on a wide variety of client and server side web technologies since 1994, including NCSA Mosaic, Netscape 6, Mozilla, the Sun Java Plugin, Jakarta Tomcat and JavaServer Faces, and the Servlet specification. Ed has lead or co-lead the expert groups for Servlet and JavaServer Faces. Ed has published four books with McGraw-Hill: JavaServerFaces: The Complete Reference (2006), Secrets of the Rockstar Programmers: Riding the IT crest (2008) JavaServer Faces 2.0: The Complete Reference (2010) and Hudson Continuous Integration In Practice (2013). To learn more about his books or projects, you can visit his website at .
Welcome to the Private Equity Podcast! In this episode, we explore "Private Equity and Technology Transformation" with Alan Williamson. Alan, a seasoned CTO and operating partner, shares insights from his journey—from embedded engineering to navigating Enterprise Java and PE due diligence. He emphasizes crucial operational details affecting portfolio companies, such as cybersecurity and data ownership, and discusses the evolving role of technology in PE.[00:10] Social engineering is still the number one way to hack a company.[00:17] Introduction of guest Alan Williamson, CTO, operating partner, and author.[00:46] Discussion on technology transformation, pitfalls in private equity, and opportunities pre and post-deal.[01:13] Shares background from embedded engineer to Java development and entry into private equity.[02:08] Discusses common mistake in portfolio companies: neglecting operational details like domain ownership and software subscriptions.[03:30] Anecdote on operational oversight challenges in companies due to misplaced responsibilities.[04:29] Highlights key red flags in due diligence, emphasizing over-reliance on individual technical knowledge within companies.[05:53] Discussion on technology enablement in private equity and the evolving role of specialized operating partners.[08:17] Contrasts in-house technical expertise with external consultancy services in private equity firms.[09:44] Pre-deal considerations including data ownership and regulatory compliance.[10:37] Security concerns in acquisitions, emphasizing cybersecurity diligence and compliance across different states.[14:37] Discusses social engineering as a primary hacking method in corporate security breaches.[15:00] Post-deal implementation strategies including securing operations and aligning with PE firm objectives.[18:58] Maximizing data value through machine learning and leveraging historical data for business insights.[21:23] Personal influences and recommendations, highlighting interests in movies and older business literature.[23:46] Alex Rawlings wraps up the podcast. You can connect with Alan Williamson on LinkedIn by visiting his profile here. Thank you for tuning in!To get the newest Private Equity episodes, you can subscribe on iTunes or Spotify here.Lastly, if you have any feedback on the podcast or want to reach out to Alex with any questions, send an email to alex.rawlings@raw-selection.com.
“A CTO gives the business the technology it needs to drive success by delivering a roadmap to grow and scale at a level and speed where technology never holds up their growth." Alan Williamson is the author of “Think Like a CTO”. In this episode, we discussed in-depth how to become a great CTO. Alan first described what a CTO role is, how the role differs at different company stages, and the attributes of a good CTO. Alan then explained the importance of a CTO coming up with a vision and how we can improve ourselves in visionary thinking. He then touched on how a CTO should work together and understand the expectations of the CEO. Alan also gave his tips on how to build engineering teams that can produce high-quality results. Towards the end, Alan gave his personal advice on how a CTO can deal with imposter syndrome and the importance of a CTO doing a personal review. Listen out for: Career Journey - [00:03:28] The CTO Role - [00:07:47] Different Flavors of CTO Role - [00:12:47] CTO at Different Company Stage - [00:13:42] What Makes a Good CTO - [00:17:04] Visionary Planning - [00:19:40] Learning How to Create a Vision - [00:23:40] Working with the CEO - [00:30:54] Building Engineering Teams - [00:36:47] Building Quality In - [00:39:58] Dealing with Imposter Syndrome - [00:45:36] Reviewing Yourself - [00:52:11] 3 Tech Lead Wisdom - [00:59:09] _____ Alan Williamson's BioAlan was the first U.K. Java Champion and has contributed much to open source, including OpenBD, a Java based CFML runtime engine, that once powered MySpace.com, as well as many other blue-chip CFML sites. Alan has published a number of books in the Java space covering Enterprise Java, Servlets, JavaMail and database access. He also served in the role of Editor-in-Chief for Java Developers Journal. His recent book, ‘ Think like a CTO ' aimed at the new and upcoming CTO. Filled with real-world actionable items, including case studies and interviews. Alan is currently a partner with New Harbor Capital, heading up their Portfolio Operations Group, providing interim and executive CTO services to New Harbor's portfolios, advising on all levels on how to maximize technology for the growth of the business. Follow Alan: Website – alan.is LinkedIn – linkedin.com/in/a1anw2/ _____ Our Sponsors Miro is your team's visual workspace to connect, collaborate, and create innovations together, from anywhere.Sign up today at miro.com/podcast and get your first 3 Miro boards free forever. Like this episode? Show notes & transcript: techleadjournal.dev/episodes/150 Follow @techleadjournal on LinkedIn, Twitter, and Instagram. Buy me a coffee or become a patron.
We are thrilled to announce the third session of our new Incubator Program. If you have a business idea that involves a web or mobile app, we encourage you to apply to our eight-week program. We'll help you validate your market opportunity, experiment with messaging and product ideas, and move forward with confidence toward an MVP. Learn more and apply at tbot.io/incubator. We look forward to seeing your application in our inbox! __ Co-host Will Larry interviews Stephen Hanson, the Director of Mobile Development at thoughtbot. The two explore the complexities of mobile app development, focusing on the advantages and disadvantages of React Native and Flutter. Stephen, who initially started as a full-stack web developer specializing in Enterprise Java, discusses React Native's cost-effectiveness and the convenience of having a unified codebase for iOS and Android platforms. However, he notes that Flutter might be a more suitable choice for high-performance needs. Both hosts emphasize the nuances of the mobile ecosystem, covering topics like in-app purchases, push notifications, and the strict guidelines set by app stores like Apple's. They agree that a comprehensive understanding of these aspects is crucial for an entire development team, including designers and project managers. Additionally, Stephen shares that the driving force behind his career is the opportunity to create apps that enhance people's lives. Stephen wraps up the discussion by detailing thoughtbot's goals of improving mobile development practices within the company and the broader developer community. __ React Native (https://reactnative.dev/) Flutter (https://flutter.dev/) Follow Stephen Hanson on LinkedIn (https://www.linkedin.com/in/hansonsteve/). Visit his website: shanson.co (https://shanson.co/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: WILL: This is the Giant Robots Smashing Into Other Giant Robots Podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. And with me today is Stephen Hanson, Director of Mobile Development here at thoughtbot. Stephen, thank you for joining me. STEPHEN: Hi, Will. Thanks for having me. I'm excited to be here. WILL: Yeah. I'm excited to talk about mobile development. But before we get started, tell us a little bit about who Stephen Hanson is: your personal life. STEPHEN: You know this because we often talk about our families when we get together. But I have two young kids, two and four years old. When you say personal life to anybody who has young kids, that's what we're talking about. [laughter] WILL: Yes. STEPHEN: So, they're keeping me busy but in the best way. WILL: Yeah, definitely. And I totally understand that. So, I know we talk about this often, but you like to woodwork. You like to work with your hands like most of us in tech. Like, we think so much with our head and mental that we try to find something to do physically, and yours is woodworking. Tell me a little bit about that. STEPHEN: Yeah. I think it's exactly what you said. I think working on a computer all day, you know, many years ago, I was like, what's something I can do with my hands, right? Something a little more physical. So yeah, fine woodworking has been a hobby of mine for quite a few years. And we were even chatting the other day about, you know, I'm trying to take time during the day to sneak out to the garage for 15 minutes, you know, during my lunch break or whatever to just get that mental reset and just work on something. WILL: Yeah. I know that you built your office that you work out of. I've been wanting to ask you, one, how did you do it? Two, how did you have the confidence to do it [laughter] to make sure that it was going to...how can I say this? I would be afraid that would it still be standing [laughter] after a little bit? [laughs] STEPHEN: Yeah, to be honest, that was definitely a fear. Yeah, I built my office in 2020, you know, COVID hit. All of a sudden, I was working fully remote. And we had another kid on the way. You know, we didn't have space in the house. So, I was like, what am I going to do? [laughs] I was already doing woodworking, but I didn't have any construction or carpentry experience. So, yeah, I definitely had the confidence issue. And I think, you know, I was just like, I don't know, let's just give it a try. [laughter] That's really all I can say. I didn't have the skills yet. But I watched a lot of YouTube and read a lot of [laughs] forums or, you know, just found info wherever I could, so...[laughs] WILL: Yep. And it's still standing today, correct? [laughs] STEPHEN: Correct. Yeah. [laughs] No, I'm just sitting in, like, a pile of rubble right now. [laughter] WILL: That's awesome, yeah. It's kind of like development sometimes for me. Like, you just got to take that leap sometimes, so... STEPHEN: You do, right? It's like, you know, fake it till you make it. [laughter] WILL: Yep. That's awesome. Awesome. Awesome. So, tell us a little bit about how did you get started in development in general? And then, how did you get started in React Native? STEPHEN: Yeah. So, I started out as a full-stack web developer. So, I didn't initially set out and say, "I'm going to build mobile apps," right? And I started out in 2011. I was working in Enterprise Java. I worked for American Airlines for a couple of years, and then I did enterprise consulting. I eventually made my way to, like, Rails and front-end development. And around 2016, 2017, I was freelancing. And eventually, clients started asking me to build mobile apps. [chuckles] WILL: [inaudible 04:16] STEPHEN: And I didn't know how to build mobile apps. So, I did what any web developer would do who doesn't build apps, and I used web technology. So, those first couple of apps that I built were hybrid apps. I used Ionic. And those are, you know, web apps that you package in a Native Wrapper. So, developing these apps, I literally developed them in a browser, right? And they're web apps. [laughs] And that was my first experience building apps. Even if they were web-based, I still had to work with the native app stores and learn, you know, app review guidelines and implement some native functionality, even though it was through, like, the Ionic wrappers. You know, people kind of trash on hybrid apps, and sometimes for good reason. But that wasn't a bad first experience for me or outcome, honestly. The clients were happy. They had apps in the app stores that were working for a pretty reasonable development cost. So yeah, that was my first experience in mobile. The end result isn't something I'd be necessarily proud of today. [laughs] WILL: I think that's all devs. [laughs] STEPHEN: Yeah, you know, [laughter] yeah, I -- WILL: Looking back at their work, yeah. [laughs] STEPHEN: I was talking about that. I could look back to something I built a month ago. [laughs] WILL: Yes. [laughter] STEPHEN: You don't have to go back far. [laughter] WILL: Yeah, so true [laughs]. You started working with the client when you were freelancing. So, how did you go from the hybrid web apps to actually saying, okay, I want to change, and I want to go all in on React Native? STEPHEN: React Native came out around that same time I was building those hybrid apps. So, the hybrid apps were 2016, 2017. React Native came out in 2015. So it was out, but it was still pretty new. And I was really interested in React Native right from the beginning, but I was also a little intimidated by it [chuckles]. So, when those first clients came to me for mobile apps, I didn't feel confident enough to say, "Yes, I can build you a React Native app." But a year or two later, I was working for another client on their Rails app. And I was building an API for their new React Native app. You know, I was really interested in React Native. So I said, "Hey, [chuckles] why don't I help out on the app side, too?" And they were like, "Sure, that sounds great." So that was kind of where I got my foot in the door with React Native. And then more opportunities like that just kept popping up over the next year. So, I got to work on a couple of other React Native apps. And like we talked about, I just started calling myself a React Native developer [laughs]. The rest is history. WILL: Yep. So true. We'll touch more on that later. But what would you say to a client who is trying to figure out if they should build native versus React Native? STEPHEN: There's a few things to consider when making that decision. But I think, usually, what I've seen is it comes down to budget and user experience. The bottom line is React Native is going to be a lot cheaper. You're basically building one app instead of two, right? Most of your code in a React Native app is going to be in JavaScript, and you can reuse all of that code across Android and iOS. If you're building a native app, you're just building two completely separate apps. So, it's just going to be cheaper to build that React Native app, and a lot of times, that's what it comes down to. For most companies, it can be really hard to justify that extra cost of building a completely native app for each platform. But then the question is when we talk about how can you justify the cost? Well, what would justify the cost, right? [laughs] I think probably the biggest trade-off when you build a React Native app versus a purely native app is there is a little bit of a performance penalty by building in React Native versus native. So, I think apps that will need to have a very flashy cutting-edge experience with lots of user-driven animation and effects, you know, when you get into that domain, I think that's where we see pure native starting to make more sense. But most apps and users would never feel that performance penalty of React Native. So, for most apps, that's not really something that enters into the equation. WILL: I want to dig into something you said. You were talking about if you do go native, you usually have to build an iOS and an Android separately. But with React Native, you could do it together. So, for someone who's maybe never done either one of them, can you kind of dig into, like, what does that look like? So, when you say I have to build an iOS and an Android portion versus I can do one codebase for React Native, can you walk us through kind of what that looks like, just a sample feature? STEPHEN: When I say React Native is a single codebase and, you know, native apps, you're building two apps, the way React Native works is you're basically building a React app. So, all of your business logic is going to be in React. And when your React code renders some UI, that gets translated into native UI. But your business logic is still going to be living in that JavaScript React app. So, one, when I say performance penalty, that's what I'm talking about is: there's a little bit of a performance penalty communicating back and forth between your JavaScript thread and the native system thread. But when we talk about one codebase versus two, that's what a React Native app looks like. You basically are working on a React app. It's one codebase with one set of business logic. And when you say, "Show a modal on the screen," that gets translated into a native Android modal or a native iOS modal, but in your code, you're just saying, "Show a modal." [laughs] So, you're just writing that one time. So yeah, a React Native project is just one codebase. Now, one thing that we haven't really touched on is in a React Native app, you do have the ability to drop down into native code. So, you have access to the native Android project and the native iOS project in your React Native app. So, you can write completely native code if you want to. But the appeal of React Native is you don't have to, you know, unless you get into one of those situations where you need to do something native that isn't supported out of the box with React Native or by an existing third-party library, or you want to have a very performant, very interactive part of your app. Maybe there's a reason you want to do that in native. You know, you do have that option in a React Native app of dropping down into that native code level. But to contrast that with a purely native project, you will have two completely separate codebases, one for Android and one for iOS. You'll have a development team for Android and a development team for iOS, you know, typically with different skill sets. The Android project will be Java, Kotlin. And your iOS project is swift. So, just in every sense, you really have two different projects when you're working on a purely native app. WILL: Okay, yeah, that makes sense. So like, for React Native, that show modal is just however many lines to show that one modal, and it does it for iOS and Android. But when you talk about native, you're saying that; however, iOS says to show that modal, you have to do it that way. But then Android, you also have to do it the Android way. And one developer, unless they know both of them, may not be able to handle both for those cases, correct? STEPHEN: Yeah, exactly. React Native abstracts away those underlying platforms. So, you really just need to know React Native for most cases. Though, there's definitely a benefit of knowing the underlying platforms. WILL: Definitely. Especially, like you touched on if you wanted to go into that native portion to add in a feature. You know, for example, I know we both worked on a project where we had a scanning app. And we had to tap into that native portion and React Native in order to get the scanning app to work, correct? STEPHEN: Yeah, that's right. We had to support some barcode scanning devices and hook into those barcode scanning frameworks that were proprietary [chuckles] to those devices. So yeah, we had to build native modules for Android and iOS to support those. WILL: Gotcha. Okay. I want to touch back on something you said earlier about the flashy experiences. You said sometimes you may not see it or whatever, but sometimes, if you want that flashy experience, it's better to go the native route. Can you explain that a little bit more? STEPHEN: So yeah, it's kind of what I was touching on a second ago. You know, in a React Native app, you have the JavaScript thread that is always running and coordinating UI changes with business logic. So, you've got your business logic in JavaScript. You've got the UI in native. And those need to be coordinated to interact. So, that's kind of where that performance penalty can happen. You know, again, most apps and users would never feel this penalty. I've never been, like, using my phone and been like, oh, this is a React Native app; I can feel it, you know. [laughs] It's not something that typically enters the picture for most apps that we work on. But there are certain types of apps that might be more important, you know, highly interactive games or things that just need to have that extra flashiness and interactive flashiness specifically, where it could make sense to build that natively. Another interesting thing in the React Native space is React Native recently re-architected their rendering engine to be written in C++ and be more efficient. So, this performance overhead might be a little bit less of a trade-off. They've re-architected the way that React Native JavaScript talks to the native layer, which might make this even less of an issue going forward. WILL: I looked it up for the podcast. But do you know some of the companies that we probably are familiar with, like they built apps on React Native? Can you name a couple? STEPHEN: Yeah, I was recently looking at this, too. And, you know, the big one is Facebook, right? Facebook built React Native. So, they're the sponsor of that project. So, Facebook and Facebook Messenger, I believe those apps are built with React Native. I don't know if the entire apps are or not [chuckles]. Do you know by chance? [laughs] WILL: React Native on their website says, "Hey, we're going to showcase these apps that they're built in React Native." So, I'm guessing a huge portion of it was built in React Native, so... STEPHEN: Yeah. That's a good point. Yeah, you're right. They're showcasing it there. So yeah, you know, other ones, you know, lots of brands, Shopify, looks like PlayStation. I'm looking at the list now on the React Native website: Pinterest, Flipkart, Discord, Walmart, Tesla, Coinbase, Mercari. Yeah, I mean, it's just a lot of big-name apps built in React Native, including quite a few that we've [laughs] that we've built. [laughter] MID-ROLL AD: Are you an entrepreneur or start-up founder looking to gain confidence in the way forward for your idea? At thoughtbot, we know you're tight on time and investment, which is why we've created targeted 1-hour remote workshops to help you develop a concrete plan for your product's next steps. Over four interactive sessions, we work with you on research, product design sprint, critical path, and presentation prep so that you and your team are better equipped with the skills and knowledge for success. Find out how we can help you move the needle at tbot.io/entrepreneurs. WILL: If I'm absolutely sold on getting that flashy experience, is native the only route to go? STEPHEN: I think until pretty recently, that would have been your option [laughs]. But Flutter has been picking up a little bit of momentum. So, Flutter is developed by Google. And it's kind of a challenger in that React Native space. It kind of has the same write once, run anywhere, you know, philosophy as React Native. You have one codebase. But they tout kind of being a more performant option than React Native. So, it compiles down to native ARM or Intel code, which can give better performance without, you know, not needing that JavaScript bridge kind of handling that communication between the UI and the business logic. WILL: So, when would you use Flutter versus React Native? STEPHEN: I kind of keep going back to, like, you know, we talk about the performance overhead of a React Native app. I don't think that's even on the map for the vast majority of apps. Like, this isn't a performance penalty that you can typically feel. So, looking at Flutter versus React Native, React Native has several advantages. I think the biggest one is it's React. So, every team has React developers already on the team, pretty much nowadays. So, you know, if you've got an organization that says, "Oh, we need to build a mobile app," they probably already have a team of React developers somewhere working on their web app [laughs]. So, there's a big benefit of kind of centralizing their team around that technology. You know, you can have a little bit of cross-pollination between web and mobile, which can be really nice. I think, similarly, it's a lot easier to find and hire React or React Native developers right now than it is to find and hire Flutter developers. So, Flutter is written in Dart, and it has its own front-end framework. So, this isn't necessarily a technology that you're going to have on your existing team. Like, I've never worked with Dart, personally. It's not nearly as common as React developers. You know, that, to me, is going to be a big downside. You know, the talent pool is a lot smaller for Flutter/Dart developers. Also, the ecosystem with Flutter being newer, it's not as established. It doesn't have as large of an ecosystem as React Native. So, for those reasons, I think React Native is still, at least for us, like, it's usually where we would steer a client over Flutter, unless they're in that category of, like, they're really going for something, you know, groundbreaking. And, you know, the choice is either, you know, they've ruled out React Native. They need to get that native performance, and maybe they could achieve that with Flutter, and maybe Flutter would be a good option then. WILL: Okay. You mentioned that—and I agree with you—like, you probably have some React devs on your team somewhere. Most companies does. So, say if I am bought in, I'm going all in on React Native, and I have React web developers on my team. Is that an easy transition for those developers, or what does that transition look like? STEPHEN: Yeah, this is something...I think you and I have talked about this a lot because we both transitioned from React Web to React Native. And, you know, it wasn't all that easy, right? [laughs] WILL: No, it was not [laughter] at all. [laughter] STEPHEN: So yeah, you know, it is a fallacy to say, "Hey, we've got a React team, you know, let's just start tomorrow on building an app, and it'll be smooth sailing. And, you know, no one needs to learn anything, and we'll be good to go," right? [laughs] So, you know, what I always say is a React web developer can successfully work on a React Native app. But I don't think they have the skills yet to lead that initiative because there's just so much to the mobile ecosystem that needs to be learned. And really, you know, my first couple of React Native apps, I wasn't the lead developer. There was somebody on those projects who really knew that space better than I did. And that was really helpful for me to have. How about you? What about your first, like, React Native project? What did that look like? WILL: It was at another company, and the exact words paraphrasing was, "You know React, so you can easily work on React Native." And so, I got on the project. And I really struggled, to be honest with you, because there's a lot of things that I didn't know: in-app purchases, push notifications, how to deal with Apple store, Android store, deploying to those stores. Like all of those things, navigation is totally different than React navigations and routes. It was a lot. It was a lot more than they led on to what it was. Eventually, I caught on. It took me a while. I needed to work with some more senior React Native developers, and I was able to really pick it up. But yeah, it was tough. I'll be honest: I struggled for a while because I went in feeling like I should have known all those things because that's the way it was conveyed to me. Now that I look back on it I was like, there's no way I could have known those things. It's just a different language. So, I had to get in there and learn it. And I even...I'm trying to think I've learned a couple of new languages. But it's almost like learning a new language just with, you know, the, like I mentioned, the in-app purchases, push notifications. It's just totally different. STEPHEN: Yeah, that's been my experience also. I think the challenges weren't, like, coding [laughs] because, you know, building a React Native app is coding in React. The challenges that I faced were, like you said, it's just the mobile ecosystem and learning all the intricacies, the functionality that users have come to expect in mobile apps, you know, like password manager, integration, and background execution modes, and deep linking strategies, all that kind of stuff. You know, if you don't know what questions to ask or what features to be thinking of, it's just really hard. And [laughs] I think it's more than just the developer needing to know that too. I think anytime it comes, you know, down to building an app, the whole team needs to have that mobile background. It's just a completely different platform than building for the web, right? So like, product owners, project managers, designers, developers all need that context so we can be prioritizing the right features and building a UI that matches the patterns that people have come to expect in a mobile app. And then, of course, developing those apps using the, you know, the proper native modules. WILL: Yeah, definitely. And I [chuckles]...you mentioned that it's mostly on, like, the mobile side. I don't know the best way to say that. But, like, I can tell you, when I first got onto the React Native project, there were numerous features that I could implement, and to a certain point to where I had to go that mobile. So, like, I was like, oh yeah, I can learn these new components that's in React Native. Okay, I got it to work. It's finished. You know, my PM would be like, "Well, it's not completely finished because you have to deploy it." And I was like, oh, I have no idea what I'm doing now. Like, I just know [laughs]...I know up to this point. STEPHEN: [laughs] WILL: But anything over that, I'm like, yeah, I have no idea. STEPHEN: Especially with consulting, right? With consulting, you need even more expertise, right? The clients are counting on you to build their app. And that's where, you know, having that deep, deep familiarity where you can say to a client, "This is how we're going to do the deployment process, you know, and I need, you know, X, Y, and Z to help set it up. And here are the deliverables, and here's when we'll have it," that kind of thing. Like, it really takes it up a whole nother notch what you need to know. WILL: Definitely, yeah. Because I think compared to mobile, I feel like web development can almost be like the Wild Wild West. And what I mean by that is, like, there's no rules for you to push out a website in web. Like, you know, you build it. You push it out. It can be out there, you know. Whoever is hosting it, unless you go against their rules, maybe, but their rules are very relaxed and stuff like that. Mobile, there's a totally different set of rules. Because, like, I was laughing not too long ago. There was rumors that Elon Musk was going to remove the blocking feature on Twitter [chuckles]. And it was funny because all the mobile devs they came out. And if you're a mobile dev, you know this. Apple is very strict. STEPHEN: [laughs] WILL: If this is a social media app that you're building, you have to have that blocking feature, which I agree it needs to be there. But it's funny, like, all the mobile devs was like, yeah, that's not going to work. Good luck [chuckles]. Good luck being an app again. STEPHEN: Yeah, [laughs] good luck. WILL: Like, they're going to kick it off. And yeah, they're very big on kicking it off if it doesn't follow those rules and things like that. So yeah, for React Native, you have to learn those rules, or, like I said, they won't approve it. They won't push it out to their store. STEPHEN: Yep, exactly. Yeah. I feel like the new one at every client project; I have to say, "We have to offer a way to delete your account in the app," because [laughs] that's a new one that launched last year, and I think has just started being enforced more recently. Like, all those little gotcha rules, you know, like, if you don't know about that, then you're going to go to submit your app to the stores, and you're going to get rejected every single time. [laughs]. WILL: And they're not shy about rejecting you [laughs]. STEPHEN: Yeah. But I would say, like, a lot of the rules, I'm like, yes, this is amazing that we have these rules, you know. It does help keep the community safer like things like blocking. But then there's the other rules of, like, Apple's like, hey, you've got to use our payment system and pay us 30% of every sale. WILL: Yes [laughs]. STEPHEN: I was, like, you know, there's some evil stuff happening there, too. WILL: I totally agree. And we ran into that issue. We had an app that used Stripe. And we actually had to remove it in order to use in-app purchases because...I forgot the rules around it, but it was essentially for digital content. I think it's what it was. And so, we had to use Apple's in-app purchases. So yeah, I totally agree with you on that. STEPHEN: Yeah. I feel like I've been a part of so many apps where we're, like, reading those rules. And we're like, okay, you know, it's like, we're watching a live stream of birds. WILL: [laughs] STEPHEN: You know, like, the birds aren't digital [laughter], you know. It's like, [laughs] where does this fall in the rule? [laughs] WILL: Yes [laughs]. I've done that, too [laughter]. Yep. It's almost like, you know, I feel like lawyers, okay, like, is this what this rule is, or the law what is written, or does this fall underneath that? So yeah, totally, totally agree. STEPHEN: Yep [laughs]. WILL: So, you've been here a couple of years at thoughtbot. What has been your experience building React Natives here for clients at thoughtbot? STEPHEN: Yeah, yeah. I've been at thoughtbot for about five years now. And I have been building React Native apps that whole time. And, I mean, I started at thoughtbot a little more in the full-stack space, web development, and have transitioned to where I'm mostly only building React Native mobile apps now. It's been a great experience. I think that React Native is really a sweet spot of; we're able to build these apps really efficiently and much less expensively than when we're doing pure native. And the end product is a really good app. So, it's been a great experience, you know, React Native is really...it has a really nice development experience. You know, it's the JavaScript React ecosystem. And we use TypeScript, and we have a really good developer experience with it. And then we're building apps that clients are really happy with and with a good budget. So, I think it's kind of that, you know, like, win-win-win kind of scenario where everybody is happy. And yeah, I don't see it going anywhere. And I think we're going to be building React Native apps for quite a while to come. WILL: Yeah, I totally agree with that. Where do you see React Native and mobile dev going here at thoughtbot in the next six months or even the next year? What are your goals for the mobile team? STEPHEN: We've got a couple of goals. One of them is around kind of what we've talked about with the mobile space in general. This isn't really specific to React Native, but it can be. But, consulting in the mobile space is challenging because there's a lot of mobile-specific domain knowledge that a team really needs to have. So, that's something that we've started looking into is, like, how do we build up our resources internally and then, hopefully, externally as well to help guide us on our projects and ensure that we have, like, you know, we are developing apps consistently and efficiently every time? So, that's something we're looking into is, like resources to help our teams—not just developers, but project managers, designers, and developers—help us navigate the mobile space. Okay, you're going to do push notifications. Here's the library we use. Here's things to think about, and interactions to think about, and iOS-specific functionality that we could support, and Android-specific functionality that we can support. You know, you're going to do deep linking; do you want to use universal links, or do you want to use a different strategy, a scheme-based link? So, basically, building up that set of resources so that our teams are all able to consult and build efficiently and consistently across the board. So, that's kind of goal number one. And then, goal number two is to kind of bring some of that out into the community a little bit more. So, thoughtbot is very well known in the Rails space for all of the open-source content we've put out and blog posts, and courses, and books. I mean, there's just so much on the Rails side that thoughtbot has done. And we're just a little bit less mature on the React Native side in terms of what we've put out there. So, that's kind of the second goal is giving back, helping others kind of do that same thing. I feel like we have developed our practices internally, and we're building some great apps. And it's kind of time to contribute back a little bit more. WILL: Awesome. I'm looking forward to reaching those goals. If you can go back and give yourself advice, what would you tell yourself? STEPHEN: I would maybe say, read the documentation [laughs]. I don't know when I got into mobile; I think I just jumped in. And, you know, we've talked about some of the mobile-specific domain, and not knowing what you don't know, and app review guidelines. I feel like early on, I just responded to challenges as they came up, as opposed to just digging into, you know, Apple's documentation and Android's documentation and just really understanding the underlying operating systems in stores. That's probably a piece of advice. If I could go back, I would just start at the documentation, you know, go to developer.apple.com and read about all of the underlying APIs of StoreKit and, you know, associated domains and all of these sorts of things. Just learn 'em, and then you know 'em. [laughs]. So, maybe that could have saved me some heartache if I just was a little more intentional about, okay, I'm getting into app development. I'm going to set aside some time and just really learn this stuff, as opposed to kind of where I had one foot in the door, one foot out of the door for a while. And I think that kept me from just sitting down and really going deep. WILL: That's really good advice. Just read the documentation. And that's not just Apple. STEPHEN: [laughs] WILL: That's a lot of departments, sections of my life. So, yes, I like that. [laughter] STEPHEN: I actually...that's something I did early in my career. So, I started as an Enterprise Java developer in 2011, and I was using the Spring framework. I downloaded the entire PDF. It was, like, 250 pages, the documentation [laughs]. And I remember just being on, like, airplane flights, and I just read the documentation, just cover to cover. That served me so well. I was, like, the expert, you know [laughs]. I don't always do it, but when I do, I'm like, oh yeah, why didn't I do that sooner? [laughs] WILL: Yeah, totally agree. I like that. What is the wind in your sails? What motivates Stephen? STEPHEN: Like, I think what attracted me to software development is just being able to build stuff, you know, probably the same thing that attracted me to woodworking. So, I think what motivates me is that prospect of, hey, I'm building an app that people are going to use, and it's going to make their life better. So, that's really what gets me up and gets me motivated. It's less so the actual coding, to be honest. It's really the prospect of, like, hey, I'm building something. WILL: Awesome. Yeah. Is there anything that you would like to promote? STEPHEN: If you're interested in building a mobile app, come talk to us. We'd love to build your mobile app. Go to thoughtbot.com/hire-us; I believe hire-us. We would love to talk to you about your mobile project. So, don't hesitate to reach out. We'd love to hear about what you're interested in building. WILL: Awesome. Well, Stephen, it was great to chat with you. It's always great to chat with you about mobile development and just personal life things. So, I really appreciate you being on the podcast today. STEPHEN: Thanks for having me, Will. It was a lot of fun. Always good talking with you. WILL: You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have any questions or comments, email us at hosts@giantrobots.fm. You can find me on Twitter @will23larry. ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com. Special Guest: Stephen Hanson.
This interview was recorded for the GOTO Book Club.http://gotopia.tech/bookclubAna-Maria Mihalceanu - Java Champion, SW Architect, Developer Advocate at Red Hat, Co-Founder of Bucharest Software Craftmanship CommunityNatale Vinto - Co-Author of "Modernizing Enterprise Java" & Senior Principal Developer Advocate at Red HatMarkus Eisele - Co-Author of "Modernizing Enterprise Java" & Developer Adoption Lead EMEA at Red HatDESCRIPTIONIs your Java application ready for the real world?Join Markus Eisele and Natale Vinto, authors of the book “Modernizing Enterprise Java,” and Ana-Maria Mihalceanu, developer advocate at Red Hat, to uncover key ways to modernize your Java application.The interview is based on Markus' & Natale's book "Modernizing Enterprise Java".Read the full transcription of the interview hereCheck out more hereRECOMMENDED BOOKSMarkus Eisele & Natale Vinto • Modernizing Enterprise JavaKevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should KnowDave Thomas & Andy Hunt • The Pragmatic ProgrammerJoshua Bloch • Effective JavaSam Newman • Monolith to MicroservicesSam Newman • Building MicroservicesRonnie Mitra & Irakli Nadareishvili • Microservices: Up and RunningMitra, Nadareishvili, McLarty & Amundsen • Microservice Architecturehttps://twitter.com/GOTOconhttps://www.linkedin.com/company/goto-https://www.facebook.com/GOTOConferencesLooking for a unique learning experience?Attend the next GOTO conference near you! Get your ticket at https://gotopia.techSUBSCRIBE TO OUR YOUTUBE CHANNEL - new videos posted almost daily.Support the show (https://www.buymeacoffee.com/goto)
Rob Castaneda found his passion for technology and training as a 17-year old, working on the Sydney helpdesk of a Silicon Valley software company. Within three years he had worked in various departments of the company, ranging from pre-sales, training, and support to research & development. In 2000, Rob moved to Silicon Valley to work for a startup, and also contributed to and co-authored several books and publications related to Enterprise Java. In 2001, Rob started his company ServiceRocket, which is headquartered in Palo Alto, California and has grown to more than 170 employees worldwide with offices in the U.S., Australia, Chile, and Malaysia. Rob's leadership style of thinking team and sharing knowledge is part of what has helped him build a successful global company, completely boot-strapped, having received no VC funding, and has most recently landed him a spot in the Silicon Valley's Top 40 under 40. ServiceRocket is a unique Customer Success company focused on ensuring enterprises and users successfully incorporate software into their businesses and lives – so they use it, love it and buy more. Through training, utilization and support, ServiceRocket creates long-lasting, loyal relationships between software companies, enterprises and their software by delivering these elements to enable customer success. What you will learn in this episode: Rob Castaneda's background and how he has built his business around empathy, communication, and meaningful relationships How Rob fosters belonging in his company through t-shirts, mantras, and the “rocketeer” title The methods Rob uses to keep his employees feeling connected and motivated despite cultural differences Why Rob spends over a third of his time focused solely on communicating with his employees How ServiceRocket uses the Kolbe personality test to understand their employees and the best communication methods to use based on the results The importance of thinking from the bottom-up and why companies need to be open to adapting Resources: Website: https://medium.com/@robertcastaneda Website: https://www.servicerocket.com/ Facebook: https://www.facebook.com/robertcastaneda Twitter: @robertcastaneda Linked In: https://www.linkedin.com/in/robertcastaneda
About ScottScott is a web developer who has been blogging at https://hanselman.com for over a decade. He works in Open Source on ASP.NET and the Azure Cloud for Microsoft out of his home office in Portland, Oregon. Scott has three podcasts, http://hanselminutes.com for tech talk, http://thisdeveloperslife.com on developers' lives and loves, and http://ratchetandthegeek.com for pop culture and tech media. He's written a number of books and spoken in person to almost a half million developers worldwide.Links: Hanselminutes Podcast: https://www.hanselminutes.com/ Personal website: https://hanselman.com TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: This episode is sponsored in part by Thinkst. This is going to take a minute to explain, so bear with me. I linked against an early version of their tool, canarytokens.org in the very early days of my newsletter, and what it does is relatively simple and straightforward. It winds up embedding credentials, files, that sort of thing in various parts of your environment, wherever you want to; it gives you fake AWS API credentials, for example. And the only thing that these things do is alert you whenever someone attempts to use those things. It's an awesome approach. I've used something similar for years. Check them out. But wait, there's more. They also have an enterprise option that you should be very much aware of canary.tools. You can take a look at this, but what it does is it provides an enterprise approach to drive these things throughout your entire environment. You can get a physical device that hangs out on your network and impersonates whatever you want to. When it gets Nmap scanned, or someone attempts to log into it, or access files on it, you get instant alerts. It's awesome. If you don't do something like this, you're likely to find out that you've gotten breached, the hard way. Take a look at this. It's one of those few things that I look at and say, “Wow, that is an amazing idea. I love it.” That's canarytokens.org and canary.tools. The first one is free. The second one is enterprise-y. Take a look. I'm a big fan of this. More from them in the coming weeks.Corey: This episode is sponsored in part by our friends at Lumigo. If you've built anything from serverless, you know that if there's one thing that can be said universally about these applications, it's that it turns every outage into a murder mystery. Lumigo helps make sense of all of the various functions that wind up tying together to build applications. It offers one-click distributed tracing so you can effortlessly find and fix issues in your serverless and microservices environment. You've created more problems for yourself; make one of them go away. To learn more, visit lumigo.io.Corey: Welcome to Screaming in the Cloud. I'm Corey Quinn. I'm joined this week by Scott Hanselman of Microsoft. He calls himself a partner program manager—or is called a partner program manager. But that feels like it's barely scraping the surface of who and what he is. Scott, thank you for joining me.Scott: [laugh]. Thank you for the introduction. I think my boss calls me that. It's just one of those HR titles; it doesn't really mean—you know, ‘program manager,' what does it even mean?Corey: I figure it means you do an awful lot of programming. One of the hardest questions is, you start doing different things—and Lord knows you do a lot of them—is that awful question that you wind up getting at cocktail parties of, “So, what is it you do exactly?” How do you answer that?Scott: Yeah, it's almost like, if you spent any time on Clubhouse recently, there was a wonderful comedian named Spunky Brewster on Instagram who had a whole thing where she talked about the introductions at the beginning of a Clubhouse thing, where it's like, you're a multi-hyphenate sandwich artist slash skydiver slash programmers slash whatever. One doesn't want to get too full of one's selves. I would say that I have for the last 30 years been a teacher and a professional enthusiast around computing and getting people excited about computing. And everything that I do, whether it be writing software, shipping software, or building community, hangs off of the fact that I'm an enthusiastic teacher.Corey: You really are. And you're also very hard to pin down. I mean, it's pretty clear to basically the worst half of the internet, that you're clearly a shill. The problem is defining exactly what you're a shill for. You're obviously paid by Microsoft, so clearly you push them well beyond the point when it would make sense to.You have a podcast that has been on for over 800 episodes—which puts this one to shame—called Hanselminutes, and that is, of course, something where you're shilling for your own podcast. You've recently started on TikTok, which I can only assume is what the kids are into these days. You're involved in so many different things and taking so many different positions, that it's very hard to pin down what is the stuff you're passionate about.Scott: I'm going to gently push back and say—Corey: Please do.Scott: That if one were to care to look at it holistically, I am selling enthusiasm around free and open-source software on primarily the Windows platform that I'm excited about, and I am selling empowerment for the next generation of people who want to do computing. Before I went to Microsoft, my blog and my podcast existed, and I was consistent in my, “Hey, have you heard the news?” Message to anyone who would listen. And I taught at both Portland Community College and Oregon Institute of Technology, teaching web services and history of the web and C# and all that kind of stuff. So, I'm one of those people where if you touch on a topic that I'm interested in, I'll be like, “Oh, my goodness, let's”—and I'll just like, you know, knock everything off the desk and I'm going to be like, “Okay, let's build a model, a working model of the solar system here, now. The orange is the sun.”And it's like, suddenly now we're talking about science, like Hank Green or whatever. My family will ask me, “Why isn't the remote control working?” And then I've taken it apart and I'm explaining to them how the infrared LED inside works. And, you know, how can you not be excited about all these things? And that's my whole thing about computing and the power that being able to program computers represents to me.Corey: I would agree with that. I'd say that one thing that is universal about everything you're involved in is the expression I heard that I love and am going to recapture has been, “Sending the elevator back down.”Scott: Oh, yeah. Throwing ladders, ropes, elevators. I am very blessed to have made it out of my neighborhood, and I am very hopeful that anyone who is in a situation that they do not want to be in could potentially use coding, programming, IT, computing as the great equalizer and that I can I could somehow lend my privilege to them to get the things done and solve the problems that they want to solve with computers.Corey: I'm sure that you've been asked ad nauseum about—you work in free and open-source software. You've been an advocate for this, effectively, for your entire career; did no one tell you you work at Microsoft? But that's old Microsoft in many respects. That's something that we've covered with a bunch of different guests previously from Microsoft, and it's honestly a little—it's becoming a bit of a tired trope. It was a really interesting conversation a few years back that, oh, it's clearly all just for show.Well, that is less and less obvious, and more tired and frankly bad take as time progresses. So, I want to go back a bit further into my own personal journey because it turns out that the number one reason to reach out to you for anything is tech support on various things. I don't talk about this often, but I started my career moonlighting as a Windows admin, back in the Windows 2003 server days; and it was an experience, and licensing was a colossal pain, and I finally had enough of it one day, in 2006, switched over to Unix administration on BSD, and got a Mac laptop, and that was really the last time that I used Windows in anger. Now, it's been 15 years since that happened, and I haven't really been tracking the Windows ecosystem. What have I missed?Scott: [laugh]. There's a lot there that you just said. So first, different people have their religions and they're excited about them, and I encourage everyone to be excited about the religion that they're excited about. It's great to be excited about your thing, but it's also really not cool to be a zealot about your thing. So hey, be excited about Windows, be excited about Linux, be excited about Mac.Just don't tell me that I'm going to heck because I didn't share your enthusiasm. Let's just be excited together and we can be friends together. I've worked on Linux at Nike, I've worked on Mac, I've worked on Windows, you know, I've been there before these things existed and I'll be there afterwards.Corey: Exactly. At some point being a zealot for a technology just sort of means you haven't been around the block enough to understand how it's going to break, how it's going to fail, how it's going to evolve, and it doesn't lead to a positive outcome for anyone. It fundamentally becomes a form of gatekeeping more than anything else, and I just don't have the stomach for it.Scott: Yeah. And ultimately, we're just looking for—you know, we got these smart rocks that we taught how to think with lightning, and they're running for loops for us. And maybe they're running them in the cloud, maybe they're running locally. So, I'm not really too worried about it. Windows is my thing of choice, but just, you know, one person's Honda is another person's Toyota; you get excited about the brand that you start out with.So, that's that. Currently, though, Windows has gone, at least in the last maybe 20 years, from one of those things where there's generational pain, and, like, “Microsoft killed my Pappy, and I'll never forgive you.” And it's like, yeah, there was some dumb stuff in the '90s with Internet Explorer, but as a somewhat highly placed middle manager at Microsoft, I've never been in an active mustache-twirling situation where I was behind closed doors and anyone thought anything nefarious. There's only a true, “What's the right thing for the customer? What is the right thing for the people?”My whole thing is to make it so developers can develop more easily on Windows, so I'm very fortunate to be helping some folks in a partnership between the Windows division and the developer division that I work in to make Windows kick butt when it comes to dev. Historically, the Windows terminal, or what's called cmd.exe which is run by a thing called the console host has sucked; it has lagged behind. So, if you drop out to the command line, you've got the, you know, the old, kind of, quote-unquote, “DOS shell” with a cmd processor—it's not really DOS—running in an old console host. And it's been there for gosh, probably early '90s. That sucks.But then you got PowerShell. And again, I want to juxtapose the difference between a console—or a terminal—and a shell. They're different things. There's lots of great third-party terminals in the ecosystem. There's lots of shells to choose from, whether it be PowerShell, PowerShell Core—now PowerShell 7.0—or the cmd, as well as bash, and Cygwin, and zsh, and fish.But the actual thing that paints the text on Windows has historically not been awesome. So, the new open-source Windows terminal has been the big thing. If you're a Machead and you use iTerm2, or Hyper, or things like that, you'll find it very comfortable. It's a tabbed terminal, split-screen, ripping fast, written in, you know, DirectX, C++ et cetera, et cetera, all open-source, and then it lets you do transparency, and background colors, and ligature fonts, and all the things that a great modern terminal would want to do. That is kind of the linchpin of making Windows awesome for developers, then gets even awesomer when you add in the ability that we're now shipping an actual Linux kernel, and I can run N number of Linuxes side-by-side, in multiple panes, all within the terminal.This getting to the point about juxtaposing the difference between a terminal and a console and a shell. So, I've got, on the machine, I'm talking to you on right now, on my third monitor, I've got Windows terminal open with PowerShell on Windows on the left, Ubuntu 18.04 LTS on the right, with the fish shell. And then I've got another Ubuntu 20.04 with bash, a standard bash shell.And I'm going and testing stuff in Docker, and running .NET in Docker, and getting ready to deploy my own podcast website up into Azure. And I'm doing it in a totally organic way. It's not like, “Oh, I'm just running a virtual machine.” No, it's integrated. That's what I think you'd be impressed with.Corey: That right there is the reason that I generally tended to shy away from getting back into the Windows ecosystem for the longest time—and this is not a slam on Windows, by any stretch of the—Scott: No of course. Sure, sure, sure.Corey: —imagination—my belief has always been that you operate within the environment as it's intended to be operated within, and it felt at the time, “Oh, install Cygwin, and get all this other stuff going, and run a VM to do it.” It felt like I was fighting upstream in some respects.Scott: Oh, yeah, that's a great point. Let's talk about that for a second. So—Corey: Let's do it.Scott: So, Cygwin is the GNU utilities that are written in a very nice portable C, but they are written against the Windows kernel. So, the example I like to use is ls, you type ls, you list out your directory, right? So, ls and dir are the same thing for this conversation. Which means that someone has to then call a system call—syscall in Linux, Windows kernel call in Windows—and say, “Hey, would you please enumerate these files, and then give me information about them, and check the metadata?” And that has to call the file system and then it's turtles all the way down.Cygwin isn't Linux. It's the bash and GNU utilities recompiled and compiled against the Windows stuff. So, it's basically putting a bash skin on Windows, but it's not Linux; it's bash. Okay? But WSL is actually Linux, and rather than firing up a big 30 gig Hyper-V, or VirtualBox, or Parallels virtual machine, which is, like, a moment—“I'm firing up the VM; call me in an hour when it comes back up.”—and when the VM comes up, it's, like, a square on your screen and now you're dealing with another thing to manage.The WSL stuff is actually a utility virtual machine built on a lower subsystem, the virtualization platform, and it starts in less than a second. You can start it faster than you can say, one one-thousand. And it goes instantly up, it automatically allocates and deallocates memory so that it's smart about memory, and it's running the actual Linux kernel, so it's not pretending to be Linux. So, if your goal is a Linux environment and you're a Linux developer, the time of Linux on the desktop is happening, in this case, on the Windows desktop. Where you get interesting stuff, and where I think your brain might explode is, imagine you're in the terminal, you're at the Linux file system at the bash prompt, and you type ‘notepad.exe.' What would you expect to happen? You'd expect it to try to find it in a Linux path and fail.Corey: Right. And then you're trying to figure out, am I in this environm—because you generally tend to run these things in the same-looking terminal, but then all the syntax changes as soon as you go back into the Windows native environment, you're having to deal with line-ending issues on a constant basis, and you just—Scott: Oh, yeah. All that stuff, where.Corey: And as soon as you ask for help because back in those days, I was looking primarily into using freenode as my primary source of support because I network staff on the network for the better part of a decade, and the answer is, “I'm having some trouble with Linux,” and the response is, “Oh, you're doing this within a Windows environment? Get a real computer, kid.” Because it's still IRC, and being condescending and rude to anyone who makes different choices than you do is apparently the way that was done back then.Scott: Well, today in 2020 because we don't want to just have light integration with Windows—and by light integration, like, I don't know if you remember firing up a virtual machine on Windows and then, like, copy-pasting a file, and we were all going like, “Oh, my God, that's amazing.” I drug the file in and then it did a little bit of magic and then moved the file from Windows into Linux. What we want is to blur the lines between the two so you can move comfortably. When you type explorer.exe or notepad.txt in Linux on Windows, Linux says no, and then Windows gets the chance, fires it up, and can access the Linux file system.And since Notepad now understands line endings, just happily, you can open up your .profile, your bash_profile, your csh file in Notepad, or—here's where it gets interesting—Visual Studio Code, and comfortably run your Windows apps, talking to your Linux file system, or in the—coming soon, and we've blogged about this and announced it at Build last year, run Linux GUI apps seamlessly so that I could have two browsers up, two Chromes, one Windows and one Linux, side-by-side, which is going to make web testing even that much easier. And I'm moving seamlessly between the two. Even cooler, I can type explorer.exe and then pass in dot, which represents the current folder, and if the current folder is the Linux file system, we seamlessly have a Plan 9 server—basically a file server that lets you access your Linux file system—from—Corey: Is it actually running Plan 9?Scott: It is a Plan 9 server.Corey: That is amazing. I'm sorry, that is a blast from the past.Scott: I'm glad. And we can run N number of Linuxes; this isn't just one Linux. I've got Kali Linux, two different Ubuntus, and I could tar up the user mode files on mine, zip them up, give them to you, and you could go and type ‘wsl–import,' and then have my Linux file system. Which means that we could make a custom Screaming in the Cloud distro, put it in the Windows Store, put it up on GitHub, build our own, and then the company could standardize on our Linux distro and run it on Windows.Corey: That is almost as terrible an idea as using a DNS service as a database.Scott: [laugh].Corey: I love it. I'm totally there for it.Scott: It's really nice because it's extremely—the point is, it has to have no friction, right? So, if you think about it this way, I just moved—I blogged about this; if people want to go and learn about it—I just moved my blog of 20 years off of a Windows Server 2008 server running under someone's desk at a host, into Azure. This is a multi-month-long migration. My blog, my main site, kind of the whole Hanselman ecosystem moved up in Azure. So, I had a couple things to deal with.Am I going to go from Windows to Linux? Am I going to go from a physical machine to a virtual machine? Am I going to go from a physical machine to a virtual machine to a Platform as a Service? And when I do that, well, how is that going to change the way that I write software? I was opening it in Visual Studio, pressing F5, and running it in IIS—the Internet Information Server for Windows—for the last 15, 20 years.How do I change that experience? Well, I like Visual Studio; I like pressing F5; I like interactive debugging sessions. But I also like saving money running Linux in the cloud, so how can I have the best of all those worlds? Because I wrote the thing in .NET, I moved into .NET 5, which runs everywhere, put together a Docker file, got full support for that in Visual Studio, moved it over into WSL so I can test it on both Windows and Linux.I can go into my folder on my WSL, my Windows subsystem for Linux, type code dot, open up Visual Studio Code. Visual Studio Code splits in half. The Windows client of Visual Studio Code runs on Windows; the server, the Visual Studio Code server, runs in WSL providing the bridge between the two worlds, and I can press F5 and have interactive debugging and now I'm a Linux developer even though I've never left Windows. Then I can right-click publish in Visual Studio to GitHub Actions, which will then throw it into the cloud, and I moved everything over into Azure, saved 30%, and everything's awesome. I'm still a Windows developer using Visual Studio. So, it's pretty much I don't know, non-denominational; kind of mixing the streams here.Corey: It is. And let me take it a step further. When I'm on the road, the only computer I bring with me these days—well, in the before times, let's be very realistic. Now, when ‘I'm on the road,' that means going to the kitchen for a snack—the only computer I bring with me is my iPad Pro, which means that everything I do has a distinct application. For when I want to get into my development environment, historically it was, use some terminal app—I'm a fan of Blink, but everyone has their own; don't email me.And everything else I tended to use looked an awful lot like a web app. If there wasn't a dedicated iOS app, it was certainly available via a web browser. Which leads me to the suspicion that we're almost approaching a post-operating-system world where the future development operating system begins to look an awful lot—and people are going to yell at me for this—Visual Studio Code.Scott: Mmm.Corey: It supports a bunch of remote activities now that GitHub Codespaces is available—at least to my account; I don't know if it's generally available yet—but I've been using it; I love it; everything it winds up doing is hosted remotely in Azure; I don't have to think about managing the infrastructure; it's just another tab within GitHub, and it works. My big problem is that I'm trying to shake, effectively, 20 years of muscle memory of wrestling with Vim, and it takes a little bit of a leap in order to become comfortable with something that's a more visually-oriented IDE.Scott: Why don't you use the VsVim, Jared Parsons Vim plugin for Visual Studio?Corey: I've never yet found a plugin that I like for something else to make it behave like Vim. Vimperator is a browser extension, all of it just tends to be unfortunate and annoying in different ways. For whatever reason, the way that I'm configured or built, it doesn't work for me in the same way. And it goes back to our previous conversation about using the native offering as it comes, rather than trying to make it look like something else.Scott: Okay. I would just offer to you and for other Vim people who might be listening, that VS Code Vim does have 2.5 million installs, over 2 million people happily using that. And they are—Corey: Come to find it only has 200,000 actual users; there was an installation bug and one person just kept trying over and over and over. I kid, I kid.Scott: No, seriously though, these are actual Vim-heads and Jared Parsons is a developer at Microsoft who is like, out of his cold dead hands you'll pull his Vim. So, there's solutions; whether you're Vim or Emacs, you know, we welcome all comers. But to your point, the Visual Studio, once it got split in half, where the language services, those services that provide context to Python, Ruby, C# C++ et cetera, once those extensions can be remoted, they can run on Windows, they can run on Linux, they can run on the cloud. So, VS Code being split in half as a client-server application has really made it shine. And for me, that means that I don't notice a difference, whether I'm running VS Code on Windows or running VS Code to a remote Linux install, or even using SSH and coding on Windows remotely to a Raspberry Pi.Corey: I love the idea. I've seen people do this, in some respects, back in the days of Code Server being a project on GitHub, and it took a fair bit of wrangling to get that to work in a way that wasn't scarily insecure and reliable. But once it was up and running, you could effectively plug a Raspberry Pi in underneath your iPad and effectively have a portable computer on the go that did local development. I'm looking at this and realizing the future doesn't look at all like what I thought it was going to, and it's really still kind of neat.Scott: Mm-hm.Corey: There's a lot of value in being able to make things like this more accessible, and the reason I'm excited about a lot of this, too, is that aligned with a generous free tier opportunity, which I don't know final pricing for things like GitHub Codespaces, suddenly the only real requirement is something that can render a browser and connect to the internet for an awful lot of folks to get started. It doesn't require a fancy local overpowered development machine the way a lot of things used to. And yes, I know; there are certain kinds of development that are changing in that respect, but it still feels to me like it has never been easier to get started with all of this technology than ever before, with a counterargument that there's so many different directions to go in. “Oh, I want to get started using Visual Studio Code or learning to write JavaScript. Great. How do I do this? Let me find a tutorial.” And you find 20 million tutorials, and then you're frozen with indecision. How do you get past that?Scott: Yeah, there is and always will be, unfortunately, a certain amount of analysis paralysis that occurs. I started a TikTok recently to try to help people to get involved in coding, and the number one question I get—and I mean, thousands and thousands of them—are like, “Where do I start?” Because everyone seems to think that if they pick the wrong language, that will be a huge mistake. And I can't think of a wrong language, you know? Like, what human language should I learn?You know, English, Chinese, Arabic, Japanese. Pick one and then learn another one if you can. Learn a couple. But I don't think there's a wrong language to learn because the basics of computer science are the basics of computer science. I think what we need to do is remind people that computers are computers no matter whether they're an Android phone or a Windows laptop, and that any forward motion at all is a good thing. I think a lot of people have analysis paralysis, and they're just afraid to pick stuff.Corey: I agree with what you're saying, but I'm also going to push back gently on what you're saying, as well. If someone who is new to the field was asking me what language to learn, I would be hard-pressed to recommend a language that was not JavaScript. I want to be clear, I do not understand or know JavaScript at all, but it's clear from what I'm seeing, that is, in many ways, the language of the future. It is how frontend is being interacted with; there are projects from every cloud provider that wind up managing infrastructure via JavaScript primitives. There are so many on-ramps for this, and the user experience for new folks is phenomenal compared to any language that I've worked with in my career. Would you agree with that or disagree with that assessment?Scott: So, I've written blog posts on this topic, and my answer is a little more ‘it depends.' I say that people should always learn JavaScript and one other language, preferably a systems language, which also may be JavaScript. But rather than thinking about things language-first, we think about things solutions-first. If someone says, “I want to do a lot of data science,” you don't learn JavaScript. If someone says, “I want to go and write an Android app,” yeah, you could do that in JavaScript, but JavaScript is not the answer to all questions.Just as the English language, while it may be the lingua franca, no pun intended, it is not the only language one should pick. I usually say, “Well, what do you want to do?” “Well, I want to write a video game for the Xbox.” Okay, well, you're probably not going to do that in JavaScript. “Oh, I want to do data science. I want to write an iPhone app.” JavaScript is the language you should learn if you're going to be doing things on the web, yes, but if you're going to be writing the backend for WhatsApp, then you're not going to do that JavaScript.Corey: This episode is sponsored by ExtraHop. ExtraHop provides threat detection and response for the Enterprise (not the starship). On-prem security doesn't translate well to cloud or multi-cloud environments, and that's not even counting IoT. ExtraHop automatically discovers everything inside the perimeter, including your cloud workloads and IoT devices, detects these threats up to 35 percent faster, and helps you act immediately. Ask for a free trial of detection and response for AWS today at extrahop.com/trial.Corey: Yeah, I think you're right. It comes down to what is the problem you're trying to solve for? Taking the analogy back to human languages, well, what is your goal? Is it just to say that you've learned a language and to understand, get a glimpse at another culture through its language? Yeah, there is no wrong answer. If it's that you want to go live in France one day and participate in French business discussions, I have a recommendation for you, and it's probably not Sanskrit.At some point, you have to align with what people want to do and the direction they're going in with the language selection. What I like about JavaScript is, frankly, it's incredible versatility as far as problems to which it can be applied. And without it, I think you're going to struggle as you enter the space. My first language was crappy Perl—slash bash because everyone does bash when you're a systems administrator—and then it has later evolved now to crappy Python as my language of choice. But I'm not going to be able to effectively do any frontend work in Python, nor would I attempt to do so.My way of handling frontend work now is to have the good sense to pay a professional. But if you're getting started today and you're not sure what you want to do in your career, my opinion has always been that if you think you know what you want to do in your career, there's a great chance you're going to be wrong, but pursuing the thing that you think you want to do will open other opportunities and doors, and present things to you that will catch your interest in a way you might not be able to anticipate. So, especially early on in careers, I like biasing for things that give increased options, that boost my optionality as far as what I'm going to be able to do.Scott: Okay. I think that's fair. I think that no one ever got fired for picking IBM; [laugh] no one ever jeopardized their career by choosing JavaScript. I do think it's a little more nuanced, as I mentioned.Corey: It absolutely is. I am absolutely willing to have a disagreement with you on that front. I think the thing that we're aligned on is that whatever you pick, make sure it's something you're interested in. Don't do it just for—like, “Well, I'm told I can make a lot of money doing X.” That feels like it's the worst reason to do things, in isolation.Scott: That's a tough one. I used to think that, too, but I am thinking that it's important to note and recognize that it is a valid reason to get into tech, not for the passion because for no other reason that I want to make a lot of money.Corey: Absolutely. I could not agree with you more, and that is… something I've gotten wrong in the past.Scott: Yeah. And I have been a fan of saying, you know, “Be passionate and work on these things on the side,” and all that kind of stuff. But all of those things involve a lot of assumptions and a lot of privileges that, you know, people have: that you have spare time and that you have a place to work on these things. I work on stuff on the side because it feeds my spirit. If you work on woodworking, or drones, or gardening on the side, you know, not everything you work on the side has to be steeped in hustle culture and having a startup, or something that you're doing on the side.Corey: Absolutely. If you're looking at a position of wanting to get into technology because it leads to a better financial outcome for you and that is what motivates you, you're not wrong.Scott: Exactly.Corey: The idea that, “Oh, you have to love it or you'll never succeed.” I think that some of the worst advice we ever wind up giving folks early in their career—particularly young people—is, ‘follow your passion.' That can be incredibly destructive advice in some contexts, depending upon what it is you want to do and what you want your life to look like.Scott: Yeah, exactly.Corey: One of the things that I've always been appreciative of from afar with Microsoft has been there's an entire developer ecosystem, and historically, it's focused on languages I can barely understand: ASP.NET, the C# is deep in that space, F#, I think, is now a thing as well. There's an entire ecosystem around this with Visual Studio the original, not Visual Studio Code—turns out naming is one of those things that no tech companies seems to get right—but it feels almost like there's an entire ecosystem there for those of us who spent significant time—and I'm speaking for myself here, not you—in the open-source community talking about things like Perl and whatnot, I never got much exposure to stuff like that. I would also classify Enterprise Java as being in that direction as well. Is there a bifurcation there that I'm not seeing, or was I just never talking to the right people? All the above? Maybe I was just—maybe I had blinders on; didn't realize it.Scott: There was a time when the Microsoft developer ecosystem meant write things for Windows, do things on Windows, use languages that Microsoft made and created. And now, with the rise of the cloud and with the rise of Software as a Service, Microsoft is a much simpler company, which is a funny thing to say for such a complicated company. Microsoft would love to run your for loop in the cloud for money. We don't care what language you use; we want you to use the language that makes you happy. Somewhere around five to seven years ago, in the developer division, we started optimizing for developer happiness.And that's why you can write Ruby, and Perl, and Python, and C, and C++ and C# and all those different things. Even C# now, and .NET, is owned by the .NET Foundation and not by Microsoft. Microsoft, of course, is one of the primary users, but we've got a lot of—Samsung is a huge contributor, Google is a huge contributor, Amazon Web Services is a big contributor to .NET.So, Microsoft's own zealotry towards—and bias towards our own languages has, kind of, gone away because Office is on iPhone, right? Like, anywhere that you are, we'll go there. So, we're really going where the customer is rather than trying to funnel the customer into where we want them to be, which is a really an inverted way of doing things over the way it was done 20, 30 years ago. In my opinion.Corey: This gets back to the idea of the Microsoft cultural transformation. It hasn't just been an internal transform; it's been something that is involved with how it's engaging with its customers, how it's engaging with the community, how it's becoming available in different ways to different folks. It's hard to tell where a lot of these things start and where a lot of these things stop. I don't pretend to be a Microsoft “fanboy,” quote-unquote, but I believe it is impossible to look at what has happened, especially in the world of cloud, and not at the very least respect what Microsoft has been able to achieve.Scott: Well, I came here to open source stuff. I'm surely not responsible for the transformation, I'm just a cog in the machine, but I can speak for the things that I own, like .NET and Visual Studio Community, and I think one of the things that we have gotten right is we are trying to create zero-distance products. You could be using Visual Studio Code, find a bug, suggest a feature, have a conversation in public with the PMs and devs that own the thing, get an insider's build a few days later, and see that promoted to production within a week or two. There is zero distance between you the consumer and the creator of the thing.And if you wanted to even fix the bug yourself, submit a pull request, and see that go into production, you could do that as well. You know, some of our best C# compiler folks are not working for Microsoft and they are giving improvements, they are making the product better. So, zero-distance in many ways, if you look at the other products at Microsoft, like PowerToys is a great thing, which is [unintelligible 00:32:06] an incubator for Windows features. We're adding stuff to the PowerToys open-source project like launchers, and a thing called FancyZones that is a window tiling manager, you know, features that prosumers and enthusiasts always wished Windows could have, they can now participate in, thereby creating a zero-distance product in Windows itself.Corey: And I want to point out as well that you are still Microsoft. You, the collective you. I suppose you personally; that is where your email address ends. But you're still Microsoft. This is still languages, and tools, and SDKs, and frameworks used by the largest companies in the world. This zero-distance approach is being done on things that service banks, who are famously not the earliest adopters of some code that I wrote last night; it's probably fine.Scott: Do you know what my job was before I came here?Corey: Tell me.Scott: I was the chief architect at a finance company that created software for banks. I was responsible for a quarter of the retail online banking systems in North America, built on .NET and open-source software. [laugh].Corey: So, you've lived that world. You've been that customer.Scott: Trying to convince a bank that open-source was a good idea in the early 2000s was non-trivial. You know, sitting around in 2003, 2004, talking about Agile, and you know, continuous integration, and build servers, and then going and saying, “Hey, you should use the software,” trying to deal with lawyers and explain to them the difference between the MIT, Apache, and GPL licenses and what it means to their bank was definitely a challenge. And working through those issues, it has been challenging. But open-source software now pervades. Just go and look at the license.txt in the Visual Studio Program Files folder to see all of the open-source software that is consumed by Visual Studio.Corey: One last topic that I want to get to before we call it a show is that you've spent a significant portion of your career, at least recently, focusing on, more or less, where the next generation of engineers, developers, et cetera, come from. And to that end, you've also started recently with TikTok, the social media platform. Are those two things related, first off, or am I making a giant pile of unwarranted assumption?Scott: [laugh]. I think that is a fair assumption. So, what's going on is I want to make sure that as I fade away and I leave the software industry in the next, you know, N number of years, that I'm setting up as many people as possible for success. That's where my career started when I was a professor, and that's hopefully where my career will end when I am a professor again. Hopefully, my retirement gig will have me teaching at some university somewhere.And in doing that, I want to find the next million developers, right? Where are they, the next 10 million developers? They're probably not on Twitter. They might be a lot of different places: they might be on Discord, they might be on Reddit, they might be on forums that I haven't found yet. But I have found, on TikTok, a very creative and for the most part kind and inclusive community.And both myself and also recently, the Visual Studio Code team have been hanging out there, and sharing our creativity, and having really interesting conversations about how you the listener can if not be a programmer, be a person that knows better the tools that are available to you to solve problems.Corey: So, I absolutely appreciate and enjoy the direction that you're going in, but again, people invite you to things and then spring technical support questions on you. Can you explain what TikTok is? I'm still trying to wrap my head around it because I turned around and discovered I was middle-aged one day.Scott: Sure. Well, I mean, I am an old man on TikTok, to be clear. TikTok, like Twitter, revels in its constraints. If you recall, there was a big controversy when Twitter went from 140 characters to 280 because people thought it was just letting the constraint that we were so excited about—which was artificial because it was the length of a standard message service text—Corey: I'm one of those people who bitterly protested it. I was completely wrong.Scott: Right? But the idea that something is constrained, that TikTok is either 15 seconds, or less than 60, it's similar to Vine in that it is a tiny video; what can I do in one minute? Additionally, before they allowed uploading of videos, everything was constrained within the TikTok editor, so people would do amazing and intricate 30 and 40 shot transitions within a 60 second period of time. But one of the things I find most unique about TikTok is you can reply to a text comment with a video. So, I make a video—maybe I do 60 seconds on how to be a software engineer—somebody replies in text, I can then reply to that text with a video, and then a TikTok creator can do what's called a stitch and reply to my video with a video.So, I could take 15 seconds of yours, a comment that you made, and say, “Oh, this is a great comment. Here's my thoughts on that comment.” Or we could even do a duet where you record a video and then I record one, side-by-side. And we either simulate that we're actually having a conversation, or I react to your video as well. Once you start teaching TikTok about yourself by liking things, you curate a very positive place for yourself.You might get on TikTok, not logged in, and it's dancing, and you might find some inappropriate things that you don't necessarily want to see, or you're not interested in, but one of the things that I've noticed as I talk about my home network and coding is people will say, “Oh, I finally found adjective TikTok; I finally found coding TikTok I finally found IT TikTok. Oh, I'm going to comment on your post because I want to stay on networking TikTok.” And then your feed isn't just a feed of the people that you follow, but it's a feed of all the things that TikTok thinks you're excited about. So, I am on this wonderful TikTok of linguistics and languages, and I'm learning about cultures, and I'm on indigenous TikTok, and I'm on networking TikTok. And the mix of creativity and the constraint of just 60 seconds has been, really, a joy. And I've only been there for about a month and I've blessed to have 80,000 people hanging out with me there.Corey: It sounds like you're quite the fan of the platform, which alone in isolation, is enough to get me to look at it in more depth.Scott: I am a fan of creativity. I would also say though, it's very addictive once you find your people. I've had to put screen time limits on my own phone to keep me from burning time there.Corey: That is all of tempting, provocative, and disturbing. I—Scott: You should hang out with me on YouTube, then. I just got my 100,000 YouTube Silver Play Button in the mail. That's where I spend my time doing my long-form. I just did, actually, 17 minutes on WSL and how to use Linux. That might be a good starter for you.Corey: It very well might. So, if people want to learn more about what you're up to, and how you think about the wide variety of things you're interested in, where can they find you?Scott: They should start at my last name dot com: Hanselman.com. They used to be able to Google for Scott, and I was in an epic battle with Scott brand toilet paper tissue, and then they trademarked the name Scott and now I'm somewhere in the distant second or third page. It was a tragedy. But as an early comer—Corey: Oh, my condolences.Scott: Yeah, oh my God. As an early comer to the internet, it was me and Scott Fly Rods on the first page, for many, many years. And then—Corey: If it helps, you and Scott Fly Rods are both on page two.Scott: Oh. Well, the tyranny of the Scott toilet paper conspiracy against me has been problematic.Corey: Exactly.Scott: [laugh].Corey: Thank you so much for taking the time to speak with me today. I really do appreciate it.Scott: It's my pleasure.Corey: Scott Hanselman, partner program manager at Microsoft and so much more. I'm Cloud Economist Corey Quinn. This is Screaming in the Cloud. If you've enjoyed this podcast, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice, along with a crappy comment that starts with a comment that gatekeeps a programming language so we know to ignore it.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.Announcer: This has been a HumblePod production. Stay humble.
In this episode I spoke with Vijay Nair, software architect and designer, as well as a Domain-Driven Design, CQRS, and ES evangelist. We talked about his experience of learning about DDD, CQRS, Event Sourcing, and later on Axon Framework and Axon Server. Vijay is continuously researching new tools and technologies in the realm of DDD, CQRS, and Event Sourcing. He is a writer for AxonIQ, InfoQ, and other platforms. He has written the book Practical Domain-Driven Design in Enterprise Java. He will soon publish his second book The pocket guide to build applications based on CQRS and Event Sourcing utilizing Axon co-written with Allard Buijze. He is also starting a newsletter this month at LinkedIn that covers his findings, recommendations, and more which we talked about during our conversation. We also talked about Akka and Kafka and whether or not we can use them with Axon. Lastly, we discussed some tools to help design and model systems and projects. To learn more about Vijay and his books visit his website. You can find Vijay's articles on our website and at InfoQ, You can also find Vijay and myself on LinkedIn. You can find us both on Twitter @SaraTorrey @FusionVJ
Deploy Friday: hot topics for cloud technologists and developers
Migrating Java applications to the cloudJava is a popular framework that’s been a foundation for many enterprise applications for over 20 years. But lately, those enterprises have run into trouble: moving their applications to the cloud. This migration promises more security, reliability, and easier scaling, but it can be daunting with an older framework like Java. The host, Robert Douglass of Platform.sh, asks,“With all these older versions of applications floating around in this huge plethora of runtimes and variants, does that make it harder for organizations to “lift and shift”, or to adopt cloud native philosophies?” Speakers from Red Hat, the Eclipse Foundation, and Paerra address the Java toolbox that can help ease this transition.Java toolbox for developersJlink -- A command-line utility which helps modularize your application and makes it possible to build your own JVM Graal.vm -- A compiler that helps existing Java applications run faster, provide extensibility with scripting languages, and create ahead-of-time or just-in-time compiled native imagesTransformer -- An Eclipse project that takes your application to the Jakarta EE namespace so you don’t have to recompileJakarta EE -- The new name and face of Java EE, with all the same benefits: maturity, reliability, stability, and large community. Jakarta EE is a more enterprise-ready, cloud-ready, and microservice-ready version of Java.What should hype up developers about working with Jakarta EE? Ivar Grimstad of the Eclipse Foundation says, “If you want to be future-proof and to be productive right away, you can write less code, less configuration, and less boilerplate to get up and running using Jakarta EE than any other framework.”Make your life easier with Java toolsLaunching Java-built applications to the cloud can be difficult, but developers can minimize bumps by putting tools like Jlink, Graal.vm, Transformer, and Jakarta EE to work. Robert Douglass sums it up: “Stability, backwards compatibility, safety, and boringness are the hallmarks of the Java ecosystem these days, and they are really attractive features when the very act of software development is so fraught with risk.”Launch Java applications from these Platform.sh templates today.Platform.shLearn more about us.Get started with a free trial.Have a question? Get in touch!Platform.sh on social mediaTwitter: @platformshTwitter (France): @platformsh_frLinkedIn: Platform.shLinkedIn (France): Platform.shFacebook: Platform.shWatch, listen, and subscribe to the Platform.sh Deploy Friday podcast:YouTubeApple PodcastsBuzzsproutPlatform.sh is a robust, reliable hosting platform that gives development teams the tools to build and scale applications efficiently. Whether you run one or one thousand websites, you can focus on creating features and functionality with your favorite tech stack and leave managing infrastructure and processes to us.
An airhacks.fm conversation with Daniel Kec (@DanielKec) about: playing games on dell 386dx, playing Commander Keen, wolfenstein, golden axe, hexen, beautiful markup with microsoft frontpage, On the Internet, nobody knows you're a dog, Hot Metal Pro, Net Object Fusion, Frontpage, HTML editors, Adobe Pagemill, NetBeans and IntelliJ IDE, Turbo Pascal at high school, enjoying Transistor-transistor logic TTLs and IC, the problem with CMOS and static charge, transition from Turbo Pascal to Borland Delphi, private, university in prague, Kamenicky Encoding and codepage 895, starting to love Java after Visual Basic experiences, starting with JDK 1.6, xelphi and forte for Java, episode with Jaroslav Tulach, x-definition validation language for XML, the super senior developer, find a bug: Donald Knuth and TeX, writing plugins for Netbeans, inheriting the register of traffic accidents, using WebSphere with wizards and EJB 2.1, migrating to Eclipse and xdoclet, rational developer studio IDE, MDA as solution for generating superfluous artifacts, the great dash dispute, parkinson's law of triviality, transition from EJB 2.1 to EJB 3.0, analyzing logfiles with the R programming language, R runs on GraalVM, starting at Oracle at the Java Architecture for XML Binding (JAXB), Jersey, Helidon team, Daniel Kec on twitter: @DanielKec and on github: github.com/danielkec
In episode 9 of the Vaadin Insider Podcast, Ankurman interviews Simon Martinelli, Founder & Software Architect, 72 Services and Adjunct Professor at Berner University of Applied Science in Switzerland, to discuss: The respective advantages and disadvantages of single-page applications (SPA) and server-side applications A legacy application modernization case study of a 30-year old ERP system originally built on Oracle Forms along with the modern tech stack selection criteria, and The advantages of using Vaadin for rapid web UI development instead of Angular, React or a low-code/no-code development platform and the tradeoffs that came with each of them You can connect with Simon on: Twitter: @simas_ch LinkedIn: https://www.linkedin.com/in/simonmartinelli/ Message to our listeners If you enjoyed listening to this episode of the Vaadin Insider Podcast, we would love to hear from you. You can directly share your favorite lessons on Twitter and ask the topics you would like to learn more about. Just tag @vaadin (or @ankurmans) and who knows we may also extend an invite for you to come to the show and win some free goodies for helping spread the word.
So first, a big Welcome for the "Enterprise Java Newscast" to joining the "Pub House Network", a series of podcast and content created by developers for developers. Everyone is happy about the partnership and we can expect Enterprise Java Newscast great content as always. Joining on this episode is a new pundit, but known in the Java OffHeap podcast world and proud Java EE Guardian, Josh Juneau! Both Kito and Josh waste no time discussing Jakarta EE, Guardians, Microprofile and what it all means for Enterprise Java. We also dive into new platform releases (JDK 13 is out, and JDK 14 is EA). In all a great episode as we kickstart a new season. Stay tuned and subscribe! We thank DataDogHQ for sponsoring this podcast episode UI Tier Lit-html 1.1.2 Other Lit-element Lightning Web Components PrimeNG Liferay Faces Java EE/Jakarta EE Java EE Guardians Survey #3 Discussion - MicroProfile specs as part of Jakarta EE Platform JDK 13 EA build 33 (First release candidate) Available https://twitter.com/OpenJDK/status/1161003889107329024 JDK 14 EA build 9 available: https://twitter.com/OpenJDK/status/1161005037134499841 http://www.jchoice.eu/ AdoptOpenJDK Misc JavaFX 11.0.4 - Will be Released to Gluon JavaFX 11 LTS Customers soon JavaFX on iOS Other: Flutter Discussion JVM Language Summit Talks Conference site GraphQL vs REST Picks 3DBrush AR for iOS Arqullian Events JavaZone Sep 11-12 - Oslo, Norway JakartaOne LiveStream - September 10th, 2019 (discussion) Oracle Code One - September 16–19, 2019 - San Francisco, CA, USA (discussion) Connect.tech October 6-18th Atlanta, GA JFall - Oct 30-31 - Pathé Ede, Netherlands Devoxx Belgium Nov 4-8 - Antwerp, Belgium Related Podcasts Java Pub House Java Off-Heap
A conversation with Elder Moraes (@elderjava) about Java EE at JavaONE, why Java EE at all, enjoying boring stuff, Java EE for pet projects, thinking freely about business problems, no distractions, servlets and JSPs, Java as career choice, Jakarta EE opinions, Oracle's Java EE stewardship, Java EE 8 being late, Jakarta EE should remain boring, Jakarta EE and profiles, an idea for a Jakarta EE profile creation process, Eclipse Foundation and agility, the pace of MicroProfile, thoughts on Cloud Native, Java EE in Cloud Native environments, Sebastian Daschner and successful Java EE careers, Java EE impact on startups, ES 6, TypeScript, thoughts on serverless, future of Jakarta EE, JVM overhead and microservices, GraalVM and Nashorn, JavaONE vs Oracle Code, Java EE 8 recipes in the Java EE 8 Cookbook. Checkout: eldermoraes.com, Elder Moraes and @elderjava.
Kito, Ian, Daniel and Reza cover new Enterprise Java releases, including Jersey, RichFaces, AngularJS, TypeScript, JMS, Akka, Spring, Hibernate OGM, JSF, Scala and more.
Kito, Ian, Daniel and Reza cover new Enterprise Java releases, including Jersey, RichFaces, AngularJS, TypeScript, JMS, Akka, Spring, Hibernate OGM, JSF, Scala and more. They also discuss Oracle’s new Alta UI project, as well as Adopt-a-JSR, JavaOne videos, and more. UI Tier Oracle Ulta UI JSON-P 1.1 JSR JSF 2.3 initial milestone Jersey 2.5 RichFaces 4.5.2 AngularJS 1.3.9 Released Planning AngularJS 1.4 TypeScript 1.4 Released Persistence Tier Infinispan 7.0.2 Hibernate OGM 4.1.1 Services Tier (Middleware & Microservices) JMS 2 errata release Java EE Security JSR Java EE Management JSR WebLogic Maven Repository Akka 2.3.8 Maintenance Release Spring Framework 4.1.4 & 4.0.9 & 3.2.13 released Misc Apache Validator Released Maven 3.2.5 Released Scala 2.11.5 Released Spring Boot 1.2.1 released Spring Session 1.0.0.RELEASE Spring IO Platform 1.1.1 released Spring Batch and Spring Batch Admin Releases Discussion Adopt-a-JSR JavaOne Videos for Free What about the other Java EE 8 launched JSRs? Events Java EE "Hanginar" with Arun Gupta on Java EE/DDD - January 27th ConFoo - Montreal, Canada - February 16-20 No Fluff Just Stuff Boston, MA Feb 27 - Mar 1 Minneapolis, MN Mar 6 - 8 Madison, WI Mar 13 - 14 San Diego, CA Mar 20 - 21 St. Louis, MO Apr 10 - 11 Jfokus - Stockholm, Sweden Feb 2-4th, 2015 DevNexus - Atlanta, GA, USA Mar 10-12th, 2015 (call for papers is open) Additional Notes: JSON Web Token
Typesafe Activator gets you started with the Typesafe Reactive Platform, Play Framework, Akka and Scala. In this deep dive presentation, we'll walk through the rich developer content in Typesafe Activator, and learn how to get started building reactive apps with Play. The Play Framework is a modern alternative to legacy Enterprise Java stacks. It focuses on developer productivity, modern web and mobile applications, and predictable, minimal resource consumption (CPU, memory, threads) resulting in highly performant, highly scalable applications.
Unsupported Operation 76 Snakes are like small childrenOracle ordered to pay Googles Legal FeesOracle Cloud launchedApple/Google(Motorola) case thrown out by Judge - as neither side could proove damages, Judge thru out the case - good to see judges with balls lately - call it “not in the public interest” to continue it.jdk 7u 5Neo4j 1.8M04NetBeans 7.2 introduces TestNGGlu 4.4.0 released ( a month ago ), but I just discovered the project. Looks very nice for coordinated/automated deployments. Video presentation.Kotlin Milestone 2also running on Android ( hello world in kotlin - super awesome 5 line example :), more examples )Cucumber JVM 1.0.9 and Cucumber C++ 1.0Zipkin - an Open Source distributed tracing system from Twitter. cassandra/zookeeper based tracing tool to help performance monitor your systems.Storm 0.8 dev releaseEclipse Juno 4.2RC3 availableZanata - Seam based translation tool for .po files (and other) - sponsored by Red Hat, looks nice.ApacheApache Oozie 3.2.0 released - Hadoop workflow/coordination system with DAGsNutch 1.5 - web search, now based on SOLR instead of lucene directly. Apache Tika and Hadoop involved?Rave 0.12 - AlphaApache Syncope 1.0.0-incubating - Open Source Identity Management for enterprisesHttpComponents HttpCore 4.2.1GA releasedFelix Configuration Admin 1.4.0 releasedApache Jackrabbit 2.4.2GroovyGroovy 2.0 RCMiscAngular goes 1.0Google IO in 2 weeksScalathon 2012 announcedThe tables turn,Enterprise Java is going after SpringNews for organisations that do webdev -PageSpeed Insights 2.0 released, Firefox & Chrome extensions.
The latest headlines in the world of JavaServer Faces and Enterprise Java development.
The JSF and Java EE Newscast, hosted by Kito D. Mann and Ian Hlavats, is a monthly podcast that covers the latest headlines in the world of JavaServer Faces and Enterprise Java development. JAX / JSF Summit 2011 JAX / JSF Summit 2011 Blog Kito’s higlights: JSF 2 Ninja Workshop Mergerspeak site CDI and Seam Faces realize the full potential of JSF (Brian Leathem) Case Study: Functional Programming in Scala with CDI (Daniel Hinojosa) Mobile Ajax Push with ICEfaces 2.0 (Ted Goddard) The Future of Java (Rod Johnson) Web vs. Apps (Ben Galbraith and Dion Almaer) Riot Games party Ian’s highlights: PrimeFaces session JVM Performance Tuning JBoss booth ICEfaces booth Virtua booth :) Free food / beer Riot Games party JAX Innovation Awards New Releases Java 7 Rich Client Faces 1.2.1 PrimeFaces 3.0.M2 Unleashed Hibernate OGM (Object/Grid Mapper) Release Notes - MyFaces Tomahawk - Version 1.1.11 - HTML format Release Notes - MyFaces CODI - Version 1.0.0 Release Notes - MyFaces Core - Version 2.1.1 Release Notes - MyFaces Core - Version 2.0.7 Errai 1.3 Beta Mule Query Language GlassFish 3.1.1 has been released! Java 7 inside WebSphere Application Server 8 Hibernate Core 3.6.6.Final Release Hibernate Core 4.0.0.Beta5 Hibernate Validator 4.2.0.Final Announcing IronJacamar 1.0.0 Weld 1.1.2Final Released JBoss AS 7 Why is JBoss AS 7 so fast? JBoss EAP 6 Early Access Infinispan 5.0.0.FINAL ModeShape 2.6.0.Beta2 HermesJMS 1.1.4 News Bean Validation 1.1 has started: join us New beanvalidation.org site First edition of Oracle’s Java Magazine Ex-Sun Employees and CumuLogic Launch PaaS Beta Wesley Hayes joins the RichFaces team In U.S. Smartphone Market, Android is Top Operating System, Apple is Top Manufacturer RIM to Offer Android Applications this Summer Enterprise Tool News Eclipse 3.7 (Indigo) ICEfaces Eclipse 3.7 (Indigo) IDE integrations now available Eclipse 3.8M1 Brings Java7 Support JBoss Tools 3.3 M2 JBoss Developer Studio 5 Early Access IBM Rational Application Developer 8 Genuitec joins the Rebellion! JRebel for MyEclipse released. JIRA 4.4 Announced JProfiler 7.0 Artifactory 2.3.4 JXInsight/OpenCore 6.2 Released Other InfoQ article: Is it difficult to write REST clients? REST API best practices (Atlassian/Bamboo) Getting started with RichFaces 4.0 Push Better ajax operations and callbacks in JSF with PrimeFaces RichFaces Mobile Design: Day1, Day 2, Day 3 Multi-Templating with JSF 2 : The Story The Top 5 New Features in eXo Cloud IDE Lightning fast portlet development with JRebel Events JavaZone Sep 7-8 2011 Oslo, Norway JavaOne Oct 2-6 2011 San Francisco, CA, USA EclipseCon Europe / Java 7 Summit Nov 2-4, 2011 Ludwigsburg Germany Devoxx Nov 14th-18th Antwerp, Belgium Keep track of events with the JSF and Java EE Newscast calendar XML iCal HTML
The JSF and Java EE Newscast, hosted by Kito D. Mann and Ian Hlavats, is a monthly podcast that covers the latest headlines in the world of JavaServer Faces and Enterprise Java development.
The JSF and Java EE Newscast, hosted by Kito D. Mann and Ian Hlavats, is a monthly podcast that covers the latest headlines in the world of JavaServer Faces and Enterprise Java development. New Releases Release Notes - MyFaces Core - Version 2.1.0 - HTML format - ASF JIRA Release Notes - MyFaces Core - Version 2.0.6 - HTML format - ASF JIRA Release Notes - MyFaces CODI - Version 0.9.5 - HTML format - ASF JIRA Hibernate Core 3.6.4.Final Hibernate Core 4.0.0.Alpha3 release Object User Interface Mapper (OIM): Metawidget v1.15 ICEfaces EE 2.0.0.GA now available ICEfaces 2.0.2 now available News Terracotta bought by Software AG ASF Drops Concurrent Sessions on Tomcat 7 by 95% with New Crawler Valve JRockit is Now Free Oracle Introduces New Java Specification Requests to Evolve Java Community Process Microsoft buys Skype Google open sources WebRTC Updating Java EE in Production: A Report in Three Acts Including a Foreword and an Afterword JBoss World News Red Hat Offers Early Access to Next-Generation Java EE 6 Platform Red Hat Delivers the Platform-as-a-Service Cloud for Open Source Developers Red Hat Introduces JBoss Enterprise Data Grid Enterprise Tool News TeamCity 6.5: Enhanced Integration with Git & Mercurial, .NET Improvements dynaTrace AJAX Edition 3.1 released LiveRebel 1.0 Released JRebel 4.0 Releases Other Gavin King's Introduction to Celyon series JDK 8 Java Module-System Requirements ? DRAFT 12 Events JAX / JSF Summit June 20-23 San Jose, CA NFJS New York Software Symposium June 24-25 New York, NY Agile Conference 2011 August 8-12, Salt Lake City, Utah
The JSF and Java EE Newscast, hosted by Kito D. Mann and Ian Hlavats, is a monthly podcast that covers the latest headlines in the world of JavaServer Faces and Enterprise Java development.
The JSF and Java EE Newscast, hosted by Kito D. Mann and Ian Hlavats, is a monthly podcast that covers the latest headlines in the world of JavaServer Faces and Enterprise Java development. New Releases ICEfaces 2.0.1 now available In Relation To... RichFaces 4.0.0.Final Released!! Release Notes - MyFaces CODI - Version 0.9.4 - HTML format - ASF JIRA Apache MyFaces Extensions CDI - Myfaces CODI Release Notes - MyFaces Test - Version 1.0.2 - HTML format - ASF JIRA MyFaces Test Project - Myfaces Test Framework Release Notes - MyFaces Core - Version 1.1.9 - HTML format - ASF JIRA MyFaces Core JSF-1.1 - Myfaces Core 1.1 Release Notes - MyFaces CODI - Version 0.9.3 - HTML format - ASF JIRA Apache MyFaces Extensions CDI - Myfaces CODI JSF Overview - Apache MyFaces Extensions CDI - Apache Software Foundation Release Notes - MyFaces Core - Version 1.2.10 - HTML format - ASF JIRA MyFaces Core JSF-1.2 - Myfaces Core 1.2 Release Notes - MyFaces Core - Version 2.0.4 - HTML format - ASF JIRA MyFaces Core JSF-2.0 - Myfaces Core 2.0 Release Notes - MyFaces Extensions Scripting - Version 1.0-Final Apache MyFaces Extensions Scripting 1.0 (temporary page) PrimeFaces 3.0M1 Mojarra 2.1.1 Release Notes -- What?s New GlassFish Server 3.1 Final ? Java.net Release Notes - JBoss Application Server - Version 7.0.0.Beta2 - HTML format - JBoss Issue Tracker IBM WebSphere Application Server V8.0 Beta - Overview In Relation To... Hibernate Search 3.4.0.CR2 In Relation To... Hibernate Core 4.0.0.Alpha2 Release In Relation To... Weld 1.1.1.Final In Relation To... Hibernate Core 3.6.3 Release In Relation To... Hibernate Validator 4.2.0.Beta2 Infinispan 5.0 Beta released In Relation To... CDI 1.1 In Relation To... Seam 3.0.0.Final Released Arquillian: Arquillian 1.0.0 Alpha5 - Released - JBoss Community News Announcing CDISource | Andy Gibson CDI JEE6 Pojo Advocacy Red Hat Closes in on $1 Billion in Revenue - InternetNews.com Call for Membership on the JSF 2.2 JCP Expert Group ADF Faces now in Eclipse (Shay Shmeltzer's Weblog) James Gosling joins Google Enterprise Tool News MyEclipse for Spring 9.0: JSF/Primefaces and Spring Scaffolding NetBeans 7.0 is now available Other Raible Designs | Upgrading to JSF 2 Events JUDCon May 2-3 Boston, MA Red Hat Summit / JBoss World May 3-6 Bostom, MA Liferay East Cost Symposium May 10-11 Greater Washington DC JAX / JSF Summit June 20-23 San Jose, CA NFJS New York Software Symposium June 24-25 New York, NY
This is the first episode of the JSF and Java EE newscast, hosted by Kito D. Mann and Ian Hlavats. This monthly newscast covers the latest headlines in the world of JavaServer Faces and Enterprise Java development. General Hudson/Jenkins Hudson's future (original blog post about the split) http://jenkins-ci.org/content/hudsons-future Oracle responds to Jenkins fork http://www.sdtimes.com/link/35290 JSFToolbox for Dreamweaver http://www.jsftoolbox.com JSF Summit / JAX 2011 http://www.jsfsummit.com JSF 2 Component Suites PrimeFaces 2.2 (Feb 6) http://cagataycivici.wordpress.com/2011/02/06/primefaces-2-2-is-released/ PrimeFaces 3.0 due April 11 for CONFESS conference Trailer: http://vimeo.com/18079550 ICEfaces 2.0 (Dec 21st) Intro video: http://www.youtube.com/watch?v=lwOcfdx2XrM JSFCentral interview with Ted Goddard: http://www.jsfcentral.com/articles/goddard-01-11.html PortletFaces bridge 2.0 beta 3 (Dec 16) http://www.portletfaces.org/projects/portletfaces-bridge RichFaces 4.0.0.M5 (Jan 11th) http://relation.to/18042.lace Final version expected in March OpenFaces 3.0 (Nov 3) https://sites.google.com/a/teamdev.com/openfaces-support/updates/openfaces30releasenotes MyFaces Trinidad 2.0 beta-1 (Jan 24) http://myfaces.apache.org/trinidad/index.html Other Mojarra 2.1RC 2 http://weblogs.java.net/blog/edburns/archive/2011/01/28/mojarra-210-release-candidate-2-availabl-1 MyFaces Extensions CDI .092 (aka MyFaces CODI; Jan 16) MyFaces Test 1.0.1 (not officially released, but available) http://myfaces.apache.org/test/ MyFaces Portlet Bridge 2.0 (Jan 14) http://myfaces.apache.org/portlet-bridge/index.html JBoss Seam 2.2.1.Final Demos work in JBoss 6 JBoss Seam 3.0.1Beta1 (Jan 30) http://relation.to/Bloggers/Seam300Beta1Released Weld 1.1.0Final (Jan 17) http://in.relation.to/Bloggers/Weld110FinalAvailable Pete Muir stepping down as project lead
Software Engineering Radio - The Podcast for Professional Software Developers
This is an episode with some more of your feedback. Specifically, the episode also contains a 5 minute section from Geert Bevin where he explains how Continuations are used an implemented in the Rife Framework. This is in response to a discussion about continuations and Rife in Episode 15, Future of Enterprise Java. We also have some feedback from Bill Pugh about flaws in our description about the problems of double-checked locking in Java.
Software Engineering Radio - The Podcast for Professional Software Developers
This is an episode with some more of your feedback. Specifically, the episode also contains a 5 minute section from Geert Bevin where he explains how Continuations are used an implemented in the Rife Framework. This is in response to a discussion about continuations and Rife in Episode 15, Future of Enterprise Java. We also have some feedback from Bill Pugh about flaws in our description about the problems of double-checked locking in Java.
Software Engineering Radio - The Podcast for Professional Software Developers
This is an episode with some more of your feedback. Specifically, the episode also contains a 5 minute section from Geert Bevin where he explains how Continuations are used an implemented in the Rife Framework. This is in response to a discussion about continuations and Rife in Episode 15, Future of Enterprise Java. We also have some feedback from Bill Pugh about flaws in our description about the problems of double-checked locking in Java.
Software Engineering Radio - The Podcast for Professional Software Developers
A very important area for Java are Enterprise Systems. With the advent of new technologies like Ruby on Rails, Java EE 5 or EJB 3 the landscape for Enterprise Systems appears to be changing a lot at the moment. In this episode Markus talks with Eberhard about what Enterprise Java actually is, why and where it is used. Based on that they discuss what the future might look like and how to make Enterprise Java shine in the future.
Software Engineering Radio - The Podcast for Professional Software Developers
A very important area for Java are Enterprise Systems. With the advent of new technologies like Ruby on Rails, Java EE 5 or EJB 3 the landscape for Enterprise Systems appears to be changing a lot at the moment. In this episode Markus talks with Eberhard about what Enterprise Java actually is, why and where it is used. Based on that they discuss what the future might look like and how to make Enterprise Java shine in the future.
Software Engineering Radio - The Podcast for Professional Software Developers
A very important area for Java are Enterprise Systems. With the advent of new technologies like Ruby on Rails, Java EE 5 or EJB 3 the landscape for Enterprise Systems appears to be changing a lot at the moment. In this episode Markus talks with Eberhard about what Enterprise Java actually is, why and where it is used. Based on that they discuss what the future might look like and how to make Enterprise Java shine in the future.