Cover image of VI Shots LabVIEW Audio Podcast

VI Shots LabVIEW Audio Podcast

VI Shots Audio Podcast for LabVIEW

Popular episodes

All episodes

The best episodes ranked using user listens.

Podcast cover

008 VISP Using LabVIEW FPGA on Wall Street

In this episode of the VI Shots podcast I sit down with Terry Stratoudakis who is the CEO of Wall Street FPGA. A company that specializes in the acceleration of trading and financial analytics software using LabVIEW FPGA.This is a new industry in general for LabVIEW and specifically LabVIEW FPGA. I was skeptical at first and a little confused. Where exactly are FPGAs used here? No worries, Terry explains it all to us. By the end of the interview, I was all fired up to find other untapped industries where I could use LabVIEW FPGA.There is a lot of information packed in this podcast episode so you might want to listen to it more than once.PS: Terry will be at NIWeek this year giving an unrelated presentation (TS3261-The Missing Link – 8/3/11 1:00 PM – Rm: 10C). So track him down if you're there.Here are more links to items mentioned in this podcast episode: Wall Street FPGA LinkedIn Group LabVIEW in Finance ni.com Community Group Follow Wall Street FPGA on Twitter VI Shots tip: After the closing music, keep listening for some extra content.


11 Jul 2011

Rank #1

Podcast cover

031 VISP Five Tips to improve your LabVIEW Applications

Do you want to create a better software experience for your customers? Do you want to create maintainable code? Listen to this interview with Fabiola De la Cueva. She's a Certified LabVIEW Architect, a LabVIEW Champion and an influential voice in the LabVIEW community. In this interview, I asked Fabiola to list the five things a LabVIEW developer can do to create a better user experience for their customer. Here is the one opening quote that Fabiola used in our discussion. I highly recommend you listen to the entire episode. Designing the Moment by Robert Hoekman Jr. “Each moment has the potential to increase a user's confidence or destroy his trust in a product or a company, and each one is an important piece of the whole experience. Why? Because the task a person is attempting to complete at any given moment is the most important task to that person, at that moment. It is our job to make sure nothing goes wrong. To make sure that moment is enjoyable and productive, and helps our user feel smart.” Here is a summary of the five tips (more explanation in the podcast): Improve the user experience. Starting all the way from the installer. Make your application user configurable. Don't use geek speak when the software interacts with the user. Develop your code in a moduler, testable fashion Use Source Code Control Links to some content mentioned: Delacor – Fabiola's LabVIEW consulting company Fabiola's presentation at NIWeek Deploy Tool


10 Nov 2013

Rank #2

Podcast cover

013 VISP Running a Successful LabVIEW based Business – Interview With Sixclear

I had the pleasure of talking with Brian Spears and Jassem Shahrani of Sixclear on today's podcast. I had a great time talking about how they got started running their successful business which has LabVIEW as its core. Powered by LabVIEW, if you will. In addition to getting some insights into how they work and collaborate, they also made a huge announcement on the show of a new product they are really excited about unleashing onto the LabVIEW community. Take a listen to find out what it is. *Keep listening after the closing title of the podcast and listen to some bonus content* Here are links to items mentioned in this podcast episode: Sixclear website VI High Video Blog Sixclear on Twitter Sixclear on Facebook (go friend them)


16 Dec 2011

Rank #3

Podcast cover

037 VISP Applying The Agile Software Development Principles

We've all heard of the Agile Software development methodology; but how many of us are actually using these principles while developing LabVIEW code? My guest, John Sextro is an Agile coach and an expert in the field of Agile Software development. Listen to this episode of the VI Shots podcast where I ask John about the Manifesto for Agile Software Development, and we walk through the 12 principles behind the Agile manifesto. This conversation is just the beginning of an exploration of this topic. I'm planning on having John back on in the future to discuss Scrum, which is the leading agile development methodology. I believe LabVIEW is by-design, a language that can thrive within an Agile development environment. You can quickly get software working and data displayed on a UI within a short time frame. I'd like to hear your feedback on this topic. Do use Agile? If not, then why not? Post you concerns and questions in the comments below and John will visit this post to answer your questions. The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 12 Principles behind the Agile Manifesto: Our highest priority is to satisfy the customer through early and continuous deliver of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity–the art of maximizing the amount of work not done–is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Links to content mentioned in this podcast episode: Contact John Sextro on Twitter Agile Evidence – John's website on Agile This Agile Life – John's podcast on Agile iOhYes Podcast


17 Feb 2014

Rank #4

Most Popular Podcasts

Podcast cover

036 VISL Sustainable Careers in LabVIEW

I've started something new here with Jack Dunaway from Wirebird Labs. We've decided to host monthly Google hangout sessions to discuss the business of software engineering with LabVIEW. The first one this month was held on Jan 29th, 2014 and was called: Sustainable Careers in LabVIEW. You can listen to the podcast version of the show or watch the embedded video below. Our guests on our first episode were Christopher G. Relf, chief Architect at VI Engineering (a National Instruments Platinum Alliance Partner). He's also a CLA, CTD, CPI and a LabVIEW Champion. We also had Darren Nattinger, principal engineer, CLA and part of the LabVIEW R&D team at National Instruments. All of the shows can be found at vishots.com/live Google+ show page: Click on Q&A link in the video to view all the questions posted during the live event.


3 Feb 2014

Rank #5

Podcast cover

023 VISP User Interface Design Best Practices

One of the benefits of being a CLA (Certified LabVIEW Architect), is that you get to go to the exclusive CLA summit. This is a yearly event held in Austin and Europe for the purpose of discussing topics and issues affecting LabVIEW developers today. Topics range from LabVIEW frameworks to source code control techniques. Best of all, admission is free with your membership. One very enlightening presentation was given by Joe Silva from National Instruments. In it he discussed some basic UI design principles that can help improve your design right away. I interview Joe in this episode and we highlight some of the topics in his presentation. We also discuss some of the struggles LabVIEW developers face in developing good UI designs. – If you want to catch Joe presenting, you can see his session this year at NIWeek 2013 Joe had a list of recommended reading in his presentation. Here is the list: Universal Principles of Design Envisioning Information The design of everyday things Links to content mentioned in this episode: Edward R. Tufte – Noted for his writings on information design and as a pioneer in the field of data visualization. The NIWeek Conference Podcast NSA Powerpoint slides, before and after. Designed for better comprehension and data presentation:


17 Jun 2013

Rank #6

Podcast cover

006 VISP Mentoring a FIRST Robotics Team

In this episode of the VI Shots LabVIEW podcast I chat with Crystal Drumheller from W.L.Gore and Associates in Flagstaff Arizona and Justin Goeres from JKI. Before Crystal worked for her current employer, she worked for National Instruments. That's where she got the LabVIEW bug and hasn't looked back.Both Crystal and Justin mentor FIRST Robotics teams and they both participated with their teams in the FIRST championship in St. Louis, Missouri this past April. Have you ever wondered about being a mentor for a local FIRST robotics team? Listen to this podcast to find out first hand from these mentors.Also, listen to find out how Justin ended up with a bloody head wound during the championship.Here are links to items mentioned in this podcast episode: Crystal's Team 2486 Justin's Team 3459 Find a local FIRST team to mentor


31 May 2011

Rank #7

Podcast cover

017 VISP Are you a LabVIEW Hacker?

I had the pleasure of  interviewing Jeff C Jensen, who is a Senior Lead User Manager for Embedded Systems at National Instruments. We had a very interesting discussion about some of the work he's done with various students and NI employees to interface computers with everyday consumer devices using LabVIEW. All of the work can be found on the LabVIEW Hacker website listed in the links below. We also talked about some of the challenges facing software developers in the embedded space. Links to content mentioned in this episode: LabVIEWhacker.com website Some of the content: AR Drone MindShark ez430-chronos Kinect Science in the pub embedded video below:


15 Oct 2012

Rank #8

Podcast cover

018 VISP Monitor and Control LabVIEW with the Mobile Data Dashboard App

National Instruments has been exploring the mobile space for a couple of years now. They started off with simple utility apps such as the Service Request tracker and NI device pinout documentation tool. They released a mobile app last year which allowed you to view data on an iOS and Android device in a limited fashion. Now with data dashboard 2.0, they've come out with a full featured app to let you not only monitor, but control your remote LabVIEW application. In this podcast, I interview Grant Heimbach, the data dashboard product manager. We explore some of the capabilities offered by this new free mobile application and how it can help LabVIEW developers extend their reach into the mobile space. Links to content mentioned in this episode: Mobile Technology for Measurement and Control Smartphones, Tablets, and Mobile Devices Community iTunes Store Page Google Play Store Page


29 Nov 2012

Rank #9

Podcast cover

027 VISP LabVIEW Component Oriented Design with Steve Watts

I had the pleasure of interviewing Steve Watts. I recorded this interview back in February, but only now had a chance to publish it. Steve has been writing industrial software for more than 25 years and began programming with LabVIEW in 1998. He is the co-owner of SSDC Ltd (Structured Software Design Consultants). His book, entitled “A Software Engineering Approach to LabVIEW” has achieved worldwide success. Some of the principles described in the book (LCOD) are still used to this day and are the easiest way to implement modular componentized reusable code. The design pattern is also know today as an action engine. Links to Items mentioned in this podcast: Steve's Company SSDC ltd. Book: A Software Engineering Approach to LabVIEW Steve's Blog: Random Ramblings in LabVIEW Design


11 Sep 2013

Rank #10

Podcast cover

019 VISP Extending LabVIEW to the Web with LabSockets

I had the pleasure of interviewing John Bergmans from Bergmans Mechatronics. He's been working with websockets and LabVIEW over the past few years and has evolved his knowledge into a product he calls LabSockets. From his website: The LabSocket System enables LabVIEW applications to be monitored and controlled remotely using a web browser. The system operates without browser plug-ins, making it suitable for use with a wide range of desktop and mobile browsers. The system is easy to use and requires no knowledge of web programming languages such as HTML or JavaScript. Listen to the interview to find out more about LabSockets and see if it can help extend your own LabVIEW app, and allow it to be controlled via a web browser interface. LabSockets Website Follow John Bergmans on Twitter Bergmans Mechatronics


17 Dec 2012

Rank #11

Podcast cover

029 VISP Effective LabVIEW Programming. New Book by Thomas Bress Helps you Pass your CLD

Thomas Bress is the author of a new book out on LabVIEW called: “Effective LabVIEW Programming”. This book was released recently and in this episode of the VI Shots podcast, I interview the author, so we can get a better understanding of how it can help you transition from the CLAD level of certification to the CLD level. Thomas has managed to create a valuable resource for anyone that wants to transition from a basic LabVIEW coder, to a professional LabVIEW programmer that can handle complicated software project requirements. He spreads proper coding techniques and best practices throughout the book. This is knowledge that would take someone years to master on their own. I highly recommend this book for any beginner to intermediate level user who wants to take their skills to the next level. Links to content mentioned on this episode: How to become certified in LabVIEW Preparing for the CLA Summit Purchase this book – “Effective LabVIEW Programming” Leave Feedback and Subscribe to us on iTunes


7 Oct 2013

Rank #12

Podcast cover

024 VISP Humility and the LabVIEW Programmer

I've long anticipated this interview with Brian Powell. The impetus for this interview was a series of blog articles Brian wrote recently. BTW, I suggest everyone go to labviewjournal.com and read the entire series he wrote there. Brian of course is well known as one of the original team members that helped bring LabVIEW 2.0 to market as a software engineer. His vast experience with working with LabVIEW teams shows in this interview, which is packed with wisdom. We discuss the following topics: Humility and why that's a good character to have. Why code reviews are essential and how to do them. The importance of clarity in your software Simple or Scaleable, are they conflicting requirements? Visit LabVIEWJournal.com for more.


2 Jul 2013

Rank #13

Podcast cover

003 VISP Justin Goeres – CLA Summit

In this 3rd episode of the VI Shots LabVIEW podcast. I sat down with Justin Goeres and we chatted about the NI 2011 CLA (Certified LabVIEW Architect) summit, we both attended, which happened in Austin March 7-8. Justin gives us a run down of all the reasons why you should be attending next year if you are a CLA. I also play a funny clip of Justin discovering an event structure “bug” that caught him and others at the CLA summit by surprise. I ask Justin about how he got his start in LabVIEW and how he almost became a PLC programmer! We also find out what Popcorn, Twitter and LabVIEW have in common. Here are links to items mentioned in this podcast episode: CLA Community on ni.com LAVA Discussion on Justin's Event Structure bug (video). Popcorn Tweets video JKI State Machine As always, discussion is encouraged. Please leave a comment on our site or send an email to feedback@vishots.com Show Transcription: Michael: Hello everyone and welcome to this episode of VI Shots. My name is Michael Aivaliotis and this is the podcast devoted to the world of LabVIEW. With each episode, I bring you interviews, discussions, and share with you ideas for how you can take your LabVIEW development to the next level. Well thank you all for joining me for this third episode of the VI Shots podcast. Today, I bring you an interview I did with Justin Goeres, who is a senior engineer and product marketing manager at JKI. But before we get into interview, I'd like to play for you an audio clip I recorded a few weeks ago at the National Instruments CLA Summit, which took place in Austin, Texas between March 7th and 8th. I was there with Justin attending this awesome event. Justin did a presentation where he shared how JKI does interprocess communication. So I’m playing this clip actually directly from my iPhone. This is actually an interesting, a cool idea I don’t know if anyone has thought about this but you can actually use the voice memo feature on your phone and just use that for recording audio at any conference or seminar you may attend. So a little bit of background, Justin had been battling some technical issues with the event structure and when I’ll interview Justin, he’ll go into more details about this. This is just right before Justin discovers at the CLA summit that why he’s having this problem and it’s actually someone from the audience that points that out. So let’s take a listen. Justin: What this means or one other aspect of this is public events are inherently one to many, right? You can generate the event but anybody can register for those events, anybody can register for that event. And as I think it should be clear, the process VI doesn’t know who these guys are or how many of them they are or if they exist at all. One cool feature of the LabVIEW user event backend system is that basically when you pass that cluster of user event refnums into a user event registration node and then hook that into an event structure, any event refnums that don’t have a corresponding case in the user event are basically de-allocated in the background. So you can attach that wire for all of the event refnums and ones you don’t use, don’t create bloat or leaks or process overhead because they’re just not generated like magic. Steen: You just have to understand that they reset the timeout. Justin: They do what? Steen: They reset the timeout you know even though they are not handling the instruction. Justin: Is that why my event structure isn't timing out? They do? Say it again? Okay. What Steven suggested is that if you have an event structure that’s registered for, sorry, if you have a cluster of (we’ll do it with two) with two user events wired into an event structure and the event structure has a case to handle one of them but not the other. And then somewhere else, something else generates the other event, the one you’re not registered for that won’t be handled here but he’s saying it will reset the timeout counter on that user event. Stephen Mercer: Yes Stephen Mercer: Why did you register it for then? You’ve said register for it. Justin: Oh my god. In all honesty, that might be my problem. Okay let’s move on anyway. Stephen Mercer: What other behavior would you want, given that you did say register to hear about it? Fabiola: But you’re not using it. Justin: Actually I’ll tell you why I do. I do that because I thought, and have thought, that it was an awesome feature of LabVIEW that I could just only create a frame for the things I wanted to receive and that I thought something really cool was happening. Actually furthermore, I would suggest that that is a really hard behavior for me to figure out because all I have is an event structure in my code with a timeout value attached to it, but never times-out and I have no way of inspecting the State queue to find out what’s happening. Michael: Okay so having played that I introduce to you Justin. Hello Justin. Justin: Hey Michael. Michael: So I hope you heard all that. Justin: I did hear all that. I remember it as though it were two weeks ago and that’s why everyone should come to the CLA summit. Everyone who’s a CLA. Michael: Case closed. Justin: Case closed. That was a watershed moment in my LabVIEW career right there. It was a whole series of dominoes that fell just with that offhand comment that someone else made that just clicked. Michael: I’d like to mention just for the record that it was Steen Schmidt from CIM Industrial System that was in the audience. Justin: Yeah I called him Steven but I misread his name tag. Sorry Steen. Michael: Basically Steen was nonchalantly you know just laying back and say yeah you can do that but you just have to understand that they reset the timeout and you’re like what?. Justin: And now I do understand. Michael: And then after that you know a whole slew of discussion ensued which it goes on and on and on, but actually that night and the next day as well. Justin: Yeah it actually turned into a very interesting discussion that got into sort of language semantics and how the core of LabVIEW works and all kind of neat stuff and it turned out to be a pretty cool discussion on LAVA too. I no longer have an opinion on it. I’ve recused myself from what is right or wrong. I just wanted to have proper expectations. Michael: I guess this is a good advertising for the CLA summit and I mean I guess you got a lot out of it. Justin: I absolutely got a lot out of it. I wasted more hours dealing with that bug prior to the summit almost than I spent in the summit in its entirety. I lost a lot of, there was a lot of head scratching and several new dents in my forehead from hitting it on the desk dealing with that, but the CLA summit took care of it. Michael: So you presented basically how JKI does interprocess communication. Can you I guess wrap that up in a nutshell as to what does entails? Justin: Sure. The theme of the CLA summit this year was interprocess communication and the motivation for that was basically that we’re all CLAs and we all have these different templates that we’ve all developed for communicating information back and forth in a highly parallel, modular, large applications that we develop. JKI has a set of templates. I didn’t develop them. They’ve sort of grown organically within the organization over the last several years for doing this and our design is based almost entirely on custom user events that are you know handled in the event structure and we use some neat aspect of the user event handling subsystem in LabVIEW to sort of wrap it all up in a nice API and pass information back and forth. And we think it’s a fairly unique design and so I was doing a presentation in the CLA summit about how JKI solves the interprocess communication problem. Other people use queues you know you could use local or global variables, you could use functional globals. There’s a thousand different ways to solve this problem. Ours uses user events so I was sort of presenting that to the community of CLAs. Michael: The whole interprocess framework is based on the fact that you bundle into the event registration, several events but actually you’re not necessarily creating event cases for all those events and only for the ones you need, and therefore that’s what sort of brought out this bug, this issue. Justin: Yeah exactly. There are lot of neat thing you can do. A lot of people have not experimented with user events and sort of the way to register for events now it works can be a little tricky and confusing. But it turns out that you can create you know custom user events using the create new user event reference primitive or whatever it’s called. And you can bundle those together and then wire the entire bundle into an event registration node so that you don’t have to wire in you know five or 10 or 30 individual event refnums. You can just wire in the whole bundle. We thought at JKI that that was a cool sort of shorthand way to get a lot of functionality in a small amount of code but it ended up having this consequence that we didn’t realize. But many people didn’t realize and we we’re among them. Michael: Personally, I actually made the statement later coming back to JKI that you know I would even forego going to NIWeek if I could just go to CLA summit. Justin: It was pretty valuable and it was fun because the thing about NIWeek is it’s so big and there are so many people there that you only get to see sort of online maybe in the forums or in the forum communities, LAVA and the NI forums, and things like that. But you only get to see them you know for two or three days a year in Austin in August and it’s so hectic and the crowds are so big and there’s so many presentations to go to. One neat advantage of the CLA summit, I didn’t go last year, this is my first summit that I’ve gone to. One huge advantage is that it’s sort of slower and the crowd is a lot smaller.There are only maybe 50 people there, 50 CLAs, and maybe 10 or 15 NI people involved, but it was a lot slower and smaller and so there was a lot more opportunity to sort of connect with people; both personally and in a technical way. Michael: You actually put a post on the JKI blog about this called “five reasons you shouldn’t miss the CLA summit next year”. I pulled it up here. It says other CLAs will explain LabVIEW bugs to you. Justin: Bugs is in ironic quotes. Well that refers to the surprise event structure, non timeout issue. In the blog post there’s actually a link to the LAVA discussion. My initial take on it in the moment was it was a bug which is a reaction I would still stand by because the behavior clearly violated what I think were pretty reasonable expectations that I have developed but the way LabVIEW works is a language, but after a lot more discussion and some more explanations from different NI engineers, I’ve sort of tempered my opinion on that and so now I just put bugs in quotes because that was how it felt like to me at first. Michael: Number two on your list you have NI will ask you what you think. Justin: Yeah this one was one aspect of the summit that I really didn’t expect that was really cool. And I say in the blog post it’s no secret that sometimes CLAs feel like NI doesn’t get it with respect to advance developers and I don’t mean that as a dig at NI but the fact is that anyone out there who is a CLA or even a CLD and maybe some people who aren’t certified at all. Sometimes it’s hard to feel like the feedback or criticisms you have about LabVIEW or about NI’s products gets to the right people all the time and without taking the position or whether or not that’s true. I can tell you that at the CLA summit there were a lot of really interested LabVIEW R&D and LabVIEW product marketing, LabVIEW product management and even executive level individuals who where there specifically because they valued what’s going on and they wanted to get feedback. And that was a really cool thing to see. Michael: Well I guess i’m going to jump to number five because it’s kind of related. You might get to give a presentation to Dr.T and Jeff K. Justin: Yeah. Another extraordinarily surprising thing was that Dr. Truchard and Jeff Kodosky both spent a lot of time at the CLA summit and I was not surprised to see them show up but I was surprised that they spent as much time as they did and I had a nice conversation with Dr. T about some NI marketing data and market research that they’ve done and I did not get the chance to talk to Jeff. I don’t know if he sat in in my presentation. I don’t know what his opinion on the bug would be. In fact, he probably wasn’t there or we would’ve asked him. But in general, they were really there a lot of the time and it was really cool to see them engaging the CLA community like that. Michael: Just so people who don’t know Dr. T is, he is president and CEO and co-founder of National Instruments and Jeff K has the title of being the father of LabVIEW because he basically invented LabVIEW which gives us our jobs, 9-5 jobs. Justin: Gives us a podcast. Michael: And the podcast. Let’s see going through your list, number three, you confirm that you’re not an idiot. Justin: One common thing that I think everyone will relate to as a serious software developer is that you spend a lot of your life feeling like you’re not very good at what you do because the problems you’re solving are sort of by definition hard. If they weren’t hard, there will already be a library or you know a VI package or something out there to solve them already or your organization would already have a reuse library for them. And so the fact that your job is hard just means that you’re solving hard problems and one of the really cool aspects of the CLA summit was that we were there to talk about this sort of very canonical issue of interprocess communication. I have two loops or three loops, or 10 loops. How do I pass information between them? It was really interesting to see all these other you know talented, very skilled people with very deep background in software engineering and LabVIEW and all kinds of disciplines, all struggling with exactly the same problems and solving them in very different ways. It sort of reflect their particular needs in whatever the work they do day to day is but it’s sort of edifying to see that because that means when I’m sitting at my desk banging my head on it because my event structure isn’t timing out. I’m probably not the only person in the world that’s confronting this issue and there isn’t sort of a cook book recipe to go to. It’s just that interprocess communication is kind of tricky and as a sort of ecosystem you know all the LabVIEW developers in the world haven’t settled on a good solution to it yet and so it’s nice to see that that other people struggle. Michael: Finally, you have you’ll get to talk to people you normally only see. Justin: This gets to what I mentioned earlier about the CLA summit being sort of a smaller, more intimate place. My little heading there is not perhaps the most clever thing I’ve ever written but what I wanted draw attention to was at NIWeek you say all these people and maybe you end up Facebook friends with them or you say let’s connect on Linkedin or you use your little Bump app on your iPhone to exchange mobile phone numbers so you can text each other snarchy comments during the NI week keynotes. Michael: It’s that a sneak peek to what’s going on in NI week? Justin: That’s completely hypothetical and I made it up. I have no further comment on the advice of my lawyer. But you know the CLA summit was really cool because I actually got to sit down with some of these CLAs that you normally meet in passing or maybe you know have a beer with at NI week but you don’t get to sit down and have a really technical talk, and it was nice to do that. Michael: It seemed like even after the presentations were over, people just kept talking about the topics of the presentation and other architectural issues as well. Justin: Exactly. Michael: Is that you clicking over there? Justin: Sorry that’s me. I had to let the cat out of the closet if you heard banging in the background in the last few minutes. In fact, go ahead and put this in the podcast. If you heard banging around in the background for the last couple of minutes, it’s because my cat was trapped in my office closet. Michael: How far back does your career with LabVIEW go? When did you actually get started and how did you get started? Justin: I got started with LabVIEW the same way a lot of people do I’ve found, which is that someone handed me with a box with the LabVIEW logo on it and said here figure this out. Michael: You’ve been listening to Ben’s podcast. Justin: I’ve had and actually that really resonated with me. Ben if you’re listening, you and I have sort of similar stories that way. I was in graduate school at Iowa State in the Mechatronics and Robotics laboratory there ran by Dr. Greg Luecke. I was actually I teaching assistant for a brand new and I think I have this right, I forget if it was this course or a different but I think it was this one; a brand new mechatronics course that they were rolling out. This would have been fall of either 1998 or 1999 and I was tapped to teach this lab and I was like okay that sounds good you know. What do I have to do? And it was something we were doing for the first time so the lab syllabus was pretty sketchy and not really complete. And we’re going to be doing some data acquisition and control, probably built some PID loops I don’t know write some numbers to a file or something. What are we going to do that with? Well he handed, as I remember he literally handed me the LabVIEW 4 box and said we’re using this and I said what’s this? He said something with the effect of I don’t know but I guess you’re going to have to figure it out. Ben described in his podcast interview described a stack of you know 25 3 1/2 inch floppies, I actually don’t remember that. Maybe it was already in all of the machines because one of the techs had done it. I forget, but be that as it may, it was either a LabVIEW 4 or 4.1. I had to teach a lab course in it so one of the lab managers who apparently have done a little bit of LaBVIEW and so was sort of known as the guy who knew how to make the wires sat me down for a couple hours and sort of walk me through how to build a VI. I don’t remember a single specific thing that he taught me, nor do I exactly remember what we used LabVIEW for in the class; although, I remember working with some students who didn’t understand the while loop very well so I remembered teaching someone about that. Michael: The fact that it always iterates at least once. Justin: Yeah they probably. It might have been that. They probably had their indicators outside the loop or something and then we’re wondering why they didn’t update you know classic problems like that. And so I bumbled and muddled and stumbled through this class and came out of graduate school with a background in control theory. I thought I was going to be a PLC programmer and ended up getting a job with a company in California and later became a National Instruments alliance company that was doing custom automation system for the semiconductor industry particularly gas delivery. The plan was for me to become a PLC programmer but they had a LabVIEW project that needed to be worked on. Michael: Ouch, PLCs! Justin: I think all is well and ends well you know. So they hired me because I had a line at the bottom of my resume that said well I have a resume that said PLC, control theory, automation something. By the way LabVIEW, it was down there, it was in a paragraph with like computing proficiencies and it was like Microsoft Office and Math Lab, and Mathematica and Lotus notes and whatever I thought was, whatever program that I had touched that you stuff in your resume in grad school. And one of those was LabVIEW because I had touched LabVIEW at some point so that me an expert as far as someone reading my resume knew. And so they hired me to sort of clean up on this LabVIEW project that they we’re in the middle of and then maybe transition into PLC development and that was followed by another LabVIEW project and another LabVIEW project and another and after a little while, we just gave up looking for PLC projects and became a LabVIEW company. That’s how I ended up doing LabVIEW profesionally in an alliance company after that I consulted independently for a while and now I work for JKI. Michael: You and I crossed paths as well along the way. This was before you started working for JKI and this is kind of how I met you. The fact that you were working on a project and you had to actually leave the company and do something else and then instead of leaving the customer hanging, you decided to do this transition with the project would be handed to JKI. When we did the handoff meeting, actually I wasn’t there to be fair it was Jim and Philippe from our company so and I guess they were doing the interview and understanding how the code works and they were several questions about you know where’s documentation in the code? What’s your exact response to that? Justin: I have to say this specific moment that Philippe likes to bring up and anybody who goes to NI week can ask either of us for this story because we both like telling it but I don’t remember it exactly how everyone else does. But what I’m accused of saying is that I don’t comment my code because I think I write it so well that it documents itself. It’s something along those lines and what it amount to basically was I used Unbundle By Name and therefore I don’t need to comment my code. I honestly if I remembered saying that I would admit it, I may have said it. I don’t specifically remember it but that was pretty terrible code to be perfectly honest. Looking back now, that was pretty terrible code and actually maybe this would resonate with people too. That was a very long project. It was a situation which happens to a lot of developers, not just in LabVIEW. But where I was really thrown in over my head and had to make this, had to build this giant, not giant, but very large application, did automated testing of semiconductor gas delivery panels from scratch, and it was by far the largest application I’ve ever done. I was thrown into the deep end all by myself and I had no mentors or anything to sort of give me an architecture. And so you could see if you knew where to look in the code, you could see the evolution of my programming as I sort of dealt with a larger and larger problems like when the project first started I was in that phase of life when I was like in love with global variables and then at some point I discovered that I could build functional globals and so then I stopped using; so part of the program used globals and then a whole other part used functional globals. And then at some point, I discovered references. Michael: Control references. Justin: Control references. And so I started rather than using controls and indicators for everything, I started basically doing everything by reference and Michael you’ve seen the code I mean you could attest, I did everything by reference. Michael: Why not? Justin: Yeah exactly. Because it’s the classic you know wow this is a very pretty good hammer now everything looks like a nail. There were some other evolutions that took place too, I forget what they were but I used to have four or five phases in my head. Michael: Well the interesting one was when you had control references inside of functional globals. That was kind of cool. Justin: Did I do that? I don’t even remember that one. Michael: I don’t know. I guess it was kind of to reuse the references or something. Justin: Yeah I’m sure it was clever at that time and I’m sure it solved some local problems. Michael: But in all honesty, I have to give you credit that that was a pretty complicated application for someone who’s new to LabVIEW because I believe at that time that was kind of, you were still learning and I mean you were still growing as a LabVIEW developer. Justin: That was my second, no that was my third major project as a LabVIEW developer and it was by far the largest like major is kind of in quotes. It was probably the first truly major project. Everyone's got skeletons in their closet. Michael: Yeah and that’s the one. But I mean it turned out fine. I mean there’s been some refactoring over the years but just to understand the enormity of the project. It’s just so enormous that we can’t get rid of your old code. Justin: Exactly. We still haven’t refactored it all the way. Michael: I know you worked on somehow combining LabVIEW and popcorn with Twitter and I know that sound kind of strange but considering that you created a video that went viral. Justin: I did. I’m one of those people that has enjoyed 15 minutes of at least minor internet fame in my lifetime. This is a year ago now. A friend of mine and I here in North Carolina discovered an online contest from a gourmet popcorn company in Wisconsin and they were running this contest. Show us your most creative way to pop America’s favorite snack being popcorn and so the way the contest work was you’re supposed to make a video of some creative way to pop popcorn and post it on their Facebook page. And then whoever’s video got the most likes over the course of the contest would win popcorn, right? So my buddy Dave and I were skyping each other and we’re like how are you going to win this and we came up with this idea to pop popcorn using Twitter. Long story short, over the course of really about two days because I was on travel for work and we had trouble getting our schedules linked up and there wasn’t much time to finish the contest. We built a lego, mindstorms-powered robot that ran on LabVIEW and it listens on Twitter for tweets that have the word popcorn in them and everytime it discovers one it pops, it dispenses a little bit of popcorn into an air popper and when the popper’s full, it turns on the air and it pops popcorn. We thought this was pretty cool. We made a little video of it, threw it up on their Facebook page and we ended up winning the contest, which was kind of neat. Not only did we win the contest, the video got picked up by Mashable, one of the big social media networking sites, who else did it get picked up by? Mashable and Engadget. It got picked up by Engadget both on Superbowl Sunday actually. From there it went really big, tweets everywhere with the word popcorn in them. We didn’t do a million views. I think we did over 25,000, which is no slouch. The popcorn company saw a several percent increase in their sales that month that they’d attributed to the video. NI ended up inviting me to setup the machine on the floor at NIWeek in 2010 and to do a presentation about how I built it and how we made it a success and all that. So that was a really cool experience and it sort of continues to this day. People ask me about it. I’m sort of the popcorn guy. Michael: Yeah so the cool thing about that is it kind of combined several different elements in one. For example, there’s sort of NXT mindstorm element of it. There also the fact that you’re using the JKI State Machine, which is promoting you know one of our toolkits. So there’s Twitter which is another anything with the word Twitter in it is really popular. So you combined all those things into one was I think kind of cool and helps sort of promote JKI and yourself and LabVIEW and a whole bunch of other things. Justin: Right. It was a good illustration and this is something that I talk about in the presentation I do about it of really the benefit of being active and involved in online communities, for instance, the Twitter code that I used, I didn’t write it, I stole that off LAVA. Someone had posted an example there which was actually an evolution of an example posted on the NI forums by Christian Lowe and so I was able to incorporate that code into my program and within just minutes have the Twitter part working and then because I have the mindstorm set laying around which I won at NIWeek a few years ago, I knew that I’d be able to use that as motor controller and I absolutely i had absolute confidence that I’d be able to control that from LabVIEW so I have these things in my head right away and I knew that I could stitch them together. But the reason I knew that is sort of because I hang out in the forums and talk to people and read threads. So I knew a little bit about mindstorms event though I’m not a professional mindstorms guy and I knew that there were some Twitter codes out there and I knew I had the JKI State Machine templates, which you know it’s a coincidence that I happen to work for JKI. That could have been anybody’s state machine template and so we were able to stitch together really quickly. Make the video, upload it, and sort of get the word out to our friends on Twitter and LAVA and the NI forums, you know e-mail all our parents and grandparents and aunts and uncles and make them go vote for it. And really sort of stoked this network very quickly, which then is part of sort of the larger point that I like to make about how to use social media but more importantly how to sort of build potential in social media so that you can activate it when you need to if that doesn’t sound too exploitive. Michael: You can call upon the masses. Justin: Yeah exactly. You can marshall your personal army to go click a like button for you. You know VI Shots probably has that power, right? If you told people to go like something, you know you could probably move the needle. Michael: Yeah. I don’t know if we have power yet. We have some followers. You know speaking of the JKI State Machine which you know you spoke of that you use it for the popcorn tweets. Why do you think that’s so useful? Justin: The risk of making this sound of a commercial from JKI, I think quite the JKI State Machine has resonated with people is basically because there is a lack of good templates available sort of in the community for LabVIEW. But I think the thing that really resonates is that it’s a pretty good template. It’s very easy to use. It takes a couple approaches to things like using strings to drive the state machine rather than enums that are a little bit against the grain in terms of how things are traditionally done but turns out to have a lot of good advantages. And I guess I would say that it succeeds because it’s easy for people to try it out. It’s sort of seductive, once you start using it, you’ll find that it actually is kind of fun and easy to use and on top of that it’s free so you know you can feel free to spend you own time inventing your own wheel or you can just use ours for free. Michael: I think that’s it for this interview. Justin I’d like to thank you for stopping by and visiting our VI Shots studios or actually you’re not in the studios. Justin: I’m in my office in my home in Cary, North Carolina. Michael: Again thank you Justin for visiting. Justin: It has been my pleasure. Thank you. Michael: So thank you everyone for listening to this episode of VI Shots podcast. If you want to leave feedback on this and future episodes of the podcast, I encourage you to visit our website vishots.com. We also have a telephone number which so far nobody has called yet but if you want to call and leave a voice mail for any guests that we’ve had in the past, we will actually bring the guest on again in future episodes. So if there’s a question that you wanted me to ask them that I didn’t ask, please leave a voice mail and I’ll play it back next time our guest is on the air. Also if you have any LabVIEW questions, feel free to post those through our e-mail: feedback@vishots.com or through the phone number which is 888-788-5778. Thank you for listening and bye for now.


20 Apr 2011

Rank #14

Podcast cover

022 VISP Build, License and Track your LabVIEW Application with BLT from Studio Bods

In this episode, I interview Matthias Baudot from Studio Bods. He's started a new company that just announced a product on the LabVIEW Tools Network called BLT for LabVIEW.From the LabVIEW Tools Network Description: License your own LabVIEW application in a few clicks – no coding required Automatically (and remotely) update your applications when you make changes in your LabVIEW code Automate the build process for your LabVIEW executables Get user activity reports and error logs so you can remotely debug your program Use BLT scripting to remotely execute actions on a deployed computer, e.g., update LabVIEW RT Engine Disable parts of your code with features definitions Links to content mentioned in this episode: Studio Bods website BLT for LabVIEW demo video LabVIEW Tools Network


3 Jun 2013

Rank #15

Podcast cover

004 VISP LabVIEW Quickdrop with Darren

In this episode of the VI Shots LabVIEW podcast, I have Darren Nattinger of National Instruments back to chat about his favorite feature of LabVIEW – Quickdrop. Darren is not new to this podcast. I had him on the show back in episode 002 where he gave us some interesting insight to his background and his unique role at NI.Did you know that Quickdrop was written using LabVIEW? It's true, which would makes sense since Darren programs exclusively in G. There are also several other interesting and useful tips Darren lays down in this episode, including ways on how to make using quickdrop even faster with Quickdrop shortcuts.Something that was discussed in the show are Quickdrop plugins. Since 2009, there are a few plugins that ship with LabVIEW. My favorite is the one that moves control labels on the diagram from above to the sides using .Here are the links to items mentioned in this episode: Quickdrop Overview Quickdrop Enthusiasts Community Quickdrop ini tokens


2 May 2011

Rank #16

Podcast cover

032 VISP Interview with Christina Rogers – LabVIEW R&D

Christina Rogers is a software engineer in the LabVIEW R&D group. She primarily works under the hood of LabVIEW adding much needed features and capabilities using C++. Sometimes she dives into G code, as she did to implement the LabVIEW Getting Started window. She's worked on features that you may have not noticed. In this interview we go into some of those features and uncover a cool LabVIEW ini token that I think a lot of users will find helpful in their daily coding. We also discuss the new bookmarks feature just released in LabVIEW 2013, which is pretty awesome. I hope you enjoy this interview as much as I did. Leave me a comment below and tell me what you think of this episode, or if you have any questions. You can support this podcast by subscribing on iTunes (for iOS) or giving us a rating and review in the platform of your choice. Links to the topics mentioned: Creating a Custom Bookmark Manager for LabVIEW Christina's Eyes on VIs Blog Rune


25 Nov 2013

Rank #17

Podcast cover

035 VISP Integrating Subversion with LabVIEW

Using Subversion with LabVIEW is a challenge when it comes to some of the most popular free tools like Subversion (SVN). Eric Metzler from Viewpoint Systems took on the challenge of updating an older version of an internal company tool. The new free version of the TSVN tool won  the LabVIEW Tools Network Product of the Year award at NIWeek 2013. Eric talks with me about his journey through the LabVIEW world and his newfound passion for working on LabVIEW-based products. Links to items mentioned in this episode: TSVN Toolkit from Viewpoint systems Subversion Source Code control CLA Summit VI Shots Live


21 Jan 2014

Rank #18

Podcast cover

038 VISL LabVIEW Consulting Panel Discussion

I'd like to thank everyone for the positive feedback on our first VI Shots live, both in personal emails and also on our Google+ page. We're back with a new live episode which was recorded on Feb. 26, 2014. You can listen to the podcast version of the show above or watch the embedded video below. Are you looking for a LabVIEW consultant for your next project? I'm a Certified LabVIEW Architect with over 20 years of experience in developing automation powered by LabVIEW. Contact me today for a free code review or project evaluation. Our guests this episode: David Thomson who's based in Colorado, is the founder of and systems Integrator at Original Code Consulting, which provides LabVIEW programming and system integration all the way from device drivers to complete systems. Dave is also a LabVIEW Champion since 2005.  Dave runs a user group meeting in Colorado, the Advanced LabVIEW Architects of the Rocky Mountains (ALARM). Neil Pate is a Certified LabVIEW Architect (CLA) and Certified Professional Instructor (CPI). He’s a founder and systems development engineer at Premier G Solutions Limited in the United Kingdom. Neil is based in the United Kingdom. Neil is very active on LAVA: http://lavag.org/user/7375-neil/ Steen Schmidt is the founder of GPower in Denmark. Steen is a Certified LabVIEW Architect (CLA), a Certified TestStand Architect (CTA), and was recently nominated as LabVIEW Champion just this month, so congratulations, Steen! All video recordings can be found on  vishots.com/live


2 Mar 2014

Rank #19

Podcast cover

015 VISP What’s new in LabVIEW 2012

LabVIEW 2012 was announced today! You can download it from here. I invited Elijah Kerry, the senior product manager for LabVIEW, on the show so we can find out first-hand about all the new features of LabVIEW 2012. One of the most significant features, this year is the LabVIEW Templates and sample projects. I was a little skeptical of relying on NI to deliver quality sample projects that would meet my high expectations. Listen to the podcast to find out how good they really are. I will be taking VI Shots to NIWeek 2012. You can see me at the technology theater on Tuesday at 4-5pm. I will be interviewing some past VI Shots guests and some new faces. More info here. Here are links to items mentioned in this podcast episode: New features of LabVIEW 2012 Large LabVIEW App Development Community Site Elijah's Blog Elijah's twitter VI Shots Live @ NIWeek 2012


7 Aug 2012

Rank #20